Carthago Creanda Est
- Jul 14, 2003
Today (October 30 2021) is the twentieth birthday of our beloved Civ3!
Twenty years is far too short a time to live among such excellent and admirable modders. We have had an enviable modding scene here thanks in part to such an accessible and customizable game, but there has always been a sense that it fell short of its - and our - potential. Thanks to clever modding tricks, and external tools, and even reverse engineering, we have been able to peek behind the curtain. And yet there are many things that even now are just beyond our reach. As great as this game is, it could be that much greater if we had full control. I am not the first to realize this, but over the years I have become fixated on one inescapable conclusion:
We should remake the game.
This proposal has only made it this far due to the combined efforts of @Ozymandias, @Vuldacon, @Blue Monkey, @Quintillus, @Civinator, @Puppeteer, @Flintlock, and @Lanzelot. Special thanks to them for all their insight and analysis. Together we represent roughly a century of Civ3 experience, and it is our opinion that this is a worthwhile endeavor.
As a programmer, I've been on board with this idea since @Steph first revealed what was SSS back in 2004. It has been brought up several times since then. The last time around, I half-jokingly said I'd do it (hence avatar) and started messing around in Unity3D for a while and thinking about what it would actually take. I was never able to shake that compulsion. I even put together an extensive technical document of what I thought such a project should look like.
But it wasn't just me. I started bouncing ideas off of a few people, and later reached out to others to begin investigating whether this or another avenue was worth pursuing.
We've been brainstorming and digging through various projects since last year to determine what could be done to enhance Civ3. In part due to technical merit, and in part due to skills and interest, we narrowed it down to two approaches: continue @Flintlock's method of exe modding, and recreate the game using a modern game engine.
I won't deny it, making a whole game from scratch is a big deal and hard to pull off. But it's not a pipe dream. Recreating an old, well-understood game is a reasonable, and not that uncommon, project for a small team of dedicated developers. There have been successful open source clones and remakes of Master of Orion, C&C Red Alert, Imperium Galactica, and Age of Empires just to name a few, not to mention FreeCiv which is based on Civ1 and 2 and now has a community of its own.
Yes, this has been tried before here and failed. Multiple times. By people who surely were no less talented or motivated than we are. Trying to remake the game has become a low-key joke around here. That doesn't mean it's impossible. There's nothing about Civ3 that makes it uniquely unable to be recreated.
But we can't just keep doing the same thing and expect different results. There are two main things that we want to do differently this time around.
One, this should be a proper open source project that anybody can participate in. It should all be done in the open with as much collaboration and transparency as possible. That comes with a few benefits. More eyes on the code makes for better quality and lighter work. Working in the open lets everyone know what to expect and what needs to be done. And most importantly, it lets anyone pick up where someone else left off at any time if they drop out or lose momentum. If there's one thing all the previous attempts have in common, it's that nobody else could take ownership.
In the 20 years since Civ3 was made, and heck even in the ~8 years since @Jimmyh set the high water mark for clone attempts, there have been some great advances in game technology. Specifically, non-commercial game engines.
Godot is itself a free open-source game engine under active development and has become very popular among indie game developers. It supports C# code via Mono and all major operating systems. Using a tool like Godot gives us a lot of leverage to focus on game features vs writing everything from scratch.
A few of us have put together a simple demo using Godot, of what we've been calling C7, short for Civfanatics Creation & Customization Community's Civ3 Conquests Clone. (Fear not, I have an abundance of increasingly absurd codenames should we go forward.)
Here we have a game window that generates a random map using native Civ3 terrain files, and lets you step through the turn cycle. @Puppeteer has also been experimenting with loading and parsing various game files, integrating scripts, and other essential features. Here's a demonstration of unit animations, again loaded directly from Civ3 files:
Now obviously this is not much of a game, but we've worked out some key technical questions and explored several others. More importantly this code is published for reference. There's no need to keep reinventing the wheel, or ceremonial burial or whatever.
Will this actually work?
Who knows. Maybe it'll be another short-lived diversion in the annals of history. Maybe we'll make the next FreeCiv. But it can be done. If we all work together, maybe we'll build something to stand the test of time. We think it's worth trying.
Okay, but why now?
Because there's no time like the present. Today is a big date in Civ3 history. The game has had a minor renaissance thanks to people like @SuedecivIII bringing in new players. Godot is making strides. At least a few of us are interested and willing to give it another shot. I can't do it alone and don't want to. I mean, I certainly don't have a reputation for finishing things.
What do we do now?
Ok, so this is a lot of fanfare for not a lot to show. We were hoping to be further along with a prototype by this point, but real life got in the way. But the prototype isn't the point. It's not about "I'm making this and you get to play it" but "we can all make this together". Me, you, other Civ players, indie developers, anyone who wants to contribute. This belongs to the community.
The next step is to assemble a team and assess our resources. If you want to help, just say so. You don't have to be a programmer or game developer to contribute. We'll need artists. We'll need modders. We'll need play-testers. We'll need IT support. We'll need people with opinions. If you play Civ3, you can help.
So, are you in?