Latest Entries »

The word is on the street is that the fast paced arena shooter genre is dead.  It’s difficult to argue with the pundits when you look at the empty Quake 4 and Unreal Tournament III servers, the sagging numbers for Quake Live and the myriad of free/open sourced shooters in the deathmatch realm, and the continued success of slower paced, military style games, and team based shooters.  These are dark and gloomy times for the twitcher ego shooter fans.  Much has been written about it, and many teeth have been gnashed as to why this has occurred, but one thing that cannot be denied is – instead of whining and arguing about which game is the best, or going to save the genre – the only real way to save it is to shut up and play.

The arena shooters will eventually come to life again.  The cycle is starting to move back in that direction as people have gotten increasingly bored with the slow paced military shooters and are looking to take the next step in their evolution as gamers.  The problem is, most people don’t know where to look, or which game to begin playing.  There are the obvious AAA choices out there, but finding a good match on them is often futile in a land of empty servers.  Many find their way to hybrid games such as Urban Terror, while others filter out into the various open sourced, free games such as Warsow, Xonotic, Sauerbratan and Alien Arena, to name a few of the more well known games.  However, far too many are sitting around(and gnashing those teeth), waiting for the “next big thing” to come along and rescucitate the rather lifeless(pardon the pun) deathmatch scene.  To compound it, most are looking to the AAA companies to deliver the goods.  They will be waiting quite awhile…

Where they should be looking, is the aforementioned free and open sourced deathmatch games.  These games are the result of years and years of refinement, and continue to be developed to this day.  Their polish and quality has certainly exceeded the games from the deathmatch heyday, and the innovations and improvisations of classic ideas makes them something larger, and more grand.  With Quake Live slowly dying off, there are a number of players turning to these games, and with the eventual exodus from the military shooters, it’s quite possible that they will flourish once again.  The problem is, this influx of players is still quite small, and with the plethora of choices out there, these games are left competing with each other for the same piece of the pie.  Many of these games are of great quality(and there is no law saying you have to only play one of them), but the truth is, they do compete against each other in the end.  In recent years there has been more collaberation between these communities and developers, which has led to a more rapid improvement in each of the respective games.  Each of them is trying their best to make their case as to why you should play their game, replete with videos, screenshots, and testimonials, all geared to lure prospective gamers into their folds.

As I said, I believe that it’s ridiculous to pigeon-hole yourself into just one game, but the reality is, that is exactly what most fans of the genre do, and unfortunately the communities of these games will continue to struggle against one another, behind the scenes and in the foreground.  It’s a shame, but it is for the most part normal human behavior, and quite inevitable.  As for those of us working on Alien Arena, we have been putting our noses to the grindstone, working on putting out another huge release.  Alien Arena: Reloaded Edition will be released towards the end of June, 2012.  The amount of new content is the largest since we changed themes back in 2008, and every aspect of the game has been advanced, from rendering, to gameplay, to weaponry, to player characters, you name it.  Did I mention the dozen new maps?

We are nothing, if not relentless in our approach.

Advertisements

In 2008, Alien Arena received a major facelift that forever changed the look, as well as the tone of the game.  Gone were the completely campy characters(many of which were poorly constructed for 2000’s standards), as well as the weapons and items – replaced by much higher quality meshes that took on a more modern, and serious tone.  Oh, there was still camp, and still a retro sci-fi theme, but it was a signifigant change.  There were other changes as well.  We were moving away from our Quake 3 inspired roots, and shifting towards Unreal Tournament’s style of gameplay.  This was a time of massive content updates, often 5, 6, 7 maps with each release.  By the end of 2008, most of the content from the Gold and Uranium edition content replacement era had been replaced.  In some cases, maps were on their third iterations.  The game was in constant evolution, and to this day, still is.

From 2009 to 2011, the major attention shifted focus from content and to the engine.  We had little choice.  The CRX engine in March of 2008 was little more than the Q2 engine with some shaders and a few other effects like textured particles, bloom, and lensflares.  There was that pretty reflective water, but it ran slower than mollasses.  With rival games like Nexuiz making major engine advances at that time, we had to try and catch up.  By summer of 2009, we had per pixel lighting on all surfaces, and by that fall we had improved the lighting and shadowing signifgantly, and revamped the audio.  Skeletal model format followed in the summer of 2010, and by the 2011 release, we had ragdoll physics and implemented AutoTools.  We didn’t stop there.  In 2011, the major focus was on increased peformance, which by the end of the year was dramatic in comparison to what it was at the beginning.  The tables had turned – now it was time for the game to catch back up to the engine.

Back in 2009, a map called Dm-Deimos2k9 was released, and it represented a new artistic standard for the game.  Since then, we have gradually updated older maps, some with complete rebuilds(especially the older post Gold/Uranium era maps), others with more cosmetic improvements.  We also added a number of new maps over the years, each ramping up not only the visual presentation, but also gameplay wise as well.  An emphasis on flow and dynamic combat produced maps such as Deathray, Annihilation, Downfall, and Goregrinder.  We also started looking to add maps that fit the theme even better.  Deathray was a weird Martian station.  Invasion, Annihilation, and Impact were post-apocalyptic urban settings.  Neptune an ancient Martian structure under the sea.

Now in 2012, we have added a ridiculous amount of improvements, as well as new content.  We have seven new levels, a new weapon, a new player character, a boatload of new visual effects, and a signifigant improvement to our anti-lag code.  The list of changes and additions is likely to dwarf any release we have ever had, including the monumental 7.0 and 7.30 releases.  I’ll end this portion with our updated trailer…

Nexuiz/Xonotic – the saga continues.

Over the last couple of days, I had the chance to try out the PC version of Nexuiz by Illfonic.  Ever since the release of that game, I’ve followed the reaction by the Xonotic crew.  Most of them predictably pan it(and some even seem to harbor an unnatural hatred for it).  I decided to give the game a whirl myself, and while it’s in beta, I can at least comment on my experience and thoughts on it.

The first thing I noticed was that after starting the game, it had a nice, clean menu system.  Kudos to them for that, in an era where overdoing the menus seems trendy, this is what a game menu should be.  What it shouldn’t be though, is not allowing me to change my movement keys.  I don’t use the standard WASD config, and there was no way for me to change it.  Boo.  The second thing was, that I couldn’t just join a server.  I had to select a map, and it searched for matches using that map(without regard for game type) for me to join, placing me in some sort of lobby, where I couldn’t really talk or do anything but wait.  And wait.  And wait.  Once in a while it would say a “short” which I assume is Illfonic slang for “match” was starting in 25 seconds, but then somebody would leave the lobby, and it would revert back to “waiting for players” and start all over again.  It took me hours before I ever was actually able to play in a game.  I wound up in a CTF match…

But here is where the experience changed for the better.  First off, let me say this – the game has nothing in common with the original Nexuiz other than the name, and the names of a few weapons.  Otherwise, they could have called it “Battle Bots” or some other cheesey name, it wouldn’t matter.  It’s not Nexuiz as we know it.  Second off, I had to scoff at people(mostly Xonotoids) who claim that Xonotic actually looks better than this.  Are you kidding me?  The “new” Nexuiz blows Xonotic out of the water on a visual basis.  Look, I love the Darkplaces engine as much as anyone, but Crytek it is not.  Gameplay was actually quite fun, and I played a few rounds of CTF as best I could with controls I wasn’t used to.  Speaking of the Crytek engine, yes, the performance was not great.  Even on medium settings, the frame rates were pretty bad on my rig, which had little trouble with Rage.

Overall, not too bad for a beta.  Hopefully they iron out some things between now and release in a few weeks, and make it a little easier to join a match of your choice.

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.

More random thoughts…

Quake Expo ended not long ago, and it left me pondering quite a few things.  One thing for certain is, that the Quake community, while still alive to a degree, is certainly far less active than it was just even a few years ago.  Part of this is natural evolution of a 15 year old game’s lifecycle(and it’s remarkable that it has lasted this long), part of it is people moving onto other things, and part of it is a little less savory.  IGN has pretty much stripped it’s “Planet” sites down to bare bones.  Planetquake nearly found itself in archive status, and only by the good graces of PappyR and HappyFriar is it still alive at all now.  Once a mighty hosting site, and central location for all that was Quake, it’s all but dead.  Now the community is quite fragmented with no real central location for modders to gather.  Inside3D could be a place like this, but that site is primarily focused on Q1 and Darkplaces mods.  QuakeDev is going away, and other places focus on just one version of Quake or another.  Despite this, Qexpo was pretty successful, with maybe a near record number of booths, but to be honest, the amount of activity and production of actual content was a bit disappointing.  More disturbing were certain people/communities that were well aware of it really didn’t participate.  No Open Arena or Warsow booths.  Xonotic put up a booth but did nothing with it.  However, Tastyspleen did a great job though of talking about Qexpo and the projects with the radio broadcasts, which was a very refreshing and positive development, and given that they are a Q2 oriented group, give hope that maybe there can be further unification in the future.  On the flip side again, that certain prominent projects didn’t bother with a booth(and one flat out said “I’m not participating”), also shows that there could be a growing rift, or attitude of not caring about the original Quake community and just doing their own thing.

Another sad trend I see, is the continual gravitation of new gamers(and even some old) towards slow moving, realistic military shooters in liu of the traditional, fast-paced arcade style deathmatch games of the past.  I still maintain that this is a fad, and that eventually people will once again grow to appreciate the speed of the old-school games.  It really is a natural evolution of skill.  Military shooters are slow, and far easier to learn than the likes of Quake and Unreal Tournament.  Another problem is boredom.  Long standing players just eventually get bored and move on to other things.  Why do you think “race” modes got so popular for awhile?  People had grown tired of the same old run and gun, and wanted another way to challenge themselves.  New players don’t want to take the time to develop the skill necessary to compete in the faster games, and well, many kids just love playing “army man”.  Hell I did as a kid, and now with these virtual worlds where you can shoot bullets and blow things up safely in, it’s no wonder so many people choose this type of game.  But, boredom can affect these games too.  Players want to eventually challenge themselves, and that is where the old-school, past paced shooters come back into the equation.

Speaking of “fast paced” shooters…fast movement is not equal to fast paced.  In fact, some games that claim to be super fast paced because of their movement are IMO, not really that fast paced because their weapons are too weak, or the speed of movement is too fast that it allows too many players to escape combat situations.  Some even say they “prefer” long drawn out battles with weaker weapons, which is really saying “I want it to be slower paced”.  Achieving good, fast pace is a combination of movement, weapon power and weapon balance.  It’s not easy….and it’s easy to have misconceptions about what “pace” really is.

A new version of Alien Arena is around the corner…and it’s now been five months since our last release.  Some extenuating circumstances have prevented us from including everything we wanted to, but there is actually a good amount of new things that will be included.  One item we worked on was adding shadowmapping of our foliage shaders, which now allow for very realistic outdoor lighting and environments.  To display this technology, I created a new map(dm-impact) to show it off(and it’s a pretty good, fun map to boot!).  We also decoupled the renderer from the client, so now having high framerates won’t flood your connection to the server, and smoothed out stair climbing physics.  There were a variety of bot improvements, a new mutator, better LOD detection, and quite a few bug fixes and little optimization tweaks.  On the content front, we replaced all of the old powerup models with shiny new ones, and hope to have four new maps completed.  Another new feature that is in the works for this release is an actual account system, so that stats are now secure and tied in with a player, preventing situations of stat – spoofing and other hijinx.  Looking through the SVN changelog today, the list of updates is a bit more extensive than I had original thought.

All in all I’m pretty pleased with how the game has been developing over the last two years.  After the big content replacement in 2008, we were able to spend a lot more time on the engine.  It’s evolved in fits and spurts, almost haphazardly in some ways, in that we kind of bounced around from one aspect to another, but with such a small team, that is to be expected.  At times it was all about adding new rendering tech, other times it was about making speed optimizations, other times just about cleaning things up.  It’s gotten to the point now where everything has kind of come together and the engine is quite solid and stable.  I’m sure we’ll find new things to tinker with and advance, but it’s nice to be able to focus a little on content and gameplay now.

POSSCON 2011

POSSCON 2011 ended on friday, March 25th, and it was one of those experiences that I wish didn’t have to end.  This was amazing from the start, and while the attendance seemed to drop on the third day quite a bit, overall it seemed to be a big hit, with a great amount of people present.  Todd Lewis, Aaron Griswold, Jennifer Suber, and Matt Hudson did a wonderful job of making me, and my wife Courtney feel very welcome and well, wanted, for lack of a better term.  Open source gaming was a new topic for POSSCON, and it seemed to go over extremely well with the (mostly) young crowd.  My booth was constantly surrounded by people during the breaks between speeches, and I got an opportunity to talk to a wide variety of people about Alien Arena, as well as open source gaming in general.  I was told that the goal for this year’s attendance was 500 registrants, and indeed on the second day, the goal was met.  I hope that having gaming as a part of this contributed to meeting that goal.

I think one of the most rewarding aspects was being able to introduce open source gaming to so many young, bright minds.  A lot of people had no idea that a game could even be open source, much less be of decent quality.  It was awesome to see so many people interested in this, and interested in Alien Arena.  Some people were looking for paying jobs, some were looking to contribute voluntarily, and others just wanted to learn, or sit down and play a few rounds of good old fashioned deathmatch.  I made sure to tell everyone my schedule for speaking.  I think I did a good job of selling it, considering that the room I spoke in had 320 seats, and it was well more than half full, despite three other speeches going on in other rooms at the same time.  According to the organizers, my session had the best attendance during that time.

I have never in my life given a public speech, so the fact that I was giving two was a little bit daunting.  I spent a lot of time preparing them both, as well as constantly practicing, especially my speech on open source gaming in general.  Things didn’t start out smoothly though.  There was a problem with the video output on my laptop, though we quickly fixed it(the connector was not mating well).  Worse yet, my power supply’s cord suddenly began sizzling and smoking(short in the recepticle apparently).  Luckily my laptop didn’t fry, but it did throw me off a bit at first, as I was a bit shakey to begin.  I quickly settled down and was able to deliver the speech as intended, without screwing it up too much.  The only snafu was I did leave out a couple of points that I really wanted to discuss, but otherwise it went fairly well, and I did get a number of positive comments.  I think if I am invited back next year(which it appears I will be), I can vastly improve on some things, as well as making the subject matter a little more interesting for everyone. 

The second speech was actually a workshop, and this was on day three, so the attendence was vastly lower.  I was a bit disappointed that some of the USC and HS students that had said they wanted to be there were not, but there were some that did make it and said they really enjoyed it.  I began with a discussion on some of the very general concepts and basics of using blender to create and animate a game character, then broke down how it was rendered in the game.  I went through a variety of code, from the model loading to all of the rendering, as well as shadows, among other things.  I didn’t really have this one as static as the general speech, it was a lot more interactive.  My wife suggested next time using slides instead of scrolling through code, and she is right.  I also had issues with the code being legible, due to the output on the projecter being too blurry, as well as dark on screenshots.  When I finished up with most of it, the rest of the session became mostly question/answer, as well as demonstrations of the various game modes, which was actually quite fun.  I think that a good amount of people got a lot out of this session. 

As for the vendors, I talked to a number of them, I was really impressed with the greenscreen tech from the IT-Ology guys in the booth next to us, as well as the amazing 3D printing of the “Thing-o-matic”.  It appeared to me that our three booths got the most traffic overall.  I didn’t get to see much of the other speakers in action, but I did get to talk/socialize with them.  There were some pretty big names there, such as William “whurley” Hurley, John “Maddog” Hall, and some people at important positions at IBM, HP and others.  It was very impressive, and englightening to actually talk to them.

The after hour events, as well as the lunches were extremely well done.  I’ve been to some major conventions like this before, and this includes AutoDesk’s, and this was far more organized and well planned, and to be honest, a heck of a lot more fun.  Maybe it’s the southern hospitality, I don’t know, but everyone was so extremely friendly and really went out of their way to make us feel welcome.  By the way, the city of Columbia is a very fun, hip place, and apparently becoming one of those notable tech “hot spots”.  They have this mall area, filled with bars, clubs, and restaurants that was very fun each night we were there.

It was a great experience, and I truly hope to be a part of it in the future.  As I mentioned in my speech, gaming is the largest entertainment industry in the world now, and open source has a great chance to be a growing part of it.  I’m seeing the gap closing between open source and commercial games, and while there is still a ways to go, it’s clearly having an influence on what commercial game companies are doing, and thinking.  POSSCON has grown each year, and seems to be making big improvements with each convention, I have no doubt that gaming should be a part of it, and maybe even expanded upon in the future.

Random thoughts…

The next release of Alien Arena(7.51) is right around the corner.  The big news for this release is the dramatic increases in performance due to some major optimizations.  The numbers are simply astounding, and make the CRX engine one of the faster rendering idtech-based open sourced engines.  This has always been a major goal, sometimes the solutions aren’t as easy as some people would believe, and other times they are.  We also added a bit of new content, some new fx, and a few bug fixes.  We still haven’t finished the new GUI, but that is coming eventually. 

I will be speaking at this years Palmetto Open Source Conference in March(www.posscon.org), as well as having a booth for Alien Arena there.  I will have one breakout session for 45 minutes on some general open source gaming discussion, and Alien Arena, as well as a two hour workshop in which I will go into detail on how a character is created and rendered in our engine.  I am very flattered for being invited to this, and very excited as well.

A few months ago I wrote about the release of Xonotic(and it’s bad timing), and I was genuine when I mentioned that I thought it showed a lot of promise.  Since then, things have gone rapidly downhill for this game.  The biggest issue is the major amount of infighting among the community and developers.  Xonotic has a feature which allows for the balance of the game to be determined by a config file.  This is an absolutely horrible concept to begin with, as players may not know how the the game plays from server to server, not to mention that getting people to agree on what should be the “default” is near impossible.  It doesn’t help that the game is barely playable either, due to some big time performance issues with the Darkplaces engine.  Part of this is due to the over the top polycount of the player models, but there is definitely something wrong when your framerates drop from 150+ to 40 or lower when a few players come into view.  There are some wonderful aspects of this game, such as the new weapon models that are in progress, some of the new maps, and the visual/aural appeal, it’s a shame this game seems mired in turmoil.

The trend of gamers flocking to slow paced, military themed shooters seems to be neverending.  I just saw over 4000 players on Urban Terror servers!  Despite all of the popular “backlash” about them, it seems people are playing them more than ever.  That said, I would never change Alien Arena to be slower, or military themed.  Popularity isn’t a prime objective for me, producing a game that I, and people like me enjoy is.  On a similar note, I really get annoyed seeing the phrase “fast paced shooter” used for every quake based deathmatch game.  Some how it seems that for many, movement became vastly more paramount than aim, and some of these games have increased movement to the point where players are just flying around not hitting/getting hit by anything.  Maybe that’s the appeal of these “race modes” that a few of Alien Arena’s competitors have adopted.  That’s one mode I’ll never understand the appeal of, and it will never find it’s way to Alien Arena.

It seems to me that open source engines are really starting to close the gap on the commercial ones.  Part of this is due to the nature of open source where information is shared, and you wind up with an accellerated curve of development, but another reason is that game engine tech advancement is really starting to slow down.  Remember the 90’s, when you saw the rapid progression from 2d, to the faked 3D of Wolfenstein, then Doom I/II, then Decent and Quake with true 3D, and eventually Quake using OpenGL?  There seemed to be a slight lull in the latter part of the decade, but by the middle 2000’s, we saw dramatic rendering improvements with lighting and shadows, as well as performance.  Now, it’s really kind of slowed down.  Cryengine, IdTech5, UT3.5, they haven’t really made these huge strides, and open source engines are catching up to them in terms of the raw tech.  Don’t think Id hasn’t taken notice, as it appears that they will be making the Tech5 source available immediately after the release of Rage.  Wonder why that might be?

I have many ideas for Alien Arena going forward.  There are certainly some rendering techs that I am exploring such as global dynamic illumination, refraction, steep parallax mapping(with self shadowing), and making things even faster.  I’m also going to get back into a “content mode”(that’s not content as in pleased, but as in game media), and start producing some new maps and updating some more models.  I think I’m gonna start with the megahealth model first, and then possibly do some new models for TCA mode.  I think TCA mode could use some updating anyway, it’s a great concept, it just needs some new, better maps and models for it, and some tweaks that will make it very exciting.  I am also going to do a CTF/TCA version of dm-violator2k11, which I think is maybe my best work to date. 

Speaking of Dm-violator2k11, this is the third time I have created this map.  Originally this was known as dm-probe, originally released in the summer of 2005.  The layout was a fan favorite, despite it being exceptionally dark and hard to see.  In the summer of 2006 it was rebuilt from scratch, and became possibly the most popular map in the game.  It’s style truly reflected the direction we were going in back then, with the cleaner, techy look, a nice departure from the grungy, rust look of before.  I always loved, loved, loved the layout of this map, with the big central, two tiered room, and the looping, intertwining pathways that circled around it.  It made for some dynamic, exciting gamplay.  So for the 2011 version, I once again started from scratch, but keeping the layout concept intact.  This time around things are a little more confined and smaller, but vastly more detailed.  The result is a map that flows like no other in the game, and quite possibly is the most beautiful in appearance. 

Speaking of trends once again…it seems very fashionable these days to bash id Software.  Well this isn’t exactly something new, it’s really been going on since they reached their pinnacle in the late 90’s.  I’ve seen more ridiculous criticism of the upcoming game “Rage” than I care to mention, but let’s suffice it to say that this game isn’t even released and the jackals(meaning 12-15 year old know it alls) are ready to pounce and tear it apart.  Let’s get something straight here – I’ve seen the screens and videos, and the renderer is as good as it gets(yes, better than the latest Cryengine, IMO), and the gameplay looks positively badass.  They really haven’t shown enough to make a judgement too strong one way or the other, so the bashing is a bit over the top.  I feel bad for id Software(well as bad as one can feel for multi-millionaires), they have done more for FPS gaming than any company in history, yet they can seem to do no right in the eyes of cynical fans anymore.  It’s pathetic to me how jaded gamers have become.  Give the game a chance, it may very well suck, but if you go into it with a pre-conceived notion that it’s going to, well, it’s never going to measure up.

Forging ahead…

I’d like to begin by offering an apology of sorts to the Warsow team for being a bit incendiary in my critique of their recent release.  I’ve played it quite a bit now, and feel that my assertion that it was “hastily thrown together” was in fact, hasty on my part.  I had based my comments largely on what their community was saying, and I should have waited to do more playtesting on my own to make such a judgement.  The truth is, Warsow is a rock-solid game that seems to be improving at a good clip, and from what I can tell, development seems to picked back up after having some slow times.  The engine runs very smoothly, looks great, and it looks like they are going to write a new GUI(heh, now that truly is a coincidence, as we are doing the same!).  All in all the future of Warsow looks very good, as does Xonotic.  In the case of Xonotic, I hope they truly take their time and get it right, and so far that looks promising.  There is still much to do, but so far…so good!

As for Alien Arena, after a short, but much needed break, we are back to some hard-core development.  Blackice has implemented the beginning stages of the new GUI, which if his previous work is any indication, promises to be a major improvement.  Our GUI was quite antiquated(it was a modified and expanded version of the original id source), and was far inferior to other games like Nexuiz/Xonotic and Sauerbraten.  It was long overdue, and should give the game a very fresh look.  The renderer is another area of focus, and while there isn’t a lot to do in the way of new features, there definitely is a lot to do to get things to run more efficiently.  A good amount of the code has been reorganized, and a ton of cruft was removed.  Along the way I managed to squeeze out a few more frames per second, maybe in the neighborhood of 5%.  While that doesn’t seem like much, all these little improvements tend to add up.  More importantly, I discovered some other inefficiences which led to me getting some major performance increases. 

One area I worked on was the use of vertex buffer objects(VBO).  I’m still not convinced there is much use for these.  On some cards, I found them to be actually quite a bit slower than compiling the vertex arrays, on others I saw it to be about the same.  We’ve had VBO for some time, but disabled the code for 7.50 after discovering said slowness.  Currently we have the option to load the static geometry into a VBO, and while it works, it may not provide much of an advantage.  So for now, I am looking at other ways to increase speed.  The mesh rendering is likely about as fast as it can be for now, but there were definitely areas in the bsp rendering that needed attention.  In the end, I wound up completely gutting the bsp rendering routines, and by the time I was finished, the end results were a stuning 50% increase in frame rates!

I’m also devoting some time to revamping a number of levels in the game.  This is something we’ve always done, and some times this has been met with resistance from the community, especially if the design is radically altered.  Dm-saucer is a prime example, where people still prefer the old bland version to the new one.  On other occasions though, the revamps are well received, such as the new version of Dm-babel, or Dm-Warmachine.  What I’ve tried to do in most revamps is retain the layout, while improving the visual quality, as well as expanding some areas if I feel the map could use more size, or better fluidity.  Babel and Warmachine were very good examples of that approach.  Nearly every map in the game has been revamped at some point, and while most of the “2k7” maps have been already revamped, we are now coming to the point where the “2k8” maps are starting to show their age.  One such map was Dm-Dismal, which historically has been one of my personal favorite maps, and also a community fave as well.  This map was one of the first of the “new breed” in 2008, where we started with a more UT influenced design, with the larger scale, and insanely detailed geometry.  The initial iteration of this map wasn’t really that great, and in fact was a catalyst of debate at that time, that led to some division in our community in regards to the direction the game was going.  Consequently the map was quickly revamped, adding a new section with a teleporter to improve the fluidity, and a few other nuances to make the map much better. 

Now, Dismal is receiving it’s second facelift, and it’s pretty major.  I’m making much use of light volumes(which weren’t available at the time of the previous revamp), as well as static meshes.  I also added a completely new section, further connecting some of the remote corners to one another, which IMO really improves the gameplay dramatically.  I suspect that this may wind up being my best work, and hopefully a community favorite.  As much as I love Dm-Annihilation for it’s gritty, raw beauty and exciting layout, I think this one is going to be better.  For starters, this map is *large*, not just in size, but also in scale.  It’s one of those maps that just feels massive, a major contrast to say Dm-Neptune, which has tight, confining gameplay(which some love, others not so much).  Dismal really contains a variety of gameplay features.  In the elevator areas, the map is very vertical, with a variety of vantage points.  The connecting corridors are not terribly long, but they are fairly wide, allowing for a lot of free movement, which some players adore.  There are also the tighter areas, as well as the tricky ramp area, and the outer corriders at the top and near the teleporter.  The effects and detail make this a technological beauty, with no sacrifice to free movement or gameplay.

Dismal may be only the first of a number of maps receiving some love.  I’ve been considering others such as Crucible, Vesuvius, Violator…maybe some others.  Some such as Bloodfactory, Leviathan, Atlantis, and Turbo would only get very minor changes, only to improve performance and perhaps replace the weapon pads and jump pads.  Of course we also want to compile all new maps with deluxemapping, which will result in an increase of performance over the fallback realtime lighting routines that non-deluxemapped levels currently use.  I’ll also likely be adding in the final base player character, the alien-brain boss(you might recall the original model of this guy in the pre-2008 versions of the game).  The new version will continue with the 2008-on look of “updated retro”.  I say this is the last of the base player models because I’ve always had a set limit for these, to ease issues of precaching at map load time.  I think this will give it a good variety of character types.  This would give us two aliens, three humans, one alien cyborg, and one man-made cyborg.  This was the plan from day one back in 2008, I just never got around to this last model till now. 

The next release won’t be as dramatic as this past one, but it’s sure to be a major step forward as far as polish and playability goes.  We have lots of new toys to play with, and will certainly be putting them to good use!

For years I have enjoyed working on Alien Arena in my spare time.  It’s my hobby, my passion, my artistic outlet.  When people would criticize the game(and believe me they do), it would only serve to fuel me into striving to do better, and improve my abilities.  The ironic thing is, at the time of each release of the game, I honestly felt it was the best it could be, and the best freeware game of it’s genre.  Looking back, I realize I often saw/see things with a bit of rose colored glasses, but I also see what exactly made me think of it that way.  The game has evolved tremendously since then.  Not only have the artwork and gameplay improved dramatically, but so has the engine.  In the early days, the CRX engine was nothing more than Quake II with some Quake III style shaders on it.  In comparison to say the Darkplaces engine at the time, we were *far* behind on technology.  For several years, it seemed like we were chasing other free game’s engines, never really being the “first”  to implement anything.  This is all beginning to change…

In the summer of 2008, after a massive amount of content ravamping, and addition, which IMO put the game on a whole new level of quality, we found ourselves being overshadowed at a time when we thought we would be in the spotlight.  The biggest criticisms we were seeing was “great game, bad engine”.  Bad engine…that hurt a little…but it was true.  We were still using tech that was prevalent in 1999’s Quake III.  Games like Unreal Tournament 2003/2004 look far better, and games like Doom III/Quake IV, using mid-2000’s era engines, were like a distant star that we could not reach.  Oh, I loved to claim we had advanced features, but the truth was, we were falling further behind, and at a very rapid rate.  It was then, in July of 2008, that I made a personal commitment that the game renderer would have to be addressed, no matter what it took.

Parallax mapping
Parallax mapping

What it took exactly, was to rethink a lot of what the renderer was doing.  GLSL was becoming much more common in game rendering, and the amount of tutorials were prolific on the web.

Specular highlights
Specular hightlights from static light sources

So the first step was just getting a GLSL framework established, before moving too far ahead.  Baby steps….that luckily, had some precedent.  A little known project known as the “Quake 2 Graphics Mod” by Ben Lane provided a host of clues as how to accomplish what I wanted to do.  While this really only dealt with a small part of the picture(normalmapping dynamicaly lit surfaces), it did provide some invaluable insight.  By the end of the summer of 2008, the CRX engine was now rendering bsp(map) surfaces using GLSL.  Not only that, but I had managed to add parallax mapping, as well as specular highlighting from static light sources.  The engine was being, at last, thrust into the modern age of game rendering.

The next stage was a bit more difficult, which was the application of this technology on meshes such as character models and weapons.  Engines such as Darkplaces had achieved this, but the documentation and code structure was such that it provided little help.  Finally, it was at this time that I broke down and bought the Red and Orange books, on the advice of Jay Dolan, author of the Quetoo and Q2World engines.  He and I were both working on similar things at that time, and he found it to be a vital resource.  Using some code examples from the Orange book, and some online tutorials, by spring of 2009, I had achieved what I once thought was beyond my reach, which was proper normalmapping on meshes. 
 
Old fixed function normalmapping

Old fixed function normalmapping effort.

 
By summer of 2009, I had this working for fixed and dynamic light sources, and while there were a number of trials and tribulations early on, it was finally ready for public consumption.  Once again Jay Dolan provided a clue after one night of brainstorming with me, and the final piece of the rendering puzzle was in
place.  I was amazed how fast normalmapping was now and how much better it looked!  

 All of these new rendering features, as well as a load of new content, provided the impetus of releasing Alien Arena 2009.  Armed with a new trailer, a host of screenshots, and a number of gameplay updates, we unleashed the game on the public.  Now were were starting to get some recognition for the engine work, and it seemed that the players were really enjoying the new look of the game.  However, for all of that effort, we were still a very long ways behind some other free game engines, and had much work to do.  The next big phase of renderer development was to address shadows.  For years we had been using simple planar stencil shadows, that were stretched to provide the illusion of light angle and direction.  While they were very fast, and looked decent enough, they were still

GLSL normalmapping on meshes

GLSL normalmapping on meshes

 very old tech, and far behind the Unreal 2 engine, Doom III, and Darkplaces.  My first thoughts were to do what Darkplaces had done, which is, in essense, to use the algorithm developed by John Carmack to create stencil volumes.  However, there was some potential issues with legality, as Creative Labs had apparently patented the technique years ago, even though Carmack had come up with his idea on his own.  To be sure though, there were other methods of doing stencil shadows that would not be in jeopardy of patent violations(even as absurd as they are), and I decided to use those.  By fall of 2009, we had our volumetric shadows, but I personally did not feel satisfied.  The Unreal 3 engine, as well as many other new engines, were using soft shadows.  In fact, even Unreal 2.5 had soft shadows.  We needed soft shadows!  

 My first attempts at soft shadows involved the use of shadowmapping, using GLSL.  There were a host of problems though for doing this for the static light sources.  Every solution I saw was the same – they weren’t accurate, and they didn’t look very good.  On top of that, there was a performance issue that while wasn’t bad, it annoyed me a bit.  For dynamic lights though, shadowmaps worked splendidly, as you are only dealing with one light source.  For our purposes, I

Soft shadows
Soft shadows

would eventually settle on a combination:  stencil volumes for static lights, shadowmaps for dynamic.  I had read some theories on how to create soft stencil volumes, and after seeing that it was a low cost method, I implemented it.  The process was actually a bit tricky, requiring some more advanced frame buffer management than I had previously done, but in the end, the results were very good.

 By now, the engine was just starting to reach what I would consider a modern state, at least on the end result aspect of things.  We were still doing some old methods, such as vertex animation for meshes, compiled vertex arrays(more on this later), bitmap fonts, as well as an outdated sound system.  For years, the engine was my own personal domain, with a little help from friends here and there.  By now though, I had started to receive some help, from the likes of Tony Jackson, Jim Bower, and Emmanuel Benoit.  Tony was the first of the major contributors, and he was very good at finding many of my coding mistakes.  Tony focused mainly on the game code, finding memory leaks, pointer problems, and other issues.  Soon, our server code was vastly more stable, something that had plagued earlier releases.  Jim Bower, known affectionally as “Stratocaster” in the community, took it upon himself to rewrite our sound system, using OpenAL.  This allowed us to do a great number of new things, and vastly improved the experience of the game.  Jim didn’t stop there though.  Pretty soon he had a hand in most everything we did, including implementing AutoTools to make compiling the game much easier for Linux repo managers.  Emmanuel made his presence felt quickly.  Like Tony, he found a number of inefficiencies, errors, and opportunities for improvement.  Eventually he rewrote our in-game IRC client, and implemented a True Type font subsystem.  Our little engine(and it’s now truly “our”) had begun to gain some notoriety in the gaming and tech world!
 
With the game engine now closing the gap not only with a number of free engines, but commercial ones as well, it was time to make another quantum leap.  For years, the old model format had not only been limiting us, but it was a slow, cumbersome, and quite ugly method.  It was time for us to move to a skeletal model format.  Much like the time when I felt we needed GLSL, it was another one of those “at any cost, any means
Skeletal model format

A render of the IQM skeletal model

necessary” moments.  My first instinct was to use either the SKM or MD5 formats, which were popular, but both poorly supported and documented.  It was at this time that Lee Salzman, the lead developer for the Cube2 engine, approached me about possibly writing a new model format, and if I would be interested in using it.  It was almost as if fate had struck!  I was very interested.  Very.  When I finally completed the shadow code, Lee had finished writing the new model format, and I began work on implementing it into the CRX engine.  At first this seemed quite daunting.  Not so much the use of the format, but the integration.  In the end, with some assistance and bugfixing from Lee, the new model format was in the game and working perfectly!  Not only this, but Lee pointed out some errors I had made in my older mesh rendering code, and performance for all meshes, MD2 and the new IQM were vastly improved.  The stage was being set for us to begin moving rapidly forward yet again.  Again, with some assistance from Lee, we first added pitch/spine bending for player models, and then…the ultimate frontier…ragdoll physics!

 Ragdolls were without question, going to be the most difficult task I had ever taken on since working on the GLSL mesh rendering features.  I had spoken of this often while completing the IQM rendering, and in a sense, wrote a check that I was unsure I’d be able to cash in.  I honestly considered giving up on this a great number of times, but each time, I managed to convince myself that this was worth doing, no matter what it took.  For the first time, we had a chance to be a pioneer – no other free game based off of the Quake sources had 3D ragdolls, and in fact, only one other free game had managed to implement it:  Cube 2.  Lee had warned me of the perils that lie ahead, but I truly had no idea. 
 
The Open Dynamic Engine had been on my radar for some time.  I was not sure if this was the best choice, but after some research, and noting that Darkplaces had recently integrated ODE into it’s code, I felt that it would be the one for us.  The Bullet engine, as well as Cube 2’s physics code might have been more suitable, but they were written in C++, and this really wasn’t a good option for us.  I’ve never personally liked, or felt comfortable with C++, so I chose ODE, despite a tragic lack of any real good ragdoll physics examples.  In my searches, I eventually found one, however it was written in Python, and would require extensive translation.  So, I began the slow, tedious process of building up the ragdoll subsystems, framework, and rendering routines.  Just the concept of how they would be implemented took a good amount of thought and planning(I had in fact been thinking of it for a year or more).  I moved slowly, getting basic functions and ODE framework started, then onto actually trying to render a rudimentary ragdoll before actually applying it to the skeletal model.  I actually surprised myself a bit, and made good progress initially.  I made it a point not to hound Lee too much for advice early on, as I really wanted to understand the things I was doing.  Finally, I had reached the point of applying the ragdoll to the model, and again, was surprised that it kind of semi worked.  At this point I turned to Lee for assistance, which he very willingly obliged.  It turns out that I was much closer than I had thought, and Lee was able to pinpoint where I was going wrong, which turned out to be a fairly simple thing regarding the position of the base frame.  In the end, Lee probably saved my sanity…and before I knew it, we had working ragdolls in the game! 
 
 
 
 Finally, after many months, years of work, I believe Alien Arena is on the verge of something special.  I would be remiss to not mention some of the other contributors such as Dennis Zadlach, one of our wonderful map makers who has for years been making amazing maps for the game, Chris Preble and Victor B for setting up our own IRC network and maintaining it.  Guys like Cthulhu, Spot, Stirky, Sinno, JoTurkey, MaxToTheMax, Tik, for hosting servers, writing code, and spreading the gospel.  The list of contributors is endless, and I’m sure I’ve left a great many out.  Even though it’s been many years since this project began(2003 to be exact), we are really only at the beginning.  There is so much ahead of us!  Even though I feel we have an excellent game and engine, I know there is plenty of room for improvement.  As time marches on, I will continue to update this blog with my thoughts on where things are heading. 
 
Until then….frag on!