Unvanquished: A Retrospect (Part II)

This is an old post from the year 2012 recovered from the Web Archive.

Greetings, everyone. In my previous blog post, I outlined the general theme of this three-part collection of entries about Unvanquished and its development, in addition to providing the long-term history of the project. In this post, my goal is to provide a detailed description of the inner workings of our project, as well as what we’ve been accomplishing in recent months. Thus, I will begin by displaying what we’ve accomplished over the past six alpha releases, and in the second segment of this post, I will explain how the project runs.

When we last left off, Unvanquished had just been released for the very first time on February 29th, 2012. Since then, nearly six months have passed, and in that time the community has been growing, developers have been joining, and the pace of development itself has been accelerating with each release. Being the sole project to produce tangible, definitive results, Unvanquished has established itself as the de facto successor project to Tremulous, and can claim to be the next step in the evolution of the lineage of games inspired by Gloom. Each alpha release, made at the beginning of each month, reassures the community of our commitment to providing them with what they have always been waiting for.

Now, let’s go through the first six releases of Unvanquished, and what has been accomplished in each.

A New Dawn: the growth of Unvanquished

Our main menu screen.
Our main menu screen

Our very first release was made on Leap Day, intentionally chosen for the readily apparent symbolic purposes. At the time, much of the pre-alpha content was not in a finished state, but we did manage to put together enough of it to give the community a good taste of what we had, with the promise of more to come in future releases. Our engine, Daemon, was in a similarly unfinished state, but most of the obvious, glaring bugs had been tackled in the days leading up to the release, while community input allowed for us to squash many of the others. For the first few days, the servers were absolutely packed with players from the broader Tremulous community, all of whom had been patiently observing our development over the prior months.

In the first alpha, gameplay changes advocated by members of the Tremulous community were implemented in an effort to bridge the gap between those that had argued over the merits of the 1.1 and GPP releases of Tremulous. However, our goal has been, and will always be to ultimately differentiate ourselves from Tremulous. This would be accomplished by gradual change over each release, until we would no longer resemble the ancestral project. For instance, the first new models released in the initial alpha were like nothing encountered in Tremulous. The alien models were entirely new, and the new weapons were much more detailed, including first-person hands that gripped the weapon and performed reloading animations.

The new dragoon.
The new dragoon

By the time we reached our second alpha, released on April 1st, or April Fool’s Day, we had even more new content to provide to the community. This release marked the first time we included new sounds, in the form of voice chat commands that could be used to communicate with teammates. Voices were released for both teams, with chat commands for humans being appropriately crisp and clear, while those for the aliens took on a more biological, organic tone. In addition, one of the new alien models released in the first alpha, the dragoon, received a better texture job, pictured above. Numerous code fixes were made, including squashing lingering bugs from the first release.

While our third alpha release, made on May 1st, was not released on a day of particular significance, it was no less momentous than the prior two releases. Yet another alien player model, the dretch, was released. Along with a more detailed model, it came with a highly improved texture and new animations. In regards to code, there were new features for server administration, such as new vote types and commands for administrators. A few improvements were made to speed up loading times on the new renderer, using a GLSL shader cache.

A tyrant, lit up in green.
A tyrant, lit up in green

The fourth alpha release was the first one made during the summer, on June 1st. We introduced another alien player model, and this time it was not an update of one of the initial models, but rather a new one altogether. The alien form, called the tyrant, was thus far one of the largest models made for Unvanquished, and took nearly two months to complete, from modeling to animating it. Due to its imposing stature and intimidating appearance, it often shows up in promotional shots, where it clearly shows off some of the modern graphical capabilities of our engine. On the coding end, we added QVM support to the engine and fixed several graphical issues that had been plaguing us for some time.

Alpha 5, released at the start of last month, added an abundance of new features. For instance, there were two new models, including the flamethrower for the human team and the acid tube structure for the aliens, both of which came with much more detailed particle effects than their Tremulous predecessors. Profile support was added to allow for multiple configurations on the same computer to be effortlessly switched between, and translation support has allowed for a growing translation project to provide Unvanquished in other languages.

<missing image>
Two views of the new turret

The most recent version at the time of this blog post, was Alpha 6, released on August 1st. Some of the new artwork included a detailed defense turret for the human team, and new HUDs for both aliens and humans. The entire month of July had also been spent cleaning up the engine, and as a result, more than 200,000 lines of code were removed from it, leaving us with a lower line count than when we first started. These fixes, along with other optimizations, have allowed us to streamline the engine and reduce memory usage on both clients and servers.

Since then, we have been involved in the production of the next alpha release, to be made on September 1st. On that day another blog entry will be written, as always, describing what is new in the latest installment of Unvanquished.

Progress: the development of Unvanquished

Our team is a large one, spanning several continents and a multitude of time zones. Members are located all over the world, from North America, to Europe, to Australia. Individual developers run the range from talented hobbyists to experienced professionals, all of whom work together to continue the sustained development of Unvanquished. We are all volunteers, and yet in our spare time, we have managed to come together and put some serious effort into our common goal. At the moment, that goal is to reach beta, which we have defined as occurring once we have replaced all of the Tremulous content with our own. In the meantime, we are making progress on several fronts.

Our new human player model.
Our new human player model

Perhaps our most visible development has been in the form of new models for the game. Our engine supports a variety of new graphical features that have not been seen in Tremulous, and we have aimed to take full advantage of them. In addition, we have placed an emphasis on detail, both in the physical shape of the models and their animations. While a few remain in an unfinished state as they are still being worked on, the finalized models present in-game already look far superior to their Tremulous counterparts, the result of more than a half decade of technological progress between our games. Many of the features we take advantage of were either not available or not feasible back then on the Quake 3 engine, and we now seek to modernize things.

Our engine, Daemon, is an ongoing effort that provides the backbone for the rest of our project. While ultimately based off Quake 3, it contains features from ETXreaL, along with our own code. Although our main efforts recently have involved cleaning up the engine and optimizing performance, we are also working on other features, such as support for the IQM model format, reload sounds for weapons, and new capabilities for mappers and interface designers to use. We have also been making progress on bots, providing them with new navigational capabilities, among other things. When we are finished with the next version of our bots, the current preview of them on the main server will be replaced with the new iteration.

<missing image>
First-person view of the shotgun

Another major area of development has involved mapping. We seek to provide an abundance of maps for players to experience Unvanquished on, with a good variety of futuristic settings. As of this time of writing, we have five maps that have been made by our developers, and we aim to ideally have 10-12 quality maps that showcase our engine features. Some of our maps have managed to break compatibility with Tremulous, no longer functioning under the outdated renderer from the old engine, a sign that we are moving on from the preceding project. Future map releases will continue this trend, and we will ultimately reach a stage where players will be able to experience sights and sounds in the game that were simply not achievable in the past.

With the recent history of our project and our current progress summarized, the next and final post of this three-part retrospective will feature brand new content that nobody has seen before, such as new pieces of concept art, experimental goals, and other exciting topics. I have provided you with the past and present of Unvanquished, in the next post I will give you the future.

To be continued…