After 2 months - Chaotic Rage 1.7 is here!
So it's been 2 months of development, but Chaotic Rage 1.7 is now here. I've kinda slipped the standard 3-week window a bit on this one - real life got in the way - but I'm hoping to be back on schedule again after this release.
I've kinda forgotten all of the changes that went into this one, I had to take a look back through the Git logs to figure it all out so I could write this blog post.
Firstly some stats. 139 commits. 272 changed files with 28,206 additions and 1,559 deletions. Now that might look like a lot of additions, but it's the adding of the spark physics library. I'll talk more about that later.
So whats new? Well the period started the usual way - code cleanup and little bugfixes. Got rid of a few old maps. Fixed some textures which wern't a power-of-two (OpenGL doesn't like this). Fixed a little bug with the camera when spectating a game. Then it starts to get interesting.
I split the GameState class into two. GameState and GameEngine. It's to hopefully make network coding easier down the line. GameEngine is for all the stuff which is local to the machine. GameState should basically be propogated through the network and be in sync at all times.
Then I started doing actual game stuff. I tweaked some config to make it faster and therefore funner. I added a new gametype, where you play as a zombie trying to kill humans instead of the other way around. I added another gametype where AIs battle it out, and made some AI improvements. I fixed some bugs in some maps. I added another gametype (that's three now) where there is an AI battle going on, but you are a part of it.
Then I realised I wanted more control over gametype weapons. In some gametypes you can shotguns, in others you might want flamethrowers. So I added a way for gametypes to override the weapons that a unit spawns with. Then I added a UI where the user can choose some other weapons, and even ignore the gametype ones if they want.
Okay so you see why this is a big release...I just got onto a roll.
And the roll continued. I implemented the spark particle engine, and created some cool effects. And then spent a whole night making the explosion effect look really cool. There is heaps of commits here because I had a bit of difficulty getting the rendering to actually work properly.
So I finish the particles, and I'm really happy, and it's a Wednesday. I'm ready to relase, but I don't release on Wednesdays, I release on weekends. So I need something to burn a hole through three days. Silly me decides, "let's improve the rendering engine, I know, I'll add shadows". Silly mistake. was meant to be a quick littke two-day feature. Nope. It's an eight day feature, and it's not even finished yet.
And that leaves us at Friday monring, as in this morning. Shadows was in and working well, and in my travels I made the rash decision to see how quickly I could add another renderer to the game - an ASCII art one. I didn't think it would be too hard, and it wasn't. Three-quarters of an hour later and it's done.
And tonight, I do a quick test - yup builds on all three platforms. Release! 1.7 is out! It's still uploading at the moment, but should be done soon. As for Linux and Android builds - I cannot do those on this laptop I'm on at the moment, so they won't be ready until Monday, but that shouldn't stress to many people out.