Thanks to everyone that posted and emailed about part one of this history. I’m glad you enjoyed it, and here is part 2…
So, there I was, back in the tail end of 2001, with a contract to do Creatures and Majesty, and really, no idea how. Creatures wasn’t much of a problem, as Creature Labs had done the port already, and just needed a publisher. I pretty much winged that, I got the game made up, but made the mistake of doing it in parts. To this day, each copy of creatures that is shipped has to be hand assembled with each of its 4 parts. It may not sound like much, but over the years, it’s been a real pain. All other games we had made since then, we had made ready to ship.
At around this time I got the news that we had all been expecting. Loki was going out of business. I immediately contacted Loki, and asked them if LGP could obtain the rights to carry on producing the games they had made. This would have been a great boost to the new company, and would have allowed us to keep on making the games that were still in great demand by Linux gamers. Unfortunately Scott, the CEO of Loki at the time, was asking for such a ludicrous amount of money for the licenses (way more than they were possibly worth, and probably more money than the games had made by selling for the entire history of Loki) that I had to let the idea go. We made a second attempt at the liquidation of Loki to acquire the rights, but the company handling the liquidation was so unprofessional, that they made it impossible to do so. With their policy being that the only way for me to officially state our interest being to fax them, and their only fax machine being broken for over 2 months (they kept telling us it would be fixed any day), we didn’t really have a hope. The liquidation hearing came and went before they contacted me, several months later, and acknowledged LGP’s interest in the liquidation. Not a lot of use really.
So then there was Majesty. I had the porting rights, but I had no idea what to do with it. I mean, I pride myself in being a very good programmer, but porting was something I had no real experience in.
Sam saved the day. Sam Lantinga, previously one of the Loki developers, pointed me at a number of ex-Loki staff who were still interested in doing more porting work. Of those, Mike Phillips was the one that ended up joining us, and even though he left the company some years ago, his influence shapes the way we do porting development to this day.
Mike spent quite a while pushing me in the right direction. I had a number of preconceptions that he had to beat out of me, but I also had to push back on some of his ideas, and I think, in the end, we got the right mix of decisions. Mike set up the idea for the LGP build environment, one that we still use a derivative of, as it has proven to be a build system that is very very portable, and enables us to make games that run on all distros. He also introduced me to the idea of IRC, which has enabled the company to have a real interaction with our customers.
Before Majesty work could start, Mike spent a number of months sorting out the LGP build system, and building some of the basic building blocks that LGP uses to make porting easier. He wrote wrapper functions for file handling and other common tasks, and established the tools we would use for our games. SDL for input and graphics, smpeg for video, SDL Mixer for sound, and openplay for networking, were the main choices.
Majesty work started in earnest. Mike spent a lot of hours on the project, while I carried on trying to find resellers and distributors for our games, and at the same time finding new games for the company. I ended up making an agreement for a couple of smaller games by Pyrogon, and also managed to pick up the rights to Mindrover, one of the Loki games we had missed out on earlier.
Majesty porting finally came to an end, and then we had a decision to make, that has influenced how we do business from that moment, and a decision I am very happy that we made right. After the beta test, we had one bug left, where network games occasionally went out of sync. Mike wanted to go gold, and ignore the bug. I wanted to find the bug, despite the fact that the bug happened in the Windows version too. I put my foot down and insisted, and that was a turning point for the company. From then on, LGP’s policy was always to delay release as long as it takes, to get a good release, not an almost right game, but one that we can be proud of. So Mike spent a good few weeks hunting for the bug. In the end, I joined him in the hunt when his resolve started to waiver, and between us, we found the bug after a hunt that lasted for over 8 weeks. It was a simple 1 line change, and the multiplayer game was fixed.
Majesty was finished, and our first game, ported from scratch, was done!
Tags: creatures, history, IRC, Loki, majesty, publishing, pyrogon
Therefore the graphics of the Majesty port is based on SDL. Which graphic library was used in the original windows game?
I hope you continue the history story! I would like to hear about the challenge to port a windows game based on DirectX to OpenGL on Linux.
The original windows version was DirectDraw IIRC
Hello again !
Nice story indeed, waiting for part 3 ;) or at least as Harald Nikolisin said : “I would like to hear about the challenge to port a windows game based on DirectX to OpenGL on Linux.”
When looking at Tuxgames website I see that Majesty is number 5 on the overall top sellers – very impressive !
Could you provide such statistics on LGP like you did with Tuxgames – it’s always interesting to look at, specially at the “Current Top Sellers” that change places almost daily (and I wonder when will Sacred get to the “Overall” list ;) ).
Glad to hear some of the early influences were correct enough to continue, and always glad to see the company continuing :-)
Interesting indeed.
Maybe LGP is gonna get some AAA titles in the years to come.
You guys might want to check out “Rage”. If id doesn’t release binaries you might be able to get some deal with them. I’m kind of worried about them releasing binaries especially since they’ve been bought by some other company a few days ago.
I think it was the head company of bethesda.
Is there actually any good lecture out there about porting directx to opengl?
I’ve been looking for some and have a good knowledge of python and java and a decent knowledge of c.
I couldn’t find any decent lecture about it anywhere on the net or in real book shops and “just starting” ain’t always easy.
If you know of any good reading material it’d be nice if you could point it out.
Only shame on linux systems right now is that only nvidia cards have good drivers while ati cards are the better ones hardware wise, ati doesn’t use those crappy capacitors that nvidia uses…
A few days ago my gtx 260 started to crash, now i somehow resolved the crashing problem and it just squeals when launching complex 3d applications. (reaches from modelling software to 3d games as x3…, strangely enough stuff like tremulous or et quake wars does not make the card squeal like crazy…)
Seriously, i can’t take that squealing anymore and i even heard that they don’t exchange those cards… so i might buy a new one… i would buy an ati card, but their drivers are bad right now. Maybe i should wait till their rewrite reached a higher level.
You can even hear the squaling through the closed tower and with headphones on and the sounds on max volume…
It’s especially annoying while modelling stuff, on every turn of the model the card squeals.
Hello all !
@Max :
I own an ATI Radeon 4870HD video card, and I’m using the ATI/AMD proprietary drivers – and it’s not that bad as you might think.
It’s far from perfect but most games have no problems with it, I do get a random crashes sometimes when playing Sacred Golod, but those crashes happen so rarely it’s hardly a problem.
Prey runs almost perfectly except some slowdowns that also happen very rare.
RTCW runs almost perfectly except one bug that I was having that ceases the game to crash (at the crypt level, when the fire bosses throws fire at you).
The thing with the ATI/AMD drivers is that every new release fixes a lot of bugs but introduce new bugs that weren’t in their older releases.
Overall I can’t say that their drivers are very bad, but I never used NVIDIA video cards with Linux so I can’t tell about their “bugs” if any.
About the OpenGL to DirectX book, I’ve found this one at tuxgames : http://www.tuxgames.com/details.cgi?&gameref=80
Not really about porting but it’s a start.
There are other books on Linux gaming/OpenGL ,if you want I can search them for you, but no …nothing about porting from DirectX to OpenGL.
@Michael :
Hello to you to ;)
As you know we are REALLY miss GOOD RPG games on Linux (Sacred is more Hack-n-slash game then RPG), I would really like to see “The Witcher EE” ported to Linux, they even used modified but Linux friendly Aurora Engine , is there ANY chance to see a Native Linux client of The Witcher ?
Witcher : http://en.wikipedia.org/wiki/The_Witcher_(video_game)
Aurora Engine : http://en.wikipedia.org/wiki/Aurora_Engine
Thanks
Maxim.
Aye, i saw that book before, thought about ordering it.
I did not order it yet because I have no clue if it covers what I need.
Still wondering what the “secret” game they’re working on right now is…
Well, there will be Bandits, Shadowgrounds: Survivor and that “secret game”, probably all comming this year? Who knows, maybe not..
And then there is also the Unigine game by the guys who develop the engine, they said that it’s planned to release this year, also for Linux.
Instead of the Witcher I’d love to see some stuff with really deep story like “Gothic” or “Risen” (the next game by Piranha Bytes, a bit similar to Gothic, but since their old publisher has the rights for the Gothic series, they couldn’t call it Gothic, it’s also in a different world with a different backstory, but still similar in a way)
i already asked for gothic series, it wont happen.
risen uses direct x and reading their forums, it doesnt sound like they are port-friendly :(
BUT
i can tell you, that gothic 1 & 2+addon work pretty well on wine
and part 3 is quite playable (only some visual glitches) if you use some patches for wine ;)
Well, I don’t really like running stuff through wine. Barely anything runs as it should. Everything has at least minor bugs…
@Max :
What Unigine game are you talking about ? there are several games made with this engine (in development).
The science fiction one that the Unigine guys create in-house.
The one with the Science fiction theme of which they have a couple of screenshots on their page, the one with the highway, the nice city center and the cars.
It looks pretty great except for the character models.