Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Timeflow Controls (Fast forward)  (Read 1043 times)

Yngar the Wise

  • Bay Watcher
  • @
    • View Profile
Timeflow Controls (Fast forward)
« on: July 31, 2008, 01:47:52 am »

Not sure if anyone has suggested this, and I didn't see it in the devs.

I have found that after I get my fortress stable the game tends to slow down and I end up spending a lot of time just waiting for things to happen. I was thinking there could be a command that lets you speed up time for when there isn't much going on. It could be set to pause or go back to normal speed whenever there is an announcement so you don't miss anything. Adding on to that you could set parameters for what announcements stop it, to keep only important announcements from interrupting your fast forward.

I think this would help keep the game interesting by letting you spend more time doing things and less time waiting. But this was just an idea I had. If someone else has suggested it then thats cool, I didn't do much research here.
Thanks and looking forward to comments.
Logged

Trigath

  • Bay Watcher
    • View Profile
Re: Timeflow Controls (Fast forward)
« Reply #1 on: July 31, 2008, 04:55:08 am »

To make it go faster when you have nothing to do, you would first have to go it slower normally, because as far as I know, the game always runs as fast as it can. If you want the game to go faster you need a faster computer. I know I do, with just about 150 dwarves and 200 animals the game is already so slow I have to leave it running in the background and do something else waiting for it to move forward.
Logged

Pyro93735

  • Bay Watcher
    • View Profile
Re: Timeflow Controls (Fast forward)
« Reply #2 on: July 31, 2008, 06:04:42 am »

To make it go faster when you have nothing to do, you would first have to go it slower normally, because as far as I know, the game always runs as fast as it can. If you want the game to go faster you need a faster computer. I know I do, with just about 150 dwarves and 200 animals the game is already so slow I have to leave it running in the background and do something else waiting for it to move forward.

You've got a very crude control over how slow you can make your game run by lowering the maximum frames per second in init.txt. Raising it produces the opposite effect of speeding up your game up - as limited by your processor. I typically set the maximum FPS to 150 so that the beginning of the game which is usually fairly uninteresting mundane stuff like building storerooms and mining shafts passes by more quickly, and then once I get to 30ish dwarves the pathfinding code and what not would have slowed it down to 70-100FPS depending on the map.
Logged

Zombie

  • Bay Watcher
  • Ǵ̨̕o͘d͝d̡͢e̡̕s̷͟s̵͢ ͝of̴ ͡G͘͠a̧mi̶n̛͝g̨
    • View Profile
Re: Timeflow Controls (Fast forward)
« Reply #3 on: July 31, 2008, 10:30:18 am »

Yes but in order to speed up properly, you would need a computer capable of doing all the calculations it would normally do in an hour... Except it would now be doing them in half an hour or so.

Hence: You would be shooting yourself in the foot as you'd be doubling the amount of calculations that need to be done, or at least significantly increasing them.

If you think things run slow NOW, oh-ho-ho... Just you try running a max embark square with 100+ dwarves all trying to dump the same stone at the same time. :x

And yes, DF always runs as fast or as slow as it can. Which is why we have the FPS limiter, for those of us who have faster computers but like to make small fortresses. It prevents superspeeded dwarves. :P
Logged
If I had a dollar for every dwarf whose feelings I didn't care about, I'd have seven dollars, with more coming in the fall.

Urist McSharpblade, Axe Sheriff cancels Justice: Needs more than an axe for this.

MULTI-THREADING - I'm talking about it!

PTTG??

  • Bay Watcher
  • Kringrus! Babak crulurg tingra!
    • View Profile
    • http://www.nowherepublishing.com
Re: Timeflow Controls (Fast forward)
« Reply #4 on: July 31, 2008, 11:58:40 am »

I had a general idea of how one might do this a while ago- have the slider adjust a factor of the speed of all units, and the amount of time that passes per tic. Basically, a way to give all creatures SPEED:100 (as they all currently have speed:800) and increase the speed the seasons and Dwarven hunger to match. The only thing left after that is the speed of fluid/pseudofluids and things such as weather. Bringing these up to speed would probably require major drops in accuracy; or is impossible, and this is the main problem with the idea.

This is why I support a code review Arc, something to just continue the improvement of the general framerate before adding more new features.
Logged
A thousand million pool balls made from precious metals, covered in beef stock.

Sapidus3

  • Bay Watcher
    • View Profile
    • Daily Innovention
Re: Timeflow Controls (Fast forward)
« Reply #5 on: July 31, 2008, 02:42:16 pm »

I was just thinking that it could be possible for the game to "skip seasons." The game would just abstract everything that may have happened during the last season. A certain percentage of minning, and constructions, and work orders would be completed based on how many dwarfs you have doing those jobs, your food stores would decrease/increase based on how many dwarfs are farming. Experience could be handed out.

That being said, I imagine that this could be difficult to implement, and even harder to implement without creating an unbelievable number of problems. It's also not quite a "fast forward feature." But with the game as processor intensive as it is, it is the best I can think of.
Logged
http://dailyinnovention.blogspot.com/
A place for ideas with nowhere to go; ideas that would otherwise become stagnate.

Granite26

  • Bay Watcher
    • View Profile
Re: Timeflow Controls (Fast forward)
« Reply #6 on: July 31, 2008, 02:47:13 pm »

Adventure mode doesn't abstract away things when you sleep...

Zombie

  • Bay Watcher
  • Ǵ̨̕o͘d͝d̡͢e̡̕s̷͟s̵͢ ͝of̴ ͡G͘͠a̧mi̶n̛͝g̨
    • View Profile
Re: Timeflow Controls (Fast forward)
« Reply #7 on: July 31, 2008, 02:51:49 pm »

Hmmm... "Skipping a season" would likely just cause more troubles than it is worth.

You'd also miss potentially vital things. If you have sieges on and you skip a season when a siege is supposed to be coming, what happens? The game would still need to calculate the outcome or, simply, just smack you for being so lazy.

DF doesn't seem to need a fast forward feature to me because, as the code is optimized, we see better framerates. I think the goal is to ultimately have to set a base framerate in the init to keep our dwarves from running around like they're on crack or something.

Time spent devising, tweaking, and fixing a "fast forward" or "skip season" function could be better spent simply reviewing how to optimize DF as it is currently. A fully optimized DF with a one-square embark SHOULD require you to set your FPS low, unless you want super-fast seasons and dwarves. :P

The problem isn't that we don't have a way to speed up the game, it's just that it's so power heavy (or your computer just doesn't have enough to spare) that it can't run at an optimal speed.
Logged
If I had a dollar for every dwarf whose feelings I didn't care about, I'd have seven dollars, with more coming in the fall.

Urist McSharpblade, Axe Sheriff cancels Justice: Needs more than an axe for this.

MULTI-THREADING - I'm talking about it!