and a few more screenshots (I kind of ran out of space on the previous one)
originally I used a very old tech by reading the depth pixel out to see if a flare is visible
turns out there is an extension in opengl - originally meant to see if objects get rendered but just counts pixels drawn
that could be used for this - so what is happening here is that if the center of your flare is visible
you draw it over geometry that is close to you - for the most part it works just as well with regular sprites 🤔
you can now play through as if it was a cheap 3rd person game
the Zortch model is now much better (but still very cheap, it's all programmer graphics after all)
you still have your trusty flashlight but also no longer have to pick up the scuba gear
and the night vision is now part of your trusty revolver - and doesn't run out of batteries anymore
as you might have noticed the style is a little different
in the original game I made lowpoly models and tried my best to paint them up by hand (with various results)
the new models are all started as high poly models and baked into lower poly counterparts
I accidently discovered that todays modelling tools are perfectly capable of replicating Shiny's Messiah tech (circa 2001)
of course they were early adopters - nowadays all non lowpoly modelling techniques involve creating a high res model
and then somewhat making a lower one with better topology and baking the textures onto it
of course modern games bake the layers seperately (diffuse map, normal map, specular map, who knows what else map)
in this case all the lighting is baked into one single diffuse map
so I do a high poly version of the model using various primitives then make a voxelised version (Sculpting->Remesh in Blender)
then I throw some decimation on it and clean it up as much as I can and do the dreaded UV map
one downside of this technique that the models look awful with vertex lighting
and upside is that this means I don't have to calculate the model normals for animation
at first I was reluctant because the map format was not the best for it
the original game used a 2D raycastish approach for occlusion culling
this time I generate a voxelised version of the map, break it down into zones
calculate which zones can see each other
which is easier said than done (I plan on writing an article or video about this as it was a lot of work)
so this will open the door to make more vertical levels and gives me absolute freedom to make maps
only question is if people are ready for even bigger and more labyrinthine maps .. I will try and hold back 🤔