Master of Magic is a 1994 PC (DOS / Windows) game from SimTex, catalogued here for 9 defining game mechanics.
PC (DOS / Windows)1994Complexity 80/1002D TopdownCult classic
Master of Magic is a single-player, fantasy turn-based 4X strategy game in which the player plays as a wizard attempting to dominate two linked worlds. From a small settlement, the player manages resources, builds cities and armies, and researches spells, growing an empire and fighting the other wizards. (via Wikipedia)
The game mechanics of Master of Magic
Turn Based CombatCombatCombat resolves in alternating discrete turns; all player actions are fully processed before the enemy acts.
Economy Buy SellResourcePlayer earns and spends currency at merchants; price and value decisions are meaningful.
Resource HarvestingResourcePlayer or AI units collect raw resources from the world that fuel construction, production, or advancement.
Upgrade PurchasingResourcePlayer spends accumulated resources or currency on permanent stat or ability improvements chosen from a menu.
Research TreeProgressionSpending accumulated resources or turns on a branching tree of options unlocks new units, buildings, or abilities.
Procedural GenerationWorldWorld content, encounters, or items are generated algorithmically at runtime from a seed rather than authored by designers.
Tile Map WorldWorldWorld is built from a grid of discrete terrain tiles; position on the grid is the primary navigation primitive.
Faction AiSimulationMultiple AI-controlled factions autonomously pursue goals and interact with each other and the player simultaneously.
Simulation TickSimulationWorld state advances on a regular clock independent of player input; player decisions are responses to the advancing simulation rather than…
Each mechanic links to how to build it in Godot, with the retro games that share it.
Study the source
Open-source reimplementation (GPL-3.0). OpenMoM is a from-scratch C++/SDL2 reimplementation of Master of Magic that reads the original LBX data files; it is prototype-stage. https://github.com/Jakz/openmom