It is the year 2084. You control a secret organization charged with defending Earth from a brutal alien enemy. Build up your bases, prepare your soldiers, and lead them to victory in turn-based tactical combat.
Join mattn and geever, the lead programmers for "UFO: Alien Invasion", as they share their experience about working on this free open-source game, overcoming challenges, and cross-platforming!
Posted by AlexVSharp on Feb 9th, 2012
Please do introduce yourselves to our readers; we enjoy meeting new people!
geever: Greetings. I'm Tamás Fehérvári, a 28 year old programmer from Budapest, Hungary. I mostly code the campaign-part of UFO:AI and some other client side stuff. I joined the project back in 2008, around the same time version 2.2.1 was released - been looking for a good Linux game and found this one. I played a bit, found some bugs, submitted patches, and... decided to continue contributing while simultaneously refreshing my knowledge of traditional programming languages before I start my university studies. Later this turned into something else entirely. ;)
mattn: My name is Martin Gerhardy. I'm currently living near Hamburg in Germany and work as a Java software developer.
Great, now that we know each other how about telling us a short summery about UFO:AI?
How did it all begin, where's it at now, what are the future plans? Maybe a guess on its "completion"?
mattn: I think there are two starts of UFO:AI - one was with the original team of Herby, Rasta, SparxX and later Sacrusha. They lost the motivation somewhere along the way in 2005. This was the time I was already working as a freelancer for the team. The project was halted a few months until I was allowed to (re-)release it on Sourceforge in January 2006. Since then we got working on the "completion" of the game - and in my opinion we have come a long way. Without the help of a lot of contributors we wouldn't be where we are today. There is a little codeswarm* video on YouTube that might give an impression on how many contributors we had.
* code_swarm is a visualisation software that shows peoples' commitment to a project (link)
The future plans are quite simple: Make the game complete ;) There are several ideas out there, for the next version my personal plan is to push the multiplayer gameplay with the help from contributor H-Hour. The single player campaign will, of course, also be continued - but our Battlescape** experience did not get much love recently - this should get changed. New features on the Battlescape should also get implemented. The "completion" itself is a hard to measure value. Personally I think that an open source game will never be completed - there are always guys that love to tweak and extend things. But if you meant the single player campaign, we need more contributors on the art side to finish all our goals.
** Battlescape - view of the map where the tactical battle takes place (link)
geever: I bet you all know what is "UFO:Alien Invasion"; can hardly find a gamer who doesn't know of the classic UFO/X-COM series. Well we created something like that, only better. :P
I don't know much about the very beginning since I was introduced to UFO:AI during its second lifespan. However I do have so many plans on how to extend and improve it that I couldn't possibly tell them all here. It is a great game in its current state, and will only get better with every release!
Considering its roots, I presume there's already quite a large community involved in the project, right?
Mind telling us what type of contributions are most common? How often do they give?
What do you currently need?
geever: The contributing part of the community is not as big as we would like it to be. Translations and maps are the most common, though what we badly need are models (both static and animated). More maps and some more code developers are welcome too.
mattn: Yes, the community is quite large, and as shown in the codeswarm video we also had quite a lot of contributors. Most of them are coders, only a few were artists. Currently we are only having a few developers/contributors that are giving quite often. I really hope we will get some fresh blood into the team - maybe after we released the next coming version 2.4. As mentioned in the previous section we are really lacking artist power. We need a lot more maps, models and textures.
Speaking of contributors,
I noticed many tend to participate in the development of more then one open-source game.
In your opinion, is this a good or bad thing for such projects?
Mind explaining why to our less informed readers?
geever: I've been contributing to Naev as well, and I would love to continue doing so. It's only a matter of time. I'm absolutely sure this is a good thing though, because we exchange ideas and knowledge. One makes a profession in one area, someone else in another. The world works like this and so does the open-source community itself. We're one big family.
mattn: I really think we are all doing projects like this for two reasons: fun and education. I think it's a good idea to look at other projects to learn and get inspired. All in all, I think it's a win-win situation - at least for us programmers.
A few words about making the game cross-platform:
How did it happen with UFO:AI and did it provide any benefits? Downsides?
geever: I'm a big fan of cross-platform. There is nothing worse than when you have to use a system you dislike just because the software you need is made for it. So the benefits are incontestable. Making cross-platform software maybe needs careful coding, but it's not that big a cost for what it offers. Our game had ports for all major platforms when I joined. Once it was reported to even run on some Solaris system, which is funny as that's more of a server platform. Recently a contributor, pelya, even created a new Android port too.
mattn: The original development team was using Windows - fortunately there were some nagging people like me who requested Linux binaries. The map-editor was for Windows only - we switched to GtkRadiant* to also allow mapping on Linux and other platforms. The different ports only came to truth because someone sat down and did them. A great step was to use SDL - it made porting very easy. Nowadays we are available on BSDs, Linux, MacOSX (ppc and intel) and Windows. There are "unofficial" ports for Solaris and there is even pelya's Android version in the market.
* GtkRadiant - a Quake-like cross-platform level design program (link)
Are you or have you ever used any Linux distribution?
Care to share some thoughts about Linux as a gaming platform?
Let's also mention something about the release of UFO:AI on Desura, shall we? What effect did it have?
mattn: Yes, my first contact with Linux was with S.u.S.E 5.x or 6.x - I don't remember exactly. It was a violet box in our book store with a lot of CDs and a very thick book. Later on I switched to Debian based distributions. And today I'm using Mint. I also have a Mac and a Windows machine, but to be honest I'm only using them for porting stuff from Linux to other platforms. ;)
I think that gaming on Linux has proven to be a market that is worth investigating in. That's also the reason why I think that we should add our games to the Desura store. Make them available and easy to install for a broad audience is a step in the right direction.
We are having a few thousand players in Desura and I think it's a nice platform to get reviews, post media, get usage statistics and stuff like that. I also like that I have (unfortunately not all of them) my Humble-Bundle games in Desura.
geever: I've been using a Debian Linux system for a long time; I'm quite satisfied with it. As I see gaming on Linux is growing; slowly, but growing, so I'm optimistic. Don't know much about Desura, however I'm happy we have more distributors.
All right then. Anything you'd like to add before we end?
A few words of wisdom? Praise for somebody in particular? Go wild!
mattn: I would just like to thank all of our contributors. Keep up the good work. On a final note I would like to point to our list of unknown-licensed media and to our mapping section in the wiki. We are still trying hard to get into Debian and other distributions. For this we have to replace the unknown licensed media with proper licensed data. To make the game more fun we need a lot of new maps. So if you are familiar with Quake based map editing or just want to learn it - please contribute. If you'd like, do talk to us in our irc channel.
geever: We are working hard on the next upcoming release (v2.4)! Beta testers, artists, coders, all are welcomed to join our ranks!
And that concludes our interview. Hope this wasn't too much of a hassle?
geever: Ofc it wasn't. Thank you!
mattn: No, of course not - thanks a lot for inviting us for this interview.