Banished

Banished

More stuff to build. New ways to play.
Discover and download gameplay tweaks, translations, new buildings, and more. Want to build your own mods? Read about it here.
Zjistit více
Faster simulation speed
For me 10x is not enough. Does anyone know a mod that can make the time in game go even faster?
Naposledy upravil KajuneK; 23. lis. 2015 v 14.40
< >
Zobrazuje se 15 z 5 komentářů
Please please please someone make this because I want to take this town to year 200 but I'm tired of the AI binding up the game and it taking an hour for a year to progress.
I hate bumping old threads, but I want people to know there is still a demand for this. The game taking so damn long is the main reason I stopped playing it. Gameplay consists of like 85% sitting and waiting and 15% playing.
The modkit doesn't let you add an option to modify the speed part of the game engine. And I'm not sure increasing to higher speed would be a good idea anyway.

The problem is that I think at high population, even "only" a X10 speed will cause issues as it seems the AI doesn't have time to finish assigning all jobs and doing all possible pathing calculations for each "round" before the next one starts.
I'm guessing that's the reason why a lot of people run into problems where people just stop working entirely and iddle for no apparent reason, and why they all start working again if you exit/restart the game and then play it at a lower speed.

The modkit itself lets you go up to higher speed (x25?) for the purpose of testing things, but it is not really meant to play a whole developped town with super high population either, and I'm not sure how it would hold up against the AI confusion if you tried.
Mayby you're right Vrayna, but isn't simulation speed and AI confusion dependent on the CPU, RAM etc speed? I mean, if you have fasIter computer, you should have faster simulation.
It is probably much more compicated and I may said something stupid, but it's just an idea.
KajuneK: You've got the gist of it right. Computation has two major problems which affect every program ever written, CPU time and memory space. Generally, you can trade one for the other. It is DEFINITELY not that simple but usually there's a way to do it.

It is indeed the CPU which is the choke point for Banished. If a program sees performance losses, you can be fairly sure one of the two, though with video games it can be GPU/graphics RAM instead of CPU/system RAM, it's also still core time/memory space when it is ththe graphics card that is the issue. I highly doubt it is the graphics side which is the problem but hey, I could be wrong.

During gameplay, the banished client never really grows in size in RAM. Whether 10 settlers or 1,000, whether you have the initial crate to start or a fully developed city, the client is the same size in the memory. I'd imagine it isn't EXACTLY the same size but it doesn't grow substantially. Memory is not the issue and more memory could be used to store data instead of re-computing it. That's where the trade-off comes in.

AI is hard, in the computer science use of the word. It takes a lot of time. But you can do a couple of things to make AI run faster. Heuristics, which are low-computation estimates such that horrible paths aren't explored very long. There's also storing future paths, but I think the biggest problem the guys in Banished are probably running across is just having a city which synergizes at all. Each settler needs its own AI to maintain stuff like food, tools, coats, firewood in the house, showing up to work, etc. But how does each settler get their job in the first place?

If you just arbitrarily assign one dude from anywhere, there's a decent enough chance he'll have to turn around and walk home before he gets to his job. So you want to assign the nearest settler possible to keep walk time down. But each settler nearby has a job already. So, since settlers are relatively stationary in their lodgings, each time the whole job profile changes, including a newly adulted laborer, or you shift 30 around, the job assigner has to attempt to minimize the paths for *all* of your settlers. In a town over a thousand, you'll get reassignments constantly.

There's dozens of ways to make guesses as what the shortest will be, but to find THE best path is legitimately impossible on a home computer with more than a thousand settlers. Heck it's probably more than a hundred for anything still resembling a video game. So they have to accept an optimal solution rather than the perfect solution. But that kind of stuff, the programmers have already dealt with, guaranteed. I'm just explaining where I'm pretty sure the problem's coming from.

Store more data, compute the data fewer times. When you run a path search, run it once and only once, store the path, have the settler use the path. When you have new homes built, run the pathing searches to every job site, and throw away the unreasonably long. If you need to find them again later you can make a way to do that but cutting all the things out which you can be pretty sure of will improve CPU use. Two "towns" in opposite corners of a large map do not need to have much contact, besides vendors and traders, so there's no need to search any search spaces which have crossover settlers.

All of this is, of course, easier said than done, and to find a working solution to those problems is the dream of many an AI programmer.
< >
Zobrazuje se 15 z 5 komentářů
Na stránku: 1530 50