Quantcast
Channel: Confessions of a serial game designer
Viewing all articles
Browse latest Browse all 58

Re-re-re-factoring.

$
0
0

The deeper I dig into this project, and revisit some methods I created in Frenzy, the more I discover these “what the hell was I thinking here?” items. I also continue to discover (or rediscover) techniques I devised in CRX (and Max Eliaser fixed!) that were really actually good ideas. In particular the lighting and shadowing techniques were very good, and very accurate for efficient, real-time results. I remember back in the day, there were a number of us coming up with new techniques for real-time per pixel lighting, and it was something pretty cool to watch unfold.

The technique I devised in CRX for lighting was when rendering a mesh, we would look at the map defined light sources and weight them by distance and amplitude to come up with an average light source for the mesh. My old code looked a little strange to me, and I’m not certain why some things were done as they were, so I wrote something new that worked very well. The result is now that I have a test map with multiple light sources, and the lighting is correct.

Test lighting – and soft shadows.
Now with a light also at this end of the hall, still looking correct.

I knew going in that shadows would be a very difficult proposition when dealing with multiple light sources. Even scouring the interwebs show that to this day even modern engines use some pretty weird, if not hacky techniques. Real-time shadows can be tough when you don’t want to kill performance. I still see many engines not even dealing with them – even Rage left them out completely.

Accurate soft shadows.

Since CORTech is not using BSP, it would be impossible to use what I did in CRX, and that technique was also quite expensive and something that was built because of the nature of BSP and Quake based engines. A fresh approach was needed, and I was able to devise a technique that seamlessly uses a single shadowmap. It does require maps to be built cognizant of not sticking a bunch of light sources very close together, but most reasonable maps will work perfectly and without artifacts. I must admit, it’s so much nicer working with mesh soup and a real physics engine! CORTech as a result is just a much simpler, and more elegant game engine than CRX could have ever been.

THE MACABRE STYLE OF SAUCERMEN…

By now, as evidenced by these screenshots, you can get a sense of the style, and maybe where it’s coming from. There is a lot of Doom 2016 and Quake IV style going on here. My vision for the aliens was “what would an alien look like in Doom 2016?”. A lot of the palette and style is from those games as well. This will be evident as I add items like blood (via decals) and other morbid visuals. I have many ideas to really animate this entire scene.

As for the map “The Saucer”, I have it’s layout fleshed out, and many ideas for the various parts. It is going to take quite some time to see this to the end, and I’ve only just begun my journey on this game. There are still a vast number of things to work out yet.


Viewing all articles
Browse latest Browse all 58

Trending Articles