Follow on G+ Follow on Twitter Subscribe the Facebook page Subscribe the RSS feed Receive notifications of new posts by email

Interview with FreeOrion’s Programming Lead: Zach Laine

By on August 17th, 2009 12:10 am

A couple weeks ago I wrote an article about freeorion where I presented the project’s current status, my first impressions and some screenshots. To read the article refer to  FreeOrion: A Free Open Source 4x Space Strategy Game. I became quite interested about this project due not only to the fact that it is inspired in the Master of Orion series but also because it is an open source project being developed by the fan base community. Anyone interested in the project can in some way contribute, by programming or just by wandering around in the project’s forum by discussing ideas for the game or help to solve bugs.

Zach Lain Avatar
Zach Laine (Avatar)

The game is still in alpha stage (version 0.3 on a roadmap to 1.0) with many of its features still in development, so in order to have some more information I contacted freeorion and arranged for an interview with freeorion’s Programming Lead: Zach Laine, which kindly and promptly agreed to share with us some of his thoughts for the game.

Enjoy the interview…

1. When did the FreeOrion project kicked-off?

2003. I was looking around on the official Master of Orion 3 forums trying to find some way of fixing a bug I was running into in the game, and came across a thread started by some guy named Tyreth who said, in essence, “This game sucks, let’s make our own game”. There were lots of other posts in agreement with Tyreth, and some guy had already put up a forum on his own web hosting. In about 24 hours, we started making plans and dividing up the work. Tyreth was official lead of the project for a long time — until about 2 or 3 years ago, when he moved on to other things.

2. According to the freeorion roadmap you are in version/stage 0.3 with many of the game features still in planning and design phase. What are your temporal estimates for the project to reach final product (v1.0)?

I wish I had some. We get things done whenever we get them done, which is occasionally really fast, but usually really slow. The problem is that we have two programmers that do almost everything, myself and Geoff Topping. We both have day jobs, and I now have a kid, so slow is the way things go these days. To answer your question, though… years, probably. :(

3. Some time ago when discussing what should 4x space strategy head next I got the following comment from a fan (zigzag member of sins of solar empire forum): “Really, I just want MOO2 with better AI, graphics and LAN support”. This goes in line with a poll I’m running in that clearly shows that MOO2 is still the reference in 4x space strategy gaming. In your opinion will freeorion live up to these expectations? In this sense will freeorion be an “orion” remake or more an innovative sequel?

In short, no. We’re not just reimplementing MOO2. In fact, our influences are really broad, as you might expect from a community effort over several years. Some of those influences are: MOO1, MOO2, SMAC (Alpha Centauri), HOI (Hearts of Iron) 1&2. There are others too, I’m sure, but I think those are the biggest. The idea became, very early on, to make a new and fun 4X game in the same vein as the MOO series, since there is little indication of the industry’s desire to make one. (There have been a few to come out since we adopted that approach, but I admit I haven’t played many of them. From what I gather, most are arguably not very MOO-like.) Some of the major design guidelines we’ve adopted have been:

1) We don’t care about realism. At all.
2) Micromanagement is not fun.
3) KISS (Keep It Simple, Stupid) — Ideally, you should be able to explain the rules to an intelligent child. You shouldn’t need a degree in Mathematics, Computer Science, or Accounting to understand the game mechanics of FreeOrion. I’m looking at you, MOO3.
4) Making tough choices is fun.
5) Turning some part of gameplay over to an AI is not fun.
6) This is a strategic game, not a tactical game.

Other people from the project may add other guidelines to this list, but I think these are the universally accepted ones. For example, we have a global production queue (rather than per-planet or per-system ones) because of 2. We have buildings that are more like Wonders from the Civ games than buildings from MOO2 or the Civ games, also because of 2.

4. Now regarding some design concepts of freeorion. Space Combat. Tell us a bit about the freeorion space combat model. Will it be highly tactical like in MOO2 or completely abstract (user intervention completely removed) like in GalCiv2?

Neither — it will be somewhere in the middle. It will definitely be interactive, but you won’t be bogged down with ship-level details like ship facings. The level of interactivity will be largely up to you. Each unit has some things that it’s good at and some things that it isn’t, so each unit will have prescribed actions that it will do in the absence of any user action. For example, if you don’t give your interceptor fighters any orders at all, or they finish their current mission, they’ll start looking for other fighters to destroy, and they’ll attack bomber fighters first. You can queue up orders for each unit, and the unit will do them, in order, to the best of its abilities. When it runs out of things to do in its queue, it reverts to something sensible for that unit type. Also, the combat pace is what we like to call phased-realtime. All combat occurs in turns, but if you want, you can allow the turns to fly by, without pausing at the end of each one. This makes it feel more like an RTS. Or, if you choose pause-after-each-turn, you get more of a MOO2 feel to the pace. We’re modeling this after KOTOR’s turn-based system. It didn’t feel turn based unless you wanted it to. Multiplayer will probably require the no-pause setup, or perhaps a time-limited-turn setup.

5. Concerning the Ship Design Model. Could you advance some of the features? Will freeorion follow the MOO1 model of building stacks of ships, provide tiny ships (like fighters or bombers) as modules for bigger ships classes or will all ships, irrespective of the class, be produced as independent ships like in GalCiv2?

This is one of the ways we diverge the most from the MOOs. Instead of a whatever-fits model, we have a slot model. For a given hull, you get so many interior slots, so many exterior slots, and that’s it. Hulls must be researched. You have a variety of modules, of three types: interior-placeable, exterior-placeable, and placeable in either slot type. Things like shields and armor may take interior slots, whereas things like fighter bays and weapons may take exterior slots.

Currently, we’re shooting for all individual ships, all the time. If the runtime burden proves to be too much, we may start combining ships to cut down on poly counts. We want big battles to have an epic feel to them, and 100 ships represented by a single frigate doesn’t do that very well. ;)

6. Regarding research, technologies and techtrees. What will be the concept behind research? Will it follow the MOO1 model that unlocks random techs as some fields are continuously researched; will it follow MOO2 creative/uncreative traits approach, where after a field breakthrough the player gets all techs if creative, 1 random tech if uncreative or 1 tech pick if not creative nor uncreative? Or will freeorion innovate and create a MOO1/MOO2 tech concept mix or even another approach?

It’s largely based on the Theory-Application-Refinement model from HOI. You research theories, which make other Theories possible, and also may open up one or more Applications of that Theory. Each Application allows you to make an actual piece of tech, like a new hull or a laser cannon, or whatever. Refinements take Applications and make them better in some way, like making them 5% cheaper, or 5% more damaging, or whatever. Or goal with this system is that you can refine something to the point where it is so useful that a heavily-refined early tech can actually compete with an unrefined tech much later in the tree. So, do you choose to spend research points on improving what you have, or finding new techs? If we design the tech tree right, there should be no one right answer to that question.

7. Now how can the community help and contribute to the freeorion project?

That’s easy. They can just go to, and check out our forums. The best way to contribute to this or any other open-source project is to find something that you can do, and that you also want to do (that’s actually a lot more important to getting something done than you may at first think), and then do it. Considering the importance of that second part, figuring out what you’d like to help with is a better way to get involved than asking for an “assignment”. I can’t tell you what you’re good at, or what you like to do! :)

8. In which areas are you lacking more resources on? Do you want to provide some contact links here to where people can apply to contribute?

Progress is almost always limited by our low number of programmers. If you’re a competent C++ programmer, please consider getting involved! Also, we have Geoff, one of our whopping 2 programmers, doing most of the grunt work on all the design stuff. For instance, everyone agreed on the tech model, but Geoff has made the tech tree by himself. As such, it’s barely populated — it’s almost all Theories right now. So if you’ve always wanted to design a kick-ass tech tree, now’s your chance. We could use lots of cool sound effects for the UI effects (we have some now, but meh), we could use some more music, and we could use lots of models for ships.

There’s a “How to Help” page on our Wiki. Programmers, graphic artists, sound artists, and designers can all
find the relevant links there to get started. Note that there is also a subforum for each of those areas of interest.

9. When do you plan to have v0.4 available for download?

I wish I knew. There’s a lot that needs to be done. 0.4 is taking so long because it is by far the biggest single piece of the effort. A realtime 3D space combat system with multiplayer support is just plain hard. I hope to have it finished by the end of next summer, but who knows really? With more programmers, or more free time on my part, it could be sooner… or later. Whenever it is done though, we’ll finally have a version of FreeOrion that is at least playable in some sense. What we have right now is more of a tech demo than a game.

Thank you very much for your time Zach.

It was my pleasure.

     Subscribe RSS

Tags: , , , , ,

Comments are closed.

Related Articles:

Post category: Interviews