Home » Stars! 2.6/7 » The Academy » Identify ship design by weight
Identify ship design by weight |
Tue, 18 April 2006 15:34 |
|
PricklyPea | | Lieutenant | Messages: 534
Registered: February 2005 | |
|
Has anyone written a tool to do this? I thought of doing so and came up with an algorithm, but never got around to it.
M@Stars... surely I can count on you for some javascript implementation
[Updated on: Tue, 18 April 2006 15:35] Report message to a moderator
|
|
|
Re: Identify ship design by weight |
Tue, 18 April 2006 16:13 |
|
NingunOtro | | Master Chief Petty Officer | Messages: 105
Registered: September 2005 Location: Brussels, Belgium | |
|
Paul Lydiate once wrote a series of articles called "First Contact", where in one of them he discussed the identification of starting scouts by weight when spotted, and even was able to suggest a few useful things based on fleet numbers for those ships.
But this information is about the early stages of gameplay when available hulls have not many slots, few of these carry more than one item in each slot, and low research levels limit the scope of different items to put in any slot.
Once some of these assumptions are no longer valid, specially once all tech is maxed, there are way too many different combinations of hulls, items, cargo bay load, etc. that give exactly the same weight for completely different designs.
It might be marginally useful to know some specific ship designs that have a specific weight because they use hulls or components that are only available to a few based on PRT, LRT or MT, but I doubt these few exceptions make it worth implementing algorithms and writing software for, as you need too much complementary information to discard an sizable chunk of the possible random combinations between hulls and components. An awful coding effort for little practical use.
The best tool for the job I have seen so far is the standard Stars! shipyard of a maxed tech battle-simulator.
If you are able to substitute human input in there with some kind of AI to achieve the job, you are more than welcome.
If we were esteemed intelligent 'enough', they would have contacted us.
If we can not find them, either we are not smart enough, or they are smarter at hiding.Report message to a moderator
|
|
| | |
Re: Identify ship design by weight |
Wed, 19 April 2006 00:29 |
|
Marduk | | Ensign | Messages: 345
Registered: January 2003 Location: Dayton, OH | |
|
I started to do this myself, but gave up quickly when it became apparent there would often be hundreds of combinations for some of the hull/mass combinations. There are a few components that produce weights impossible to achieve using any combination of other components, but a tool like this wasn't worth the effort required to make it. Intelligent guessing was accurate enough and took little effort.
Since you are going to disappointed here, I'll let you know you can identify PRTs by initial .m file sizes. There is a bit of overlap with varying starting techs, but I was able to correctly identify the PRT of all players in the last three games I was in (with random maps).
Alternate starts, like remapped games, alter the initial file sizes that the players see on Autohost, so that you can only tell reliably who is JoaT (pen-scanning) and who is either PP or IT (two worlds). And if the tech is altered, that can screw it up even more.
It's been quite a while since I last played, so I don't have my notes handy, but it didn't take long to pin down the starting file sizes. The main causes are number of worlds (more information if you have two worlds, or can penscan some), and number of starting ships and designs.
I found this out in the first game I played, long, long ago. I wondered why my .m file was so much larger than everyone elses... I was the only IT/PP in a JoaTless universe, and had ARM to boot. Lots of ships, and full info on two worlds when everybody else had only one world and only a few ships.
Report message to a moderator
|
|
|
Re: Identify ship design by weight |
Wed, 19 April 2006 01:18 |
|
|
Marduk wrote on Wed, 19 April 2006 14:29 | I started to do this myself, but gave up quickly when it became apparent there would often be hundreds of combinations for some of the hull/mass combinations. There are a few components that produce weights impossible to achieve using any combination of other components, but a tool like this wasn't worth the effort required to make it. Intelligent guessing was accurate enough and took little effort.
Since you are going to disappointed here, I'll let you know you can identify PRTs by initial .m file sizes. There is a bit of overlap with varying starting techs, but I was able to correctly identify the PRT of all players in the last three games I was in (with random maps).
Alternate starts, like remapped games, alter the initial file sizes that the players see on Autohost, so that you can only tell reliably who is JoaT (pen-scanning) and who is either PP or IT (two worlds). And if the tech is altered, that can screw it up even more.
It's been quite a while since I last played, so I don't have my notes handy, but it didn't take long to pin down the starting file sizes. The main causes are number of worlds (more information if you have two worlds, or can penscan some), and number of starting ships and designs.
I found this out in the first game I played, long, long ago. I wondered why my .m file was so much larger than everyone elses... I was the only IT/PP in a JoaTless universe, and had ARM to boot. Lots of ships, and full info on two worlds when everybody else had only one world and only a few ships.
|
This is the sort of information the game designers didn't want us to see... Makes me glad AH now requires a password to DL m files.
I'm thinking a tool such as described might still be of some small use, even if it only considers simple hulls. Obviously scouts. Ideally FFs and DDs also. Colonisers are trivial to guess but usefull to evaluate as it can help determine your opponents LRTs and/or prop level.
Certainly it's tough to guess CCs accurately (beyond just Missile/Beamer) and harder still for BBs and beyond. But watching ship weights is of great value in the early-mid game. In my last duel I (correctly) guessed my opponent's tech level several times based on DD or FF hull weights, and built ships that were only marginally higher tech - just enough to knock them back without revealing my hand too much (I was close to Jihads and was trying to lure him into building a colloidal or delta based fleet... I'm not sure how well he was tricked, but I did annihilate an attack fleet when a small space dock suddenly armed itself with a small number of Jihads.)
Report message to a moderator
|
|
| |
Re: Identify ship design by weight |
Wed, 19 April 2006 04:02 |
|
m.a@stars | | Commander | Messages: 2765
Registered: October 2004 Location: Third star to the left | |
|
Hey, congrats on your shiny new rank!
PricklyPea wrote on Tue, 18 April 2006 21:34 | Has anyone written a tool to do this? I thought of doing so and came up with an algorithm, but never got around to it.
M@Stars... surely I can count on you for some javascript implementation
|
Doh. I wrote one such tool a year ago, in *javascript* just for listing all possible combos for any given hull/mass. Though it was mainly a proof-of-concept effort, it even allowed for empty or underfilled slots, but sheer time of execution made me abandon it until a C version could be built.
It was useful for identifying initial-tech scouts and very little else.
I should perhaps have tried grouping components by mass to save a *lot* of computing...
Perhaps if you explained your algorithm, sir?
[Updated on: Wed, 19 April 2006 04:19]
So many Stars, so few Missiles!
In space no one can hear you scheme! Report message to a moderator
|
|
| | | |
Re: Identify ship design by weight |
Wed, 19 April 2006 04:40 |
|
PricklyPea | | Lieutenant | Messages: 534
Registered: February 2005 | |
|
m.a@stars wrote on Wed, 19 April 2006 04:02 | I should perhaps have tried grouping components by mass to save a *lot* of computing...
|
Yes, I group all components by mass. Therefore a blue laser is equivalent to a red laser etc. This gives you your basic components. And cuts down your components by a lot.
Then I look at individual slots to see what can be put in them, e.g. engine slot on cruiser must be filled with 2 engines. Other slots generally may be 0,1,2,3 or 4.
Then for each slot, I create a pseudo component e.g. 1x 1kt weap, 2x 1kt weap etc. This gives a list of pseudo components available. (An optimisation might be to allow only empty or full since this is true for most hulls).
I subtract the hull from the target weight so that I just try to match components to the new target weight. At this point you may also want to exclude components based on MT, PRT, LRT, tech etc. or fix certain components you think you know e.g. engine is prop-23 engine. or that the cruiser design does not have any missiles etc.
If any p-components exceed target weight, these are discarded from the list.
Then I just enumerate all possibilities from the remaining list starting by putting in the heaviest components first.
It's may also be possible to create bounds for each class of slot e.g. weapons may be 1-35kt in mass. so if only weap slot is left and the remainder is not 1-35kt, then you can eliminate that design without going through all possibilities of weap. But I think this may not increase the speed.
Report message to a moderator
|
|
|
Re: Identify ship design by weight |
Wed, 19 April 2006 04:55 |
|
m.a@stars | | Commander | Messages: 2765
Registered: October 2004 Location: Third star to the left | |
|
PricklyPea wrote on Wed, 19 April 2006 10:40 | Yes, I group all components by mass. Therefore a blue laser is equivalent to a red laser etc. This gives you your basic components. And cuts down your components by a lot.
|
I guess you do that by pre-scanning the allitems table?
Quote: | (An optimisation might be to allow only empty or full since this is true for most hulls).
|
That's what I started with. Seemed fast enough until I allowed any quantity of items per slot.
Quote: | you may also want to exclude components based on MT, PRT, LRT, tech etc. or fix certain components you think you know e.g. engine is prop-23 engine. or that the cruiser design does not have any missiles etc.
|
Interesting. I'll have to think about these, too, now that it seems I'll have a C-version to play with.
Quote: | Then I just enumerate all possibilities from the remaining list starting by putting in the heaviest components first.
|
Hhhmm. I used "lighter first". Perhaps your way allows discarding more components earlier?
Quote: | create bounds for each class of slot e.g. weapons may be 1-35kt in mass. so if only weap slot is left and the remainder is not 1-35kt, then you can eliminate that design without going through all possibilities of weap. But I think this may not increase the speed.
|
Sounds cool enough, at least for Destroyers, CCs and other hulls lacking General Purpose slots.
For example: You guessed a ramscoop on a Cruiser, but then you notice no 4-weapon or 6-weapon combo can possibly match observed mass, thanks to those bounds. Hence, you can skip a lot of branches, and go straight for the IS-10 engine.
So many Stars, so few Missiles!
In space no one can hear you scheme! Report message to a moderator
|
|
| |
Re: Identify ship design by weight |
Wed, 19 April 2006 05:08 |
|
PricklyPea | | Lieutenant | Messages: 534
Registered: February 2005 | |
|
m.a@stars wrote on Wed, 19 April 2006 04:55 | That's what I started with. Seemed fast enough until I allowed any quantity of items per slot.
|
If you look at the weapons slot on a cruiser (assume GP takes only weapons) and assume that we look only at 35kt missiles and that there are 10 of these.
Then without grouping, you have 20 choices as to what could be in a slot (ignoring empty option) i.e. 10x 1 missile, 10x 2 missiles.
Then combination of 3 slots gives 20x20x20=8,000.
If you group the missiles, you get 1 component type, with max 2 per slot you get 2 p-components (1 filled, 2 filled). Therefore combination are:
2x2x2 = 8
Therefore you get an 1,000x speedup. Of course, the numbers examples above are not accurate, but give an idea as to how much quicker this simple optimisation has.
The p-grouping simplifies and also precomputes on a slot basis also saving some compuation time (i.e. eliminating a smaller loop).
Report message to a moderator
|
|
| | | | |
Re: Identify ship design by weight |
Wed, 19 April 2006 11:36 |
|
|
Suggest you can have list of most common designs, and then show those that are closest to weight of ship, and let human intuition finish the rest.
I can usually guess options for frigates, destroyers, privateers and cruisers fairly closely manually. It helps that the others tend to be fuel mizer fans.
Battleships are a little harder, often need insights into the thinking of the opponent to have good guesses. It helps that most people try to load them up with most expensive/best components available.
Report message to a moderator
|
|
|
Goto Forum:
Current Time: Thu May 09 18:35:30 EDT 2024
|