Jump to content

Poor Dupes AI makes Late Game literally unplayable


Recommended Posts

This is suggestion and _feedback_ thread, so let me give you my feedback.

Also, as constructive criticism is more powerful then praises, let me describe why I ended this otherwise great game howling with rage.

Short history of my base:

1. Early game was survival horror, with constant feeling breath of CO2 on my back. I loved stress and constant checking of how much more of algae's/water I still have. This was rush for any hope of survival, with forced breaks to gather resources for ongoing life support. I felt in love with this game and played non-stop, like when I first time got Factorio. But this game suits me much better, I was really committed to survival of my Dupes. I was ready to call ONI best game ever created (it also should be underlined, how great graphical style ONI has, this one of important selling points). This early game took me about two real life days. Whole was played without use of any magical (renewable) resources, under constant pressure of time. Best thing was, that no technological advancement provided sustainable solution (as in most other games). Each one was only postponing termination by giving new ways of creating oxygen, but from resources that also were limited.

After first day  everything was researched, on evening of second day I left my biome and got to left side (Neutronium wall) discovering my very first Winter Biome. And Wheezewort. This renewable resource of Cold is milestone, that  finishes early game for me.

During early game experience of Dupes AI was very positive. They had enough skills for personal survival. Stupidity cases, like Dupe sinking in a cesspool because he deconstructed ladder out, were rather funny, as base was small and everything was really close, so "penalty" for stupidity was small.

2. Middle game started with disappointment that game "ends so fast". This was because I understood that if I found end of map, then I will be given infinite resources soon (or die otherwise, when resources depleted). And so this happened. In fact, I think I had a great luck to develop so slow, that I didn't found any sustainable resources earlier. This way ONI gave me enormous amount of challenging, survival game.

So soon I found geyser and launched methane generator. This led to heat and CO2 pressure crisis, solved with very first use of ventilation and bringing Wheezeworts into base. Added electrolysis of steam geyser water and Game Is Finished, I have, more or less, sustainable survival.

No. This cannot be so easy. Where is my fun? I understood that this is because of ****** Wheezeworts, that "magically canceled" overheating problem that should haunt my base during the middle game. I decided to build self sustainable base without use of Wheezeworts outside of Winter Biome (let's imagine, that those could not live in other places). And in long term - I wanted to stop feeding Dupes with this rubber-tasted Mealwood.

This started my true middle-game, that took me a week or so of playing and was totally different experience comparing to early game, but I started to love it, too. Pressure of time was much smaller so creating contraptions and enlarging base for all machinery was main point.

My first AC unit (Thermo Regulator) stand just outside of base and started overheating quickly. So I made a decision to move it to the Winter Biome, that was like one screen size to the right from edge of my base. Pipeline leading Oxygen there and back was my first "great structure", and while construction works progressed slower then I was expecting, I was generally happy with Dupes performance.

Temperature improvement was, however, insufficient. After some research I understood that electrolysis of water produces much heat. As Steam Geyser was close to Winter Biome, where I was cooling my Oxygen, I decided to move Oxygen factory there, too. This construction were much bigger in efforts and I started to have an issues with Dupes that were not present on constructing site. Practically, I had to use priorities to have any action done.

I tried to pre-cool water to lower temperature of produced Oxygen. This approach had no chances of success, as I found soon on Klei ONI forum, where I went to learn WTF. And where I found numerous tips on cooling base.

All my experiments and prototypes required extensive refurbishment of oxygenation room and Dupes performance was unsatisfactory. Seemingly trivial task of moving pump from right to left side, that should happen during one Dupe visit and include reusing materials, appeared to be enterprise comparable to digging up the Suez Canal. Long nothing-happened, then group of Dupes goes into, unconstructed everything, but not event tries to build something and leaves room empty.

After some time, next Dupes comes in _bringing_new_ construction materials, but still no constructing. As there was more refurbishments among time, pile of materials on floor grows, as old materials were rarely reused. I tried to track Dupes and found that some being at Main Base, goes "half screen left" to pick-up material, then returns and goes whole screen size right to Oxygenation Room, where another materials were available all the time!

Then single Dupes starts appearing with constructing on mind, but never builds whole system. They could, for example, build power line, but left one segment (even supplied with materials!) unconstructed. And then disappear for long time.

I tried to push dupes with higher priorities. Stress on base infrastructure was so high, that plantation of Mushrooms was left unfertilized. I also didn't notice, that temperature had raised in farming room and Mealwood stopped growing. So one of Dupes died from starvation. RIP Frankie, you paid with your life for new Oxygenation Room!

Overall, while room was being built, problems with Dupe's job managing were visible. Organizing one room took me whole day of gameplay, it was more than I expected. I am particularly unhappy with long and chaotic operations of "moving" something a bit. Such operations frequently happens during prototyping, and should be easy and fast.

Then, after some time, I went deeper, get an oil, produced small amount of plastic and this started Industrial Revolution. I wanted to give Bristle Berry meals to Dupes. But water was so hot, that no  growth. I was capped on energy for Thermo Aquatuner. So I decided to use Petroleum Generator for it. So I needed Petrol.

So I decided to build two Oil Refineries deep below base, near oil patches, utilizing fact that those machines, after started, are practically power-independent because of number of Natural Gas those are producing. Such approach  was failure "economically" and I ended with third Refinery just in basement of my base, but this is not important now.

Long story short: construction was tragedy. Or comedy, depending on point of view. Works took me like two days of real life. In the middle of works I even paused and used whole petrol and plastic I had stored to extend tube as close construction site as possible (about half of walking distance).

I started spying Dupes to find what is going on. Then I understood, how ****** was an idea of different Materials in each biome, and the duty to declare what Material to use while planning building. During builds taking place in start biome and next one, you may not care about Materials.  But in distant biome, here, it ruined gameplay. I canceled whole construction and re-planned room trying to use local materials. But this wasn't success. Maybe sometimes something was used locally, but rarely. Dupes were still bringing Materials from distant locations. Also amount of Material previously brought from start area complicated builds. And during reorganization - that always happens if prototyping new design - I couldn't be sure what material will drop out of unconstructed e.g. pipe. So I never had a chance to plan new connections with locally available materials. Note - in current sh*ty Materials implementation it is not visible what Material pipe is build from!

Overall, there was no curse that I would not throw at author of Materials differentiation. Problem was bigger that it initially appeared to be. And strongly hitting inexperienced players, that do not use to to analyze Material before placing each small part. Also, using of different Materials is totally not portable among biomes - I unwillingly fixed some design details at Main Base using distant biome material (I forget to unchange), and have to wait eternity till supply provided. Construction job were progressing slowly as hell, number of mishaps (in materials) was large and, at least but no last, game experience was _frustrating_, lacking any enjoyment from base development.

I was kept at game by hope that not all problems were because of Materials, but lack of Tube network played its part. But anyway, I ended furious on such "feature".

3. Late game was after I secured constant flow of petrol. Since this moment, generally "I have everything galore". So I decided to explore rest of map in search of CounterEntropy machine that I didn't encountered yet, also discovering second Methane Geyser was welcome.

I created quite developed tube connections to prevent problems with long delays while digging "far left" and "up", and during prototyping the use of CounterEntropyMachine.

But this didn't help at all. And I ended coursing Dupes AI, convinced that developers made it on purpose to deter players from this game. That's ridiculous, that's f*ing useless. Event 3 years old, if asked about job assigning algorithm, would say "choose closest". But this is obviously too complicated for ONI, I am pretty sure jobs are assigned basing of random order given by low-level organization of internal programming language containers.

I decided to not use priorities to see what happens, and to have casual player impressions. So Dupes not building single, supplied wire for ages. Dupes working a few screens one from each other can suddenly exchange places. Dupes that can travel whole map to dig one tile, but do not care about rest of digging. Dupes that are taking delivery to farthest container they can find.

See it yourself in videos below:

Turner supplied last wire, but didn't build it! He left for no reason. Job was not stealed, because he returned after a minute and build it. Whole minute! Others Dupes walks by and deconstructs other things, but see no reason to finish stupid, supplied single wire. I am sitting wondering what twisted game I am playing:

https://youtu.be/B8Ztz6NqoOU

 

Hassan digs "far left" tunnel. But changes his mind for no reason. He goes "right", picking up a Material, with obvious intention of building right-side ladder. But this is so far, that night catches him. Boom boom boom, my head hits desk while watching this:

https://youtu.be/iKWirwSeCiE?t=23 

Ellie and Mi-Ma travels whole map only to dig one tile each. No way to force digging any more. This is a moment when "fuckk merde verfluchte kurwa blyat" hits walls in my room:

https://youtu.be/IK3oAVGv044

 

Mi-Ma travels whole map to dig "far left". Going there, passes Camille that stopped digging there for no reason. Camille is not in hurry (toilet etc.), it is visible she takes Material for another task. Just literally unplayable, as each one digs like one tile deep.

https://youtu.be/WQV7U4wH6ck

 

I build Storage Compactor and told Dupes to clean construction site. I focused on other tasks. About 40 minutes later, not cleaned. So I checks what is going on. I can see that Camille do not care about local Compactor, took everything to main base using Tube (and generally draining electricity). After this, I do not see any sense in playing this game anymore:

https://youtu.be/qBV6zJ1hK5U

 

Hassan takes 3000g of Ice to haul it whole map. There is about a tone of Ice in place I told to clean, but he takes 3kg pieces. It is also about 360kgs of free space in target compactor. Then he returns for next part. After seeing this, I quit game with intend of uninstalling it. I didn't, but I cannot find any point in playing ONI again, as this would lead to Late Game again.

https://youtu.be/d0K96t1j-Lw?t=13

 

So, this is how I started to view ONI as source of frustration. And from "Game I love", it changed to "Game I hate".

I noticed numerous problems with AI during my gameplay. So I just tried to list, how do I think Dupes should operate, to be able to finish task in reasonable time, even if handled by casual player, so no priorities, gates etc.

So this is my list:

1. Dupe should take closest task, and implementation should be Dupe order-of-assignment-independent, to e.g. keep digging job with current digger.

This may lead to job starving, so "fractional priority" should be added when job not taken for some time. When choosing task, fractional priority values  should be considered in conjunction with distance, to go far away only for really starved task. This should promote finishing local tasks first.

Distance milestones:

a) in reach of hand or one-tile further - such task should be preferred no matter what, so Digger will continue digging  and electrician will lay out whole line even if starving other job

b) in same room (no doors on path)

c) in same area (no Exosuit Checkpoint or Tubes in path). Dupes should avoid another area walks  to the extend, that allows to have two independent Bases mostly handled by local Dupes, that sleeps in those Bases.

 

2. Dupe should wait before going far away - while observing some other, similar game in past, I noticed that units wait a moment before taking a new task. This makes sense - to wait if other job appear locally, before deciding go far away.

a) If no task in reach from current position, wait for nearest navigation paths update, before choosing task. Maybe rerouting navigation paths will create job? This can be a case with Diggers - tiles behind just excavated are not yet in path, so Digger cannot take those and goes for another job.

b) Wait some time before going far away (through Exosuit Checkpoint, Tube), maybe new job will appear locally or someone in distant location will finish and take this tasks. E.g. give Electrician in far away location a chance to finish one wire and start with next, before going to help him.

 

Especially Exosuit Checkpoints can be annoying, if Dupes spend time constantly wearing on and taking suits off. Who is outside, should try to do everything that is outside, who is handling base internally - should stay internally.

 

3. No one needs ****** numerous Materials (this one makes me aggressive in late game).

Materials makes it impossible to arrange any reconstruction in reasonable way, as you never remember what were things build from. Also this is comedy of errors when I forgot what biome I was last time in, so didn't switch to correct dominant material in current one. In late game, when known map is big, this is one of most important factors of losing any pleasure from construction works.

And it does not make any sense to have two overlapping insulation systems. What is point of normal pipe from insulating material, versus insulating pipe from thermo conductive material?

Or remove materials from game at all (preferred), or remove insulation tile and pipes. But in latter case, you have to prepare new bitmaps for things done from different materials, so are easily distinguishable to see if given pipe is from Absynt so is isolative or is not. It does not have any sense, to have zillion of tiles/pipes from different materials, all looking the same.

 

4. Supplies should be chosen basing on task location, not current Dupe location.

Situation: there is task one screen to the right-side, and material is there. But Material is also half-screen to left side from Dupe.

Effect: Left Material is chosen as closer to Dupe location, so he first go left, to then return right.

Expected: Material is chosen as closer to task location, so Dupe goes immediately right-side.

Both approaches have Pros and Cons, but basing on task location prefers reusing material from just deconstructed thing, and this is important value allowing to "move" something.

 

5. Also storages should be chosen basing on Material "to be swept" location, not current Dupe location

Dupe was in base, and some Storages were in base. Material to be collected was one screen to the right, and there was a Storage Compactor there, too.

Dupe have chosen base compactor as closer to him, and brought material to base from right side. Then situation repeated. Then I used "move to" when Dupe was in "right side" location. This made him re-take task. This time he had chosen "right side" Storage Compactor, as closer, and since then he swept all Materials to it.

 

6. Dupes should have a basic feeling of common sense of their work.

If I disable Manual Generator, Dupe should get off and turn it off. Do not continue use of it until other Dupe switch the switch, then falls on face. This concerns any manned machinery.

Sometimes I have a Switch to turn more than one machine off. In such case second Dupe is needed to turn it off, so first one stops working. IMO Dupe manning a machinery near a Switch should pause his task and go switch nearby Switch.

If Algae Deoxydizer is marked for deconstruction, do not supply it, drop Algae's and deconstruct it. Those Algae's will be dropped on floor anyway. This concerns supplying any machinery marked for deconstruction.

Also, do not take tasks for things marked to be disabled (but you can finish supplying it if having algae's at hand).

Dupe that enables Coal Generator, should instantly feed it with coal from compactor standing near-by, no need to wait 30 seconds until coal brought from distant mine by another Dupe that randomly was there.

Task of enabling any Generator should preempt using Manual Generator. It should not happen, that everybody are busy manning Manual Generator, so no one have a time to switch Coal Generator "ON".

If Airlock that Dupe want to pass through is closing, revert closing process, do not need to wait until it fully closes.

Not sure if this is a case, but starving dupe should not need to go to Mess Room, if he can die during walking there.

 

7. Deconstruct bridges and ladders from the end, not start.

There is "Show navigation" button, that proofs that game knows what are all possible walking paths. So if floor laying along dead end branch to be deconstructed, do this from the back, this should be easy to check.

This will obviously not solve not solvable problems with many Dupes deconstructing simultaneously. But such cases are not an important problem. There is always someone that can help separated Dupe and bring him back to community. Worst cases are when alone Dupe working in distant land cuts himself off from paths and is suffocating and no one nearby to give him materials.

 

8. Alarm mode should not prevent Dupes from breathing if suffocating.

I had to organize rescue for suffocating Dupe during night. After ladder was built, he didn't run for oxygen, but continued building surrounding things along with rescue team. I had to turn Alarm off, to make him go breach. I think he was dedicated to much.

 

9. Switches (Instant Tasks)

Let's call short, no supply needed tasks that can be done "at once", like switching of enabling something, "Instant Tasks".

Instant Task should be done by any Dupe walking by, even assigned to other task, just by pausing other task for a moment needed to "switch the switch". Instant Tasks should also be preemptive, i.e. even if assigned to another Dupe, then any walking by should do it and release original assignee.

One of reasons is, that there is not much so frustrating situations as when room is almost on fire, but Dupes run for repairing of Polymer Presses that melts, instead of switching those off first. Even if I marked switch to be turned "off".

Also if any Dupe walking by can turn the switch, this should allow to create some "base nerve center" in main room, so always there is someone to switch stuff off.

 

10. Doors should be locked _before_ walking through by first Dupe that gets to it.

This is sub point of "Instant Tasks". Any Dupe attempting to cross the door should first eventually lock it, if marked for lock.

Once I wanted to lock Mealwood farm, so dupes start eat better. But Dupe going there get in (after marked to be locked!), eat a Meal Lice first, then locked herself inside. Facepalm.

 

11. Doors, especially manual Airlocks, should be avoided if there is corridor around. Doors are installed exactly on purpose to prevent Dupes from unnecessarily getting in to see ugly machinery inside.

I think, that door's (including pneumatic) pathfinder penalty should be equal to going 5.5 tile on ladder, so Dupe would prefer walking the corridor one floor up or down if available, but no more.

In such case, adding doors should allow player to play with Dupes walking paths, this can be desirable.

 

12. And at least, but not last, Dupes should take a "tip" from player on tasks assignment. So if Dupe "moved to" vicinity of task, he should take it, even if preempting other Dupe. Player is always right.

Link to comment
Share on other sites

3 hours ago, Maciej75 said:

1. Dupe should take closest task

That would break the game completely. Planning tasks in a way that will let your duplicants do them effectively is not easy but if you understand how they choose tasks, it's possible.

Duplicant will take the "most important" task. The game actually scans the whole map to figure out what the duplicant wants to do. Different task types have different priority within a priority level (e.g. building has higher priority than digging), and the order is also affected by the duplicant's job. Then there are priority levels (duplicant will go do a priority 6 task before priority 5 task). Within priority and sub-priority level, a duplicant will take the closest task. So for example, a miner will not give up digging because that's his preferred task type unless a higher priority task appears somewhere.

When you think that your duplicants are not doing what you want them to do, click on the duplicant, check what's his path, check what he's going to do, check the priority of the new task he selected. Then think about why did he decide to leave.

3 hours ago, Maciej75 said:

3. No one needs ****** numerous Materials

You may not have noticed but different materials have different properties. While sometimes irrelevant, a lot of time it's important to know which material are you using. Sandstone, Granite, and Copper Ore add to decor, they're good to be used in the base. Abyssalite is a perfect insulator, good to be used when you want to avoid heat transfer. Gold Amalgam increases machine's heat resistance.

Yes, it would be nice to have an easy way to figure out what were things built of.

3 hours ago, Maciej75 said:

4. Supplies should be chosen basing on task location, not current Dupe location.

 

3 hours ago, Maciej75 said:

5. Also storages should be chosen basing on Material "to be swept" location

Agreed.

3 hours ago, Maciej75 said:

7. Deconstruct bridges and ladders from the end, not start.

While the idea is clear, the implementation is not easy and does not prevent duplicants getting stuck. By the way, you did ask for duplicants to select the closest task at point 1. This is at odds with it.

3 hours ago, Maciej75 said:

11. Doors, especially manual Airlocks, should be avoided if there is corridor around

That's very situation specific request. Purpose of doors is either to define a room or to restrict flow of gases or heat. Their purpose is not to restrict movement of duplicants unless access rights are used. If you want certain area to be avoided and there's a way around, just make the area a dead end. Build a wall in the middle or use door access rights to prevent dupes going through at one end.

3 hours ago, Maciej75 said:

12. And at least, but not last, Dupes should take a "tip" from player on tasks assignment. So if Dupe "moved to" vicinity of task, he should take it, even if preempting other Dupe. Player is always right.

Discovering how to organize work of your duplicants without need of constant micromanagement is one of challenges of this game. Task priorities are the cornerstone here and many mechanics that would seem to improve the game in certain situations would mean disaster in other situations. If you want your harvests to be done on time, you set your planters to elevated priority, e.g. 6. That means once a plantis ripe, a duplicant will come harvest it. That would not be happening if every duplicant did just tasks closest to him - you'd have to manually pick some duplicants and send them to the farm every few cycles when the harvest is in order. That would not be much fun in my opinion.

 

 

A general late game suggestion for you: don't expand on too many fronts. Make your duplicants do one or two projects, not lots of little projects all around the map. Make sure you build fast access to their work locations - straight ladders, straight floors. As few as possible steps and climbs and direction changes. And be careful about job prioritization.

Link to comment
Share on other sites

for remote construction sites: Have you tried building a storage compacter near the site, setting it to your building materials, setting priority to 9 and then dumping material out of your main base storage compactors?

and in addition perhaps caging in worker dupes with doors?

Link to comment
Share on other sites

Thanks for reactions :)

9 hours ago, Kabrute said:

for the instant door lock effect there are arrows that give you exact dupe by dupe control

Oh yes, I didn't think about this workaround. Also "Instant Switches" can be achieved with manipulation of automation switch settings. Both things are workarounds, that should not get into full game. As normal lever / valve needs dupe to change settings or disable / enable machinery, then all other apparatuses and settings should need Dupe visit, too. This is just alpha implementation.

8 hours ago, Kasuha said:

You may not have noticed

You insult me unnecessarily. There is a part, when I disclose that I am aware of problem of overlapping functionalities of Abys and insulation tiles and pipes. And Abys properties are problem, not feature!

Insulation pipes are balanced, e.g. I am losing like 1.5 degrees on pumping air from Winter Biome. This forces skilled player to consider pros and cons of remote pumping versus reallocation (at least of heat generating machines). Game has to be challenging, but Abys pipes are universal hack into world of cool happiness.

Insulation tiles are balanced. Helped in some cases, but you still have to consider what put where. Non-restorable Abyss wall, separating base from heat of adjoining biomes is importation part of base planning, promoting fitting base in existing biome shape and limiting passages.

Giving player super duper insulation tile, breaks this part fun (that was originally planned  in game).

Apart from Abyss abuse, only meaningful effect of Materials is gold raising melting temperature. This can stay, if is worth it, I can handle 3 metal ores.

But all similar games on the world have only wood, stone and iron, and this is not coincidence.

9 hours ago, Kasuha said:

without need of constant micromanagement is one of challenges

You again insulting me.  I am not an idiot.

I need limited micromanagement to solve situation when poor AI bottlenecked itself, before solving architecture permanently. For example, here: https://youtu.be/w93clv_xI64 I need Mi-Ma to open f*ed door, to unstuck Dupes (then I removed door permanently). Many similar situations may happen.

I also gave in my post an example of need to switch off melting Polymer Presses instead of repairing it. Yes, setting all switches to level "9" just in case is some solution, but should not be permanent.

9 hours ago, Kasuha said:

don't expand on too many fronts

Yes. And use priorities. And lock Digger in his tunnel with door, so he cannot quit his job. Yes, I know, I am smart guy.

But game to be successful, must be playable by casuals. For having a game fun, Dupes should be delayed mentally only a bit, not totally retarded.

3 minutes ago, Aroddo said:

for remote construction sites: Have you tried building a storage compacter near the site, setting it to your building materials, setting priority to 9 and then dumping material out of your main base storage compactors?

In other, similar games, such thing is sometimes referred as "Warehouse". Have additional functionality - you can set, how many given Materials you need in, to make it self-working, without micromanagement of "dumping", and can "pull" materials itself.

I would welcome such thing in ONI enthusiastically, instead of some workarounds, that, as you suggested, are possible.

BTW. One more thing - Dupes can not handle reasonably supplies generated in small quantities. Here: https://youtu.be/y5pSXfxAG00 Dupe asked to clean some amount of a water that condensed there, never finishes, as new water still condensing.

 

Link to comment
Share on other sites

20 minutes ago, Maciej75 said:

You insult me unnecessarily. There is a part, when I disclose that I am aware of problem of overlapping functionalities of Abys and insulation tiles and pipes. And Abys properties are problem, not feature!

Sorry if you feel offended, I was not trying to insult you. The problem is that many people who come with proposals often miss even basic properties of the game.

The fact is that different properties of different materials are integral part of the game. The game builds on that, and even though the system is not perfect, there's not as many different materials to be a problem.

23 minutes ago, Maciej75 said:

I need limited micromanagement to solve situation when poor AI bottlenecked itself

Calls for ability to assign particular task to a particular duplicant were here since the game came alpha. Apparently devs are not willing to do that so I believe they mean it as one of the game's challenges.

The problem is that people often want different things in different situations. Sometimes the current priority system is perfect, sometimes they want duplicants to do tasks in their direct neighborhood and sometimes they want all duplicants to come together and help each other. The game can't read minds, so it implements one reasonable algorithm that may be not exactly clear to everybody on first attempt but on average gives best results. And believe me, I spent a lot of time considering all kinds of improvements to it (before the job system was introduced) and there is no single "simple" improvement to it. The great victory was when duplicants became able to switch tasks - i.e. when a duplicant becomes free and selects a task to do which another duplicant is already on his way to do, the closer one will take over the task, saving some time on the transport. That's about the best that can be done about spatial awareness within a priority system. Any other improvements require very complex planning algorithms which players would have even harder time to learn and understand.

Even merging the priority system with jobs is going to be hard.  The way it was done before devs rolled it back was bearable but far from good. It was nice in some situations and awful in other situations. Duplicants got to doing their job tasks at a cost of more time spent running and less working, for instance.

Yes, it would be great if we could merge the priority system (which grants that important things will get done before unimportant ones) and spatial awareness (which grants that duplicants will spend more time working and less time running). But I don't know how to achieve that, any attempt at merging them broke one or the other.

The best thing (workaround) I have seen recently is forcing the duplicants in your base to eat at allocated time (perhaps after they wake up in the morning). If that could be extended to toilet visits, that could considerably lower amount of duplicant running around the base, because then they'll have all day just to do their tasks.

 

Link to comment
Share on other sites

1 hour ago, Kasuha said:

The fact is that different properties of different materials are integral part of the game.

As for me, game builds on different properties of naturally generated blocks, and only three blocks that player can build: normal, heat insulation (not so good insulation) , heat conductive (metal). This enforces, among others, respect to natural shape of Abyss caves, and is also easy to learn.

"Secondary properties" by Material chosen should not affect basic gameplay, but be kind of "tuning" for advanced players, slightly modifying some attributes. So "everyday" constructions should be easy without caring about materials. Materials should not generate transporting issues, until player wants consciously take advantage of their properties.

I guess that original game architecture was planned in following way:

  1. Basic supplies (XXX rock) lays everywhere, so Dupes does not waste any time constructing basic things
  2. Advanced supplies for creation of machinery (XXX ore) are in separate patches in every biome, so Dupes has to walk limited distance
  3. Premium supplies (metals) for premium devices (e.g. 2kW wires) are created in Main Base only, so require double trip (ore to base, metal to construction site)

So player should think twice, before using premium supply in distant location. Unfortunately, with current implementation Materials frequently puts premium class burden (transport from other biome) on use of basic supplies.

Contradictory, use of Abyss provides better then premium-class properties, while using material that do not need to be processed in Main Base.

So currently Materials do not fit balanced into gamplay, and are one of things that just f*k up late game for me.

1 hour ago, Kasuha said:

Sometimes the current priority system is perfect, sometimes they want duplicants to do tasks in their direct neighborhood and sometimes they want all duplicants to come together and help each other.

Yes. That's why I described in short progress of my game on all stages. Early is fine, middle game has issues, late is unplayable for me with issues presented.

1 hour ago, Kasuha said:

he great victory was when duplicants became able to switch tasks

I am personally against task switching, I suggested time penalty before going far away. But all solutions welcome. However, I gave an example when I was expecting idle Dupe to switch task by distracting him using "Move To", and this didn't happen, other Dupe comes to open door.

Link to comment
Share on other sites

My experience is somewhat similar to Maciej75, although I was not that much frustrated because I thought of the problems as an additional challenge. I also quite early realized that research is cheap in the game, so an easy workaround for many problems is to keep low profile (low dupe count before all) until almost all of research tasks are completed.

Yes, dupes "AI" lacks at the "I" part. For a part it can be funny and for a part it can be frustrating. In the course of the game I learned what to expect from them and I started to look at them as at clueless kids that need to be quite closely managed, that get stuck every now and then and that leave mess that needs to be taken care of.

Generally, I see three bigger problems with the "AI" that are frustrating and IMO need to be fixed.

Take travel time into account. It seems that task selection (which dupe will perform which task) does not properly take travel time into account. A symptom is that a dupe arrives at a remote location to dig (priority 6), digs one block and then travels back to the base to deliver sleet wheat grain to a grill (priority 7) from a nearby kitchen refrigerator.

It seems that the tasks are sorted according to priority and that a dupe, as soon as becoming free, will get most nearby task out of the currently highest priority class. This can be improved.

Symptoms are that remote tasks will wait until all nearby (that mostly means near to the base due to eating and sleeping) tasks with same or higher priority will get done and that eating, bio.breaks and sleeping are very costly as they cause high travel times.

It seems that, once a task is assigned, that it doesn't get reassigned, even if a dupe becomes free in vicinity and the other one is still far away. But better than late re-assignment is to look forward a bit: is there a dupe who can get there quicker after finishing the task they're currently doing?

Task scheduling is everything but easy and can be extremely CPU hungry, but for a game like ONI the problem can be effectively remedied by using some heuristics and rather simple rules.

BTW, it seems that ONI is mainly single threaded? This kind of game calls for elegant multi-threading solutions, the ones that warm the heart of every true software developer! :)

Don't just drop stuff anywhere and everywhere. Dupes carrying stuff will just drop it when they feel hungry or sleepy or something. For example, a load or 500°C hot rock gets dropped near a transit tube bend and melts 3 pieces of the tube into naphta. Sometimes it is very hard to find where they've dropped stuff even with a careful inspection with the thermal imager.

Try to avoid running great distances back and forth for small amount of materials. The AI already tries to optimize that, but this can be (and IMO needs to be) improved. For example for sleet wheat farm with farm tiles needing fertilizer every now and then.The player can try to help there by putting a container for the fertilizer near the farm, but then delivery from fertilizer synthesizers to that container will suffer from the same problem.

It seems that the tasks details (e.g. where to take materials from) are not re-calculated when materials become available in vicinity. I think this can also be efficiently solved, without too much CPU strain.

Perhaps a viable solution would be to add a "minimum delivery amount" attribute to containers, so that they won't receive smaller deliveries.

Some ideas ...
- the goal is to get tasks done while optimizing the cost, so take travel time into account. If there is a dupe in vicinity which will be available within few seconds, then task will be completed earlier if postponed for that time, then if it is immediately assigned to a dupe who needs more time to arrive at the location.
- if there is a task with travel time (plus few seconds) greater then the time left before sleep time (or bio-break, or severe hunger, ...), postpone the task / consider another task.
- finish delivering before bio break, lunch break, sleep time or similar
- if a facility is occupied and the travel time to the next available facility (plus few seconds) is greater than waiting time, then wait rather then run
- tasks like power generation, hydrofan use and similar can be interrupted with little cost, while sweep/delivering can't

What worked for me as a workaround in the late game is that almost all dupes run very fast and that I've built an efficient tube transport network, so that the constant traveling back and forth has less impact.

Also, having material reserves and food reserves for like 20 cycles allows me to put remote projects at high priority, get quite a few dupes there and finish them quickly.

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...