Για την Ελληνική μετάφραση πατήστε εδώ
MegaGlest is a fork of the real time strategy game Glest. In this interview on OSArena, the three core developers talk about how it all started, the difficulties on the way, what are the achievements so far and the plans for the future.
First of all tell us about Glest. Why did it stop developing? Were you a contributor for Glest or just a player of the game?
Tom: I started contributing to MegaGlest late last summer after coming across Glest and their forums and IRC channel and thankfully being pointed to MegaGlest by a community member, Ultifd. I later learnt that Glests’ development had come to a standstill in 2008 just because the developers were too busy with their real lifes and had started spending time on other projects. Luckily they made both its engine and any existing game data/art (basically tech and magic faction and several maps) available for reuse under liberal licensing terms. This laid the foundation for forking their wonderful work. But I’m really the wrong one to talk about history, Titi and Softcoder can surely provide a better picture.
Titi: By the end of 2006 I saw some people talk about Glest in a german Ubuntu forum.
This was the beginning! I was totally amazed that this game was open source and I really liked to play it. When I started to play I really lost every game. The AI was so tough and I had never played an RTS game before. But after a while I got better and better…
I soon realized that there was really not much content to play available.
So I started to make first maps and looked at Glests’ data structures. It turned out that this game was designed to be very moddable so I started doing just that…
MegaGlests’ early history is documented a bit on my website (see the chapter ‘first mods’ too). The result was the Megapack mod, which forms the base of the current MegaGlest data (and it’s the reason for the name too)
By the time I got involved, NOTHING happend to Glest itself. Nothing was changed and there was nearly no contact with the original authors. What I learnt from others was that all of them were busy with paid work. Martiño (I think he was the project leader) works in the professional gaming industry (EA-Games?) now and Tucho (the main 2D/3D artist) was busy, too. So I was on my own and never contributed anything to Glest.
Softcoder: I contributed the very last patch to the originally Glest relating to some network connectivity issues as well as a resource bug that made network play very difficult. As already mentioned Glest was completely stalled development wise so we had to decide what to do in order to continue the effort.
Why did you decide to form a new development team and fork Glest? Did you try to contribute on Glest and it didn’t work out?
Titi: There was no development for a long time and the original developers stated they have no more time. They did not want others in their team nor did they want anyone to contribute. I think they handled it this way, because it was their baby…
But they wanted others to continue (but as a fork). This is what Glest Advanced Engine (GAE) did and I was very happy when this happened. But suddenly Martiño was there again for some months and introduced (non cross-platform) multi-player to Glest before he completely disappeared (I helped him test and so on).
GAE was developed more and more and it looked very promising, but they NEVER had a release. All I ever saw/tested those days was very unstable and from my point of view completly useless… I waited a LONG time (two or three years?) and tried it often.
Then I decided that I was not willing to wait any longer for GAE and I started my own fork to get a working engine with multi-player for my data (the Megapack). It did only take some weeks until I had my first stable release…
Shortly after this decision softcoder showed up on the Glest forums and started to make multi-player cross-platform ready. He quickly decided to join MegaGlest and things speeded up a lot.
Softcoder: I originally spent some time looking at making network playable in the original Glest code. After a while this work helped to bring a somewhat usable version of multi-player game play and this was how MegaGlest was started. For a short while I attempted to port this code to GAE (and in fact gave them the code that I had worked on) but I’m not sure what they did with it. I ran into too many bugs with that fork and decided to continue with MegaGlest, even though it had less features it was stable.
How many members does the MegaGlest team cosist of, and what is your role?
Tom: We’re three, basically. Most programming work is done by Softcoder and Titi, but there have been other contributors (such as M0ellemeister, Willvarfar, MuWum, and some developers of the Glest Advanced Engine fork of Glest…) and there will hopefully be more in the future. I’m a minor contributor, mostly doing testing and support, caring about the (PHP) master server code, the website and the games’ public appearance.
Titi: The game data was mainly done by me but I always invited all people to contribute. This way the romans faction was added by Softcoders son (Eliminator). I am also coding …
Softcoder: Titi and myself are the primary dev’s, but as stated we have received a lot of great help from numerous contributors over the years (recently especially from Willvarfar).
So you added more factions and tilesets on the game. What about the engine? Are we going to see any graphical improvements?
Titi: We are working on it and hope to get a new terrain rendering for example. As we are all more or less noobs regarding OpenGL this isn’t easy.
Not high priority but still on the to do list are things like bump mapping, shaders, better shadows and water, a skybox and so forth…
We would be very happy if someone would help us a bit with these OpenGL things.
Softcoder: We have started a number of new things in this area. Our challenge is that we don’t have lots of OpenGL experience, but we balance between improving performance, keeping gameplay stable for multi-player and adding nice visual enhancements.
Let me ask you something that I never understood on real time strategy games. How do you manage to balance the factions? Are there any methods for this? What is the level of balance in MegaGlest?
Tom: This is really the tough part. Having both different and balanced factions is quite a challenge. But Titi did a great job there for the Megapack (the now eight factions which come with MegaGlest).
Titi: This took a LOT of time. First you let the AI play vs each other and then you need to play … single and multi player and this takes ages! It’s simply endless work especially to balance it for human players who often try very very strange things while playing!
Softcoder: As mentioned the three key components for this relate to a) single player experience b) multi player experience and c) playing against the AI. All of these have very unique problems that make Quality Assurance very challenging and requiring a lot of people to test in order to get a broader level of feedback. Small subtle changes can cause out of synch problems for multi-player for example and this takes a lot of time to discover.
Glest had support for multi-player but not on servers. You could only play with someone giving your IP address and this could be done only if you both used the same platform. How is MegaGlest better on this sector?
Tom: Quite a while ago now, Matze Braun contributed a complete port of Glest, which was originally a Windows-only game, to Linux. But it’s true that Glest has never been playable cross-platform. Cross-platform network gaming is a difficult matter programmatically, but Softcoder (and Titi who tested it) made it to come up with a stable network layer which now works on x86 architectures across Linux, Windows, FreeBSD (thanks to M0ellemeister) and OS X (we lack someone who helps us out there). Recently Krzysztof Smiechowicz has even ported MegaGlest to AROS, an independent operating system which is fully compatible to Amiga OS.
Titi: As tomreyn described MegaGlest can handle cross platform multi-player. Besides of this we have:
- a lobby with included IRC chat and game server browser
- join games with a single click
- auto-download of game content from the game server
- pre game validation (running in the background) to ensure we have the same data on server and clients
Softcoder: Currently we have no ‘headless server’. While we offer a master server its role (currently) is a place to connect hosts with clients so you know who is hosting a game. We have built-in UPNP support so MegaGlests’ networking is quite noob friendly if your router allows UPNP. For Local LAN game play we have auto-discovery features for game hosts on the local LAN.
What is the biggest problem you ever faced on the development of MegaGlest?
Titi: I think this was the cross platform multiplayer. This was really tough to get it to work.
Softcoder: Cross platform was (and still is) scary because it can be very hard to detect problems. Lately however some of the OpenGL changes we are looking at are equally very challenging since there are so many driver bugs and features that don’t always work well for all video cards.
I remember Glest used proprietary tools for 3D modeling. Are you doing the same? In general give us an idea of which parts of the game are open-source and which aren’t.
Tom: Basically we have two licenses, the engine is GPLv3 and the game data is available under Creative Commons CC-BY-SA (share-alike) Unported 3.0. More details are available at this website. I think Titi has the best overview on the situation regarding the models. We recently did a lot of license clearing because we would like MegaGlest to be available in Debian GNU/Linux (and thus in other Linux distributions which largely profit from the Debian projects’ wonderful work, such as Ubuntu), and they have firm policies and high standards when it comes to this – which we appreciate.
Titi: Yes, all code is GPL and all data Creative Commons CC-BY-SA (share-alike) Unported.
For 3D modeling we use Blender/Gimp so all things are available for free. For audio most people use audacity as far as I know. So everything is open source. :-D. BTW we develop all things in linux and only port to windows. Linux is always first priority!
Softcoder: I would not be part of (any) this project if it was not toally free and open source. Some years ago I watched the documentary ‘Revolution OS’ and that changed me. We have import / export tools for Blender (which my sons use for making mod’s) and all of our work we offer as open source and CC-BY-SA (hoarders might make piles of money that is true, hackers that is true, but they cannot help their neighbours, that aint good).
Do you need more developers or contributors? In what sectors?
Tom: I’m sure we would welcome more developers, especially OpenGL and C++ people. But there’s a lot more which is needed. People who are able to write small utilities around the game, such as a cross-platform applet to notify you of newly hosted games, people helping with the website in all kinds of ways, people who support others on the forums, who contribute documentation, and who just make the game known in new areas and talk to the media. We also need more help with translations – the next version will provide UTF-8 support, so many more languages can be supported. People who would like to contribute in any of the above areas are welcome to get in touch with us using one of the methods described at this website.
Titi: Something that is really, really needed at the moment is a new G3D exporter for Blender! Blender had changed the API a lot with their latest 2.5 release and our exporter does not work there anymore. If someone would help us with this it would be really, really good! This is very urgent because Modders (and by this game content) depends on this!
Beside of this Tom already mentioned that someone with more OpenGL (in C++) knowledge would be welcome. Even if s/he would only help us for some weeks it would be nice.
Softcoder: Yes we always can use more help! We are however careful to offer write access to SVN until new members are trusted because so many things can (and have in the past) de-stabilized network game play. But we offer help and guidance to new contributors and are thankful for that.
Tell us about the community behind the game.
Tom: There’s a not-so-big but very vivid community around Glest and its forks, and thanks to the vanilla Glest development team we still use the forums on glest.org to discuss, report bugs and plan and present new features. We share these forums with the community around Glest Advanced Engine (GAE), the other Glest fork which primarily focusses on improving of the game engine and adding new features – MegaGlest also does this but our primary concern is stability, so that network games work and are fun. There’s also three MegaGlest mailing lists on sourceforge (who kindly host our development efforts), one for announcements, one to discuss development, and another to call for support on translations. More people keep track of stuff using those social services where in exchange for giving away your privacy, you get information you could also get elsewhere.
There are several modders, whose relation to the developers might make you say that MegaGlest is really a family game. They have developed loads of additional content, such as the VBros packs, the Romans faction which is now in Megapack, and, for honourable mentions, the Japanese faction by Hagekura. Much of what’s not already included with the game and where licensing terms permit, is available for download on the in-game ‘Game Mods’ menu. The latest great addition would be Ishmarus’ total conversion called “Annex: Conquer the World”, a mixture of bi-paddle and machine/vehicle war game, which is entirely based on MegaGlests’ engine.
Do you developers have a general plan or idea of the final form you want MegaGlest to have? If yes, how close are you?
Tom: Hmm, that’s a tough one. And, being the project lead, it’s really Titi’s job to have a say on where we’re heading, so, once again, I happily defer to him.
For myself I can say that we have already taken huge steps with the past versions, both in terms of improved stability (the cross-platform code took a while to be tamed down, but we can finally say that it is now), a lot of new functional features, and even more additional game data.
For the future, I’d love to see a headless game server so people who are unable to host games themselves can still meet and join for network games whenever they like – but that’s a project of its own which someone who can spare the time could take on. More optimisations to make the game work better on low-fi PCs such as netbooks would be nice, too, but also graphics improvements, but we lack OpenGL developers who are really into 3D graphics and can spare some time on the project. For now, though, I think we’re in pretty good shape, and just need to make more people aware that MegaGlest exists, and how much fun it is to play it. Thanks for helping us out there, OSArena!
Titi: No there is no real plan … If we have time and think something is needed and we are willing to do it we simply talk to the others and do it.
Bigger things wich have a higher priority for the future are:
- new terrain rendering
- better pathfinding
In general we are very happy with the 3.5.2 release which is really good and gives you endless content for fun playing. This is also the reason why we took the first little development break at the moment since we started (more details below in Toms’ statement). At the moment I mostly play the game.
Softcoder: The current ‘in development’ version will take MG to an important new level as we have taken the time to ‘Internationalize’ things better by supporting laguages like Chinese and Japanese, Russian etc. Beyond improving the visual aspect of the game we usually discuss with community members / modders about what they want to see. Currently there are many feature requests which we have to prioritize for the next round of development. There are piles of new game play features in testing that should make the next version of MegaGlest even more fun.
Could you share something concerning the next MegaGlest version? Some new features or a release date maybe?
Tom: I’m sure Titi and Softcoder have a better overview on the new features than I do. Some of these can already be tested using a first (Windows only – Linux users are usually intelligent enough to compile themselves) alpha which we posted on the forums at this website.
Regarding the release date, it’s surely done when it’s done, and this won’t be within the next two weeks for sure (since in Germany the weather is currently to hot to think straight, and in Canada there is too much work at work). I guess it’s more likely to expect the new version by October or November – but this is just a rough guess. Luckily, this is a Free Software game and compiling it is pretty straight forward and, following the instructions we have posted at this website, usually works out of the box.
For those who prefer not to build themselves, but are looking forward to the new release: I can give away a little secret: there is one way to get an in-advance notice, and that’s by subscribing to the translator mailing list, since we always make a call for translations shortly
before we get ready to release. Of course, our (release) announcement-only mailing list will also be notified as soon as we have released, so that’s where we like to see bloggers and journalists subscribe to.
Softcoder: The following lists what is currently in the development version:
- added freetype2 / FTGL support
- added UTF-8 support and Internationalized keyboard entry
- optional HUD overlay
- pressing the group key twice in the same second moves the camera to that group of units
- animated attack particles
- rotatable objects in tilesets
- added optional multiple animation models per skill
- added optional random models per skill
- Mega-CPU AI player now has aggresive scouting abilities
- new attack-boost features enables temporary skill upgrades
- animations can animate as the units HP changes
- enhanced terrain rendering improves performance
Is there anything you would like to say to the OSArena readers?
Tom: Download this game, it’s worth it!
It can be a little tough at start, but with just some hours of training (start with tutorials, then the easy ‘beginner’ scenarios (1-3), then play a cooperative online game with others against computer players) you can quickly get the hang of it. And should it eventually turn out that you don’t like the game yourself, you can pass it on to friends of yours who have a slow Internet connection and will be happy about getting a new game into their hands so easily.
And please provide translations for greek, those are currently missing. Our FAQ explains how easily this can be done
1. Yes, we need more players!
2. DONT LEAVE THE LOBBY WITHIN A MINUTE IF THERE IS NO GAME!
Please wait at least 15 minutes or try to get your own game started.
As we all like to play this game (and play it often) these are the most important wishes from my side because I want to play this game with many others.
Softcoder: We’ll throw out those dirty licenses ever-more hackers ever more!
When I asked for some photos of themselves to use for the article, I got description instead. Imagination is far better than an actual image!
Tom: No photos! But I can provide some fodder for your internal imagery engines: I’m a shy male geek in his mid-thirties who currently lives in Berlin, Germany, and is interested in IT, games, politics, and likes a nice mix of meeting people with similar interestes and solitude.
Titi: No photos, sorry… I am not that kind of Facebook exibitionist.
What I can tell you about me is:
I’m german, male, married, 43 years of age, work as a software engineer, have 3 sons (all of them are Glest fans) and I love Linux. Talking of which: all of us use Linux only unless we are forced to use something else (typically at work :-0).