We are proud to announce that Dwarves & Holes is now using our second generation 3D engine. This version is faster than ever and features a streaming biased LOD switcher that does its best to make sure that everything looks good while being very fast. The engine also features a lot of optimization and has the potential to look better.
To make good use of this potential, a pass of fine tuning and quality increase has been done on all the meshes. System requirements should have gone slightly up, but the game should feel more responsive because of the streaming and scroll and zoom animation smoothing.
We have already uploaded a video showing a fly-by of a random map, but with the game set to "ultra" quality and with antialiasing set to 32x CSAA. Here is the video embeded again on YouTube, where you can switch to a higher resolution:
Due to the number of changes and relative freshness of the engine, we are not ready yet to release it, so Snapshot 6 will not be made public. Hopefully we get everything done and tested for Snapshot 7.
But if you are curious, here is the complete change-log for Snapshot 6:
- Uses the second generation 3D engine
- Graphics overhaul. The current level and the one bellow are rendered with high quality blending to create the illusion of a less cube based terrain. Most meshes have been fine tuned for for better visuals and better LOD behavior.
- Up to 60 levels can be rendered.
- Streaming biased LOD switcher implemented. The system uses some simple heuristics to try and prioritize changes that have the potential to create a better image, while changes that don't have such impact or only free up resources are pushed to the back. Item building almost two times faster.
- Crafted items have quality ranging from poor to epic (when it makes sense).
- Cleaned up and bugfixed the item description panel.
- Quick navigation keys: press "]" to go to the highest level of the current map, thus rendering the entire map. Press "[" to go to the lowest level of the map, thus rendering only that level and the one bellow.
- Trees are back. They are still too high poly and represent a massive performance bottleneck. Animations had to be turned off. You can toggle the rendering of tree canopies on or off with the "T" key. Turning them off offer a performance boost and can even help you navigate the map easier because canopies are quite large.
- Implemented wall smoothing.
- Fixed horrible screen tearing in full screen mode with vertical synchronization turned off.
- Smoothed out jerky movement when scrolling or zooming. Actually, this effects everything, from time passage to animations, but scrolling was where it was the most visible. Currently bugged if vertical synchronization is on.
- When in first person mode and the game window is not active the mouse cursor is no longer grabbed and continuously repositioned at the center of the screen. Furthermore, while the window is not active the game is paused and the game will display the last render it had without consuming any resources except for RAM.
- Better terrain generation: wold is made out of random thickness layers. A layer is predominately a single kind of material but has random chunks of other materials inside. The system still isn't as sophisticated as the one present in the 2D version.
- New containers: armor stand and weapon rack.
- New furniture: wooden chair, table and bed.
- Improved item interaction consistency. Placing block on top of items used to work, but placing items on top of blocks didn't. Now all items and block are considered to be in the same category, so you can replace anything with anything without having to delete something from a given location.
- Zooming now works with numpad +/- too.
- Mouse wheel scrolling support to the engine. Scroll with the mouse wheel to zoom and hos shift and scroll to tilt the camera in tot down mode. In first person mode you can control the camera FOV with mouse wheel scrolling.
- Introduced a new super safe API for common tasks. This new API is very slow but it checks for most inconsistencies and reports them. I started using this API for most interaction tasks that are not performance critical. This is a developers tool meant to keep the number of bugs low and as the engine matures this new API will be slowly phased out.
- The "X" key now also deletes all walls in selection, not just items.
- When starting a new map the engine will try to position the camera upon an interesting location with a clearing rather than randomly in the middle of nowhere. Alternatively it is capable of placing you on the highest point of the map. But most of the time it will just put you in a corner with a clearing.
- A few extra options added to the launcher to control mip mapping and filtering.
- Experimental: The game can now be compiled and executes correctly without having to modify the Irrlicht package.
- BUGFIX: When replacing a block with a block of the same type but a different texture, sometimes visually the update would only trigger after a secondary block has been replaced.
- BUGFIX: Placing new blocks would not always update the height map.
- BUGFIX: Items would sometimes be created over the upper border of the map if the map was too high.
- BUGFIX: Placing items at world geometry seems can cause visual issues and even a crash.
- BUGFIX: When changing levels in first person mode the camera no longer behaves in a disorientating way.