diamondklion.blogg.se

Dwarf fortress 3d youtube
Dwarf fortress 3d youtube






:) Which is not to say that DF is anything less than amazing for a million other reasons. It isn't breaking the map into chunks, it is breaking the map into segments or areas that are connected, (which is better than nothing for sure) so my above assessment is even less an example of how DF works than I thought. In doing some additional research it is clear that, hilariously, DF is doing a terrible job of pathfinding in general. And remember, in DF everything from bees to troglodytes to trees are units.

dwarf fortress 3d youtube

Since most of the time a unit will be in transit, the checks for what units are doing can be very fast, only a few units will be making a choice at any given moment, and so overall there is no slow down even for hundreds or thousands of units. So those all are checked and added as tasks to their list. Making a leather skirt requires the dorf be in such-and-such a shop that has X items. Essentially each unit has a list of desires (and for your dorfs, tasks they might pick up that you're asking to be done) and they will pick from them based on their personality (stats.) In truth many roguelike games have this on a basic level. One of the major things that makes DF units pop and feel alive is their personal goal list.

#Dwarf fortress 3d youtube skin#

Most roguelikes use A*, but there are other methods to skin the cat. So the unit would sometimes reverse direction entirely, but only rarely. Various steering techniques can be used, simple ones are favoring to move in a straight line and having less and less chance to move in the directions radiating to the back, which would have only about a 1% chance.

dwarf fortress 3d youtube

Many roguelikes just move the unit in a random direction, which feels unnatural.

  • Random steering: When not moving to a goal, the unit need only walk aimlessly.
  • It would re-path across the large network if any of the nodes it needs to cross update. It speeds up the pathfinding by breaking it up over many smaller pieces, and it also enables the unit to change direction part way along the path when a chunk updates.

    dwarf fortress 3d youtube

    Staged Pathfinding: Running a path over the whole map, cell for cell, would take a lot of time, instead you would pathfind over the larger chunk network, which maps all the connection between chunks, and then only run an intra-chunk path when moving from chunk to chunk.When a chunk is updated, such as when a wall is built, only that chunk's network needs to be updated. Pre-baked node network: When the map is created the world can be broken into chunks, and each chunk can have its exits and entrances mapped.Speaking of pathfinding, this can often be a very difficult problem to solve for large spaces like a DF map can be (as much as 768x768圆4 IIRC) however the problem can be simplified and sped up in these ways: These range from using simple random numbers for aimless movement all the way out to pre-baking a high-level mesh of nodes for pathfinding. Dwarf Fortress is not open source, and while there is a lot of conjecture and reverse engineering that can go into how that all works, I will instead focus on some basic techniques for optimizing a 3D (not 3D graphics, 3D world) roguelike of the same type.Īs is the case with all video games there are a lot of smoke and mirrors that are creating the illusion of complexity from simple rules and systems.






    Dwarf fortress 3d youtube