Figures that on a 3 day weekend, it rained 2 of the days. This put the kibosh on some end of season boating, and some practicing racing RC monster trucks – but – it allowed for me to spend a lot of time working on Saucermen, which currently I’m feeling very inspired and passionate about.
All in all, it was a very productive time coding – and purely coding – no artwork this rainy weekend. There were a few obstacles that I really wanted to take on, as well as some fun(AI) stuff. First up was the first person weapon rendering.
Boy that was off. Frenzy worked because it was wholly unique in how the fish mouth was positioned, and also being an alpha render. That code was really the first divergence in Saucermen that will probably need to be ifdef’d and not controlled by a setting. The concept of rendering the first person weapon isn’t complex – you render it prior to your translation (or if you need to, translate it back, render, then re-translate). That didn’t take long, and it also exposed a minor bug in the skybox code(it didn’t impact Frenzy). It also exposed a more important bug, in the lighting routines, something I was suspecting was off.
I noticed that when moving around, the light wasn’t changing on the weapon. Hmmm. Of course. This was because I wasn’t translating my light coordinates along with the world! Doh! One point-pivot routine later, and I got the light model working perfectly. This one needs to be corrected in Frenzy too(again, this one wasn’t so noticeable in Frenzy because of it’s nature). Boy, I really need to merge these codebases soon!
Then I got to having some fun! I implemented the animation system for players, and wow, it worked exactly how I thought it would (it’s great when that happens). Right off the bat I could tell this was a HUGE improvement over Alien Arena. The way the animations slow down or speed up based on actual speed really added realism and excitement, and the switching to shooting positions for standing/walking/running was seamless. Also switching from standing, to walking, to running based on speed is simply a massive upgrade. While I was at it, I added jumping to the player controls, and did some physics tweaking for the rigid collision bodies. I do need to address the jumping animation concept yet. Movement feels great, there may be some tweaks ahead, and some enhancements, but it’s super smooth. Eventually I will add bending at the waist of the models the identical way I did it in Alien Arena, as well as ragdoll physics (larger chore). I’ll get the gibs added first though so I can have some real fun during testing
Next I worked on the weapon firing, and some effects.

Luckily for me, the particle engine in CORTech was already pretty robust from Frenzy, and I didn’t have to do a heck of lot of new stuff here. Other than adding in the 3D modeled fired “bolt” I was able to use a lot of existing game code and effects. It turned out really cool too. I certainly will also look at adding in some physics based particles too for really enhancing the explosion effects. For now though, it’s got a very pleasing feel and look, which is something I’m really focusing on. I’ll pontificate on that aspect later in this post.
Working on the weapons, I remembered there was a bug I needed to fix with the view vector, and I fixed that (though my math seems a little more hacky then it should). This is another one that needs fixing in Frenzy’s game code. I had to do a bit of tweaking on the collision detection as well. This was working poorly, and I had to adjust the size of the capsule body for the player – also not convinced that is even working correctly, as the height variable seemed to have no effect. Eventually though I got something that worked a little better, but now I’m clipping walls a bit. Might need some further tweaks and exploration to get the capsules working properly. Also, I will eventually replace my collision detection with Bullet’s, which will be more reliable for sure.
I also got to clean up, and improve the bot AI significantly, and tailor it to this game, which will inevitably be far more complex than what is in Frenzy. So far it’s been fun, and I’m getting good results. Surely I’ll be adding a pathing system, but for now the wandering routines and tracking work well enough to have some fun.
Next I will address some renderer stuff such as adding shadowmaps, and implementing the multiple light entities and routines for calculating. I will also work on a new light shaft, either by shader or mesh/shader combo. Right now leaning towards the latter, by using a noise texture/shader with motion. Definitely not going to use the sprite-style that I did in Alien Arena, which was similar to Doom3’s. While that looked ok, there is no question that it can be done much better, and with realistic animations, since in real life those shafts distort with the dust moving, etc. I also need to take advantage of some of the CORTech features like specular maps (most everything!) and subsurface light scattering (when I get around to the humans) yet on some of the models.
Random thoughts…
My heart is still warmed that there are still some die-hards that support and play Alien Arena. I promise to keep that game’s infrastructure up and running, and I have a few minor graphical updates I want to implement shortly (just minor changes in the alien models).
My darling wife pointed out that my little Saucermen level seems to have a lot of turquoise in it (compounded by the weapons). I have come to realize that very often I go on a jag where I make too much art that uses the identical techniques and colors, resulting in visibility issues, and a lack of variety in the levels themselves. I am making a cognizant effort to avoid that this time around, and you’ll see that in my next screenshots. PS – Turquoise is my wife’s favorite color, so she wasn’t exactly complaining.
I’ve mentioned that having a pleasing aesthetic, both visually and aurally is extremely important, as well as the “feel”. I want to cite an example of this, a game that I played in 1997, and that influenced me heavily in a variety of ways – MDK. This game just felt so good, and because of that, it became a huge success. I am really trying to capture that with Saucermen, and I was really encouraged this weekend with the weapon firing and effects.
I am still perplexed mightily by Quake Champions not having a server browser. I don’t think this game can survive much longer without it. Matchmaking is ok, but forced matchmaking is dreadful and counter productive. Someone needs to let them know they are wrong with their position on this.
Diabotical hasn’t revived the aFPS genre, or even helped it in a meaningful way at all. At best it’s giving hardcore players an actively developed game to replace defunct games such as Warsow and Reflex. At worst it’s causing more division and dilution, and just siphoning players from QC and QL, making 3 weakly populated games. I don’t know about those Eggbots (public opinion seems very polarized on them) – but I do know that the game is simply too much like Quake to capture a larger (for example, Fortnight sized) audience.
I’m really excited to make more art for Saucermen, especially the weapons. I’ll probably do the Alien Mine Layer next, which will be red and white in color. Then I’ll do the Alien Photon Rifle, which will be green and dark grey. I really want them to have a solid distinction from one another. The photon rifle will have some good shader animation going on too.
That’s all for now…