ffiarpg Posted December 24, 2017 Share Posted December 24, 2017 It looks to me like random parts of a normal wire circuit will become damaged if power draw ever exceeds 1000W on a circuit but is not intuitive and doesn't match how electricity works. -There should only be damage if X amps passes over any given part of the circuit and those parts should be what get damaged. In practice this would allow for multi lines to distribute the load. Liquids and gasses have huge issues with feeding inputs and outputs on the pipe. -More realistically any input could feed into a line, increasing pressure and any output could draw from a line, decreasing pressure. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/ Share on other sites More sharing options...
Neotix Posted December 24, 2017 Share Posted December 24, 2017 Another one. This game is not a simulator and nothing have to be realistic. Learn game mechanic. 5 hours ago, ffiarpg said: There should only be damage if X amps passes over any given part of the circuit and those parts should be what get damaged. In practice this would allow for multi lines to distribute the load There is topic on forum where you can learn why this bad idea. 5 hours ago, ffiarpg said: Liquids and gasses have huge issues with feeding inputs and outputs on the pipe. You have a issues, not liquids and gasses, because you didn't learn game mechanic. Learn it and there be no issues. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987156 Share on other sites More sharing options...
ffiarpg Posted December 24, 2017 Author Share Posted December 24, 2017 Just now, Neotix said: Another one. This game is not a simulator and nothing have to be realistic. Learn game mechanic. There is topic on forum where you can learn why this bad idea. You have a issues, not liquids and gasses, because you didn't learn game mechanic. Learn it and there be no issues. First of all, here is the description of the game from Steam:Oxygen Not Included is a space-colony simulation game. Can you link the topic on why it is a bad idea? I DID learn the game mechanics. It is after learning the mechanics and building a sustainable base that can last indefinitely that I registered to the forums to make these suggestions. There are many things in the game that behave in a satisfying way from a science/engineer/physics perspective. I don't think it is unreasonable to address the mechanics that don't match reality whatsoever unless there is a really good design reason they are this way that I am unaware of. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987158 Share on other sites More sharing options...
Neotix Posted December 24, 2017 Share Posted December 24, 2017 space-colony simulation != real physics simulation About electricity: 4 minutes ago, ffiarpg said: I don't think it is unreasonable to address the mechanics that don't match reality whatsoever unless there is a really good design reason they are this way that I am unaware of. First and the most important reason is performance. Simplification and avoiding unnecessary calculations is only way to allow players make big bases without slideshow. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987159 Share on other sites More sharing options...
ffiarpg Posted December 24, 2017 Author Share Posted December 24, 2017 That thread doesn't have a single developer response, just a bunch of armchair developers saying its too computationally expensive but I know it isn't as a developer myself. If it is possible to make a game more realistic while keeping it as fun as it currently is, why are you so opposed to that? It seems like you just like denying suggestions and speaking like you are the authority on what the game is and isn't. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987160 Share on other sites More sharing options...
AlexRou Posted December 24, 2017 Share Posted December 24, 2017 2 hours ago, ffiarpg said: I know it isn't as a developer myself. Ok then lets talk about how would you implement it, as this sentence implies you know how. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987171 Share on other sites More sharing options...
ffiarpg Posted December 24, 2017 Author Share Posted December 24, 2017 So what, this is where I tell you how I would do it to give you more material to nitpick. Sure, I'll bite. These changes don't have to happen in realtime for this to work so it won't have impact on gameplay. For example, if you modify your circuit or turn on a new device and it takes 0.5s of background processing for it to realize you are overloading a section of wire and it begins to damage it, that really isn't a big deal, nor should it take 0.5s to figure out since this math is simple. -When a device is drawing power, figure out what routes exist to sources of power, batteries, generators, etc. -Divide the watt requirement evenly between routes -Apply a watt load of that amount to each tile of wire on the route, similar to many other properties in the game already. -Do that for all devices, sum the load on each tile, if the tile load summation exceeds 1kw or whatever limit a wire is to have under this new system, break it, give it a chance to break, etc, whatever is best for balance of difficulty. This is really simple math compared to some of the other physics calculations this game already does. Nothing special here. I actually wouldn't be surprised if the current power system and pipe systems are placeholders for a future pass to improve them. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987172 Share on other sites More sharing options...
AlexRou Posted December 24, 2017 Share Posted December 24, 2017 2 minutes ago, ffiarpg said: So what, this is where I tell you how I would do it to give you more material to nitpick. Sure, I'll bite. I think you're mixing me up with someone else? I haven't nitpick anything you said? I'm just very curious cuz I tried coding it in unity at one time and gave up cuz it was taking too long to dev and I kinda got bored. Was using breadth first search to find paths. 4 minutes ago, ffiarpg said: -Divide the watt requirement evenly between routes How would you divide it evenly? When there's a fork take the current from the previous section of wire and divide by how many forks? Won't that leave an imbalance of current if the left fork has less branches than the right fork? Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987176 Share on other sites More sharing options...
ffiarpg Posted December 24, 2017 Author Share Posted December 24, 2017 Sorry I am on mobile and didn't check username, my bad. I wouldn't do it by fork but by quantity of paths. For each consumer I would see how many paths to a producer it had, divide by the amount of paths and apply a watt load to the tiles that are used for that path. In your example the left fork would get 33% of the watt load and the right fork would get 33% applied to the right-right and 33% to the right-left giving it 66% thru the right fork up to the 2nd fork, at which point it would be 33% so if its a 1kw wire limit and the device was 2kw hooked to 3 devices it would burn up that right fork since it'd be at 1333kw. This is still a pretty clear simplification over reality but I think it is more intuitive for people who both do and dont know electrical engineering and more realistic. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987177 Share on other sites More sharing options...
AlexRou Posted December 24, 2017 Share Posted December 24, 2017 3 minutes ago, ffiarpg said: Sorry I am on mobile and didn't check username, my bad. I wouldn't do it by fork but by quantity of paths. For each consumer I would see how many paths to a producer it had, divide by the amount of paths and apply a watt load to the tiles that are used for that path. In your example the left fork would get 33% of the watt load and the right fork would get 33% applied to the right-right and 33% to the right-left giving it 66% thru the right fork up to the 2nd fork, at which point it would be 33% so if its a 1kw wire limit and the device was 2kw hooked to 3 devices it would burn up that right fork since it'd be at 1333kw. This is still a pretty clear simplification over reality but I think it is more intuitive for people who both do and dont know electrical engineering and more realistic. Won't that requires running A* for each and every producer for each consumer (num consumer * num producer)? With the giant electrical systems people could make, that would end up with a huge computation time don't you think? Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987180 Share on other sites More sharing options...
ffiarpg Posted December 24, 2017 Author Share Posted December 24, 2017 Define huge, dozens of consumers and produces isnt huge in my eyes, even a 100 x 100 is nothing to modern computers and it isn't something that has to be recomputed from scratch every second the game is running. You would only have to recalculate what a consumer is connected to when it turns on and off and what a producer is connected to when it turns on and off and the results do not have to be instant for it to be an improvement. I would multithread it and allow the game to proceed uninterrupted while those calculations happened in the background. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987181 Share on other sites More sharing options...
AlexRou Posted December 24, 2017 Share Posted December 24, 2017 1 minute ago, ffiarpg said: dozens of consumers and produces isnt huge in my eyes, even a 100 x 100 is nothing to modern computers People are already complaining about dupes doing nothing for a long time due to long A* times. 2 minutes ago, ffiarpg said: has to be recomputed from scratch every second the game is running. What about gas fed generators turning on and off every second due to lack of gas? I know it's a worse case thing but it happens often enough to care. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987182 Share on other sites More sharing options...
ffiarpg Posted December 24, 2017 Author Share Posted December 24, 2017 The dupe priority system is almost certainly a much more complex computation than what I am proposing. The last set of patch notes I read said they improved performance, who knows how many more performance improvements will come before the official release? There are always optimizations to be made, it is just a matter of priorities. If my suggestion to improve the power/gas/liquid network systems is not a priority I will totally understand but I still wanted to suggest it. Regarding gas generators. Cache the state of the system if its on or off if the computational burden is too high. The only super critical thing is whether a wire will be damaged so that is them most important calculation to cache. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987183 Share on other sites More sharing options...
AlexRou Posted December 24, 2017 Share Posted December 24, 2017 Well asking about the implementation was a pure curiosity thing. However my stance on the matter is while I love more realistic everything, I have yet to see someone proposing a good enough reason for the dev time and possible performance hit especially to low end machines. Sorry to be blunt but gota ask, the "so what?" question. To the average player with or without this, it's a matter of deconstructing the latest consumer you added and putting it on another network. And advanced players will find a way no matter what. So the only people who appreciates this would be electronics educated players. Same for the pipes stuff. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987190 Share on other sites More sharing options...
Saturnus Posted December 25, 2017 Share Posted December 25, 2017 22 hours ago, AlexRou said: So the only people who appreciates this would be electronics educated players. No. We don't care if it's realistic. It's part of being educated really. You learn the limitations of the game (or real life) and work around them. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987400 Share on other sites More sharing options...
AileTheAlien Posted December 27, 2017 Share Posted December 27, 2017 On 12/24/2017 at 5:06 AM, AlexRou said: Won't that requires running A* for each and every producer for each consumer (num consumer * num producer)? With the giant electrical systems people could make, that would end up with a huge computation time don't you think? The game would only need to run A* when electrical objects are built, damaged or destroyed. When the electricity is being divided between wires, buildings, etc, it could just use the paths computed by the previous run of A*. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987738 Share on other sites More sharing options...
AlexRou Posted December 27, 2017 Share Posted December 27, 2017 11 hours ago, AileTheAlien said: The game would only need to run A* when electrical objects are built, damaged or destroyed. When the electricity is being divided between wires, buildings, etc, it could just use the paths computed by the previous run of A*. You forgot when every producer/consumer turns on or off. Because that changes the path and you cannot assume they will all turn on or off at the same time. I'm imagining current on a segment of wire be used for the costs in A* so that the load spreads out as much as possible. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987807 Share on other sites More sharing options...
AileTheAlien Posted December 27, 2017 Share Posted December 27, 2017 Producers turning on or off shouldn't change the shortest paths through the network. You also can't be using the current on wires for your costs - that's the thing you're trying to figure out in the first place. Regardless of the path-finding algorithm you're using (A*, Dijkstra, whatever), the paths represent the path that some electricity could take through the network from electricity producer to consumer. (i.e. The shortest path from some producer to some consumer.) After that, you'd divide up the amps/watts, determine wire damage, etc. Having thought more about this, I think there's a way to have electricity in the game be more intuitive, while also being somewhat close to reality for people who have some electrical background. Use the same system as liquid / gas plumbing. It handles multiple producers* and multiple consumers, and already exists in the game. The only difference would be that if multiple consumers try to pull more power than can be handled by a segment of wire, it gets damaged. (Plumbing just limits the throughput through a pipe/vent, without damaging it.) * I actually don't know how it handles multiple producers connected to the same pipe. I'm at work, so I can't check, but I'm assuming the pumps just evenly distribute their output to the shared pipe segment (or consumer machine) that they're both feeding into. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987830 Share on other sites More sharing options...
AlexRou Posted December 27, 2017 Share Posted December 27, 2017 44 minutes ago, AileTheAlien said: You also can't be using the current on wires for your costs - that's the thing you're trying to figure out in the first place I meant the current from consumers already processed, like if there are 2+ possible paths to a producer and one path is already at heavy load, try the other paths. If it doesn't do this then people would be complaining about why is it only taking the shortest path. 44 minutes ago, AileTheAlien said: Use the same system as liquid / gas plumbing. This system doesn't handle forks/branches well and so wouldn't be of much use unless it's improved, but this system is more costly as it's calculated in real time or at least once a second. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987834 Share on other sites More sharing options...
trukogre Posted December 28, 2017 Share Posted December 28, 2017 On 12/23/2017 at 11:54 PM, ffiarpg said: That thread doesn't have a single developer response, just a bunch of armchair developers saying its too computationally expensive but I know it isn't as a developer myself. It's not relevant whether that thread has a developer response: it's a recent similar thread, posting duplicate threads isn't a useful thing to do; that's just a general rule of life. The developers typically don't respond to threads here, as they've indicated that they've found that when they respond, it tends to close down discussion. Consider this: there are a bunch of space colony sim games out there. If they were all 100% realistic, they'd all be the same thing--and they wouldn't be games at all. Contained within their deviation from reality are the choices that make them 'sim games' and not just sims, as well as the choices that make them different games from each other. "I don't think it is unreasonable to address the mechanics that don't match reality whatsoever unless there is a really good design reason they are this way that I am unaware of. " Well that's the thing, there is a potential really good design reason, and it's not just feasibility. The designers have a vision of how they want gameplay to be. fixing every deviation from reality would 100% destroy that gameplay. So, any suggestion about realism must involve some analysis of gameplay as well to be complete. Your analysis lacks any consideration of gameplay, so it is a priori incomplete. Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-987908 Share on other sites More sharing options...
vovik Posted December 28, 2017 Share Posted December 28, 2017 cornerstone of oni is cell logic - gas/liquid/solid can occupy one cell, otherwise computations overheat cpu. Tho liquids flow too slowly, and gases move too slowly - i feel like i need to wait about half of cycle for 1 cell of hydrogen to go by 4 cells up. Ani need to wait like two cycles for water to flow down some hills... Link to comment https://forums.kleientertainment.com/forums/topic/85762-make-liquids-gasses-and-power-behave-more-realistically/#findComment-988007 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.
Please be aware that the content of this thread may be outdated and no longer applicable.