tsunamayo / Starship-EVO

Welcome to Starship EVO bug tracking repo !
112 stars 17 forks source link

[Dev Asks] Brainstorming: Ship Inventory and conveyor system. #2116

Open tsunamayo opened 4 years ago

tsunamayo commented 4 years ago

Okay so second brainstorm of the day, this time on ship inventory. So I would like a physical system for managing item, for mining, crafting, trading ect. That would mean you will need to pipe your storage between them and use some specific blocks for various use. => does that seems too tedious?

Here is what I have in mind: 1) Inventory block, with several connector on the side. 2) Conveyor: straight line, corner, merger, splitter with potential user defined rules applied for the split logic. It would be simple pipe (or squared pipe to make them look different) 3) Collector: would "suck" mining output, scrap or loot nearby the ship, then feed that into the inventory loop of the ship. 4) Connector: to trade with other ship. Could be a built-in function of the docking port, ie the docking port will come with a conveyor connector. 5) Trash block maybe?

=> Do I miss some other blocks?

=> now implementation wise I see two different paths: do we want a one-way conveyor or two way? One way would be simpler to code and would have less specific rules but might a bit cumbersome for the player to use. He would have to make a closed loop for each inventory basically.

Two way would mean two inventory connected with a single link could exchange any item. A lot easier to deal with when you want to add a new inventory somewhere. But of course some block like the collector can only be one way, so any conveyor attached would become one-way.

Thanks for the chat as usual guys!

NB: also I didnt talked about it, but I wanted to make inventory crate weight limited. You could only store a given mass into it. But the mass from the block will be on fraction of the mass stored. Ie you store 10T => you only get a 2T penalty. Also very important note, they will use power! I think it is necessary for gameplay as we will have a lot of ressources in rings. It will make ship design more intersting, ie do you prefer more weapon or more storage? It will give rise to cargo build ect. Justification is to compress all that mass and that size it require power ;)

ultrak2k commented 4 years ago

I'd agree that a connector should be part of a docking thing. One way would be pretty painful I would agree Also, side note, but I think we should have separate containment and pipes for fluid and gasses

Calvert4096 commented 4 years ago

Players are always going to push the complexity envelope and will be frustrated if they can't troubleshoot/debug these resource distribution systems.

My suggestion is to include lots of diagnostic capability so troubleshooting by players is possible. Specifically, players can easily view transport element throughput or device states in real time, maybe using GUI widgets.

Alkaliii commented 4 years ago

I am not a fan of piping items. It's fine for a factory but a bit tedious on ships especially smaller ones. The blocks you have in mind seem good and if we need more we can just suggest them. If piping 100% becomes a thing I would advocate for two-way conveyors between inventory blocks just because of simplicity. the issue with the collector is fine also

tsunamayo commented 4 years ago

@ultrak2k yes, actually I starter to work on a tank yesterday, but it will be decorative at first. @Calvert4096 yes I just made a debugging workflow, for the turret but I made it so I can use it with any system. So I think it could be good to show if the flow is locked to a direction, and if it is currently transporting some stuff around. For inventory if it is full or not. Maybe a % of total weight used?

Sei-Neko commented 4 years ago

I like this idea. It reminds me a lot of a minecraft mod known as Buildcraft which added item transport via pipes. 82527088-e3e46b80-9b78-11ea-87fa-614115db3ff9 In this picture, the orange blocks represent a mining machine, which is outputting items along the grey item pipes. The silver pipes are multi-input single-output pipes to route the items down a single path. I feel as if adding inner-ship logistic systems such as on a mining ship can add another aspect of depth to shipbuilding, as more though would have to go into building dedicated mining ships, rather than just slapping a drill or something onto any regular ship.

Dwarf-LordPangolin commented 4 years ago

This could be very fun, or it could end up being extremely tedious; it depends on what systems end up needing conveyors.

Space Engineers uses a conveyor system. I've logged over 6,000 hours in Space Engineers, and as far as normal ship design goes:

It's not fun.

The conveyor system ends up being incredibly tedious and frustrating, because it's not just needed for mining or crafting; it's used for everything that has an inventory. This includes things like weapons, air vents, and some types of engines, and the result is that all ships are filled with a network of conveyors running through the entire ship. This makes designing interiors much harder than it would otherwise be, both in terms of appearance and basic functionality. Not only do the conveyors eat up space needed for system blocks or characters, but also because the conveyors have to have a path to every part of the ship, which cuts across areas where the player needs to walk to do the same thing. Additionally, those conveyors then need to be hidden behind a wall, taking up even more space.

To use a ship you're familiar with as an example: the Starwave corvette simply does not have enough space for both a conveyor system, and a detailed interior (I'm not sure the Tornado would either; it would have to go right through where the airlock is now). It would have to be one or the other. This is one reason Space Engineers ships tend to have very minimalist interiors (the conveyor system is also one reason I ended up uninstalling Space Engineers eventually; the system required a lot of work just to get ships to work normally, and was too frustrating to be worth playing).

As an example, here is a shot of the interior of one of my more compact SE ships. The blocks with the yellow doors on them are conveyors. They look extremely ugly there, but I had no other way to get them to the medical room in the background except to make them part of the ceiling. Conveyor Example

The conveyors also hurt the game's performance; admins on servers with lots of things that use a bunch of conveyors routinely have to delete those creations because they slow the servers down. The 6-way conveyor junction in particular has a reputation for being very laggy because the game has to check if each of its 6 faces has a connection to another conveyored block, for each conveyor block. On large ships, this can easily get up into the hundreds of blocks.

As far as basic ship systems go, I would strongly recommend against using conveyors for them. A "ship's inventory" would be better; all weapons on the ship could automatically draw ammo from a shared inventory, and any blocks of that type placed on the ship (call it a "ship inventory access port" or something) would link to that shared inventory -- that kind of thing.

I don't recommend using conveyors for trading either, unless they have a built-in system for extending beyond the ship's bounds. Again, this is something we got a lot of experience with in Space Engineers, and was another source of frustration. Here's why:

Players usually don't dock their ships with each other in Space Engineers -- because they physically can't. The reason for this is that every player builds their ships extremely differently, and no two docking areas are the same. Getting conveyor ports on two ships to match up with each other when those ports are flush with the hull is very difficult unless those ships have been designed with each other in mind. I designed all of my Space Engineers ships to use the same docking system as each other, and managed to get a few other people to adopt it, but even with the shared system I had to dock my ships pitched at 90 degrees to each other for them to be able to dock. Forcing trade to occur with a system like that would severely limit players' creativity in designing their ships.

However! If the conveyor system has a block that can extend far enough from the ships that their own hulls won't get in the way -- something like the telescoping arm idea you showed me earlier -- then trading with the conveyor system might be feasible. If this was combined with a telescoping docking collar, as suggested near the bottom in this thread, and one block fulfilled both functions (i.e., allowed people to move through it and acted as a conveyor), that would be the most shipbuilder-friendly conveyor trading system.

With regard to specialized systems like mining and crafting, that would be an area of the game where a conveyor system would be both reasonable and enjoyable to design. Designing efficient conveyor networks for resource refineries or factories would be fun, and would be done in places like mines or factories -- places that, unlike ships, can easily be made bigger to fit all the needed conveyors.

Conclusion

  1. Shipwide conveyors for ship systems have been tried out as a concept in Space Engineers for a number of years now, and the overall experience they provide players with has not, in my experience or that of others I know, been a good one. They limit design and force ugly ships on players, while not providing any pleasure. They are largely a chore.
  2. Ship-to-ship conveyors are not a bad idea, but the fact that player ships use wildly different hull shapes means that an extending conveyor block would be necessary if this system was not to become very frustrating.
  3. Conveyors used in mining and crafting is an idea that has been used in a number of Minecraft mods very successfully, and is one area in Space Engineers where planning conveyor routes is pleasant, not frustrating. Using them there would be a good design choice.
ultrak2k commented 4 years ago

After heated debate in the discord it seems like most people would agree for pipes for only factories and mining, anything else seems to be a no. I agree, I don’t want fuel pipes in ships from dock to reactor to be mandatory, maybe to fuel tank, but that’s a stretch.

Alkaliii commented 4 years ago

Yea I now advocate for pipes in buildings and more specific gameplay like mining, but pipes shouldn't be required for basic function

Xerma commented 4 years ago

So long as pipes aren't overly complicated to make I don't see an issue with using pipes. The main reason it was a pain in space engineers is because of how the game was setup to essentially weld the frame of blocks while having the parts in your inventory. Whereas in modded minecraft they're fairly simple to make since you'll need to make many of them and you can have more complex or expensive recipes for better pipes.

I must say I'm unsure how I feel about having pipes all throughout each ship but I also don't want Starmade's magic teleportation of items using connected inventories via selecting one inventory and setting it to output to another.

The middle ground here might be to sort of do it how starmade revamped their stuff, unless they changed it again, is to connect 2 inventories and that displays a pipe straight lined between the 2 selections. The thing they didn't do is make it so you can't place anything that would touch that visual pipe but you could redirect the flow to be out of the way via relays to make a more dynamic pipe layout

talrey commented 4 years ago

I'm also worried about performance impact, but that might be because I'm the type who would set up a huge array of inventory blocks with filtered inputs (oh yeah, a filter conveyor would be great) so that the whole storage system is organized and tidy.

There would definitely need to be a way to request items from such an inventory system as well, some kind of console block that would show you the contents and allow you to request an item from it, or even configure what goes where. Maybe there's no need for a filter conveyor, if the system can be told where to route things already?

I would probably not use such a system in any small ship, anyway. They'd have to make do with a basic unsorted storage box connected to a docking interface. I'd do all the real sorting and processing on a large ship with the power and size to handle all of it. Nobody sorts the mail in the truck, that's all done at the post office.

tsunamayo commented 4 years ago

Okay so according to you for mining output and crafting factory it is a go, but for inventory it will be a pain? I dont know SE well, but I was under the impression that with the brick system we could make pipe more easily.

Silly idea: could we use the hull to hide and limit the pipe work? It might defeat the use of pipe entirely, I need more thinking about this. The idea would be to say hull can hide pipe in their inner structure. You would have a hull pipe connector block to place on the pipe. Then in the connector UI you create pipe networks as you need - say we create a yellow pipe network. You plug your pipe to this and voila. Then in another place of the ship you put another connector, select Yellow network and you get the other end. No need to have physical pipe between those, it is like those pipe are in the hull! Really silly idea, this is the brainstorming phase so it is free ;)

So as of now we would get: Collector => pipe => Inventory block. All inventory block are magically connected. Trading ship can magically swap inventory. I am totally fine with this, the magic technology is a good another justification of why it require power... More questions: => In the inventory block we should have a setting to allow this block to offload to another block if full, accept offload from other block, and maybe only accept a certain type of item? Or should we have a full connected inventory? In any case if we use magic tech, once the player access an inventory block he should be able to pick from the full ship inventory or this particular crate.

alxnns1 commented 4 years ago

I am in favour of using pipes for all the systems that require items/fuel to function and I understand the frustration with pipes in SE but I think most of the frustration could be dealt with if the brick pipes can also be used to transport items rather than full block pipes.

Being able to hide pipes in hull (a similar thing implemented in some mods for Minecraft that add pipes) would be great and would mean that there would be no impact to ship design.

ZachZent commented 4 years ago

I'm not going to get involved with the greater discussion as Dwarf said my thoughts well.

However eventually when this expands to stuff like factories on planets, mines, etc, I hope that we will get three types of pipes. Solid for transporting items, liquid for transporting liquids, and gas for... well you get the point. Something more than just one type of pipe that does everything. I don't think this would be too complex for new players to understand, especially if whatever machines in the future have clear indicators for what is needed. Say a fabricator needs a solid input, a water input, and a gas output.

Battlepixel commented 4 years ago

Yea I now advocate for pipes in buildings and more specific gameplay like mining, but pipes shouldn't be required for basic function

I fully agree with Aiwii.

If we will be able to have npcwingmans or let npcs control our own ships (only simple commands like escort me, hold/ defend postion,...) to take them on kill missions or to have our stations defended, would be fantastic. Competing games like Starbase or SE unfortunately don't allow this. Starshipevo could stand out clearly from these games here. But I have doubts that it is practical to program npcs that dock, refuel themselves and undock!?

Garrett-C commented 4 years ago

I think that pipes/conveyers are definetly a good thing to look at especially for survival and manufacturing. I think that Modded Minecraft has some exceletent examples of how to do this. For example Immersive engineering or Mekanism provide a couple of good examples of how it can be done in a fun way.

The other advantage is that it makes it more of a challenge to have a factory ship, which in turn adds reasons to build a space station or a ground base. It shouldn't be impossible to build a factory ship though.

When it comes to pipes on systems. I also agree that it might not be great for systems in ships I mean for example piping fuel. It sounds good in practice but the issue is that it could be hard and quite tedious to pipe fuel to all the engine blocks on your ships, especially with the side thrusters etc.

When it comes to moving ships for cargo it might be a good idea to have an optional piping system, to allow you to load large amounts of cargo onto your ship. However there perhaps should also be an option to manually move cargo.

I feel like the system needs to hit a nice balance of fun and challenge. For example the use of one way pipes adds some challenge but won't likely be massivley tedious and should promote more interesting layouts for factories. But something like say all missile launchers need pipes connected to them will be quite a pain to use. I think a system of ships having a magic inventory that can move resources around it is good but still requires the resources to be in storage.

ultrak2k commented 4 years ago

Okay so according to you for mining output and crafting factory it is a go, but for inventory it will be a pain? I dont know SE well, but I was under the impression that with the brick system we could make pipe more easily.

Silly idea: could we use the hull to hide and limit the pipe work? It might defeat the use of pipe entirely, I need more thinking about this. The idea would be to say hull can hide pipe in their inner structure. You would have a hull pipe connector block to place on the pipe. Then in the connector UI you create pipe networks as you need - say we create a yellow pipe network. You plug your pipe to this and voila. Then in another place of the ship you put another connector, select Yellow network and you get the other end. No need to have physical pipe between those, it is like those pipe are in the hull! Really silly idea, this is the brainstorming phase so it is free ;)

So as of now we would get: Collector => pipe => Inventory block. All inventory block are magically connected. Trading ship can magically swap inventory. I am totally fine with this, the magic technology is a good another justification of why it require power... More questions: => In the inventory block we should have a setting to allow this block to offload to another block if full, accept offload from other block, and maybe only accept a certain type of item? Or should we have a full connected inventory? In any case if we use magic tech, once the player access an inventory block he should be able to pick from the full ship inventory or this particular crate.

That silly idea isn’t sklly at all, one can ether choose to pipe minimally, which can calm the arcade gameplay guys and also pipe completely internally, which pleases the pipe everything gang. Also, you don’t need pipes going everywhere in a brick ship so it’s really nice, and maybe it could save performance? I was torn before, but I’m liking it now tsuna!

ultrak2k commented 4 years ago

Another thing I heard is that maybe manufacturing pipes and system pipes could be different so you can’t route manufacturing through hull? But ship fuel lines (not manufacturing fuel lines) could allow for it?

ultrak2k commented 4 years ago

Manufacturing and mining should be the logicistics game while normal systems shouldn’t, for the most part

Garrett-C commented 4 years ago

Another thing I heard is that maybe manufacturing pipes and system pipes could be different so you can’t route manufacturing through hull? But ship fuel lines (not manufacturing fuel lines) could allow for it?

I am still pretty opposed to real fuel lines. Having to plan that into your ship just seems like it would be overly tedious. When you have thrusters and engines all over the ship it would quickly become a nightmare, even with the ability to route through blocks. I think a system where you have fuel tanks, and perhaps you have to pipe fuel into those but once fuel is in those then it is available for all systems on the ships, using magic as tsuna said.

ProPeach commented 4 years ago

Yes, we were talking this over via Discord - Taking a leaf out of SEs book, they have different sizes of pipe that different items fit through. So to facilitate the difference between things that people do and don't want to pipe, certain items could not "fit" in the magic hull connectors you're suggesting.

Things like raw and refined materials, crafting materials and intermediate products could all be restricted to regular pipes only which would mean players get the exciting and challenging factory gameplay they're after, while those cool hull connectors would mean they don't need to worry about piping around ammo/fuel/oxygen/items their ship. This would also mean cargo and manufacturing ships are designed fundamentally differently with many pipes running through them which is a cool challenge.

As a bit of an aside brick sized pipes would be awesome, but can they stretch to longer than 4m? It could be awkward to run them over any distance with such a short stretch limit. Squared pipes would be better than round pipes I think as they're easier to integrate into slots in walls etc.

ProPeach commented 4 years ago

Personally I don't like the idea of a magic transfer between ships though, ships should still need to dock to transfer items. We have the rail to build extending docking arms if people want them, or they can take the placement of the connector into account in the design of their ships. An all in one connector for cargo and players sounds great though!

Garrett-C commented 4 years ago

Personally I don't like the idea of a magic transfer between ships though, ships should still need to dock to transfer items. We have the rail to build extending docking arms if people want them, or they can take the placement of the connector into account in the design of their ships. An all in one connector for cargo and players sounds great though!

Yeah agreed. I don’t like magic transfer between ships, but I do like magic transfer in a ship. I feel like manual transfer should always be an option so you can manually refuel a ship or manually transfer cargo etc. But if you want to transfer items without doing it manually then you would need to connect them via a pipe system. So you would say have a pipe that connects to your interior fuel tank and to your exterior refuel point/connector. But once you have the fuel in your tank all your engines or generators can use it without you needing to send pipes to them.

So ship to ship is a pipe connection but storage to usage isn’t.

Dwarf-LordPangolin commented 4 years ago

Silly idea: could we use the hull to hide and limit the pipe work? It might defeat the use of pipe entirely, I need more thinking about this. The idea would be to say hull can hide pipe in their inner structure. You would have a hull pipe connector block to place on the pipe. Then in the connector UI you create pipe networks as you need - say we create a yellow pipe network. You plug your pipe to this and voila. Then in another place of the ship you put another connector, select Yellow network and you get the other end. No need to have physical pipe between those, it is like those pipe are in the hull! Really silly idea, this is the brainstorming phase so it is free ;)

You call the idea silly, but as others have mentioned here that would actually solve a lot of the issues; one of the most popular mods for Space Engineers is the Armored Conveyor mod. The mod basically makes a hull block that doubles as a conveyor, so players have more choice; literally pipes in the hull. Your suggestion would make this even simpler, and I think would satisfy both players that want more detailed inventory management, and players like me that are worried about ship design devolving into Conveyor Tetris.

ProPeach's addition of different conveyor sizes -- the hull connectors you described for the things the ship needs for normal operations (ammo, fuel, air), and bigger, actual block conveyors for the materials used in mining and construction -- is an excellent one. That would make ship design convenient, while still giving players a reason for making intricate factories and mining ships. That would be the best of both worlds.

So as of now we would get: Collector => pipe => Inventory block. All inventory block are magically connected. Trading ship can magically swap inventory.

That sounds good, although as others have stated above, physical docking between trading ships is preferable, and it seems like most players are fine with it. Again, a telescoping connector for both personnel and inventory would be convenient, to allow players as much freedom in designing their ships as possible. Something like the image below, but using the universal docking system in Zach's proposal/Peach's drawing here. Docking

domesz09 commented 4 years ago

I haven't played yet, im gonna buy with this wave, but i think something like this could please everyone For basic functions have the magical "in the wall" transfer system and also have pipes(the little blocks) for larger systems. Make the magic system consume more power and have slower transfer rates while pipes could cost less energy and also the larger radius a pipe has the faster it can transfer. Maybe even have certain things need a certain radius or larger. As i said i haven't played so i don't know if the streching building would also be for pipes. This way it would be complex enough for those who like that, but also simple for those who don't.

Drillz007 commented 4 years ago

I think a telescoping connector / conveyor would be great for ships as mentioned before people dont all have the same design for ships and by having something extend out from it would make it much easier for people to use

as far as a pipe system goes the blocks conveyor and pipes are a must as is the connector but having a collector complete the task of both mining and ship scrapping would not be a good idea in my opinion would be better to split the roles into a mining part a scrapping part also having 1 way tubes would probably be the best even in SE people tend to place one way parts into the system to make it easier to sort out ores and items

now for ships contrary to everyone else i think having piping would be a great thing they add some neat aesthetics to construction or mining ships along with possibly being a balancing factor for physical ammos! but how would it work with turrets? we dont have tubes anymore and blocks would collide with the turret structure at some point the best solution would be to have any areas marked or built for storage have an AOE distribution system that would hand out items to other close by systems also having a block version of this to cap off the end of pipes to spread items accordingly this way most small ships would not have to worry about pipes ruining the design but much larger ships would pretty much require some form of it in order to supply weapons all around the ship having a feeding rate based on the pipe size/diameter would be great as well that way only certain sizes of items would be able to pass through at certain rates

as far as hiding pipes we have so many bricks available to us it would not be a challenge at all

how would storage work? would we mark a space to be filled or would we have specific storage containers? it would be cool to walk around your cargo bay and being able to see that your metal plates are stacked close to your gold ore and exotic spices

Garrett-C commented 4 years ago

One other potential issue is when people make engines on say child entities for looks. Like this very rough quick example. How would one provide fuel to a system like this? image

ProPeach commented 4 years ago

The way I understand it is that the magic hull connectors Tsuna was talking about would work across the whole ship, including child entities. Say you have a pipes linking a fuel tank to a hull connector, that fuel is now "in" the hull ready to be extracted at any point on the ship with another hull connector, then in to your reactors. This way you can connect things across child entities for aesthetics or turrets.

Garrett-C commented 4 years ago

The way I understand it is that the magic hull connectors Tsuna was talking about would work across the whole ship, including child entities. Say you have a pipes linking a fuel tank to a hull connector, that fuel is now "in" the hull ready to be extracted at any point on the ship with another hull connector, then in to your reactors. This way you can connect things across child entities for aesthetics or turrets.

Oh so it would in sorts be the somewhat magic system. So as long as your fuel tank is connected to the hull then all systems also connected to the hull needing fuel would have it? I mean sounds like a decent system. Only issue I have is that it’s a weird middle ground, surely if you are going to have it that way you basically have a system where everything in a ship connects, so like a ship wide inventory, but you are still calculating connections for pipes. So you take the performance loss of pipes without the complexity gain?

ProPeach commented 4 years ago

The performance loss for pipes is per pipe though, so compared to needing pipes throughout the entire ship vs a few at either end of a magic system the difference should be quite large.

The idea with this is that some items that people want to pipe (factory related stuff like raw/refined materials and crafting components) wouldn't "fit" in the magic pipes - so you can have your fun piping those around and designing assembly lines- while all the little tedious things like fuel, ammo, small items etc could either be piped regularly by those who want to or piped magically. Thus the best of both worlds, BuildCraft pipe factories without SE pipe tedium

Garrett-C commented 4 years ago

The performance loss for pipes is per pipe though, so compared to needing pipes throughout the entire ship vs a few at either end of a magic system the difference should be quite large.

The idea with this is that some items that people want to pipe (factory related stuff like raw/refined materials and crafting components) wouldn't "fit" in the magic pipes - so you can have your fun piping those around and designing assembly lines- while all the little tedious things like fuel, ammo, small items etc could either be piped regularly by those who want to or piped magically. Thus the best of both worlds, BuildCraft pipe factories without SE pipe tedium

Would the system with the magic pipes still not need to check connectivity on a regular basis? Surely even with magic pipes it would need to calculate a path through the hull to get from A to B. This might be fine if you only had say 1 line of blocks but if the system has to try and check every conceivable route of blocks from A to B would that not risk becoming a petty exponential issue?

If just pipe blocks are used then the system only needs to look at connected pipes, but it sounds like your understanding of it would essentially allow any hull block to be a pipe. Which I honestly feel could become an issue performance wise.

I do agree that actual physical pipes and maybe even proper conveyers should be used for actual factory applications to make the actual survival aspect quite entertaining.

talrey commented 4 years ago

I'd expect the "magical" piping would only need to redo connectivity checks when a block's destroyed.

Garrett-C commented 4 years ago

I'd expect the "magical" piping would only need to redo connectivity checks when a block's destroyed.

But when what block is destroyed? When one in the chain is destroyed or when any block on the ship is destroyed. If it's the chain then the ship either needs to keep checking that no block on the chain has been destroyed or needs to save all the invsible pipe routes to the ship, which won't help file size or load times.

ultrak2k commented 4 years ago

No to teleporting trade too, docking for all of that is must.

JohnsonJohnsonson commented 4 years ago

Alright. I think the most fun and least tedious way to do this would be like this:

All pipes would do is complicate stuff. I'm not adverse to things like fuel lines going for fuel tanks to engines, or air pipes going from air tanks to vents, but these need the ability to go through solid blocks. And I'm very adverse to cargo pipes. Those never make sense, as moving solid cargo is pretty much impossible without either high-pressure air or mechanical help inside the pipes, and it just makes everything tedious.

Garrett-C commented 4 years ago

I agree with @JohnsonJohnsonson. The simplest way is to have all cargo/fuel storage on a ship be accessible by any systems that need to access them. Then in order to transfer items you have to dock and transfer.

I guess it would sort of be like the current capacitor system where you place the fuel tanks and they just act as fuel storage. So in the same way your ship has an energy reserve it would have a fuel reserve.

The idea of pipes in ships just makes ships tedious to build, even with magic hull piping.

Drillz007 commented 4 years ago

So for cargo storage taking energy would that be a flat rate? or depend on how much you have stored in the container? its a pretty unusual idea but i think it would work pretty well for the game. the drain would not be that big though right? i mean if you build a cargo ship its going to be stripped of room on the inside for cargo instead of systems so its already at a disadvantage

also lets say you have a cargo set up on a station or planet so you would not care if it weighted more would it still cost energy to hold or would we have a second unpowered version

ProPeach commented 4 years ago

Regarding the shrinking of cargo mass when it's in a container, what are your reasons for this Tsuna? I understand that you say we'll need lots of resources from the rings, but you can balance that by simply changing the mass of the resources. It seems to me that you might be fixing a problem that isn't there.

Personally, I think storage would be better if it were volume limited, like many other games. You can only fit so much rock in a container after all, and the mass of the resulting container is just the total mass of the rock inside it plus the mass of the container. Unless some other cargo containers don't shrink the mass of their cargo, there will be no instance where cargo is its "original" mass so the mass shrinking function doesn't have much of a use.

ZachZent commented 4 years ago

All ships have an inventory. This stores stuff like items and tools and cargo. You can increase this inventory by placing storage containers on your ship.

This works, but I would have it so you need to use a "manifest" terminal to access it rather than being able to do everything in the pilots seat.

As for cargo, honestly I question needing power just to store them. If you are running cargo, you are accepting that you will be hauling stuff. Either for your small ships carrying only a few crates (think millennium falcon) or a massive hauler, you are moving stuff from point A to point B. Those who decide to do this should be building their ship considering how much it can hold and how far it can go. More cargo = more weight/volume used = more risk/more time = more rewards. Less cargo = less weight/volume used = less risk(ish)/less time(ish) = less reward. What will happen if you run out of power? Suddenly your ship now weighs a ton more and the engines will shut down. Rather repetitive, but the cargo is still in the same place. Now power to transfer items on and off ship would be fine, but cargo running should be about the weight/volume and not simply energy usage.

Kaiser-Indrasil commented 4 years ago

The energy that would be spent on lowering the mass of cargo, can otherwise be used to power bigger engines that freighters will undoubtedly need. There could be different cargo containers for storing the kinds of cargo which need insulation and/or careful maintenance of temperature and pressure. These could draw energy.

TripleHelixxx commented 4 years ago

Personally, I like the idea of using bricks for pipes and such. It’s already going to be “magic technology,” so why not make it as small and convenient as possible.

One thing I don’t see being discussed is physical transport of cargo. Connecting and transferring cargo through a logistics network is all well and good, but what if you just want to trade one thing or one container with someone without connecting them to your entire network? or perhaps you’re just transporting cargo that isn’t really yours, like in a hauler for example, you wouldn’t want all of that cargo connecting to network and getting all mixed up. Being able to have some kind of isolated container or pallet that you can physically pick up and move would be great. So for example, i’d land at the manufacturers base where they’ve got containers of ammo, I’d use some kind of hover dolly tool to manipulate the container and move it to my ship, and then lock it down to my ship and be off to my buyer. I’m not sure if this would even be possible, but I feel like it would be really good for these types of situations.
And to be clear I’m not suggesting that this be the only way to handle cargo, just to have it as an option.

Dwarf-LordPangolin commented 4 years ago

I agree with Peach and Zach; mass reduction is an overly complicated system for ship inventories. If you want people to chose between cargo and weaponry, there's a much easier way of getting that. Moving more mass already requires more engines, and more engines require more energy. You've already got a ready-made way of preventing people from having ships with lots of cargo and lots of guns: ships with both would be so slow they almost couldn't move, and would use tons of energy and fuel. This would be much simpler in terms of gameplay mechanics, and much more intuitive for new players, who will be very confused as to why 10 tons of cargo only masses 2 (that would honestly confuse me too).

This is actually one thing that Space Engineers does get right: the ore, refined metals, and manufacturing components all have the same mass as the things they're used to build. The components needed to build 1 hull block have the same mass as 1 hull block. They take up less volume (the same way an IKEA desk takes up less space in its box than it does after it's put together), but they have the same mass.

This means loaded freighters are extremely heavy, and need extremely powerful engines; for example, this is a freighter I made in Space Engineers. As you can see, the engines are huge, and used tons of fuel and energy. I made the freighter itself as lightweight as I could, because any extra mass would have needed even more engines, and even more fuel; it never would have occurred to me to add any weapons to it, because that would have reduced the amount of cargo it could move. AnadyrEngines

In other words, the in-game mechanics that you already have -- more massive ships needing more engines, which need more energy -- can be used to achieve the same goal that you want -- forcing people to chose between cargo builds and weapon builds -- much more efficiently than introducing a new mass-compression mechanic.

Garrett-C commented 4 years ago

The other thing that needs to be added to dwarf’s comment there is that if you wanted to add enough power to power large thrusters and lots of turrets you would need lots of fuel which means giving up cargo space for fuel. So heavily armed cargo ships would be easier to defend but less profitable. So there is a natural risk reward there.

JRL101 commented 4 years ago

I reckon dont worry about seeing the items move along the pipe/conveyor system, if you do want to see stuff moving, why not omission textures along the side of the pipes, having an inventory that visually changes might be cool looking, having your cargo hold fill up physically. Maybe have "pallets" that fill with random boxes as you fill their inventory up.

DioTheCreative commented 4 years ago

I would rather have an open inventory system much more then a closed, so I can use the hangers I built into my ships for other things as well. Maybe fuel tanks will be fine or placing cargo blocks whenever you need too.

JohnsonJohnsonson commented 4 years ago

Mass reduction isn't really necessary, honestly. All it reasonably does is make ship specialisation trivial by making freighter designs meaningless. Hauling cargo in space is an absolute pain irl, and from what we see apart from gravity generators there isn't any other magic tech relating to mass.

The system can still be implemented, but in a different way - as a tech upgrade for later-game play. So the first cargo storage you have are crates and barrels, the next are units that marginally lower mass but need energy to maintain and fit less, and the very endgame is a quantum storage device that connects to a pocket dimension.

However, what I am not averse to is specialized storage. So objects like Antimatter, or QG-Plasma, Neutronium, Dark Matter, Strange Matter etc need specialized containers so they don't dissipate and/or explode violently. This would make specialized transport vessels possible as well - harvest antimatter from a star's magnetosphere and then use an antimatter transport with magnetic containers to ship it around the system, or harvest Dark Matter from a Black Hole and transport it in an artificial gravity well generated in a bulky generator at the center of your ship.

Garrett-C commented 4 years ago

Mass reduction isn't really necessary, honestly. All it reasonably does is make ship specialisation trivial by making freighter designs meaningless. Hauling cargo in space is an absolute pain irl, and from what we see apart from gravity generators there isn't any other magic tech relating to mass.

The system can still be implemented, but in a different way - as a tech upgrade for later-game play. So the first cargo storage you have are crates and barrels, the next are units that marginally lower mass but need energy to maintain and fit less, and the very endgame is a quantum storage device that connects to a pocket dimension.

However, what I am not averse to is specialized storage. So objects like Antimatter, or QG-Plasma, Neutronium, Dark Matter, Strange Matter etc need specialized containers so they don't dissipate and/or explode violently. This would make specialized transport vessels possible as well - harvest antimatter from a star's magnetosphere and then use an antimatter transport with magnetic containers to ship it around the system, or harvest Dark Matter from a Black Hole and transport it in an artificial gravity well generated in a bulky generator at the center of your ship.

Kind of disagree there. It just means that maybe your small ship can transport 50 tones while your big ship can transport 500 tones. Instead of small ship transporting 10 and large one transporting 100. Condensing cargo doesn’t change the need for Cargo haulers etc. Being able to reduce mass on cargo doesn’t mean that all ships can transport the same amount of cargo.

AlienXtream commented 4 years ago

this is gunnu sound a little silly to anyone not familiar with minecraft mods but what about how ender I/O handles pipes/wires? where they can be put INSIDE a block but not there by default. over all i think taking elements from how minecraft and minecraft mods handle items and inventories is a good idea. while not the BEST implementation, its at least familiar enough to many people that it would make transitioning easier. here is a part 1 of a mod spotlight of ender I/O. its quite long but i think it has a lot of interesting concepts that you could possibly adapt to your game https://www.youtube.com/watch?v=_GgNQf2MqQ0

nokturnihs commented 4 years ago

Just my feedback on the subject: 1) If you end up using "covers" similar to Buildcraft (MC) to hide pipes inside hull then there's less developer overhead just to create a link from inventory to other systems. 2) Small ships will become much larger if conveyors/pipes are needed to go to each specific system - it essentially kills the "small mining drone/shuttle" concept completely, especially if you use some kind of multi-block storage. 3) Conveyors/Pipes in conjunction with child entities could be a real nightmare for both building and developing. 4) You have an amazing decal/paint system - using something along this line to "paint/convert" item transport might work around some of the issues regarding child-entities, connections, etc. for example, a "Connector" decal can be affixed to many surfaces, you can also use this to keep ships small but at the same time accomplish the desired complexity on transport/conveyor systems for items. Maybe penalize block integrity for surfaces with "working decals/paints" on them to balance them against regular hull? 5) Whatever you do, there will be a need to make it work with child entities - otherwise it discourages the use of hinges, slide-rails, rotors, etc. I personally would prefer some kind of decal method because not only could this be used to handle inventory but could also be used to handle energy conduits (if desired) and you could take a bunch of the decorative interface blocks (or hell, monitors and text blocks) and use a decal system to allow for almost any surface to serve the purpose for all the above. 6) If you need to handle child entities with some kind of "wireless connector" logic block, etc, you could also use this to extend shield distributions, and would simplify "mining laser turrets" as well as you'd need some method of connecting a "flexible" pipe otherwise to mining turrets of any kind. 7) I believe in you @tsunamayo - you'll do something amazing and we'll love it. :)

nokturnihs commented 4 years ago

Also will mention that Space Engineers inventory/cargo system isn't what I'd call great and while Starmade's inventory system has problems as well, if I had to pick one or a MC inventory system to mimic, I'd probably go with Starmade. I strongly discourage anything that forces players to build in specific sizes/manners for aesthetic complexity - The strongest aspects of Starship EVO is build diversity and frankly anything that invalidates small ships/large ships/ships with child entities/etc hurts and diminishes the thing you are doing WAY BETTER than anyone else.

tsunamayo commented 4 years ago

Regarding the shrinking of cargo mass when it's in a container, what are your reasons for this Tsuna? I understand that you say we'll need lots of resources from the rings, but you can balance that by simply changing the mass of the resources. It seems to me that you might be fixing a problem that isn't there.

Personally, I think storage would be better if it were volume limited, like many other games. You can only fit so much rock in a container after all, and the mass of the resulting container is just the total mass of the rock inside it plus the mass of the container. Unless some other cargo containers don't shrink the mass of their cargo, there will be no instance where cargo is its "original" mass so the mass shrinking function doesn't have much of a use.

honestly it is pretty much the same story between mass or volume. The important point of the system was to say it require power.