Hello all, I've been following this thread for a while.
For a long time I've been working on my own Civ4 clone which I'd love to offer to the community.
I doubt that it is as well architectured as some of the plans mentioned in this thread, but a lot of the actual logic is implemented, its just not exposed to the GUI. Everything is written in C# and Python with asset data stored in JSON. Because it uses IronPython it means everything is easily accessible to python scripts (it was so easy I threw in a Python terminal into the GUI).
I found myself in a similar situation to a few posters to this thread - that developing GUIs and the necessary engines are hard. The backend logic of the game is easy in comparison. So instead of doing anything difficult I've opted to just use
WPF. I think in the future it may be worth writing some of the GUI using Direct X (via SharpDX), and I have had an experiment with doing so, but at the time being it seems that SharpDX doesn't play nice with WPF.
Source is available at: https://bitbucket.org/MBradbury/empires
I've uploaded the latest revision to: https://bitbucket.org/MBradbury/empires/downloads/Empires.zip
The only requirement is that you have .Net framework 4.5 installed https://www.microsoft.com/en-gb/download/details.aspx?id=30653 and Iron Python 2.7.4 https://ironpython.codeplex.com/releases/view/90087
Please branch if you want to.
Brief guide:
- First window you see open asks for the path to the Assets folder (this is my terrible version of being able to load mods), you should already be in the assets folder so just press enter
- Next you will need to open the save game included. Click File -> Load Game, then navigate up a directory and load Save.detailed.indented.json (its human readable to have a look)
- Select e0 or e1 as the empire to play as, they are the most interesting
- Make sure you do not zoom out too much or increase the window size too large (my 1080p monitor is fine at initial zoom), WPF simply can't handle that many tiles on the screen and move about
Things to do:
- Remove Fog of War: Dev -> Toggle FoW
- Change empire: Dev -> Change current empire
- Click on a tile to select it
- Use arrow keys to move about the map (it is cylindrical so pressing left or right will have you return to where you started)
- Change to e0 and navigate to AP34
- You can click and shift click units to group them
- Left click on a tile to move selected units
- Change to the Settlements tab
- Change which tiles / specialists are being worked
- Look at other tabs for information
There are a number of bugs I have seen in this version. If you end up with situations where you cannot scroll around the map or units disappear then reloading will fix it (most likely).
Finally, a number of other features have been played with, that are not included in the zip. Such as:
- implementing multiplayer with a server and JSON RPC
- AI client (that does nothing but randomly move units about)
- Pure DirectX GUI