Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3 ... 8

Author Topic: Dwarf Mode Real Time Game Speed w/ Skipping Forward in Time  (Read 13715 times)

Rakushun

  • Bay Watcher
    • View Profile

     I realize that the current abstracted game speed has reasons behind it, but I think a real time game speed can add a lot to the game, and with imagination, all the problems with it can be worked out.

     Big problem one is that you don't want to wait three real months for three months to pass in the game. You need to be able to tell the game to skip forward in time. You need the game to stop skipping forward in time if something important happens, like all the jobs you assigned (or whichever specific jobs you want to be notified about) are done, or the fortress is attacked. The game also can't keep track of every little movement of every entity while skipping for obvious reasons; you need to abstract that, and when the desired time is reached, entities should be placed on the map based on what they should be doing. I feel that this type of abstraction is preferable to the kind currently in place, because with my system, you actually can observe the minutiae being abstracted when you want to, and skip past it when you don't. I'm sure people can come up with other problems, but hopefully they will try to think of solutions to those problems rather than just saying the whole thing can't be done.


BENEFITS:

-Schedule. Your dwarves can actually have some kind of schedule rather than sleeping, eating, going on break whenever they feel like it. Most dwarves (excepting night watch military, for instance) would sleep during approximately the same time period, dwarves would go to the meeting hall in groups for lunch, etc.

-Day and night in dwarf mode. Right now it's perpetual daytime, and we can never have anything fun that can come from the cycle. We don't have to lock down the fortress at night to keep the night creatures at bay. Werecreatures are pretty much a joke because they wander onto the map transformed, but then the lunar cycle is soon over and they wander away again. This would also make the fire and lighting arc add to the fun of dwarf mode.

-Skip the boring stuff. Not only would you be able to watch your dwarves go about their lives in a much more natural way, a lot of the downtime associated with running the fortress would be eliminated. Assign a bunch of work (would help if work assignments were more flexible, such as designating veins which I think we're already getting at some point), then just skip forward until the important stuff is done. Automate micromanagement that isn't fun, which is suggested often anyway.

-Dwarves less stupid. The current form of the game is always inflicting on us inconsequential roadblocks to our progress, like "Urist McCarpenter cancels Make bed; needs log," even though Urist McLumberjack is outside chopping wood right then. Because no specific log is available right that second, all progress on the work you've assigned, as manager of the fort, grinds to a halt. With my system, you'd designate trees to be chopped and wood items to be made, and while skipping forward in time, those items would get made even if wood production wasn't keeping up. Maybe the game would tell you that the work was experiencing delays. Maybe you'd set the game to pause if work was experiencing delays so you could assign more dwarves to gathering materials. I think this would be a much more fun and realistic way of managing the fort.


     I'm aware that this would be a fairly radical change. I do think that the game, after addressing all the problems that crop up, would be much better for it. Before posting, if you think of a problem that this would introduce, please try to think of a way to solve that problem, instead of just saying, "This would cause so-and-so problem, therefore the entire idea is bad."
Logged

DG

  • Bay Watcher
  • Pull the Lever
    • View Profile
Re: Dwarf Mode Real Time Game Speed w/ Skipping Forward in Time
« Reply #1 on: June 07, 2012, 06:59:10 am »

This would be bad because...No, actually, I'd like to see it happen. I've always thought ingame years should take longer and this way would make it possible without necessarily making the player wait longer.

Being able to have a proper day and night cycle in Fortress mode would be massively awesome, too.

So to be constructive, off the top of my head, dwarf behaviour would need to change so that they wouldn't stop work every time they see a groundhog or something, but I expect Toady would get around to that eventually anyway.

Like you admit, it'd be a big change, but I too think for the better.
Logged

King Mir

  • Bay Watcher
    • View Profile
Re: Dwarf Mode Real Time Game Speed w/ Skipping Forward in Time
« Reply #2 on: June 07, 2012, 07:09:14 am »

It would make for a very different game. A good game, but a different one.

nanomage

  • Bay Watcher
    • View Profile
Re: Dwarf Mode Real Time Game Speed w/ Skipping Forward in Time
« Reply #3 on: June 07, 2012, 07:36:19 am »

First of all, i totally love that idea, although i think 1/60 or so scale would still be better than 1/1
But loving it is not of much use, so let's try to imagine possible problems with it and possible paths to their solution.
How about wild animals? During the time-skip phase, their movement would need to be abstracted to avoid calculating paths, but then how would the game decide if they should try to steal something from your fortress or eat your dwarves or trigger your traps? How would they pick targets to without any pathing?
Logged

Carp McDwarfEater

  • Bay Watcher
    • View Profile
Re: Dwarf Mode Real Time Game Speed w/ Skipping Forward in Time
« Reply #4 on: June 07, 2012, 08:03:59 am »

My issue is that you don't do anything in this abstracted mode, and that if one real-life day is one DF day then you'll spend way too much time in abstracted mode, just watching. I do like the idea of night, day, and schedules though. Maybe on normal speed a day would last 5 minutes or so, but you would be able to greatly speed up or slow down the pace.

Before any of this happens though, I think distances need to be made more realistic. We need to figure out how big to one tile is and start getting things that take up multiple tiles.
Logged

aka010101

  • Bay Watcher
    • View Profile
Re: Dwarf Mode Real Time Game Speed w/ Skipping Forward in Time
« Reply #5 on: June 07, 2012, 10:35:30 am »

Okay, i think this is a good idea, a REALLY good idea, but i think it needs another option or two to it. I think it also needs variable speed for when you're observing your fortress, ranging from a 1:1 ratio, to say..about 1 hour every 2 seconds or so. This would let you observe what was going on in the fortress instead of just missing it, helping to preserve the feel of the original game a bit better, AND gives you a bit more fine control over your point of view.

All told though, any kind of improvement to time would be nice for dwarf mode, as right now the a day has no meaning, and the only real unit of time with any meaning is a season.
Logged

Itsdavyjones

  • Bay Watcher
    • View Profile
Re: Dwarf Mode Real Time Game Speed w/ Skipping Forward in Time
« Reply #6 on: June 07, 2012, 10:55:12 am »

The only thing I like out of this is the dwarf day/night cycle and schedules for the day, and having a day as 5 minutes isn't bad either, but I think that the amount of light changes from month to month.  For example, if you live near the north, you have 4:30 of light and 0:30 of night per day, so that night lasts for 1minute and 9 minutes of day over two days, and gets flipped around later in the year, like IRL.
Logged

Rakushun

  • Bay Watcher
    • View Profile
Re: Dwarf Mode Real Time Game Speed w/ Skipping Forward in Time
« Reply #7 on: June 07, 2012, 11:50:55 am »

First of all, i totally love that idea, although i think 1/60 or so scale would still be better than 1/1
But loving it is not of much use, so let's try to imagine possible problems with it and possible paths to their solution.
How about wild animals? During the time-skip phase, their movement would need to be abstracted to avoid calculating paths, but then how would the game decide if they should try to steal something from your fortress or eat your dwarves or trigger your traps? How would they pick targets to without any pathing?


I think you would end up defining your fort entrances for the game's benefit. Initially you'd have none and your wagon would just be sitting out, so you could assign dwarves to watch it in shifts. You designate some digging for your miner and skip forward to when it's complete. Then you could actually watch the dwarves hauling stuff inside, because hauling is one of the things that could actually happen in real time. Then your entrance is a corridor; you'd still need dwarves to guard it. Or you could assign a dog or something. Once you get a door built, you'd probably still want an animal assigned to it to stop thieves. Later on, your entrance would be a bridge, and if creatures couldn't path over it without stepping on a trap, that would be taken into account.

I think it would basically boil down to a this line: Exterior - Entrance/Chokepoint - Stockpiles/Meeting Halls/Whatever. The game would need to figure out what paths lead in and out of the fortress, and have the defensive measures for those paths defined by the player. With the day/night cycle, you'd probably tell the game that the outside door needs to be locked shortly before the night creatures come out and that all dwarves need to be inside before then. So instead of full pathfinding, you'd just have a simple procession of waypoints with defined obstacles between them.


Okay, i think this is a good idea, a REALLY good idea, but i think it needs another option or two to it. I think it also needs variable speed for when you're observing your fortress, ranging from a 1:1 ratio, to say..about 1 hour every 2 seconds or so. This would let you observe what was going on in the fortress instead of just missing it, helping to preserve the feel of the original game a bit better, AND gives you a bit more fine control over your point of view.

All told though, any kind of improvement to time would be nice for dwarf mode, as right now the a day has no meaning, and the only real unit of time with any meaning is a season.


I could definitely see variable speed options getting branched off of this successfully.

I think one of the big problems with the current system is the abstraction completely obliterates tons of detail that would really add to the game, if only we can find a better way for time to move forward.
« Last Edit: June 07, 2012, 12:02:55 pm by Rakushun »
Logged

Itsdavyjones

  • Bay Watcher
    • View Profile
Re: Dwarf Mode Real Time Game Speed w/ Skipping Forward in Time
« Reply #8 on: June 07, 2012, 11:57:45 am »

Personally, I don't really like the idea of skipping forward in time.
Logged

scout890

  • Bay Watcher
  • I'm finding it hard to care about anything anymore
    • View Profile
Re: Dwarf Mode Real Time Game Speed w/ Skipping Forward in Time
« Reply #9 on: June 07, 2012, 12:35:03 pm »

Well what if it wasn't skipping forward in time but instead, fast forwarding?
Logged
nothing

10ebbor10

  • Bay Watcher
  • DON'T PANIC
    • View Profile
Re: Dwarf Mode Real Time Game Speed w/ Skipping Forward in Time
« Reply #10 on: June 07, 2012, 01:18:57 pm »

Well what if it wasn't skipping forward in time but instead, fast forwarding?
You can't.
As soon as your fortress reaches around 120 dwarves, you're going to reach your CPU limit. Meaning that unless you suddenly make the game way more effecient/ abstractize a lot, you're stuck with your max computer processing speed.

That's the reason why this idea will probably never work. I like it a lot, but unless you find a way around the CPU speed limit, your can't fast forward, meaning that the game will be abyssimally boring.
You can of course, skip time, but then Toady would have a whole lot of work in abstracting the system again.
Logged

irmo

  • Bay Watcher
    • View Profile
Re: Dwarf Mode Real Time Game Speed w/ Skipping Forward in Time
« Reply #11 on: June 07, 2012, 01:22:41 pm »

Well what if it wasn't skipping forward in time but instead, fast forwarding?

It's not possible. You're limited by how fast the game can do the calculations. There's no way to skip over that and still produce accurate results.

In deference to the OP's high-handed and impertinent demand not to point out problems this causes unless we also have a solution:

The problem is that it's impossible.
The solution is to not do it.
Logged

10ebbor10

  • Bay Watcher
  • DON'T PANIC
    • View Profile
Re: Dwarf Mode Real Time Game Speed w/ Skipping Forward in Time
« Reply #12 on: June 07, 2012, 01:27:57 pm »

Well what if it wasn't skipping forward in time but instead, fast forwarding?

It's not possible. You're limited by how fast the game can do the calculations. There's no way to skip over that and still produce accurate results.

In deference to the OP's high-handed and impertinent demand not to point out problems this causes unless we also have a solution:

The problem is that it's impossible.
The solution is to not do it.
Well, there's one solution:

1. Rewrite the entire Dwarf fortress code, so that each component can use on CPU. You're not going to get this kind of performance with standard multithreading
2. Steal a high end super computer cluster
3. Enjoy

However, if you're going for that high level of detail, you might better throw all the notions of dwarves and fantasy out, replace by human society and sell it to universities as a high tech society simulator.

The other solution would be to do a timeskip instead, requiring Toady to rewrite a large part of the game. Adding to this rebalancing and modifying all other parts of the game, and you end up with a nigh impossible job.


Short:
It would make for a very different game. A good game, but a different one.
It would be simpler just to make another game.
Logged

Rakushun

  • Bay Watcher
    • View Profile
Re: Dwarf Mode Real Time Game Speed w/ Skipping Forward in Time
« Reply #13 on: June 07, 2012, 01:40:23 pm »

You can of course, skip time, but then Toady would have a whole lot of work in abstracting the system again.

I think the issue here is which form of abstraction is better. I think skipping could be so much better that Toady would feel like it's worth the effort. Fast time = Cool details obliterated. Skip time = with proper implementation, only details intentionally skipped obliterated.


In deference to the OP's high-handed and impertinent demand not to point out problems this causes unless we also have a solution:

The problem is that it's impossible.
The solution is to not do it.

I didn't demand that. I asked that you not denounce the entire idea out of hand based on the mere potential for problems without first attempting to come up with a solution.

Furthermore, the fast forward idea may very well be impossible, but it's also possible you didn't try hard enough to think of a creative solution. Maybe the solution is an adjustable sliding scale of abstraction between real time and the current system. Maybe that's not worth the effort. You've done nothing to prove that either time skipping or fast forwarding is an inherently bad idea, you've merely attacked them in an unconstructive manner.


Well, there's one solution:

1. Rewrite the entire Dwarf fortress code, so that each component can use on CPU. You're not going to get this kind of performance with standard multithreading
2. Steal a high end super computer cluster
3. Enjoy

However, if you're going for that high level of detail, you might better throw all the notions of dwarves and fantasy out, replace by human society and sell it to universities as a high tech society simulator.

The other solution would be to do a timeskip instead, requiring Toady to rewrite a large part of the game. Adding to this rebalancing and modifying all other parts of the game, and you end up with a nigh impossible job.

It would be simpler just to make another game.


I think Toady's a grownup, and can decide for himself whether something is worth his time. I don't think we need to shield him from ideas based on the presumption that he couldn't possibly like or want to hear them.
Logged

Silverionmox

  • Bay Watcher
    • View Profile
Re: Dwarf Mode Real Time Game Speed w/ Skipping Forward in Time
« Reply #14 on: June 07, 2012, 02:52:21 pm »

What we forget is that DF mode, as it is, already is a kind of compressed time mode. Night is abstracted, dwarves only take symbolic meals (8 per month or so), production times are almost nothing... only walking around is not compressed so the screen shows busy. That works great as long as you're simulating an economy, but when timing-sensitive tasks are due (military, sending a messenger, caravans travelling,... etc.) the results quickly get ridiculous.

Caravans, for example, seem to have no problems reaching your fortress and returning home in a year. It always takes them weeks to even move from the edge of the map to your trade depot. The same with the military: if in the future you wanted to send out a squad to relieve a friendly siege, it would take them a month to grab lunch and reach the edge of the map.

A solution to this could be to switch to adventurer mode speeds for military operations, messengers arriving, etc. The military would then work at normal speed as we are used to, but time would pass more slowly, allowing night to fall, seas to ebb and flood, soldiers to fight a couple of fights and manoeuver around the fortress without risking to starve.
+
The civilian economy would run at a snail's pace during that time (which makes sense, because their production rates are adapted to compressed time). This has the advantage that more clock cycles are freed up for combat, and your civilians don't get in the way so much. If they do, and panick, they would switch to combat speeds too, allowing them to run away. If they stop panicking, they'll revert to normal economy speed.

This would greatly smooth the interaction with the world, among other things.
Logged
Dwarf Fortress cured my savescumming.
Pages: [1] 2 3 ... 8