Sanctimonia Progress Report: Wind Through the Trees

Over on the forums, Kevin Fishburne has left a short note announcing the release of yet another progress report for his Ultima-inspired, man-vs-nature-themed MMORPG Sanctimonia.

Notable additions and changes over the last month include the addition of a “foliage wind” sound effect to the game’s audio module, which dynamically adjusts its amplitude based on environmental and view distance factors. Kevin has also added a vertical offset property to object and gear exchanges, correcting a bug he had previously encountered with dropped objects. Actually, Kevin has made a fair bit of gear-related progress across several different aspects of Sanctimonia, improving the game’s handling of items and objects. Also: player encumbrance has been added.

Somewhat relatedly, player elevation has been added to the list of variables stored by the network transaction action (which is itself undergoing some revisions and updates). He has also made adjustments to the effect of the “flora cap”, which should hopefully improve the appearance of low-foliage areas around trees in the game. Object shadow placement has also seen some work, with some issues of improper shadow positioning being corrected.

Kevin has also begun to transition to a perspective matrix for environmental rendering. Since that’s a complex mouthful of a sentence, here’s his explanation of what it means:

Previously the graphics were drawn using an overly-complex hybrid of OpenGL matrix transformations and local screen coordinates, causing some problems and inhibiting the implementation of a truly 3D representation of the game environment. I plan to showcase the 3D nature of the game’s data graphically and have made significant strides toward doing so.

So far I have created an OpenGL matrix transformation procedure for a 3D perspective projection accepting native game world coordinates as well as a 2D orthogonal projection procedure accepting per-pixel screen coordinates for representing the 3D game world and 2D on screen displays (OSDs), respectively. I have primitively incorporated landscape elevation data and am working to ensure stem-centered objects such as trees are rendered properly under the perspective projection matrix, as well as players and wisps.

Lastly, Kevin’s terrain generation tool, Littoral, has also seen some updates: it now properly records the elevation of the objects it randomly populates terrain with.

As is typically the case, Kevin continues to make excellent progress on Sanctimonia, expanding the game’s features and capabilities on a regular basis. Which, as always, is great to hear.

2 Responses

  1. Sanctimonia says:

    Here’s a couple of videos:

    youtu.be/e-me9lW0Sac
    youtu.be/zUETNClHW2I

    I’ve made improvements since then (tonight and yesterday), so the rendering is starting to tighten up. By the end of the month I hope to calculate normals for the landscape and reintroduce the day/night cycle using a slow motion, world orbiting OpenGL light. I also need to tilt the camera back toward the player maybe 22.5 degrees so by just turning you see your surroundings in slight perspective. Will go try that now…