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

Alien Arena – Past, Present, and Future

$
0
0

It’s hard to believe that Alien Arena has been in development for eight years now.  The initial work began way back in December of 2003, as an offshoot of the CodeRED series of games that COR had released in 2002 and 2003.  CodeRED actually began life even further back, in 1996, as a little Quake I mod that was roughly an idea based on something I had seen in MDK.  By 1997, CodeRED had a final level with little “grey” aliens in it.  We switched to the Quake 2 engine in 1997, and by 1998 the game changed completely, into a more traditional single player mod.  Development stagnated however, when we shifted gears to develop Alteria, a single player RPG/FPS game based on the newly released id source code.  When id released the Quake 2 sources, CodeRED development picked up again, and “Battle For Earth” was released in 2002, with “The Martian Chronicles” following it in 2003.

The concept for Alien Arena followed my ever growing interest in deathmatch gaming.  While I had been playing for some years, I felt myself gravitating towards online play, and wanted to make a free deathmatch game.  At this time, the only other game of that type was Cube.  The original idea was to have characters based on a number of famous movie aliens/robots.  I contacted the various parties who held copyrights, but was unable to secure permission, thus, the decision to base the game on the CodeRED universe was made.  By the time the first version of Alien Arena was released in 2004, none of the CodeRED artwork remained – it had been all newly created just for Alien Arena, and by the summer of 2005, “CodeRED” was dropped from the name altogether.

Alien Arena has come a long way since those days.  The game’s artwork has been completely revamped, and the engine has received a constant amount of updates and modernization that make it barely recognizable to the original.  From the meager days in 2003 of working on it alone, a number of people have joined to work on the game over the years, some came and went, some still remain.  The rate of development has always been very high, and there appears to be no end in sight.  We all love working on it, and have many things still on the plate for the future.

Alien Arena is powered by the CRX engine, which was initially based on the source code from Quake 2, and Quake 3.  Most all of the renderer has been rewritten, so when people say to me “that’s amazing for being idtech2″, I have to kind of correct them, because the renderer really isn’t idtech2 at all.  One of the more impressive things that we are very proud of, is not only have we been making the game render more beautifully, we’ve made it much faster.  For example, in version 7.50, we had been very excited that the game was rendering considerable faster than before.  Framerates were at least 40% faster than they had been only a year or so before.  In 7.51, we made a signifigant jump, and in 7.53 yet another.  A test that ran at 90fps in 7.50, now runs at 160 fps in 7.53!  Now that is progress!

One of the things that the CRX engine improved on over the years is the lighting.  We started working on this in the summer of 2008, by 2009 we had full per-pixel lighting in the game, and by 2010, we had idtech4 style stencil volume shadows.  Since then, we’ve really gone to town on it, adding soft shadows, shadowmapping, vegetation shadows, fading penumbras, etc.

CRX renders several different ways.  On the lower settings, we use the traditional, multipass shader technique, very similar to what was used in idtech3 (Quake 3).  While this is ok for simple rendering, these methods will not do for higher end, modern rendering style.  So when higher settings, such as normal/parallax/specular mapping are applied, the engine switches to a single pass, GLSL system.  Our shadows are rendered in a fairly unique way as well.  We render dynamic shadows using shadowmapping, which get passed to the shader.  This allows us to easily subtract these values from the dynamic light, creating a realistic fading penumbra.  We also use shadowmapping to create a shadow cast by the sun, a single light source.  A number of engines use this technique, but, this technique doesn’t do well for scenes with multiple light sources.  For that, we use the method that John Carmack recently implemented in the newly released idtech4 source(note – we already knew of this method, it had been discussed in various online papers and tutorials).  However, we take it a step further, by softening those shadows using a technique that involves capturing the stencil buffer, sending it to a shader to blur it, and rendering it on an overlay of the scene.

Aside from the lighting aspects, we’ve strived to add other little gems to our engine over the years.  First we added light bloom effects, then lensflares, and eventually light volumes.  We added vegetation shaders, reflective surfaces, and many other items that we’d see in engines like UT3 that we wanted.  Post process effects like heat/explosion distortions, and radial blurred pain effects come to mind.  In the summer of 2010 we added a new skeletal model format as well as ragdoll physics following that.  Recently we’ve been developing ways to make everything render faster using VBO(Vertex Buffer Objects).  For example, rather than create vertex arrays each frame for visibile surfaces, we load the entire map, and all static objects into VBO, and access them from the GPU’s memory.  The result is an engine that now renders very fast, which is important for the type of game we develop.  We replaced the entire sound system with OpenAL, and implemented AutoTools for a much easier experience in compiling the game on Linux and MacOS platforms.

Aside from the engine, the game itself has evolved considerably over the years.  In the early days, the game was for the most part a clone of Quake II’s deathmatch, with a bit of Quake III thrown in.  By 2006 however, the game began to adopt ideas from Unreal Tournament, such as alternate firing modes, mutators, and game modes like Deathball, Team Core Assault, and vehicles.  Eventually movement was changed to include dodging, and we added a reward system.  The bot AI was made better too.  We added advanced combat techniques such as rocket jumping, strafing, bunnyhopping, and retreating.  The navigation has been dramatically improved in our upcoming release too.  In 2009 we added antilag, and in 2011 we added an account system for our global stats accumulator.  Weapon balance has been tweaked, re-tweaked, and tweaked again countless times to create as good a gameplay experience as possible, not just for the experts, but for newcomers as well.

Now that I’ve told you how we got to 7.53, I’d like to discuss the future of the game.  There are still a number of items that we intend to work on in the future.  We intend to further develop the GUI to be a more modern and smooth system, including the menu, as well as scoreboard layouts.  I personally am looking at some other rendering features, as well as replacing some of what we have with faster, more efficient methods.  The bot AI is currently getting a heavy dose of love, with some Capture the Flag specific code being added that should make our bots among the best at CTF of any free game.  One of the other major features being added very soon is the Lua scripting language so that people can make very easy modifications to the game code as well as the client effects.  One thing that we always do, is update the content.  In 2009, we began making levels that had a specific design style, and revamping older levels to adopt this style.  You saw levels like Dm-saucer, Dm-Violator, Dm-Babel, and others that got extensive updates into this style.  There are still a number of maps that use the older style and need to be updated, and they will.  For the most part, the maps that are in the game are going to stay, but get updated.  There may be a few that get retired, and a few new ones added, but we really like our lineup a lot.  There also is a strong possibility of a new player character being added, one who’s concept was created a couple of years ago but never finished.  Aside from the game itself, we also are continuing to develop the community around it, such as running our own IRC servers, and fostering 3rd party content development.

In short, Alien Arena is forging on, keeping the torch burning for old school deathmatchers everywhere, and fans of hokey sci-fi who just love blowing shit up.



Viewing all articles
Browse latest Browse all 58

Trending Articles