🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

[Spaceship Builder] The complexity of internal logistics

Started by
10 comments, last by Orymus3 8 years, 3 months ago

I am toying with an idea for a 2d top-down perspective space-sim where you build your own ships.

I have run into a small dilemma. How complicated/realistic do I make the logistic needs of your ship.

Take this for example. The position of the cargo hold within your ship, in many spacesims this is pretty abstract, you buy/collect cargo and it appears in your cargo hold, you use/sell cargo and it disappears from your hold. The complexity comes from the internal design aspect I'm aiming for, so should a crewman/lifter robot need to exit the ship via its entry point (airlock/landing ramp) collect the cargo from say the station's cargo hold, travel back to your ship, return through the entry and make their way to your cargo hold to deposit it? This does to me add a sense of including efficiency in your ships design when building it, but not sure if it goes to far. (For an idea on how I imagine the construction, think sort of like Dungeon Keepers square by square passages/rooms)

Should some space be taken up by fuel pipes? power conduits? air vents? or should all that just be implied in the ship as long as it has fuel tanks, generators and air processors?

Advertisement

Should some space be taken up by fuel pipes? power conduits? air vents? or should all that just be implied in the ship as long as it has fuel tanks, generators and air processors?


Hmm. So, what do you think are the pros and cons?

-- Tom Sloper -- sloperama.com

I suppose primarily its two mindsets of play. A few (probably the lesser) are highly inclined to design and function, while I expect most are inclined to simplicity and quick learning.

Simple - Pros

Accessible

Quick

Easier to Learn

Complex - Pros

Strategic Design

Possible extension to destructibility, placement of conduits will determine the effects of damage 'cutting' off certain resources to parts of the ship

Simple - Cons

... pass?

Complex - Cons

Possibly frustrating to new players

Time consuming

Requires more complex programming if the above damage system was implemented

Possible Compromise?

Some kind of auto-generation systems that generates the connections for you, but a player could choose to do this manually if they preferred ... at the expense of being even more complex to implement than either of the above I imagine.

I'd look into a prison-architect style system.

Components need power/water/oxygen, and you need to build the infrastructure of it, however, this exist on a separate layer than other rooms/utilities, so you can run pipes/electrical cords etc through walls.

This way there's room to optimize ideally for advanced players (Save the most money/make the most efficient design), and it's easy enough for simple players (Just connect rooms)

I also agree with the suggestion of looking at Prison Architect or similar games for how they handle the layered interconnect for resources. For starters it just makes sense to put your power, data, etc on a secondary layer to the function and utility blocks of a design because it is a little cleaner and easier to visualize when switching between different display modes, and it also is kind of what we do in real life. (Imagine building a large ship where all the power cables and such ran at waist height on any deck. Kind of makes getting around the ship difficult.)

As for issues like cargo handling, well, what kind of game do you want? Where do you want the player spending time and how do you want it to work?

Designing the game to support a more complex system for things like layout affecting cargo handling means you get more options and choices for the player.

Ie, holes in the outer armour shell means those areas are weaker and more vulnerable to damage. Every hole through the armour makes your ship that much weaker, but at the same time the fewer holes you have then the fewer things like weapons firing through the armour or cargo hatches you have.

So do you build your ship to have the one small cargo hatch and one small power/data connection, meaning all your weapons are on the outside where they're more easily damaged and you can only slowly transfer cargo?

Or maybe you stick all the weapons core systems behind armour where they're less likely to be damaged, but the ship itself is a little more vulnerable? After all if all your weapons get blown off in the first few minutes of a battle then you're in for a rough time even if it takes the enemy ages to chip away at your armour before you die. Maybe it is better to be more likely to take heavier damage throughout the whole fight, but you keep more of your weapons firing for longer?

Maybe you want to heavily compartmentalize your ship, with lots of small cargo bays separated by lighter internal airlocks and one main central external cargo hatch. A single external cargo hatch doesn't have a very negative impact on the ship's armour, and if a hole does get blown through the armour in one spot then it can only take out a small fraction of the ship's cargo or systems. But of course all those internal airlocks take up space, and would slow down cargo handling.

What are the costs to cargo handling time? Is there a negative impact to having a ship that might take days to load or unload vs one that is laid out to unload in hours, or minutes? Maybe it might be worth it in some cases and play styles to go with small cargo bays each with their own external hatch to unload and reload quickly? Or maybe a system where you have 'external cargo pod', like shipping containers that the ground crew just plucks off in moments and can slam the next one on and you're ready to go without even having to open a cargo door?

Then there is the game play element of "Cargo Tetris". Do you want to play this? Do you want the player to worry about where something is, and how it gets on and off the ship? Maybe taking on a pile of large containers is not the best of ideas at a given time for your ship because your next stop will mean pulling them all out of the way to unload something you already have?

What about bulk cargo? Liquid tanks that feed in and out of the ship through pipes, or dry bulk cargo that is carried by conveyor belts? (Which may pose safety risks due to things like providing a route for fire/damage to spread) They could let you store a higher volume/mass per 'square' of ship than general cargo bays, but are far more restricted to what they can carry or maybe what ports they can load and unload from?

Do you want the player to have to choose between being able to access cargo mid-flight? Those external cargo pods sure are fast and easy to handle, but maybe that load of advanced warheads you were shipping somewhere could have been better used if moved to your missile bay rather than stuck somewhere on the outside of the ship where you can access it. (Or back to Cargo Tetris: All those pallets of gold sure are valuable... sitting there in front of all those weapons reloads...)

How about internal handling for those weapons? Do you want the player to worry about it, focusing inside the ship, or do you want their attention to be on the outside, positioning of the ship, priority of attacks and such? Do you want the player to have the tools to design handling systems with complex things like flash-gates, moving ammo for the weapons from the well protected magazines deep inside the ship to the more vulnerable weapons stations on the edge? Or do you want to hand wave and not worry about it?

Personally I would love to sit there and tinker with systems and interlocks: Flash doors take x time to open/close, conveyor systems take y time to move, so I need z design so that every missile is in its on 'slot' when moving from the bulk magazine near the well protected core to the firing station on the outside. Or maybe I'll build a system that moves a whole pallet of them from the main magazine in protection zone 3 to a staging area in protection zone 2, and from there the missiles will be taken off the pallet one by one and fed to the firing tube in the vulnerable protection zone 1... Because you really don't want the loss of one missile bay to mean all the extra ammo on your ship chain reacts and the whole thing goes up.

Or maybe I'll decide that having a few spots spread around the outside of the ship will each have a bunch of tubes stacked together, and each station will have a good supply of missiles on hand. This means I could have massive rapid volley fire early on. If one of the tubes in a sector gets taken out it means a big chunk of the ship and all the other tubes and ammo in that sector will most likely go up as well, but the main magazine and the other three firing sectors will stay alive to keep going.

Or maybe your game is better off with "I have X cargo bay space, Y cargo handling systems, so it takes Z time to load/unload".

Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.

Yes, I'm kind of getting a feeling now. The ship construction is only a portion of the game, if I where to make it the entire focus I might go for more what your saying Luckless. Space combat I wanted to be more external, it wouldn't be like FTL where you are concentrating partly on whats happening inside, you would be concentrating more on maneuvering and shooting, only after the battle might you drop into a zoomed in internal view and see what needed repairing.

I hadn't even thought about ammo movement actually.

This might be an area where I need to trim the fat rather than try and implement all my ideas.

The various systems can be simplified down into 'utilities' if needed.

Access to things (internal transport of personnel and materials and internal activities is a little different). increase/decrese can affect ship things like crew morale/effectiveness and ease of self repair.

--------------------------------------------[size="1"]Ratings are Opinion, not Fact

The main concern is that what you implement should be there for the player to play with, otherwise it's pointless.

should a crewman/lifter robot need to exit the ship via its entry point (airlock/landing ramp) collect the cargo from say the station's cargo hold, travel back to your ship, return through the entry and make their way to your cargo hold to deposit it?

There are games in which giving "workers" an efficient way to do their job is useful and nontrivial, for example in Starcraft workers can jam or queue up in small spaces and they need a short path between mining sites and the base they bring harvested resources to; and the player is in control through placement of the base, choice of mining sites to exploit, and placement of other buildings as obstacles (not to mention the very important but more standard military aspect of defending the workers and mining sites from attacks),

I doubt loading and unloading a ship efficiently can be so interesting, unless your game is about drug smugglers and police searches with trained dogs.

Do you want a sub-game about fitting cargo in the ship? It would be a puzzle, halfway between Tetris and Sokoban, with the unusual twist of making the player responsible for cargo hold shape and size and thus for difficulty; but making it realtime and involving crew seems a gratuitous complication.

Do you want a crewmember or robot for roleplaying and management sim uses? Cargo loading is a great reason to justify it, but it need not be an explicit activity; just tell the player that he cannot load or unload certain goods without a specialist.

Omae Wa Mou Shindeiru

I'd say if you have many other systems like fighting, looting, exploring, upgrading your ship etc I would rather do that then fiddle with connecting each room to the power-grid and ventilation system. Also, what would be especially fun with micro-managing internal logistics? If you buy something at a trader, would you really want to wait for each package of ammo/food whatever is collected, moved and stored? I would want to just buy it and leave.

You need to choose a level of detail, and do it by determining what parts of such a game seems most fun. Implement those first and only if the game seem to simplistic look into some of these more obscure details.

I often myself fall into the trap of wanting to including "everything". But few games that do are fun to play.

There was this game "shipyard corporatin", "space-something corporation", can't recall the name. You were designing spaceships there. Check it for ideas.

Stellar Monarch (4X, turn based, released): GDN forum topic - Twitter - Facebook - YouTube

This topic is closed to new replies.

Advertisement