Charles Duprey (@Barbatos__ Charles Duprey

Jun 29, 2014

The story behind Urban Terror 4.2

Note: this story is about a major release of the game Urban Terror on which I am the Lead Developer.


It all started in March of 2012. At this time I was actively working on Urban Terror HD on things such as improvements for the Match Mode and a new game mode called Jump Mode. We were really worried about the health of Urban Terror and its community. We could see the number of players falling from day to day.

The community was absolutely in need for good news about HD and our negotiations with id Software to get a contract were not going anywhere. We were told for several years that we would have a (relatively) cheap contract for a multi-platform game and what we got after the long wait was a two-years-only Windows-only expensive and restrictive contract. We couldn't sign it.

We were stuck. We couldn't work on our HD engine anymore and we couldn't release new alpha versions. It's been a really hard time for the whole Frozen Sand team because we understood we were going to throw away all the work done on HD. This bad news from id Software and the decreasing amount of players on 4.1 killed the motivation of everyone in the team.

From my coder side of view I didn't want to throw away all the work done on HD and I knew we were able to port some parts of it to the version 4.x of the game. This is when the idea of doing a 4.2 version began. I suggested it to the team and everyone was ok but I had to handle doing pretty much everything code-side because there was no other active codebase developer at this time.

I had a big problem though. The source code of Urban Terror 4.1 had been lost years ago and all I got was an old-4.2 mod code that was very experimental in a lot of areas. It had to be debugged and cleaned up a bit in order to be used as a good start. It took me a while to find and fix hundreds of bugs with the help of the Quality Assurance team. Then I started adding improvements and bug fixes done on HD and at the end the changelog of 4.2.001 was quite big and I started being satisfied with it.

In May of 2012 we were close to the date of the French LAN of Urban Terror in Paris and we thought it would be great to introduce it here and let everyone test it to gather more feedback. The day of my birthday (yay!) we officially announced for the first time Urban Terror 4.2 and its changelog. I had only a few days to prepare a pack of 4.2 for the LAN with a few more last minute fixes. We were all really excited about this event.

In June I went to Paris with holblin and other volunteers from the French Community staff and we installed 4.2 on more than 80 computers for the LAN. I was in charge of the dedicated servers during the whole event (eek!) so I had to install and manage up to 8 servers.
It was a cool event despite some crappy computers on which people had FPS drops. A large majority of players were really cool and I gathered more feedback than I could ever think.

The LAN convinced me to continue the development of 4.2 after its first release, but we needed an easier way to update the game. I started working on an Updater which needed to be multi-platform as well as available for server administrators. You cannot imagine how hard it is to make it work for everyone on every platform. It was a HUGE challenge and despite it's bugs on some machines I'm still really happy with it. At the time of writing this blog entry, the Updater has been downloaded more than 500,000 times on the official website. I had to learn a new programming language and a new framework to develop the Updater so I have no regrets at all. Shout-out to Kalish for the great Urban Terror-themed design for it. By the way, it is open-source so do not hesitate to help fix bugs if you want. :)

Just before we dropped the development of HD on quake's engine, Kalish was working hard on the Authentication System. I thought it would be great to "beta test" it and asked him if I could port his code in 4.2. He was ok (it took me a while to convince him though!! :P) and he started helping me do it. We ended up working literally days and nights on it in June and July.

We all started getting really excited because the LAN event was a success and the authentication system and the Updater were working after weeks of intense work. It was going to be our first release since 2007 or 5 years! I had stopped all my other personal projects for months to get it done, I worked on it every single day for 4 months and I couldn't delay it anymore, I wanted it to be released. We wanted it to be released. This is when we made a huge mistake. We announced a release date. We should NOT have done that because it put a huge pressure on us from the community, and we were not ready. The game needed to be tested a lot more by the QA team, the authentication system needed more work and Kalish asked us to delay the release but I didn't listen. I wanted it out now. I didn't want the community to be disappointed by delaying the release.

This was a freaking mistake. The release was a disaster. There were bugs with the hitmesh that we didn't catch with the QA team as well as a huge bug in the authentication server. If I could go back in time I would slap myself for being hasty and I would postpone the release.

Anyway, I don't have a time machine (yet). :) So we had to move forward. It took Kalish one month of hard work to fix all the bugs with the authentication server. Today I still feel bad for doing this to him because he had even put aside his IRL work to fix the auth server.

Fortunately more awesome coders and artists stepped in to immensely improve 4.2 over time and I think I can now say that I'm proud of what 4.2 has become. I learned so much from my mistakes. Now I am always the guy at FS saying "no no don't release now, test it one more week!". :P I guess it taught me to be more patient and wise and it will be useful when the time of releasing Urban Terror HD will come.

There is so much more to say but I think it's enough for this blog post. Do not hesitate to tell me if you want more "behind the scenes" articles!


---

Note: this is an x-post from my blog on the official website.

If you want to read more from me, you can follow me on Twitter.