The Long-Awaited Lighting Update
Added 2024-02-01 05:56:52 +0000 UTCHello everyone,
As promised, we now have a functional prototype of the long-discussed lighting/shading engine. As seen in the video above, the actual lighting portion of it is essentially complete; a new lighting option has been added to the map editor, giving a plethora of options for lighting conditions, such as the height and position of the sun (or moon) relative to the land, its intensity, its coloration, as well as coloration and intensity values for ambient values, allowing for a huge variety of lighting conditions to create the perfect mood for every map.
And, as can be seen from the video, this isn't a simple color/value alteration; assets within the world, such as units, buildings, hills and cliffs, etc, will be dynamically illuminated and shaded based on the position of the sun/moon. This is possible through the use of tangent-space normal maps and Z-depth sprites, which feed additional data to every object to give every sprite pseudo-three-dimensionality.
This also assists with depth-sorting, though as can be briefly seen in the video, is not yet fully ironed out. The system still needs to be tweaked to allow for chained objects (ie: a turret attached to a tank, a barrel attached to a turret, etc) to have Z-depth adjustment applied relative to its position on the model. Right now, this does not occur, and so a turret on the front of a tank will be given the same Z-depth value regardless of whether it is closer or farther to the camera.
There's also more features to be added here. Positional lights need to be added, allowing for things like headlights on vehicles, searchlights, or objects that emit light radially, as well as things like muzzle flares and explosions briefly casting light around them. Shadow support needs to be added as well, as right now, units are shaded, but do not actually cast shadows dynamically.
Also, apologies for the lack of community polls recently, but development has been moving quickly enough that specific features need to be coordinated with our two programmers. The new lighting system also means we won't have a new poll next month either, as now that the game supports these new lighting systems, which demand the addition of normal sprites and Z-depth sprites, as well the regular sprites to be replaced with indexed PNG files, February will be a busy month of (admittedly tedious) job of replacing every single graphical asset in the game with new files to accommodate the new rendering system. While I still possess most of the master 3D Autodesk Maya files for every vehicle, every infantry unit, every tree, etc, this means all those master files now have to be updated with the new camera template and rendering setup, and every single object re-rendered, which is still a massive task.
That's all for now. Thanks for sticking with this project for this long, and hopefully we'll have some even bigger updates to show off soon. I've been meaning to show off more of the logistics system in a more edited Youtube video, though the addition of the new render system means replacing the old graphics with the updated graphics takes priority, and there are still some QOL-related things that are wrong with that system that need fixing on the programming side. Hopefully we can get a video showing off the full extent of the new lighting engine in a much more substantial showcase soon-ish.
EDIT: One additional thing I should have mentioned: you may be wondering why the terrain in this screenshot was arbitrarily changed from the default grassy terrain you've seen in almost every preview so far, to bare rocky soil. The reason for this is, because DORF will eventually introduce terramorphing - such as units being able to dig trenches and level terrain, as well as explosions of sufficient power being able to crater terrain - it makes sense for the default terrain to be bare soil, with grass, pavement, etc all being secondary terrain types that exist on top of it. Additional terrain also requires a change to the game's code that allows for a dynamic layering system, so that transitions between different types (ie: grass -> soil, soil -> water, etc) are made easy, rather than needing to manually create specific transition tiles for every single conceivable combination.
Comments
I'm actually excited to play, I hope this game turns into a success for you lot.
Bear
2024-03-01 04:13:11 +0000 UTCGreat work!
Haoda Fan
2024-02-17 19:06:24 +0000 UTC