Legacy code case part 1: Call to power 2 apolyton version
As you may know, I decided in 2022 to work in part time mode on modernizing the opensource game Call to power II Apolyton version.
This game have interesting game dev story, it’s actually a fully working clone of Sid Meier Civilization game, I don’t want to repeat myself how it got open sourced, still some observation must be made:
The original source code from Activision contained lots of useful comments, which later were removed due to copyright reasons and the code was released in really “hard to read” mode, but the community which later worked on the open source version was able to persist and to some point bring the source code to a state where actually it can be compiled and run.
All further improvements stayed out of my scope and it looks like that only small partition of people still active, which maintain this project.
They were able even to port this game on Linux, well my intent to have a working version for Windows, so that it can be run in Win7 and further next Windows versions 🙂
The main maintainers of this project suggested that I allowed to fork the project any time and I did it 🙂
Still this actually not so good if you think in terms of feature completeness, because then I need to create git branches for my features, which result 100% in conflict merges I expect that my code changes would brake theirs and vice versa, so how they would benefit from my work I am not sure.
“Building in progress…”
Source of picture: Alpha Centauri game , copyright Firaxis Games
So what’s next?
1. Install Visual Studio: done
2. Read the game source code: next
3. Cross point with C/C++ docu, meaning getting into “wizzard world” of pointers and deadly diamond problems: next
4. Add to a visual studio project a testing framework : next
5. Check the linkage with DirectX SDK: next
6. Write first testplans: next
7. Write first unit tests: next
8. Make sure that a build for Windows 7 64 bit is possible: next
9. Write a bat script for autocompile of project making it deployable for anyone who is interested: next
10. Gather feedback from play testers via OCG forum : next
11. Plan features and schedule timeplan for implementing it and maybe even stream : next
As you can see there is a lot of work!
Additional problem is exist too!
All assets are not free, people should buy original Call to power 2 game in order to use the assets in my apolyton version of the game, then player would just run a autocompile bat file and provide input paths for all of the assets, after that the project will be built on player computer and finally and hopefully the player would be able to start the game.
Why I cannot provide binary in the first place?
Well Activision still is rightful owner of the game assets and they have forbidden to anyone the distribution of the game in executable format, but it should not be such big problem, because there always be skilled enough people who would distribute the executable format, but I personally would not take any responsibility and don’t approve or support any distribution of such executable’s, so you know and was warned about that.
Thanks for reading and if you interested to know more about my company then just visit official website of Orlovsky Consulting GbR