On my quest for a good, open source and free turn-based strategy game, I decided to google around for a Master of Magic clone. To my dismay, I couldn't find a project that was under active development. Hence, I conceptualized FreeMagic and recently started the actual work of coding the project.
Rather than be "only" a Master of Magic copy, the project aims to include wholly new balance better fit for a multiplayer experience, new graphics and sounds and possibly further features to deepen the gameplay. For those who don't know what Master of Magic is, it's a '94 MS-DOS game which played quite large part in paving the way to such later games as Heroes of Might and Magic and Age of Wonders. The game is divided to the worldmap screen, where one can build towns, explore around, manage resources and hire armies and the tactical screen, where battles are conducted. Rather than having a technology tree, the player's can research new spells which offer a wide variety of different effects, from summoning monsters to terraforming.
The project is split to a strict client-server structure, where a server application handles all the game logic and the client application does rendering and user/AI input, making cheating quite hard and the code structure easier to handle and expand. The source code is C++, with data and scripts following "everything is Lua where possible"-kinda idea. To keep up with easy and good portability, dependencies are attempted to be kept at minimum - currently, the project includes only ENet, SDL2, SDL2_image and Lua.
The name is subject to change if a better one is suggested.
Contributors:
All contributions are much welcomed. Even if you don't have the time to code, arrange music, draw pixel art or do the website, I would still appreciate feedback on features, code structure and overall design. If you want, you can register to the project's forum, list as a watcher for the project repository or join the project channel (#freemagic@freenode.net), which would make me feel warm and fuzzy inside.

Right now the project is taking its first early steps. As such, joining as a coder would mean two things: 1) being part of designing the code hierarchy and rewriting it as needed and 2) seeing it develope from ground up.
In the case where coders with a burning desire to create a Master of Magic -alike appear, I'm very willing to compromise on code solutions and have no will to take "ownership" of the project. As that obviously may not happen, I'm also prepared to be the sole coder for until a fully functional release is ready.
Current Plan/Roadmap:
I'll lay down some general progress and the next-to-come features here:
- Finish a simple map generator script and send the map from server to client.
- Add a hero and make it move.
- Add other dummy map features without their full functionality (city tiles, etc)
Links:
Project repository in BitBucket
Project forum