C-evo-x

A freeware empire building game.

9 January 2019

For the Love of Civilization

It’s 2019 and I still enjoy playing C-evo, but as I write this, the game and the code are showing their age. The last release of C-evo was in April 2013. The core game was developed in Delphi 4, which was released in 1998. The ancillary Configurator program and C# AI template were developed in Visual C# Express 2008.

Bit rot happens. Windows 8 was released in late 2012, now replaced by multiple major releases of Windows 10. Delphi has seen numerous updates; 10.2 was released in 2018. Visual Studio has seen five major releases, with the 2019 suite due soon. Even with Microsoft’s strong commitment to backwards compatibility, things big and small stop working over time. Delphi 4’s help files aren’t viewable on Windows 10. Visual Studio 2017 can’t correctly import the Configurator project file from Visual C# Express 2008.

And I’ve changed since I first discovered C-evo a decade ago. I’m a much better programmer, but also don’t use Windows personally or professionally very much anymore. C-evo is one of the few things I keep a Windows VM around for. Programming an AI or adding some nice human ergonomics to the game’s UI seem a more attainable projects for me today than they did years ago.

But the C-evo source code is … not very approachable. As Steffen says on the C-evo Files page: “Don’t waste your time. I was young and had funny ideas of what makes a good code.” Fortunately I’ve spent many years of my career diving head first into lots of different codebases, good and bad, big and small. Working with “legacy” code is still challenging, but not daunting.

Even a poor codebase written by a young inexperienced programmer is worth investing in if it provides value to someone. And C-evo still provides me with a lot of value. I hope I can contribute something of value back.