Jump to content

Room Optimisation


Recommended Posts

Have been working on optimisation algorithms for my post grad and was thinking of dipping my toes into using them for room optimisation in ONI.

Does anyone know if these tools already exist. If not is there any particular outputs that people would be after?

I am thinking primarily for farm rooms, optimised layouts for maximal output then minimised dupe travel time, materials or power etc.

This is a fishing expedition, what are your thoughts?

Link to comment
Share on other sites

I think the game mechanics are not yet stable enough to make that worthwhile and there are regulation mechanisms missing, e.g. the possibility to automatically regulate the number of critters in a room.

Link to comment
Share on other sites

4 hours ago, MidnightSteam said:

What do you mean? You want to optimize the code?

Sorry, was not very clear from the start.

I'm thinking along the lines of we know a Greenhouse has to be 96 squares, but how we arrange the blocks in that room is unknown. With Bristle berry is it better to have a non level arrangement to fit as many plants around a single light source or to have the row flat so duplicants take less time to move? People are submitting designs they have come up with to the forum,but this will mathematically determine the absolute best solutions. 

I would also see footprint as a parameter. The code would be able to output the absolute most optimised design (a greenhouse that produces the most calories per second possible) but you could also say 'what is the most productive greenhouse I could fit in a 8 x 12 area.

Link to comment
Share on other sites

Sounds openended enough to be pointless, I think you need a more specific goal.  If you want parameters for automation vs non-automation, resource poor vs unlimited available resources, work vs productivity, size, heat vs non-heat efficiency, unique situations, etc would make such a program futile for even one room type.  This sort of thing might work in something like factorio where there is simply a perfect design for many things but in this case, it really depends way too much on your objective.

Link to comment
Share on other sites

I don't know how those parameters would make an optimisation function futile. You incorporate those into the equation and you can optimise for productivity and heat efficiency if you chose. You can set resource availability as a constraint and it can optimise given that constraint. I agree with your point that there are many factors that people may want to optimise for but disagree that optimisation is a poor solution. There is a reason it is used in extremly complex engineering problems. In our case, we have a very finite number of blocks in a constrained space and in the order of 10 possible objectives. 

Its not nothing but definitely doable. I have to disagree, if you think it would be suitable for factorio it would be suitable for ONI. 

Link to comment
Share on other sites

Well the reason it would be suitable for that game and not this is the amount of variation you could want.  For instance, there is probably going to be exactly one perfect soalpower+accumumulator repatable block, or exactly one nuclear setup for a given number of nuclear plants, etc.  No parameters even necessary except one in the nuclear case.  And even then, just doing that as a program instead of reasoning it out by hand, would be a challenge for those!

However, if you've got 10 objectives that could all potentially depend on each other, that's exponentially harder.

So I think you'd need to narrow it down to only some parameter types, or not have them interact.  But I don't think that would necessarily be that useful with those constraints.

Link to comment
Share on other sites

Oh are you saying you're asking people what specific tools they would like?

Your first post is kinda vague, it sounds like you were making like one universal tool or something.

I'm sure one everyone want for instance, is how big of a rectangular storage chamber, and gas valve output, is needed for given natural gas geyser with parameters of dormancy, active period, and rate of emission.   Storage size to prevent overpressure during dormancy, with valve output being it's constant average value.

Link to comment
Share on other sites

I've been working on Dusk Cap optimization. If you can make a tool that would be awesome. Just know that you're in for a lot of work. :D

Here's my Dusk Cap Automation room. Could be better. I just found out sweepers can deliver to farm tiles from underneath so I'll have to revise my design.

Spoiler

Normal view

:DuskCapAutomation.thumb.png.d2e785007f07c59c76c04c995c666f9e.png

Room Size:

DuskCapAutomationRoomSize.thumb.png.ff44aaf057315f6a9ddeb7615a811a36.png

This doesn't account for cooling yet. Will have to incorporate radiator pipes or hydrogen rooms. Cool thing is you can use doors to make a room "smaller" :D

Here's the save: DuskCapAutomation2.sav

I'm also trying to optimize rooms for hatches. I'm currently using 16x6(96 tiles). But to fully optimize the room you'd have to know how much grooming needs per hatch, per cycle; travel time, automation use, power(as you mentioned), cooling, if it's running in tandem with another room, etc...

I could also combine this room with Coal Generators on the top and cool the gas as it comes down. So many options.

Link to comment
Share on other sites

2 hours ago, MidnightSteam said:

I've been working on Dusk Cap optimization. If you can make a tool that would be awesome. Just know that you're in for a lot of work. :D

Agreed, will be a long term project so baby steps. Was looking for a few test cases to try and see what problems other people are trying to solve. Ill keep it in mind.

Kicked off last night:

image.thumb.png.e972133b8a4d2858179a7c18dd5bde7a.png

Progress to follow...

Link to comment
Share on other sites

Always keen to see community created tools. Looking forward to see what you come up with.

Definately would be interested in seeing stables though farms would probably be easier and less likely to change short term.

Link to comment
Share on other sites

Just some suggestions for optimization stuff:

-best place for the grooming station inside a stable (for different critter stable layouts, depending on their time to reach the station)

-"best" farm minimizing dupe time (32 tiles long bristle berry farm is space optimal for 30 plants inside one stable, but that would cost more dupe time.)

Dupe time spend should be the best indicator for a good farm (it will maximize tending time, which reduces the average consumption).

Link to comment
Share on other sites

13 hours ago, Enginator said:

Sorry, was not very clear from the start.

I'm thinking along the lines of we know a Greenhouse has to be 96 squares, but how we arrange the blocks in that room is unknown. With Bristle berry is it better to have a non level arrangement to fit as many plants around a single light source or to have the row flat so duplicants take less time to move? People are submitting designs they have come up with to the forum,but this will mathematically determine the absolute best solutions. 

I would also see footprint as a parameter. The code would be able to output the absolute most optimised design (a greenhouse that produces the most calories per second possible) but you could also say 'what is the most productive greenhouse I could fit in a 8 x 12 area.

I optimize all my farms to minimize dupes movement, for bristle, it means 3 store building and I do not care if I need to stick more light sources, their cost is minimum. As I build this farms before any automation or transport available, i do not have any. But I will probably redesign it in future in order to save as much dupes time as possible.

Link to comment
Share on other sites

Thanks for the input, keep it coming it will help with the coding process. I am not sure how the genetic algorithm will stand up with that many variables but hopefully it will pump out some viable solutions.

I am currently thinking objective functions for farming being:

  • Max productivity
  • Max efficiency
18 minutes ago, Lilalaunekuh said:

Just some suggestions for optimization stuff:

-best place for the grooming station inside a stable (for different critter stable layouts, depending on their time to reach the station)

-"best" farm minimizing dupe time (32 tiles long bristle berry farm is space optimal for 30 plants inside one stable, but that would cost more dupe time.)

Dupe time spend should be the best indicator for a good farm (it will maximize tending time, which reduces the average consumption).

Thanks for that I will keep them in mind. These are the kind of optimisation problems I am after so if anyone else has any questions they have been trying to answer let me know. Cant promise a quick solution but I will keep it bubbling in the background.

Link to comment
Share on other sites

13 hours ago, MidnightSteam said:

I've been working on Dusk Cap optimization.

Why did you place the p-doors at the top instead of meshtiles. Is there a particular reason or just personal taste?

 

On topic: i like the idea and the benefit for the community. But i got my doubts that everybody will take a paper on a "video game" seriously. Dont get me wrong, there are tons of scientists, who love a good use case as in a game, but to some video games might still come with a grain of salt.

So maybe it is more strategic to establish your name in the field with a few "serious" papers first, before you venture into something more extravagant.

You might want to check for related works and how well received video-game papers actually are. There is also the option to make the ONI-part just one - more graphic and entertaining - part of your paper.

 

Last but not least, try to ask this question (maybe in a less precise form to prevent others getting the same idea) at https://academia.stackexchange.com/.

You should be able to get answers from people who are active in your field to get a better perspective. Especially in terms of significance and acceptance.

 

Link to comment
Share on other sites

4 minutes ago, blash365 said:

Why did you place the p-doors at the top instead of meshtiles. Is there a particular reason or just personal taste?

Might be trying to minimize resource cost.  Pneumatic Doors and Mesh Tiles cost the same amount of Metal, but the Pneumatic Door is 2 tile spaces instead of 1.

Link to comment
Share on other sites

6 hours ago, GrindThisGame said:

Enginator do you plan on testing each design over 10-20 cycles and measuring the variables that you are trying to min/max? Could be fun to apply real life optimization to this game. 

So I plan on verifying but building it in game and comparing the real value to the theoretical value to see if the model is accurate. 

10 hours ago, blash365 said:

Why did you place the p-doors at the top instead of meshtiles. Is there a particular reason or just personal taste?

 

On topic: i like the idea and the benefit for the community. But i got my doubts that everybody will take a paper on a "video game" seriously. Dont get me wrong, there are tons of scientists, who love a good use case as in a game, but to some video games might still come with a grain of salt.

So maybe it is more strategic to establish your name in the field with a few "serious" papers first, before you venture into something more extravagant.

You might want to check for related works and how well received video-game papers actually are. There is also the option to make the ONI-part just one - more graphic and entertaining - part of your paper.

 

Last but not least, try to ask this question (maybe in a less precise form to prevent others getting the same idea) at https://academia.stackexchange.com/.

You should be able to get answers from people who are active in your field to get a better perspective. Especially in terms of significance and acceptance.

 

Totally agree, again my initial post was pretty vague. This will not be my paper, I am doing my paper on something completly different. The techniques I am using in my study I am just transplanting to try and solve a game problem.

I was inspired by the KSP optimal rocket calculator tool. That was awesome.

Link to comment
Share on other sites

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.

×
×
  • Create New...