Tuesday, January 31, 2012

73 – When it comes to coding I am!

Here it is, Snapshot number 4:

Better than ever :P!

Let's go thought he changelog:
  • New LOD system. I talked about it extensively. I get he feeling that this system will serve me well for a long time. But I've been mapping out the weight of the nodes in my mind as I was testing and I think I've discovered a counterproductive pattern. I really need to write a quick real-time LOD level visualizer for the entire map, like a mini-map, so I can prove this theory. If it turns out to be true, I already know what he new weights should be in order to improve visual quality even further, but I am not going to do it now. Untextured objects have quite obvious LOD transitions. Here is a video I recorded earlier this week, so check it out and it's ample annotations:

  • The Options dialog now has an extra LOD setting: Ultra.
  • Recreated all the low LOD meshes for items to be better suited for the the new LOD system.
  • As traditional for a new snapshot, a new GUI. I'll talk about it in detail another time, after I make sure it is stable.
  • Keyboard bindings have changed around quite a lot.
  • Optimized shallow item population algorithm probably to the max!
  • Optimized floor building algorithm.
  • Because I am trying to finish floors 100%, this update focuses on floors. Walls are thus temporarily removed so you can interact with floors.
  • Stone floors are back. You can change between stone and soil floors with a few new tools.
  • Implemented shallow floor building. While shallow building can't always be used, when it can it stacks with the above mention floor optimization, giving an impressive boost in performance. By combining these two techniques the floor system is 90% there at catching up to the item system. I still need to re add smoothing/engraving and add roads. All mouse based selection updates on floors greatly benefit from this stacking.
  • Using the above two mentioned optimization, I mad grass growth about 100 times smoother. Updating the entire surface of the map (grass only grows on the surface) when every cell can have grass takes a single digit number of milliseconds, depending on CPU power. If in the long run it still turns out to be too slow, I can always break the update process into two. As said in this video, grass is still a little bit simplistic, but it is a good start:

  • BUGFIX: Fixed crash when releasing the right mouse button outside of the main window.
  • BUGFIX:  Hopefully fixed most of the weird behavior when releasing the right mouse button outside of the main window by implementing a rudimentary mouse capture system. Only time will tell if this is enough. And testing. Test it!
  • Implemented middle mouse button click support (still no mouse wheel support, so no zooming with the mouse wheel).
  • Made the window (when not running in full screen mode) resizable. The GUI does not scale or reposition yet.
I also made a quite random video:

I am fairly confident that by snapshot 5/6 I'll have most of the wold interaction tools in place. One more snapshot after that for workshops and I can get started on them dwarves.

No comments:

Post a Comment