Civilization : Call To Power was an interesting project to be involved with.
The Lead Programmer was Steve Marrioti. A nice guy who would prefer to keep his nose in the code than in other people’s business. And I can’t fault him for that.
As I had just rolled off of the Pitfall 3D project on the Sony PlayStation, which I joined quite late, I was now looking forward to working on a new project almost from day one. The code base wasn’t yet in place and we were creating almost everything pretty much from scratch.
I always felt like a bit of a fifth wheel on the Civilization project though. I was directly involved with the graphics engine with Steve Marriotti, game state save & load which I was solely responsible for (save & load state of a turned based strategy game is the biggest pain in the arse system you can possibly imagine), the artificial intelligence working with Karl Meissner who later went on to work at Fireaxis, design & programming of the GUI with Ryan Higa, and involvement with a dozen other subsystems throughout the game. Other than Steve who was the Lead Programmer I don’t think there was a programmer on the team that touched more code systems than me.
There were a number of interesting stories that happened on this project. One of them concerns the Linux port of Civilization.
Joe, “Mr Ogre” was a big Linux nut who helped me figure out the patches I needed to make to my Linux kernel I was running on a box at home to get it to do IP masquerading for use with my ComCast cable modem.
Pretty much from the day the project began Joe was “secretly” working on a Linux port of Civilization: Call To Power. One day Joe turns up in the office and shows off Civilization. The engineers, Producer, and Lead Designer gather round Joe for a couple of minutes and we’re all wondering why the graphics look a bit weird, why the mouse is invisible, etc. Joe has CivCTP running on Linux right there in the office.
A couple of days later, at our weekly meeting, it is announced that Activision would like to release CivCTP on Linux. All the engineers are stoked. I’m not a big fan of Linux during this time, and I realise the financial risk that Activision is taking with this move so the gesture is well appreciated.
It is impressed upon the entire team that we are not to breath a word of this Linux port to the press or individuals outside of the team. This is for multiple reasons but one of them is the expected backlash from the parochial Linux community should Activision decide that a Linux port is just not viable.
So the project moves forward a year, all the time Joe is diligently making sure that CivCTP runs just fine on Linux. He even has a Linux box under his desk now. When it is finally announced by Activision that a Linux release of CivCTP will occur.
Loki Entertainment of course takes all the credit for performing this difficult porting task. Which leaves me rather puzzled as I know for a fact CivCTP already runs on RedHat Linux. I’m sure Loki made sure that it ran on multiple distributions, and created a fancy installer, but I’m curious just how much work they had to do…
Some day I’ll have to put up some more anecdotes about the “Christmas Tree variables”, the Perl Script that Joe wrote to create it, snarky comments left in the code base, ASCII artwork scattered throughout the code, fragments of other game designs left in the code, the 800 page design bible that the Producer printed out and gave us each month, making the AI too smart,
— Justin Lloyd