Jump to content
  • Advertisement
Sign in to follow this  
Acharis

Automatic/semi automatic building space ships

This topic is 2046 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I would like to discuss a concept/mechanic I had for a while (it's full of holes and questions). It's for some sort of space empire building strategy (like 4x, but not necessarily, anyway, that's less important, I think this concept can be used in various games).

 

The whole premise is that the player should make only important/interesting decisions and all/most micromanagement should be either eradictated or automated. This topic is a question how to achieve it.

 

 

1. Fleets organization

I thought like this: the player can have around 6 fleets (each colour coded (red, yellow, blue, orange, etc) and individualized (history, banners, special abilities), also each fleet has an admiral). Each fleet is made of 2-6 flotillas, these are numbered and colour coded (example: 1st red flotilla, 2nd red flotilla, 4th blue flotilla).

Fleet is an administrative/organizational unit only, it does not appear on the map, only flotillas are the units the player can move around.

The fleet decides of the composition of the flotillas, all flotillas (within same fleet) share the same ships composition. Flotillas are also identical in size (within same fleet, red flotillas can be smaller than yellow flotillas for example).

 

So, basicly the player decides on the ships composition, upgrades, etc on fleet level. And decide tactical/operational stuff (where it should be, whom to fight, when to retreat) on flotilla level.

 

 

2. Imperial decisions (the player)

Generally, I want the player to be able to say "I want red fleet to be made of the best ships with elite crew; the blue one should have all ships with ionic shields because I want them to fight with Xelthars who have these nasty ionic weapons; the green fleet should be made of average ships and it should be the biggest fleet since it will serve as my standard fleet; and the yellow fleet should be made of all leftovers we have". Then the game should act accordingly and build ships and allocate these between flotillas and reinforce and maintain until player's wishes changes smile.png

 

As I see it, there would be two "fleet standards", the one the player asked for and the one that was delivered at the moment (just like in a real life, fleets constantly under change/rebuild/upgrade).

 

 

3. Crew as the bottleneck (assumption)

I feel that this system would need a limit of total ships that are active (produced and assigned to flotillas). Like based on population of the empire (100 pop = 1 ship manned). And the ships probably should be treated more like "weapons" that you "equip to crew" (typically the player would have quite a lot outdated ships that are not put in any flotillas and just are stockpiled). But that's just my light assumption, feel free to ignore it.

 

 

 

4. Construction of ships (most of the questions are here)

Now the harder question, how to handle construction of ships for the setup in 1)? Obviously, the traditional "click a factory/shipyard on planet X and set a queue of ships to build" would not work here.

 

Probably this system should have these properties:

- the player decides a total budget for military

- the player decides what to build in what proportions and in what priorities and which fleet should get it

- the game should build all these ships as desired by the player (most likely not ideally what asked for, just overall similar) under the budget constrains and then deliever it to flotillas

- the game should handle all replacements (units lost in battle) and upgrades (replacement of old ships to new models)

- the player should have some saying in form of important decisions like "obsolete this ship and don't include it in any fleets even if we have these already stockpiled" or "start producing the Dreadnought MK75 now" or "do not produce this model of the ship yet, even through we have it researched" or "produce first destroyer class ships because we need these the most"

 

So... how exactly such auto ships build system (algorithm, UI, etc) should work/look like? biggrin.png

Edited by Acharis

Share this post


Link to post
Share on other sites
Advertisement

What would be the advantage over just setting a desired ratio for battleships/cruisers/artilleryship/etc. in his fleet, setting some kind of ratio about upgrading,

and letting the player just send any amount of any ship he has to, well, anywhere ?

Share this post


Link to post
Share on other sites

What would be the advantage over just setting a desired ratio for battleships/cruisers/artilleryship/etc. in his fleet, setting some kind of ratio about upgrading,

and letting the player just send any amount of any ship he has to, well, anywhere ?

Well... that's just what I want. A system where the player sets up some ratio of ships and chooses upgrades on general level and then the game produces the ships and sends these in unified "packs" (for example: 1 flagship+2 battleships+8 destroyers) wherever the player desires.

 

The question is how exactly such system could work :)

- what the interface for "setting up" things should work (priorities? drop down list of ships?)

- how the game handles replacements of battle loses

- how/when the game sends new produced ships

- how the game handles removing outdated ships and replacing the fleet with new ones

- etc

 

 

Unless I misunderstood and you meant something else?

Share this post


Link to post
Share on other sites


The question is how exactly such system could work smile.png
- what the interface for "setting up" things should work (priorities? drop down list of ships?)

 

For just this one task a point system would work.

 

Have a fleet definition interface where your player defines the number of every vessel type in some way. To meet your ambiguous fleet design, have a class specification on each slider. Each ship is assigned its class, that's a given, so even if the player didn't know when the next one of any type were to be completed, the ships are queued and added to a fleet that accepts them.

 

Dealing with Replacements

As for ship strengths, the game could assign an asset life expectancy and have it depreciate a % of every ship's strength value, starting with 100 until the strength is 0. At which point that ship is decommissioned if it hasn't been blown up already, whether or not the ship itself is still top of the line.

 

The player would need to determine what threshold for strength a fleet average needs to be before an entire fleet gets decommissioned (given there's an entire new fleet prepared at dock).

 

Dealing with Limits

You said that you might want to limit the fleet with crew population. It isn't too hard with this system, you'd have a limit to the number of active ships, at least one ship in an active fleet would have to dock before it is replaced. In the case of a ship getting destroyed you could begin transferring a replacement crew gradually over time, this way nobody is getting replaced before their body is cold.

 

Some other

Now the only suggestion for the fleet I'd have left might be to allow the player to specify exact matches must be available if there were any special types of ships. Usually the game design would provide exact matches for desired ships if this were even a possibility, but I'm guessing it hasn't been determined.

 

You mentioned something about an empire. This stuff could get painfully intricate. How in depth is this possibly hypothetical game going to be?

Share this post


Link to post
Share on other sites

Note: if someone already posted something similar to your idea, post yours as well, if nothing else this would allow to evaluate how intuitive a certain concept is (if 3 people thought it could work identical way then the odds are the concept would be understood by the player as well).

 

 

OK, my idea now smile.png

 

Classes of ships

Definitely there should be hardcoded, predefined classes of ships (no "ship designer" feature), so it can be understood by the game AI and be clear on the interface. Each class would define both size of the ship and its purpose. Like these:

* flagship (big)(provides command & tactics bonuses to other ships in flotilla)

* battleship (big)(primary short-medium range combat ship)

* cruiser (big)(primary long range combat ship, relatively weak armour)

* carrier (big)(carries squadrons of fighters)

* destroyer (average)(universal, provides protection for big ships, anti fighter, anti torpedo)

* frigate (average)(similar to destroyer but more specialized for anti fighter)

* torpedo corvette (small)(secondary long range combat ship)

* recon corvette (small)(scouts & decloak)

 

When you research a new hull you get Destroyer 2, then Destroyer 3, etc. Better versions but the function and size identical.

 

 

Customization of ships

Since the predefined classes of ships do not give the option to "design my own ship" (which is always nice) I thought of those 2 ways of customization.

 

1) When a new hull/ship is researched the player gets a mutually exclusive choice to select a version of the ship (like "Do you want the Destroyer 2 be faster, heavier armoured or have better electronics?"), this decision is permanent and affects all Destroyer 2 ships you will build, you can't change your mind (of course when you research Destroyer 3 you will have a new choice again).

 

2) Slots & equipment. Each ship would have certain slots (weapons, armours, electronics). BUT, these are not the usual slots you fill during ship design in most game, you fill these AFTER the ship is constructed (ancient Reunion on Amiga had this feature and it worked nicely). You can also change there. So, you can sort of, reequip the ship anytime (by installing/uninstalling additional shields for example).

 

So, in practice you would first build a ship and then build (completely separately) various equipment (shields generators, missiles, tracking computers). And you can install these on your ships, or you can take the older equipment from your old ships and install on the new ones. Or you could don't build new ships and just produce only better equipment for your slightly outdated ships.

As a bonus feature, you could be purchasing unique/rare equipment from alien traders that you can't produce yourself but you could fit on your existing ships, or find in alien ruins some artifact powerful weapons and mount them on your primitive ships.

 

An important limitation would be what a ship could install (for example Destroyer 1 only electonics up to level 5) or maybe some energy system (each ship produces certain amount of energy which can be used on equipment, newer ships would produce more energy and therefore be able to install better equipment).

 

 

Interface

I think each fleet should/could have a drop down list with a ship class and then a field to enter the percentage/ratio of ships of that class. Then a fleet would have a "priority" which would determine if it gets older or newer ships. And the last field, how many ships total in a fleet should be (or maybe if the fleet should be huge/big/above average/average/below average/small/tiny in size compared to other fleets).

And below some sort of "priority list of equipment" (what you want to have installed on these ships, the higher on the list the higher chance of it being produced & installed).

 

Then there would be a global "military size" slider which determines how many ships total all your fleets should have (active) and "military spending" which determines how many resources are spent on producing new ships and equipment each turn (or separate sliders for ships production budget and equipment production budget?)

 

 

AI

Based on the player's interface setting the AI would try to produce new ships/equipment and redistribute among flotillas. Also, there would be a stockpile of unused ships. Also all of these replacements/moves are instant (teleport).

Possible AI rules:

- first calculate how many ships each flotilla should have optimally (based on total ships available, number of flotillas and their designated flotilla sizes)

- next remove up to 5% of "wrong" ships from a flotilla and send these to stockpile (skip if flotilla below 50% of optimal size, which probably menas under heavy casualities)

- next remove up to 20% of any ships from a flotilla that has above 100% of optimal size (like if the player changed a setting and wants this flotilla to be smaller)

- next add up to 10% of "good" ships to any flotilla that is below 50% (emerency combat loses replacements)

- next add up to 10% of "good" ships to any flotilla that is below 100%, sorted by flotilla priority (higher priority flotillas would get ships faster and of better quality)

- if the flotilla is enganged in combat halve all the replacement percentages above (it's harder/slower to replace/reorganize if under fire), if the flotilla is near a star base double all the replacement percentages (it's easier to replace near base)

 

 

 

You mentioned something about an empire. This stuff could get painfully intricate. How in depth is this possibly hypothetical game going to be?

I would really want to avoid that question smile.png I don't have any specific game in mind, I just want to pursure & discuss this mechanic. If you can see it working in some tiny little game, fine, post about it. If you find it fittable to a big space opera 4X, post about it as well.

Edited by Acharis

Share this post


Link to post
Share on other sites


I think each fleet should/could have a drop down list with a ship class and then a field to enter the percentage/ratio of ships of that class.

 

Percentage didn't seem perfect because of reasons:

 

  1. You'll need to predefine a rounding system that seems optimal.  At the very least tell the player what ships they're assigning on the same interface or their 1% flagship will end up as 0 flagships and that fleet's pretty much doomed.
  2. There's a likely scenario where the player wants to add 1 more frigate and it'll take a little bit longer than one button press if they need to juggle the percentages. The human error rate will mean recalculating group percentages takes a very long time if the program doesn't.
  3. With percentages, If the interface is not a player specified number of ships and then a combination of sliders or ticks or some other point system, then it is so easy for the player to enter an invalid percentage. They will for one reason or another make a 99.9% input or a 1000% input that needs to be handled. 

You could make it work if enough was added to make percentages reasonable, but it seems like a tough spot to begin.

Share this post


Link to post
Share on other sites

Percentage didn't seem perfect because of reasons:

 

  1. You'll need to predefine a rounding system that seems optimal.  At the very least tell the player what ships they're assigning on the same interface or their 1% flagship will end up as 0 flagships and that fleet's pretty much doomed.
  2. There's a likely scenario where the player wants to add 1 more frigate and it'll take a little bit longer than one button press if they need to juggle the percentages. The human error rate will mean recalculating group percentages takes a very long time if the program doesn't.
  3. With percentages, If the interface is not a player specified number of ships and then a combination of sliders or ticks or some other point system, then it is so easy for the player to enter an invalid percentage. They will for one reason or another make a 99.9% input or a 1000% input that needs to be handled. 

You could make it work if enough was added to make percentages reasonable, but it seems like a tough spot to begin.

 

 

Yes... 9/10=0

But how to make it a different way than percentages/ratios? Letting the player enter the exact amount would not work (too many fleets, max amount changes each turn, generally too many variables and too much annoyance). The trivial trick would be to introduce big numbers (you start with 10,000 ships at the very beginning), but... that's a lame/last resort solution.

 

As for "the player wants to add 1 more frigate", it's simple. I would not allow the player to do so :D That level of precision would not be possible :) The AI assigns ships and the player can only give instructions to the AI. It's the player's job to take the limitations of the AI into account.

 

Solution... I think I would need to cheat here :) Like adding a rule "make sure there is at least 1 flagship per flotilla no matter what the player told you (except if you were told to have 0% of these)".

Another idea, maybe instead of percentages give descriptions to the interface? Like you can set for each fleet "none/minimum/optimum/maximum flagships" and "none/few/some/many destroyers/cruisers/battleships". Then the AI would interpret these descriptions reasonably (so no 0 flagships in a fleet or a fleet that has 1 flagship and 1 combat ship).

Also, if needed (I don't like it) I could allow the AI to do not fill a flotilla (if the forces are spread too thin already, if it does not have a full squadron available (1 flagship, 3 capital ships, 8 escort ships) it would not add any ships to a flotilla at all and spread these between other, already operational, flotillas).

 

 

Scrapping & obsoleting ships

How about some sort of preferences per ship type. You would have a list of all ship types (not just classes, Destroyer 1 and Destroyer 2 listed separately) and a checkbox next to each.

* If you check "allow scrapping" it means the AI would be allowed to destroy that ship (and regain some resources) if it feels it's not needed anymore (it does not mean the ship will be scrapped immediatelly after selecting that option, actually it might never got scrapped, it's just an option for the AI).

* If you check "obsolete" it means the AI is not allowed to put these ships in any new flotillas, even if there is a shortage and no other ships are available (it does not mean the existing obsolete ships will be removed from the fleets, but if these get removed/damaged/etc for any reason they are not going back, will stay in the central stockpile/reserve).

* If you check "allow production" (checked by default) it means the AI is allowed to produce this ship (probably used in rare occasions, like if you are about to research a new cruiser in a few turns and want to prevent the AI from producing the current ones and do not weant to mess up with the desired percentage/ratio of cruisers in existing fleets).

Share this post


Link to post
Share on other sites

I feel like considering crew. I have some ideas that are already in plenty of existing games that probably fit the bill.

 

The new crew could be randomly generated. Or they could just as easily be standard, the game relying on the ship differences. As for standard, there could technically be no crew, the ships controlled by a central computer hub instead of pilots (I've seen this). The following only applies to individuals being randomly generated.

 

The personal history of every member being generated. Full text for anyone but unique crew members would be over-embellishing. A simplified version is having pre-stats rolled, this gives them variable aptitude. Stats could mean just about anything, from just a few skills necessary for their job, to every single aspect of their character that determined what job they'd take.

 

That's all vague right now, but if the crew is able to function as separate party members, this is where there is some way to tell who's better, who's elite.

 

The possible crew member histories are game-dependent, so I can't really give a valid example.

 

I'll use Dwarf Fortress as an example. The legendary iron colossus killed 2 princesses and sacked 3 towns, then after 350 years of wandering aimlessly he finds some dwarves dug into his precious iron molehill. He seems to be in pretty good condition, considering his bad eating habit. But 10 legendary wrestlers who do nothing but talk and wrestle all day make quick work exhausting it, and deafening it. We could somehow extract the bones, but the giant corpse had to be composted because the chefs were too busy taking sacks of 10 seeds and putting them in the 86 seed sacks from the sack containers.

 

More importantly, the dwarf who dealt the killing blow has it on record that he shouted the loudest when it fell.

Share this post


Link to post
Share on other sites

The new crew could be randomly generated. Or they could just as easily be standard, the game relying on the ship differences. As for standard, there could technically be no crew, the ships controlled by a central computer hub instead of pilots (I've seen this). The following only applies to individuals being randomly generated.

The personal history of every member being generated. Full text for anyone but unique crew members would be over-embellishing. A simplified version is having pre-stats rolled, this gives them variable aptitude. Stats could mean just about anything, from just a few skills necessary for their job, to every single aspect of their character that determined what job they'd take.
Heh, a nice concept :) But if there are 200 ships, each with 100-500 crewmen then it will be simply way too much to degiest by the player... Note that DF has like 150 dwarves max, here we are talking about tenths of thousands at minimum (and what if the fleet consists of 10,000 heavy dreadnoughts each holding 2,000 crewmen)?

I was thinking about something like this, but with captains only (and governors of planets).

 

But yeah, overall this conept fits the automation mechanic for sure.

Share this post


Link to post
Share on other sites

I would give the planets each some command point(maximum fleet size) then let the player set the exact amount of ships in every fleet and just let them be build.

 

I'm not realy expecting huge fleets so build-order would be qeued by incoming "orders"(replacements needed)

If expecting bigger fleets i would try to have all different ship-types be built simultaneously(because i already limit fleets in size)

 

The player can just select any ship to be send back to it's homeworld and be dismantled(probably just a buildbonus on the next ship of that type) and thus replaced.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!