Wednesday, August 7, 2013

Tworenas Snapshot 004

Hey, I'm back from the seaside all tan and in already missing the waves, man! I had less time to pump out this snapshot so that's why it is late.

Here is a video showing off the new main feature of the the engine: terrain lighting!


One immediately notices that I'm tired after my vacation by the abnormally high spelling errors. Oh well, I'm not encoding and uploading again. I also did quite poorly on my new goal: have shorter videos. I need to find a way to make the videos 2 minutes long, not 5-7. Ain't nobody got time for that!

The video is fairly self explanatory, so I won't be repeating everything here. Just  note: I mention the 10 lights limit per cell in the spatial partitioning. This means that actually there are 9 dynamic lights you can place anywhere, because the 10th is you personal light. So basically 9 lights / cell. Also, the number 10 is not quite arbitrary, but is due to limitations in the shader model. I could raise it to 15, maybe even 20, but that will come with a good performance hit. We'll see.

For snapshot 005 I wanted to do a zero features 100% polish build and increment the version number, but I need to do something about the skill tree first, so the polish build is delayed to snapshot 007.

There are two things to take of note:
  • I try and make sure that there is zero regression with each new snapshot. THIS TIME I FAILED! The terrain shader is over 1200 lines long. There are a ton of permutations to handle the lighting scheme and I couldn't manage to update all 3 terrain quality settings, so for snapshot 004 only the "high" quality profile forks properly. Don't use "medium" or "low".
  • As usual for early snapshots, there is zero backwards compatibility. Even if you do manage to load a world from previous versions, there will be ugly bugs, so start with a fresh set of worlds. Things should settle after snapshot 010.


BY AGREEING TO DOWNLOAD THIS SOFTWARE, YOU TAKE TOTAL RESPONSIBILITY FOR ANY CONSEQUENCE RESULTING FROM THE USE OR MISUSE OF THE SOFTWARE. I AM NOT TO BE HELD RESPONSIBLE FOR ANY POSSIBLE HARM THAT CAN BE CAUSED BY THE SOFTWARE NOR DO I GUARANTEE THAT IT IS FIT FOR ANY PARTICULAR PURPOSE OR THAT THE INTEGRITY OF THE SOFTWARE WILL BE PRESERVED WHILE BEING TRANSFERRED ON ANY AND ALL MEANS OF COMMUNICATION.

Link: Snapshot 004

Chagelog:
  • Terrain lighting!
  • Grass frustum culling!
  • New terrain renderer class, with a lot better performance and new features.
  • Separate GUI manager class to reduce the code bloat and isolate the engine from the GUI.
  • INI file contains device settings! No more changing setting every time you load the engine! Settings are still not saved though. But now INI files support spaces in the format.

Bugfixes:
  • Fixed the transition from system hub to game mode, together with inter-spread focus changes form the device window. Again! This shit is so hard to fix.
  • If you run the executable from a random location where it can't find any resources, it will crash a little bit more gracefully. If it can find the bare minimum, it won't crash. Ideally, it shouldn't crash at all.

No comments:

Post a Comment