Master of Magic - Implode's Multiplayer Edition Version History

Introduction

This is the start of an attempt at an open source Java-based Multiplayer Client/Server edition of Microprose/Simtex's classic game 'Master of Magic'. The project is now hosted on SourceForge.

Since 0.9.5, you no longer need to have the original Master of Magic v1.31 installed to run the Client, and no configuration is necessary, just download it, unzip it and run the .bat files. All you do require is a Java 11 which is easy to download and unzip, but requires a little more work than older versions to configure it as there is no Windows installer to correctly set your PATH statement so you must do this yourself after unzipping it. On Windows, I suggest you do not unzip it into "C:\Program Files" or similar, or MoM IME will have problems with lacking permission to update its config files and save games.

To get a game going, run the server. There is nothing else to set up here, just get the server running, assuming it starts up successfully it'll say "Listening for client connection requests on port 18250". Then run the client, choose Connect to Server, and click 'localhost' assuming you're running both on the same PC. Enter a user ID and password - the first time you use it, tick 'This is a new account' - this reserves your player name on your server. After connecting, choose New Game and set options in a similar way to the original MoM (you must add at least one human or AI opponent) and click OK, and proceed through the rest of the normal game setup like choosing a wizard, picks, race and so on.

Now MoM IME is a pure Java application, it should now work on operating systems other than Windows. It has been tested on some Linux distributions so pretty sure things are generally fine there too, but obviously haven't exhaustively tested across all of them. If anybody has issues with running on other operating systems then please let me know so I can try to make improvements.

Come join our discord channel here, or contact the author at momime@hotmail.ca.

Version History

Version Date Description
Current version: 0.9.9.7 7 Nov 2011 Rare spells that now work correctly:
  • Ice Storm
  • Earthquake
  • Fixed bug with Move Fortress not also moving the Summoning Circle when it was also at the old Wizard's Fortress location
  • Gaia's Blessing
  • Fixed Banish so it can't be cast on normal units or heroes
  • Stop being able to cast Mind Storm on units with True Sight / Illusions Immunity
  • Stasis
  • Warp Lightning (only fired a single strength 10 bolt before)
  • Metal Fires
  • Magic Vortex
  • Fire Storm
  • Chaos Rift
  • Invulnerability previously granted Weapon Immunity; now added the -2 damage reduction as well
  • Righteousness
  • Prosperity
  • Altar of Battle
  • Stream of Life
  • Wrack
  • Evil Presence
  • Warp Node
  • Black Wind
  • Zombie Mastery
  • Famine
  • Cursed Lands
Fixes to common and uncommon spells:
  • Allowed casting Corruption on Nodes. Its not totally clear from the wiki whether this was intended to be allowed in the original MoM or not.
  • Stop being able to cast Weakness, Black Sleep or Possession on units with Death Immunity or Righteousness
  • Stop being able to cast Vertigo on units with True Sight / Illusions Immunity
Other new features:
  • Added overfarming rule to Rations calculation
  • Added button to overland map view to access damage calculator, so you can see results of overland damage spells like Ice Storm
  • Rewritten the way Combat Area Effects (like node auras or prayer) grant bonus stats, to enable defining what effects do not stack with other effects. Metal Fires will not stack with Flame Blade. High Prayer to not stack with Prayer. Darkness, Cloud of Shadow and Eternal Night will not stack. True Light will not stack with Heavenly Light.
  • Allowed casting Corruption on Nodes. Its not totally clear whether this was intended to be allowed in the original MoM or not.
  • Made calculator and damage breakdown screens much wider as some of the long descriptions would be wider than the screen and make a horizontal scroll bar appear.
AI adjustments:
  • AI players (both wizards and raiders) no longer get a boost to generation of rations based on difficulty level (boost now applies only to production, gold and magic power generated from cities)
  • AI players now decide what proportion of magic power to split into mana, spell research and skill improvment, rather than leaving it at the default 1/3 split
  • Decreased value rating of wild game and increased value rating of Mithril ore, so you are less likely to get a start position surrounded by 4 wild game which was common, and more likely to get a start position with a Mithril ore deposit
Damage type adjustments:
  • Magic Immunity now completely blocks Psionic blast, various lightning spells and Doom Bolt rather than just giving 50 shields (thanks andrei for pointing this out)
  • Ranged boulder attacks (e.g. Warships, Steam Cannons) downgraded to normal damage so they do trigger the defence 10 from Weapon Immunity (this changed on wiki since I originally wrote it)
  • Holy Word downgraded to deal healable damage instead of permanent
  • Word of Death changed to deal death damage, so it is healable instead of permanent, and is blocked by Death Immunity and Righteousness
  • Added new "Chaos damage" type to differentiate between spells that are blocked by Righteousness and those that aren't (e.g. Psionic Blast vs Lightning Bolt)
Fixed bugs:
  • Fixed bug introduced in 0.9.9.5 where if an attacker won a combat, was told some of the dead defenders units were turned into undead, then those undead would be immediately killed off
  • Stopped being able to instant cast overland spells during another player's turn
  • Stopped AI players (and human players putting combats on auto) being able to aim spells at invisible units they can't see (thanks andrei for pointing this out)
  • Corrected bonuses granted by Prayer and High Prayer in line with wiki
  • In 0.9.9.0 Chaos/Sorcery/Nature mastery and Archmage made spells more difficult to dispel, but same had not been applied to Combat Area Effects
  • Stop being able to close the combat screen from taskbar thereby locking up the game
0.9.9.6 28 Sep 2021 Uncommon spells that now work correctly:
  • Detect Magic
  • Flying and Non-corporeal units are now immune to Cracks Call; also Cracks Call now destroys sections of city wall and can be targeted directly on city walls
  • Nature's Cures
  • Change Terrain
  • Transmute
  • Blur
  • Vertigo worked before, but updated so the blue swirl stays showing on the affected unit after casting
  • Wind Mastery, and also updated description to be more accurate
  • Raise Volcano
  • Spell Blast
  • Resurrection
  • Planar Seal; also updated help text as the way this affects Towers of Wizardry is different from the original MoM
  • Drain Power
  • Possession
  • Lycanthrophy
  • Berserk
  • Walls of Darkness
New features or fixes applicable to multiple spells:
  • Hero items held by heroes killed by permanent damage (cracks call, petrify, disintegrate, stoning touch, etc) are lost rather than awarded to the winner of the combat
Other new features:
  • Wizards (F9) screen redesigned to accomodate Detect Magic, Spell Blast and other spells that require picking an enemy wizard to target
Fixed bugs:
  • Healing and Mass Healing now cannot be used on Death creatures or Undead (as per MoM wiki)
  • Stopped client trying to show animation for "Raiders have been defeated" when their last city is taken
  • Fixed batch files to run the editors which had broken version numbers in them
  • Fixed more ways a game can end so the server ends the session cleanly
  • Fixed sound effect for Earth Lore
  • Fixed bug when someone starts casting Spell of Mastery, it would show the animation for it, and immediately show the animation for them finishing casting it and winning the game (though game wouldn't end until they really did finish casting it and the animation would play again)
0.9.9.5 17 Aug 2021 Common spells that now work correctly:
  • Web worked partially before, now
    • Added casting animation, sound, and image overlay
    • HP of web displayed on unit info, and unit being stuck in it and damaging HP of the web each turn until it frees itself
    • Non-corporeal units are immune to web
    • Webs cannot be dispelled
  • Resist magic no longer displays +5 crosses on unit info as it doesn't apply in all situations; stopped benefit applying to poison damage
  • Floating Islands can be summoned to any ocean tile and will not participate in any combats
  • Confusion was castable before but had no effect, now
    • Units with Illusions Immunity or True Sight are immune to Confusion
    • Rolls at the start of each combat turn to decide whether the unit does nothing, moves randomly, is controlled by the unit owner, or is controlled by the enemy
  • Warp Wood worked partially before but fixed up when it is and isn't valid to use
  • Eldritch Weapon giving -1 to block to enemy unit now works; also negates Weapon Immunity (also applied to Flame Blade)
  • Shatter now reduces most attacks to strength 1, and added animation on top of shattered units
  • All 3 penalties from Warp Creature now work correctly
  • Wall of Fire now works correctly and burns non-flying units if they move from outside the wall to inside, or try to attack across it
  • +1 to hit from Holy Weapon now only applies to melee attacks, physical ranged attacks, and thrown weapons (and so it no longer shows on unit info screen)
  • Heroism exp bonus now works correctly, is automatically dispelled when unit reaches 120 exp naturally, and cannot be cast on units who already have 120 exp
  • Added animation for units affected by Weakness, and the -2 to ranged attack now only affects regular bows/slings, not boulder or magical ranged attacks
  • Dark rituals now generates unrest and magic power, and reduces population growth
  • Black sleep had minor adjustment to the way it negates movement and defence
  • Terror now zeroes out movement allocation if the unit fails its resistance roll each combat turn
  • Mana Leak now drains enemy wizard's MP, caster units' MP and ammunition of units with ranged magical attacks
New features or fixes applicable to multiple spells:
  • Now get saving throw to resist unit curses, for example confusion or black sleep
  • All unit curses with the exception of Web are now blocked by Magic Immunity
  • Clarified the way saving throw modifiers to resistance based spells and attacks are held and fixed up this data on a lot of spells
Fixed bugs:
  • After a successful Spell Binding, the client would have 2 copies of the spell, one with the old owner and one with the new owner
  • Saving throw modifiers which are increased for specific magic realm creatures (e.g. Dispel Evil or Holy Word being more potent vs undead) are now applied consistently across all damage types
  • Chance to Block cannot be reduced below 10% (though not sure if this is even possible)
  • Stopped being able to cast Immolation on units that have it naturally (Doom Bats) for double effect
  • +1 to hit from Magical, Mithril or Adamantium weapons now only applies to melee attacks, physical ranged attacks, and thrown weapons (and so it no longer shows on unit info screen)
Text updates:
  • Re-added in damage calculator showing Chance to Block on damage rolls, so you can see bonuses/penalities like High Prayer, Lucky or Eldritch Weapon are working correctly.
0.9.9.4 16 Jul 2021 Unit skills that now work correctly:
  • Healer
  • Regeneration
  • Summon Demons
  • Hydras' multiple heads
  • Plane Shift
  • Wall Crusher
Changes to combats:
  • Cities are now 4x4 tiles like the original MoM (previously they were 5x5 to accomodate the 20 unit limit which was removed in 0.9.9.3)
  • Units inside City Walls now get defensive bonus when being attacked by units outside the City Walls
  • Each 2 units that attack a unit in the same combat round reduce that unit's To Hit chance when making counterattacks by 10% (as per MoM wiki)
  • Cannot walk through the gate in City Walls diagonally
Other new features:
  • Units being in a city now boosts healing rate, and moreso if the city has an Animists' Guild
  • When a unit has a fixed spell it can cast (e.g. Giant Spiders' web, Magicians' fireball, Priests' healing), right clicking the skill in their unit info panel now shows help for that spell
  • AI players (and human players putting combats on Auto) will now cast unit fixed spells
  • AI players (and human players putting combats on Auto) will now cast spells imbued in hero items
  • Skills granted from hero item bonuses are now defined separately from base unit skills and skills granted from spells, so they appear with the correct brown background icons
Fixed bugs:
  • Permanent damage (e.g. from being turned to stone) will no longer heal each overland turn
  • Units being turned into undead who lost some figures due to permanent damage will now become undead without regaining those figures
  • Holy Avenger hero item attribute didn't add Dispels Evil 4, and Stoning hero item attribute didn't add Stoning Touch 1
Text updates:
  • Updated help text of Healer skill and Animsts' Guild to describe how healing rate each turn is calculated
0.9.9.3 30 Jun 2021 Unit skills that now work correctly:
  • Invisible units in combat now appear semi-transparent if they can be seen (for example if you have a unit in adjacent cell or any unit in combat with True Sight) or completely hidden if you cannot see them
  • Completely hidden units cannot be targeted by spells; semi-transparent units may be
  • Both completely hidden units and semi-transparent units cannot be targeted by ranged attacks unless the attacker has True Sight/Illusions Immunity (another unit being able to see the enemy is not sufficient)
  • Semi-transparent units are at -1 to hit with melee attacks or counterattacks
  • Invisible units are hidden on the overland map, even if there are adjacent units with True Sight
  • Teleporting
  • Merging
Spells that now work correctly:
  • Mass Invisibility now acts like all units in combat have Invisibility cast on them
  • Black Sleep and Web now negate Flight, so flying units that are asleep or webbed in combat can be attacked by ground units
Other new features:
  • In simultaneous turns games, now tells you the difference between waiting for other players to allocate moves, and when all players have allocated moves and waiting for the server to process them
  • AI will now make multiple moves or attacks with the same unit in combat if it can
  • Select units buttons on the overland map and city screens are now considerably larger so its easier to see which unit it is; city screen button layout changed a bit to accomodate the bigger unit buttons
  • Units on new turn messages scroll also drawn double size so easier to see which unit it is
  • Units with flags (or other variable colour bits) are now drawn in the controlling wizard's colour
Fixed bugs:
  • Fixed bug where in simultaneous turns games you could sometimes walk onto a tower from Myrror without fighting the units guarding it
  • When a wizard is banished, don't charge the 3 magic power consumption of Wizards' Guilds, as wizards generate no sources of magic power when banished, this made it go negative
  • It was possible in a certain way to cast combat spells when not your turn, so fixed this (and applied same to Done/Wait/Flee)
  • New turn messages with long lines of text now wrap correctly
Removed features:
  • Removed option to change max number of units per map cell to anything other than 9 (I feel this is too tightly tied to the economy and needing to provide food for bigger stacks)
0.9.9.2 14 Jun 2021 New features:
  • AI players will decide which items to give to which heroes
  • Spell of Mastery can now be cast to win the game
All remaining Hero skills now work correctly:
  • Armsmaster granting experience to stacked normal units
  • Noble giving +10 gold per turn instead of charging upkeep
  • Charmed giving +30 resistance in combat
  • Leadership giving bonus to melee and ranged attack, as well as fire breath attacks and thrown weapons, of the whole unit stack
  • Prayermaster giving bonus to resistance of the whole unit stack
  • - Spell Save from hero items used in conjunction with attacks that roll against enemy unit's resistance
Unit skills that now work correctly:
  • Flying units in combat can only be attacked by enemy units who are also flying, have a thrown, breath or gaze attack, or with ranged attacks
Fixed bugs:
  • Holy Bonus and Resistance to All now only apply in combat
  • Split "Fire damage" out into separate "Fire breath damage" type, so that Magic Immunity provides 50 defence against it but does not make the unit completely immune as per MoM wiki (Magic Immunity does make units completely immune to other fire-based attacks like Fire Bolt or Flame Strike)
  • When raider cities are being given free buildings at start of game, make sure the race inhabiting the city is actually allowed that kind of building (stop Halfings and Dwarves from getting Stables)
  • Combat screen was showing area effects (e.g. crusade, charm of life) owned by players not even involved in the combat
  • AI players are supposed to ignore heroes when considering all units they can construct or summon, but were not
  • Animation for spells being cast on overland map were being shown even if the spell was cast on the opposite plane to what we're currently looking at
Text updates:
  • Updated help text of Leadership hero skill to be accurate
  • Updated help text of several unit attributes to include mentioning bonuses from Leadership, Prayermaster and others
Technical changes:
  • Server now exposes MBeans so you can use JConsole to see who is connected, which sessions are running and other useful info
0.9.9.1 4 Jun 2021 New features:
  • Fame gained and lost from winning/losing important combats, capturing/losing cities, banishing/defeating a wizard, losing heroes
  • Get offers to hire heroes and units, and to buy hero items
  • Gold upkeep of troops is now reduced by your fame
  • New game setting to control whether razing cities gains or loses fame (on for Intro..Impossible difficulty levels for accuracy with original MoM; off for Recommended difficulty level)
Retorts that now work correctly:
  • Famous retort now grants +10 fame and doubles chance of receiving offers each turn
  • Charismatic halves price of offers
Spells that now work correctly:
  • Just Cause now grants +10 fame
Unit abilities that now work correctly:
  • Heroes with Caster ability parked in Wizard's fortress now add half their caster value to the controlling Wizard's casting skill for casting overland spells
  • Heroes with Sage ability now contribute to Wizard's research
  • Heroes with Legendary ability now contribute to Wizard's fame
Fixed bugs:
  • Units summoned in a city combat (like phantom warriors) no longer get get magic/mithril/adamantium weapons if the city can make them (thanks to Druthlen for spotting this)
  • +10 skill bonus from Archmage is now added dynamically so 1) you gain it if you earn Archmage as a treasure reward during the game and 2) spending magic power to improve casting skill is now worked out prior to adding the +10, so you aren't penalized for having the higher casting skill (after I read this on MoM wiki)
  • Gain 2 exp instead of 1 for each unit killed in battle (again because I read this on the MoM wiki, previously had just guessed +1 exp)
  • Fixed server issue where if something made a bad connection to the server (e.g. try connecting with mismatching version MoM IME client), it would hang the server and thereafter refuse to accept legitimate connections
  • If you or another wizard gains additional picks from treasure and already have the screen open looking at that wizard, they will now update properly without having to refresh it manually
  • AI players were generating incorrect player names since all the XML refactoring in 0.9.9.0
  • Power history graph didn't close out when the game ends
Trivial changes:
  • Changed client to defaut to smooth zooming off since it just makes the overland map look blurry
  • Updated several of the flag colours which were too dark and difficult to distinguish
  • When summoning heroes, the new turn messages scroll now shows their portrait rather than the generic male/female summoning photo which didn't really look right on the scroll
Technical changes:
  • If client connects to a server running the wrong version of MoM IME, now shows a popup message about it rather than just showing an exception in the log
  • If client connects to a server running something other than MoM IME, now shows a popup message about it rather than just showing an exception in the log
0.9.9.0 18 May 2021 Spells that now work correctly:
  • Dispel Magic, Dispel Magic true (worked before, but added sound+graphics)
  • Disenchant Area, Disenchant True
  • Disjunction, Disjunction True
  • Spell Binding
  • Counter Magic
  • Just Cause reduces unrest in all cities by 1 (thanks to The MythMaker for spotting this)
Retorts that now work correctly:
  • Node Mastery makes you immune to the dispelling effect of nodes
  • Node Mastery earns double Magic Power from captured nodes
  • Archmage's spells are twice as difficult to dispel and twice as resilient to Counter Magic, node auras and similar blocking effects
  • Chaos/Sorcery/Nature mastery makes spells of that realm twice as hard to dispel
  • Chaos/Sorcery/Nature mastery earn double Magic Power from captured nodes of that type
  • Runemaster is twice as good at dispelling
Unit abilities that now work correctly:
  • Spell Lock preventing other unit enchantments from being dispelled and having special difficulty of 150 on attempts to dispel it
Other game elements that now work correctly:
  • Dispelling power of nodes
Minor new features:
  • If client language is set to other than English, but no translation exists for a particular name or piece of text, will now default that text to English rather than displaying the language entry key, so at least the game is still playable
Fixed bugs:
  • AI had no targetting rules for Raise Dead / Animate Dead and so if it tried to cast these in combat it would give an error
  • AI would try to cast Wall of Fire/Darkness/Stone in combat even if it already had that spell in that city, resulting in an error
  • If we previously saw a unit and it had spells cast on it, then while we couldn't see it lost some of those spells, and now we walk up to it and see the unit again, we can now see the spells are gone
  • Properly handle if the last enemy unit in combat has lost health but has Lionheart cast on it and we dispel it thereby killing it and winning the combat
  • Properly handle if the last enemy unit in combat has lost health but has Lionheart cast on it the unit owner willingly switches Lionheart off thereby killing it and losing the combat
  • When wizards were defeated and removed from the game, any combat area effects they still had cast weren't being cleaned up
  • Fixed error if a player's units died in combat before they even had an overland move (if they weren't first player in a reloaded game)
Removed features:
  • Removed "unit scale" option which would show 4x number of figures instead of double pixel size of combat units so just works like original MoM
Name changes:
  • Previously there was both a sword and wand both called "White Lightning". Renamed the wand to "Wand of Lightning" so they're unique.
  • Previously there was both a shield and axe both called "The Resistor". Renamed the axe to "Axe of Resistance" so they're unique.
  • Updated description of range penalty on channeler retort to be more accurate.
Technical changes:
  • Huge refactoring of XSD/XML files so all data about a wizard, unit, or any other game element is all kept in one place rather than split across 3 different files (+additional language files)
  • A side effect of the XML refactoring is that now the client starts up much faster, but it takes longer to start, join or reload a game
0.9.8.6 22 Jan 2021 Fixed bugs:
  • Fixed error when a spell gets cast on or removed from a unit in a combat that you aren't involved in, but are close enough to see the spell being cast
  • Fixed missing validation that allowed trying to cast Earth to Mud / Disrupt Wall without picking a target combat tile
  • Stopped AI trying to cast Earth to Mud / Disrupt Wall as they aren't very useful and it doesn't understand how to target them
  • New game setting to stop the same wizard being chosen by more than one player (which is on by default) now doesn't stop more than one player from picking Custom
0.9.8.5 24 Sep 2020 AI improvements:
  • AI wizards will now summon units overland, including knowing when to summon magic/guardian spirits to capture nodes with
  • AI wizards will now cast unit enchantments, city enchantments and city curses overland
  • AI wizards will now cast all types of combat spells
Fixed bugs:
  • Fixed several issues to do with the AI handling of units moving on/off of Towers of Wizardry
  • Stopped cities dropping to under 1,000 people (at which point you have 0 farmers and can't produce anything)
Game balancing:
  • Reduced bonuses (cheating) that AI wizards and raiders get on "Recommended" difficulty level to be more like "Hard" in original MoM rather than like "Impossible"
Fixed bugs:
  • In simultaneous turns games, fixed problem where units would often starve before your next turn after you capture a city from an AI player
  • Fixed crash sometimes happening when things are being automatically cancelled/killed off to save overspent resources (e.g. units starving)
0.9.8.4 30 Aug 2020 New features:
  • Historian screen added, showing graph of all wizards' power base
  • Ending animation and game closes down properly when you win the game by capturing the last wizard's last city
AI improvements:
  • In combat (both AI wizards, raiders, and your own units if you put the combat on Auto), units now prefer to attack units close to them, so they won't run past perfectly good targets to try to reach an identical unit at the back
  • Stopped AI from using settlers to build cities with max city size less than 5, so it doesn't go throwing tiny useless cities all along the tundra
Fixed bugs:
  • In simultaneous turns games, units with a pending combat are no longer considered to be "halfway there" to the combat they are waiting to do, and can be attacked by another combat in their old cell prior to leaving. The old rules gave rise to some unresolvable situations.
  • In simultaneous turns games, fixed problems with casting spells if there's more than one combat in the same location in the same turn
  • In simultaneous turns games, fixed problems with a player possibly losing their turn altogether if there's more than one combat in the same location in the same turn
  • In simultaneous turns games, fixed melding with nodes
  • In simultaneous turns games, fixed moving onto towers from Myrror
  • Fixed error in treasure reward screen when you find a hero, but there is no space for them to fit or to be bumped to an adjacent tile
  • If a unit has a spell cast on it (e.g. Lionheart) that gives it +HP, and takes enough damage and then has the spell removed thus ending up with 0 or negative HP, then the unit is killed off
  • Stopped combat ended scroll from saying "hero item(s) from heroes that died in battle were added to your fortress vault" if you lost the combat
  • Fixed graphics XML editor to correctly handle the xsd:union used to allow colours to be 6 or 8 chars long
Performance:
  • Moved code to work out where units can move to on the overland map into common lib, so the client can work this out itself - previously sent a message to the server and the server replied back with the movement area which made things very slow especially for non-local server
  • Army list screen is now a modal, so you can open it but must close it again, you can't leave it open and continue using other screens. Did this because once you have several hundred units, this screen was making the client freeze and lock up and generally run terribly.
  • All data sent between client and server is now compressed, which helps a lot with a non-local server
  • Several actions on the server that generate a lot of unit updates to the client now collate those into a single bulk message (e.g. units all getting full movement back at start of a turn, units healing 1 HP and gaining 1 exp at the end of a turn) so the client doesn't get flooded with messages
  • The client when processing bulk unit update messages is now more clever about only updating certain UI components once for the whole bulk message, instead of once per unit
0.9.8.3 13 Aug 2020 New features:
  • When clicking a spell to cast it in the spell book, now shows an animation rather than closing the spell book
  • Can now click spells on the Queued Overland Spells screen to cancel them
  • Non-corporeal units (like Magic Spirits) and units with Wraithform cast on them now look semi-transparent in combat
  • New client option allows turning off animating unit movements on the overland map to speed up the game - you need this after you have Awareness cast
  • Number of lairs now varies according to map size
  • Recalculated the number of nodes, towers, raider cities on maps that are smaller/larger size than standard to make maps scale more consistently
  • Added Gigantic map size option (but warning, the AI turns are very slow so this is probably not really viable and just there for testing)
  • When wizards are banished or defeated, can steal up to 2 spells from them
  • When wizards are banished or defeated by another wizard, half their stored Mana is taken
AI improvements:
  • Raiders now have different weightings to decide what to build than AI wizards do, so they put put greater emphasis on churning out lots of units, and less on constructing buildings
  • Raiders get lower city growth and resource production bonuses than AI wizards
Fixed bugs:
  • After using Create Artifact and picking Spell Charges, and using the spell book to choose the spell to imbue into the item, spell book now returns to normal overland casting mode
  • If banished while in the middle of casting an overland spell, queued spell screen might show that mana as contributing towards casting Spell of Return (though it was right on the server, so just a visual error)
  • Units with 0 attack strength (like Settlers) are now not allowed to make melee attacks in combat
  • If both sides in an AI-vs-AI combat are doing nothing (for example 2 settlers who cannot attack each other) then just end it immediately and declare the defender as the winner
  • Fixed error when trying to use spells natural to a unit (e.g. Magicians' Fireballs) or spells imbued into hero items if that spell can normally have extra MP channeled into it for more damage
  • Fixed problems if a spell awarded from capturing a node/lair/tower happened to be the spell you were currently researching
  • Don't allow life stealing attacks (e.g. ghouls) creating undead after a combat to result in going over the maximum number of units allowed per map cell
  • Fixed crash when the last unit in combat is killed by casting a spell
  • Fix when selling a building, sometimes the city view screen would not update to show it removed
  • In simultaneous turns games, at the end of each turn AI players now clear pending movements of anywhere they couldn't reach in 1 turn; I think this was causing most of the issues/crashes with simultaneous turns games
0.9.8.2 31 Jul 2020 Handling of wizard's fortress being taken:
  • Shows animation when wizards are banished or defeated, and when they successfully cast Spell of Return
  • When wizards are defeated (last city is captured), all remaining spells and units owned by the wizard disappear and any nodes they had captured return to an unowned state
  • When wizards are banished (have another city), if summoning circle is in a different city then they lose that too
  • When wizards are banished (have another city), power base and research are all zeroed out
  • When wizards are banished or defeated, all queued spells are removed and Spell of Return is automatically queued
  • When a wizard loses a combat where their summoning circle is, if their Wizard's Fortress is in a different city then their summoning circle automatically moves there
  • When human players are defeated (last city is captured), they're converted to AI players and kicked out of the game back to the title screen
  • When the last human player is defeated, the game ends
  • Wizards cannot pick spells to cast or research while banished (but heroes or units like Archangels with their own MP pool can still cast in combat)
Other new features:
  • AI will cast overland enchantments
  • AI will use alchemy to turn gold into mana if their mana is low (principally added this so banished AI wizards can raise enough mana to cast Spell of Return)
  • When heroes gain a level, now shows on messages scroll and plays music
Fixed bugs:
  • In one-player-at-a-time games, when AI players initiate a combat it will now correctly pause their turn until the combat completes and resume afterwards
  • If an AI player tries to execute a special order on a unit (like build a city or road) and fails, now just skips that unit rather than getting stuck in a loop
  • When rush buying units, now shows how much it will cost
  • Fixed exception that occurred in UI sometimes when units are killed or removed (e.g. settler making a city, or magic spirit melding with a node) but the UI was still trying to draw selection buttons for them
  • Move Fortress will only move the Summoning Circle as well if it was previously in the same place as the Wizard's Fortress
Technical changes:
  • Now will supply a choice of 2 downloads, one with a pre-packages JRE for 64 bit Windows so there's no need for people to know how to download and set up Java
0.9.8.1 6 Jul 2020 Major new features:
  • Roads are now placed at the start of the game between raider cities that are close to each other
  • Engineers can now build roads
  • Roads correctly reduce movement points to move along them, both overland and in combat
  • AI will build roads
Spells that now work correctly:
  • Enchant Road
Fixed bugs:
  • Fixed crash possible when a city was razed, but an AI player did not see it get razed and still believes there is a city there, and is considering where to send a settler to put a new city (thanks to LowSkill for raising this)
  • Various tweaks made to AI to try to stop it getting stuck in an endless loop now that enchanted roads mean units can move forever
0.9.8.0 31 May 2020 Major new features:
  • AI decides which of its cities can build the best units, and how badly it does or doesn't need more combat units, and sets all city construction accordingly
  • AI decides how much defence it needs in all of its cities and captured nodes and towers and will station units there accordingly
  • AI will use units to scout around the map, from stacks of combat units, and attack where it thinks it has a good chance of winning a combat
  • AI will make intelligent decisions about what tax rate to pick rather than just sticking on the default
  • AI will decide when it should rush buy what cities are constructing
  • AI wizards and Raiders get the same production bonuses and benefits such as cheaper upkeep as in the original MoM, depending on difficulty level
Minor new features:
  • Improved initial placement of wizard and raider cities to stop wizard cities often appearing right next to each other
  • City view and unit info screens now show name of the player, since the flag colours are sometimes difficult to tell apart
  • Changed all difficulty levels to turn on allowing each wizard to be chosen only once
  • Created a new "Recommended" difficulty level, which is like Impossible but you (and the AI wizards) only get 10 spell picks instead of 11, and raider cities have no size cap (other than from available food)
Fixed bugs:
  • Removed melee attack from Barbarian and Gnoll settlers, which was making the AI treat them like combat units
Technical changes:
  • Now requires Java 11 to run
0.9.7.4 25 Sep 2016 Fixed bugs:
  • Fixed crash when capturing empty cities
  • Fixed crash in the combat cleanup code which happened after a hero died in combat
  • Units with no basic +to hit / +to block skill that gain it through some bonus (e.g. casting Holy Weapon or gaining experience) would never show it on the unit info screen (but the damage calculations would use it - visual bug only)
  • New turn messages scroll will now show a scroll bar if you generate a huge number of messages in a single turn
  • City construction that requires for example 100 production points completes when 100 production have been put towards it; previously it would require 101
  • Stop overland map window being resized down below 640x480
  • Fixed so area on the main map screen underneath the resource area is kept black rather than sometimes having leftover bits of map visible there
0.9.7.3 4 Sep 2016 Spells that now work correctly:
  • Dispel Magic, Dispel Magic true
  • Recall Hero, Word of Recall
  • Earth Lore
  • Corruption
  • Disrupt Wall
  • Earth to Mud
  • Black Sleep
  • Damage from Psionic Blast is now downgraded from Illusionary to Single Figure if the target has Immunity to Illusions or True Sight
Skills that now work correctly:
  • Negate First Strike
  • Purify
  • Elemental Armour and Resist Elements will no longer stack
  • Iron Skin and Stone Skin will no longer stack
  • Illusionary Attack now upgrades the kind of damage dealt by other attacks (melee, ranged, thrown) to be Illusionary, unless the target has Immunity to Illusions or True Sight
  • Armour Piercing now upgrades the kind of damage dealt by other attacks (melee, ranged, thrown) to be armour piercing
  • Holy Weapon, Eldritch Weapon and Flame Blade now negate Weapon Immunity
  • Undead units now get all their invulnerabilities
Other major new features:
  • Hero items now grant skills based on their imbued properties
  • Skills that grant other skills now work correctly (e.g. Invulerability grants a secondary Weapon Immunity effect)
Minor new features:
  • Flying and non-corporeal units now ignore terrain in combat, so they neither are impeded by ridges nor gain the benefit of roads; and can also fly over Wall of Stone/City Walls
  • Undead now have a visibly different appearance in combat and on the unit info screen
Fixed bugs:
  • Fixed bug stopping conditional skill bonuses from applying (e.g. bonuses from Resist Elements that only apply when the incoming attack is Nature or Chaos-based)
  • Fixed bug where if a unit makes a melee attack in combat and dies from the counterattack, it would still prompt the now dead unit to make another move
  • Can no longer target city curses (e.g. Famine) at cities that you cannot currently see (avoids awkwardness if the city has since been destroyed but you aren't aware of it because you haven't seen it for a long time)
  • Fixed movement rate rules for non-corporeal creatures so they take a full movement point per tile instead of a half (though I decided to set this up slightly differently than the original MoM)
  • Fix incorrect case of searches for ".Master of Magic Language.xml" files
0.9.7.2 17 Feb 2016 Major new features:
  • Cities screen
  • All damage dealt is now assigned one of a list of damage types, e.g. fire damage, stoning damage, and immunities work accordingly. e.g. Magic Immunity will make a unit completely invulnerable to fire damage, but Fire Immunity will grant 50 defence against it.
  • Damage to units is now recorded as healable, permanent and life stealing. Units killed mostly with life stealing damage (e.g. from ghouls, life stealing attacks or life drain spell) will come back as Undead.
  • Raise Dead and Animate Dead spells now work correctly and can be used to resurrect units in combat, as long as they weren't killed mostly by permanent damage
  • Healing and Mass Healing spells now work correctly
  • Life stealing attacks now recover HP to the attacker
Minor new features:
  • When heroes holding items die in combat, those items are awarded to the winner of the combat
  • Units with free spells (e.g. Giant Spiders 'casting' web, or Magicians casting Fireball) now show an icon for it in their skills list
  • Champions' book requirements where appropriate, e.g. to summon Ravashack the Necromancer you need at least 1 Death Book
  • Saved points for each saved game will now only retain saves for the last 16 turns rather than filling up disk space on the server forever
  • Ability to delete saved games
  • A good chunk of client-side data is no longer stored in saved game files, instead it is regenerated on the fly as the game is reloaded (so saved game files are smaller, save faster and are less likely to become unusable with newer versions of MoM IME)
  • Can now cast Chaos Channels on Black Channeled units and vice versa and the resulting units have the proper characteristics of both
  • Can no longer switch off Chaos Channels
  • Right clicking on a blank area of the map when you have no units left requiring movement orders will now centre the map at that location (thanks to AndO3131 for this)
Fixed bugs:
  • When reloading one-player-at-a-time saved games, fixed the turn number not appearing on the first turn
  • Demon Lord and Ravashack the Necromancer's ranged attacks didn't include the life stealing component
  • Fixed the magic screen not showing when an overland spell is added to the head of the spell queue until the following turn (thanks piratep2r for pointing this out)
Fixed bugs in the editors:
  • Editors will now run with no internet connection (previously it wanted to download xml.xsd on startup)
0.9.7.1 23 Dec 2015 Minor new features:
  • Housing and Trade Goods settings now work correctly
Fixed bugs:
  • Fixed crash when awarding specials (books or retorts) in treasure rewards
  • Fixed crash if after selling a building in a one-player-at-a-time game, you click the gold coin marker than appears showing that a building was sold
  • Fixed crash if you have a city window open looking at a city, and it gets captured and the player razes it
  • When the messages scroll tells you that a city has finished construction, and you change the construction via the city screen without clicking on the scroll, the scroll now updates properly
0.9.7.0 21 Dec 2015 Major new features:
  • Unify unit skills and attributes so the only place any distinction is made is what images are specified for them in the graphics XML and how they appear on the unit info screen, which there's a new setting on the Options screen for
  • Movement speed is now treated like any other unit attribute, and displayed as such on the unit info screen (this is to enable effects that modify movement speed to work, such as the Endurance spell)
  • Spells which add some amount to another unit stat, or all units in the stack, now give their correct bonuses, e.g. Iron Skin, Endurance, Lucky, Holy Bonus
  • Conditional stat bonuses that only activate for certain units, or in response to certain kinds of attack, also work correctly, e.g. Large Shield, Flame Blade, Bless, Resist Elements
  • Enchant item and create artifact spells now work correctly, and the artificer and runemaster retorts give correct crafting cost reductions; several new options on the New game unit settings screen govern hero items
  • Armies screen
  • Items screen, so hero items can be moved around between storage, being equipped by different heroes, and broken on the anvil to convert into MP
  • Heroes can cast combat spells from their own mana pool, or cast spells imbued in items; same for units with their own mana pool like Efreets and Archangels
  • Units can now cast any fixed spells they have (e.g. Giant Spiders 'casting' Web, or Magicians casting Fireball)
  • Treasure rewards from capturing nodes/lairs/towers
  • Overland mini-map
Minor new features:
  • New setting on the Options screen for whether to display hero portraits
  • Units remember being on patrol orders when saved games are reloaded
  • Units remember pending movement orders when saved games are reloaded
  • Can now rename cities at any time - you don't get the prompt popping up to name a city when it is created
  • Handles right clicks on blank areas of the map better, so the game doesn't appear to get stuck showing "Current player: you"
Features from 0.9.4 Delphi client added back in:
  • Upkeep shown on the unit info screen now includes the upkeep of spells cast on the unit, and will show halved for wizards with the Channeler retort
Fixed bugs:
  • In one-player-at-a-time games, pending movements will now not initiate combats - you have to reclick the destination to confirm the attack first. This fixes problems when 2 or more pending moves resulted in multiple combats being initated at the same time.
  • Fixed combat attack spells like Doom Bolt which became broken in 0.9.6.2
  • Leaving the new game unit settings option "Roll hero skills at start of game" not ticked now works correctly and doesn't crash the server on startup
  • Units no longer show their movement animation if they're moving on the opposite plane to the one you're looking at
  • Fixed text of hero skills on unit info screen, so they don't display as e.g. " Armsmaster 1" or "Super Armsmaster 2"
  • Heroes now show their complete names, e.g. "Rakir the Beastmaster" instead of just "Beastmaster"
  • Fixed attacking lairs/nodes on Myrror directly from a tower of wizardry, and visibility of units guarding towers when looking at the tower from Myrror
  • Fixed crash when trying to rush buy a building or unit that had 0 production put towards it so far
  • Fixed crash when first combat is against a city with no defenders
0.9.6.3 4 Sep 2015 Fixed bugs:
  • Provided .sh files, fixed classpaths and loading of XSDs, so runs smoothly on Linux
0.9.6.2 25 Aug 2015 Major new features:
  • Special attacks now work correctly: Armour Piercing, Poison, Breath, Thrown, Gaze, Touch attacks, Cause Fear
  • First Strike and Haste correctly alter attack resolution sequence
  • Range penalties for non-magic range attacks, plus range penalty limitation by Long Range skill
  • Melee and ranged attacks are now processed from each figure separately (as per the MoM Wiki) rather than a combined attack (as the MoM strategy guide incorrectly states)
  • Calculate position of national borders/friendly zones from each player's memory independantly, and allow viewing borders via new checkboxes on the Options screen
Minor new features:
  • Proper z-sorting of combat map elements, so it doesn't look glitchy when units walk past each other
  • When a city is captured, any effort they'd put towards a construction project is now lost like the original MoM, and the chosen construction resets to default (housing)
  • Casting city enchantments in combat (wall of fire/wall of darkness) now work correctly
  • "Can see what enemy cities are constructing?" new game Fog of War option now actually lets you see what enemy cities are constructing
  • Tripled size of damage calculation breakdown box given how much more data is shown now that figures attack separately
  • Skills with an attack rating such as Fire Breath and Thrown Weapons now display it correctly
Features from 0.9.4 Delphi client added back in:
  • Combat tile border images, for wall of stone/darkness/fire
Fixed bugs:
  • Units coming into view that have enchantments cast on them no longer show the spell animation
  • Prevent casting the same combat enchantment (e.g. Prayer) multiple times
0.9.6.1 31 May 2015 Major new features:
  • Loading and unloading units into transports (ships and floating islands)
  • Naval combat handled correctly (swimming and flying units can help; land units cannot)
  • Saving and reloading multiplayer games
Fixed bugs:
  • Fixed joining multiplayer games
  • Fixed bug where if you try to take a unit off of patrol, but move the mouse even a pixel between pressing and releasing, the patrol orders are not cancelled
  • Fixed crash on help text page for Floating Island spell
  • Fixed crash when starting a combat on a water tile
Fixed bugs in the editors:
  • Fixed server and language editors, broken in 0.9.6 with error about deleted namespace http://momime/common/database/newgame
  • Fixed movement rate preview on unit screen in the server editor (values were being calculated incorrectly)
0.9.6 22 May 2015 Major new features:
  • Complete revamp of how simultaneous turns movement and combats are resolved (most noticable effect of which is that the server now chooses order to process combats in rather than asking players)
  • Web, Entangle and Possession and many combat attack spells such as Fire Bolt, Flame Strike, Disintegrate, Death Spell are now castable (the fact that they're castable doesn't necessarily mean that they work 100% yet, in particular immunities to spells do not work yet)
  • Saving and reloading single player games (please read comments in readme about this)
Minor new features:
  • Combat Area Effects from City Enchantments, so that Heavenly Light and Cloud of Shadow work correctly
Features from 0.9.4 Delphi client added back in:
  • Images now show correctly inline in help text, e.g. when right clicking to get help on unit attributes such as Melee or Defence
  • Calculator button in combat shows detailed damage calculation breakdowns again
  • Icons showing special orders (meld node, build city, dismiss) are shown on the overland map in simultaneous turns games, and units on patrol are greyed out
Fixed bugs (thanks to Andy III for spotting all 3 of these):
  • Fixed game crashing if you try to give special orders (meld node or build city) to units in a simultaneous turns game
  • Fixed building raceless units (triemes, catapaults, etc)
  • Fixed cancelling too many spells after city combats
Changes to the editors:
  • Greatly improved handling of entities with an inheritance path (i.e. just about everything in the server XML); doing much with these threw a lot of exceptions before
0.9.5.5 18 Feb 2015 Features from 0.9.4 Delphi client added back in:
  • Auto centreing of map to the unit that's moving
  • Right clicking on lots of in game elements to get help text
  • On the custom picks screen, clicking on retorts that are disabled will pop up a message explaining why they are disabled (e.g. Divine Power will tell you that you need 4 Life Books)
  • Shortcut keys, e.g. arrow keys moving on overland map, N for Next Turn, F1 for Surveyor and so on
  • Renaming heroes
Minor new features:
  • The mini scroll that appears at the end of a combat saying whether you won or lost now has a proper close button
Fixed bugs:
  • Fixed overlap on custom picks screen that prevented clicking on the bottom line of retorts (Summoner, Charismatic, Node Mastery)
  • Fixed Spell Ward to show effect name (e.g. Chaos Ward) after casting
0.9.5.4 22 Jan 2015 Features from 0.9.4 Delphi client added back in:
  • Options screen
  • Coloured bars on the overland map screen to show progression of players' turns
  • Show name of player whose turn it currently is
  • Simultaneous turns games (however there's a lot of issues with combats; recommend sticking to one-player-at-a-time games if you want a stable game, see planned list for 0.9.6)
Minor new features:
  • Language choice moved from its own main menu option to a value on the options screen, so its now possible to change language after a game has started
0.9.5.3 1 Jan 2015 Features from 0.9.4 Delphi client added back in:
  • Icons on the Next Turn button that tell you when you have insufficient production, need to target a spell, or need to pick a spell to research before you can end your turn
  • Apprentice/F3 to view queued overland spells
  • Wizards/F9 screen
Fixed bugs:
  • Fixed bug from 0.9.5.2 that set the start size of wizard cities incorrectly
0.9.5.2 24 Dec 2014 Features from 0.9.4 Delphi client added back in:
  • Customizing new game options (map size, difficulty level and so on)
  • Custom wizard picks, portraits and flag colours
  • Joining multiplayer games
Minor new features:
  • New game options default to more commonly used settings (e.g. Impossible rather than Intro)
  • Customizing new game options has been improved so that "custom" settings aren't always based on Large/Impossible/Powerful settings
  • Shuffled some new game options onto the custom map size screen
  • Added more map size presets
0.9.5.1 30 Nov 2014 Major new features:
  • Client has been ported to Java
  • No cumbersome MSI installer and no configuration necessary - just unzip and run
  • All the windows can be independantly moved around , and you can open multiple city and unit screens (this means there is no more full screen option)
  • Eliminated concept having to "attack" nodes/lairs/towers in order to scout what kind of units are inside - can now see these just by one of your units being able to see the map cell, just like scouting units guarding an enemy city
Minor new features:
  • No longer requires a copy of all the LBX files from the original MoM
  • Should now in theory run on non-Windows operating systems, though this is untested
  • New turn messages now play music (so you get the music for constructing a building or researching a spell)
  • Overland enchantments changed to proper animations like the original MoM rather than just new turn messages
  • Overland unit enchantments (e.g. endurance, flame blade) now show proper animations and sound effects
Fixed bugs:
  • At the map wrapping boundary, fixed bug that sometimes units will be drawn moving e.g. up-left when tried to move them up-right
  • In 0.9.4, combat sounds and animations with ranged attacks were mixed up
  • In 0.9.4, nodes would always be empty
  • Fixed countless more bugs in the Java server from 0.9.4 than I can remember
Changes to the editors:
  • Removed .LBX and .NDGARC support from graphics editor, in line with how the new Java client stores resources
  • Now works with relative paths, so the editors work as-is after unzipping
  • Creates "backups" folder if it is missing , again so that the editors work as-is after unzipping
0.9.4.1 12 Mar 2014 Fixed bugs:
  • Casting spells in combat now works again
0.9.4 3 Feb 2014 Major new features:
  • After 2 attempts and far more work than I ever expected, the MoM IME server has been ported to Java. As a result it is much more stable and managable to make future changes.
  • Can now set unit fog of war to "remember as last seen" - the server keeps a copy not only of the true stats/health/location of a unit, but also where every player last saw it, same as already worked for cities and terrain.
Fixed bugs/ommissions:
  • When you capture a city, you get to use whatever production had been put towards the previous owners' construction project, however you don't get to see how much this is until you hit Next Turn (the 'gold coins' don't show up on the city screen)
  • Fixed new turn messages (e.g. city population changes, building/unit construction, spell casting) disappearing when additional messages are added mid-turn (e.g. from instant casting overland spells or capturing nodes)
  • Fix text on options screen that says you switch to full screen using alt-tab (thanks to AussieKSU for spotting this)
  • Corrected food production from Sorcery nodes from 2 to 1.5, and from Nature Nodes from 2 to 0.5
  • Heroes will no longer help reduce unrest in a city if they're dead
  • Help text for Just Cause now mentions that it reduces unrest by 1 (thanks to The MythMaker for spotting this); note the spell doesn't actually do anything yet, its only the help text that has been updated
  • Fixed some glitches to do with setting Fog of War for units to "Can always see"
Changes with no visible effect on the game:
  • The new server is much stricter about the XML files it will accept, and will refuse to use XML files which do not pass a number of validation checks - which should stop bad XML data from crashing the game
  • The new server runs considerably faster, by virtue of the fact that it caches the entire XML file into Java structures rather than continually parsing the XML (the old server only had very specific portions of the XML file cached)
  • The new server has different UI options, so it can be ran with one window per game (as previous MoM IME versions), one window which contains status updates for ALL games, status updates output to the text console, or no status updates at all
  • The new server can be switched into debug mode without downloading a separate version; the debug log file it creates is also far more detailed
Changes to the editors:
  • The editors have also all been ported over to Java.
0.9.3.1 21 Jul 2008 Fixed bugs/ommissions:
  • Fixed combats in simultaneous turns games (thanks to sticktrick for spotting this)
0.9.3 24 Mar 2008 Major new features:
  • You can now resize the window and pick which mode to use when switching to full screen, both of which were previously fixed at 640x480, and it will remember the last window size used next time you load the game - you cannot however move the individual windows around (e.g. you cannot drag the spell book or city display to a different position)
  • Rewrote combat map generation - now generates dark areas, ridges, features (trees/rocks), city walls, walls of fire (although they don't do anything), walls of darkness (although they don't do anything), houses according to the size of the population
  • Add custom new game settings from the client - as a result, there is no longer a need to be able to create games from the server so this has been removed
  • In 0.9.2, the frame rate was quite good at the start of the game when you could see very little of the map, but the more of the map you saw, the slower the frame rate dropped - the way the map is drawn has been completely rewritten so slows much less as you can see more of the map (some screens other than the overland map however do still kill the frame rate, e.g. spell book)
Minor new features:
  • Allow moving with the arrow keys (you must turn NumLock off), and various other shortcut keys like being able to press 'A' in combat to go on Auto, 'S' to bring up the spellbook and so on
  • Area on the combat bar now displays details on the currently selected unit, such as how much movement it has remaining
  • The roads within a city in combat now actually halve movement rather than just being a visual effect, and also the ridges cost double movement
  • Units are now arranged differently at the start of combat (in a 5x5 block), so that defenders fit correctly within city walls when defending a city
  • Now arranges units in combat more sensibly (settlers at the very back, then archers, and units with only a melee attack at the front)
  • Split new game debug settings out into a proper separate page
  • Add New Game fog of war option to allow scouts to see what enemy cities are building (you can't in the original MoM - this is more about simplying the code than because I really want this feature)
  • Clicking on rebels now shows the detailed breakdown of the unrest calculation
  • Unrest caused by distrust between city and capital race
  • Unrest reduction for each two non-summoned units in a city
  • Messages to do with buying and selling buildings, and scouting nodes/lairs/towers, are now all multi-language capable
  • The map will now by default be drawn with linear filtering which makes it look much smoother especially at certain zoom levels, you can however switch it back to use point filtering on the options screen if desired (this only affects when you zoom the map in so the terrain tiles become enlarged)
  • You can turn smoothing of edges of combat terrain off on the options screen in the same way that you can turn it off for the overland map
Fixed bugs/ommissions:
  • Initiating melee attacks in combat now correctly uses half of a units' total movement rather than always using 1 MP (so units with 1 MP like spearmen can now attack twice)
  • Prevent moving more than 9 units (or whatever the chosen maximum is) into a map square
  • Prevent casting summoning spells in combat when there are already 9 units in combat (or whatever the chosen maximum is) (unless option chosen to allow going over the limit in combat)
  • After a city builds a unit which makes a stack of 9 (or whatever the chosen maximum is) it should warn you, but if you continue to build units they should be built outside the city - same applies for units summoned into a city that is already full
  • The client caches the terrain smoothing rules from the graphics XML file; the cleanup code to tear down this cache when the client exits was faulty and caused "access violation" errors when closing the client
  • Fixed some glitches in the code which tears down the connection to the server when the client exits - this was another cause of "access violation" errors when closing the client
  • Selling a building that affects ration production now corrects farmers as needed
  • Fixed layout of combat tiles - previously as units moved you could see the borders between the tiles flicker because they weren't arranged exactly right
  • Stopped "waiting to receive new game options" message from appearing incorrectly if you connect to the same server twice
  • Better error message if you try to sell your Wizard's Fortress or Summoning Circle
  • Constructing or summoning a new unit now makes the area the new unit can see visible immediately (e.g. if it can see further than the city which built it/where it was summoned)
  • Fixed a bug caused when one of your units kills the enemy and wins a combat while you have other units who still have movement left in that combat - there were a couple of effects of this, ranging from being asked to move the same unit twice in the next combat, to it outright crashing the game (thanks to Keith for spotting this)
  • Fixed a bug caused when you clicked again in combat while animations were still playing - there were a couple of effects of this, ranging from being told that you were trying to move a unit that had no movement left, to it outright crashing the game (thanks to Keith for spotting this)
  • Miners' Guild +50% bonus to minerals previously also applied to Wild Game (so they produced 3 rations instead of 2) - fixed so Miners' Guild bonus only applies to mines
  • Fixed spacing of spell new turn messages (especially casting Overland Enchantments)
Changes with no visible effect on the game:
  • Client having copies of the combat map, combat ID and current player in combat in every location is daft - these should only be recorded on the server
  • Removed any remaining usage of separate coordinates in favour of T2D/3DCoordinates values
  • Changed new game land proportion settings from tile counts to percentages, since this is how they're entered both in the Server DB and new game forms
Changes to the editors:
  • The Language XML editor has been ported to Java
  • All boolean values now use the proper xsd:boolean data type rather than Y/N values, and use checkbox controls in the editors; fixed Client and Server accordingly
  • All enums in the editors now display in combo boxes with descriptions for each value
  • The move up/down buttons now keep the moved rows selected after moving, so moving row(s) more than one position is not as tedious
  • Fixed a bug where if you clicked a column heading to change the sort order of a list and then used one of the >> to drill down into child records, it would drill down to the child records of the wrong parent (thanks to Keith for spotting this & fixing it)
0.9.2 17 Oct 2007 Major new features:
  • You can now create new games from the client, and all the settings are multi-language capable (however until 0.9.3 you will not be able to pick "Custom" for any of the settings, to use Custom settings you have to create games from the server as before)
  • Now uses the (almost) proper rules for setting the initial population and buildings in raider/neutral cities and the special population cap for raider cities
Minor new features:
  • To enable to creating new games from the client, connecting to a MoM IME server has been moved to a separate main menu item rather than just being at the top of the join game screen
  • Now pops up up a box with an error message if connection to a server fails - previously connection errors were silently ignored so you were just left waiting wondering if it was working or not
  • Column headings on grids on Join game and Wait for Players to Join screens are now multi-language capable
  • Combat scale is now picked on the client options screen, and now only affects the way units are displayed in combat rather than affecting the actual rules/dice rolls, so its now purely a visual preference
  • New runtime option to show the main monster type from a scouted node/lair/tower directly on the overland map (similar to how 0.9.0 looked, except that you cannot tell how many there are or if there is a second type of monster present)
  • Right clicking on unit attributes (e.g. Melee, Defence, Resistance) on the unit info screen now brings up help text about them (thanks to Csimbi for pointing out this was missing)
  • Server starts new games faster - players can join as soon as the client database has been built - the server then generates the map in the background (this is so that when creating games from the client, you aren't left waiting for ages before picking your wizard, spells, race, etc.)
  • The values of all the tickboxes on the Options screen are now preserved when the game exists
  • You can now zoom in/out the overland map by rolling the mouse wheel (thanks to Csimbi for suggesting this)
  • Now caches a number if items to do with overland movement in an effort to solve the performance problems with this (its 2x to 3x faster like this, but still not ideal)
  • Add debug New Game option to turn the fog of war off entirely, allowing you to see the whole map again (purpose of this is to be able to test the frame rate of the client) (Currently you turn this on by setting "Use any debug options?" to Yes - intention is later on, this will cause a whole page of debug options to be shown)
  • New debug option on the Options screen to show white lines at the edge of the world (to help with debugging problems with wrapping around the edge... there is a problem where sometimes units are shown moving in the wrong direction, although I have made sure at the end of their move they are set into the correct location, so its only a visual bug)
Fixed bugs/ommissions:
  • Fixed "TNDGThreadLock.EnsureLocked: TNDGGridMap3DArea.GetContainer does not have lock with sequence 12 lock" error on the client when you try to construct a unit in a city that has an Alchemists' Guild (bug introduced in 0.9.1 - thanks to Csimbi and Virm for both spotting this)
  • Fixed incorrect "Some of the units you are trying to move are not at the starting location" message when giving a unit a movement on the overland map where they could move more than one square in the turn (bug introduced in 0.9.1)
  • Fixed being able to move units when it isn't your turn in a one-at-a-time game (if they had movement left)
  • Fixed DescribeCityProductionCalculation bug when setting tax rate as zero (thanks to Lupinedreams & Virm for spotting & testing this)
  • Fixed buildings missing cost from the change construction screen (bug introduced in some earlier version)
  • Fixed selling buildings in simultaneous turns games (bug introduced in 0.9.1)
  • Fixed rules for when a player knows about the monsters guarding nodes/lairs/towers - this caused problems when for example trying to cast curses on them - the client could not see the spell because the server didn't think the player could see the monster it was cast on
  • Now rechecks whether the Rush Buy button should be enabled when you switch construction projects (thanks to Csimbi for spotting this)
  • Rush Buy button is now disabled if the current construction projected is completed - this also has the effect that if you do Rush Buy, the Rush Buy button becomes disabled (thanks to Csimbi for spotting this)
  • Fixed later frames in animations showing blackness where they should be transparent - the most noticable example was the smoke on the Armourers' Guild
  • You can now cast Shatter on Heroes (thanks to Lucern for taking the time to investigate this for me)
  • If you leave a game before it starts (i.e. during choosing wizard, race, etc.) and you were the only player in the game, the server will now close the game out (previously these old games were left lying around forever)
  • If you leave a game after it starts, the server now closes out the game properly (previously these old games were left lying around forever)
  • Fixed bug whereby additional human players could join a game, taking up the player spots reserved for the AI players/raiders/monsters
  • To make smoothing the terrain happen more quickly, the client caches a number of items from the graphics XML file when it loads - on a slow PC this can still be running when the game is ready to start, in which case it should show a message, wait for the caching to finish, and then start the game - but this never worked properly and often crashed the client - now fixed
Changes with no visible effect on the game (most of these are about preparing to port the MoM IME server to Java):
  • The message protocol layer has been completely rewritten - all messages are now encapsulated as objects (which I can easily port to Java) instead of record structures (which have no equivalent in Java); also on the client the incoming messages and the animation layer (such as showing a unit moving on the map, or arrows flying in combat) are now one and the same - previously I had to custom write code to queue up 70% of the messages as animations... and the fact that the other 30% weren't queued I believe was the cause of the majority of the instability
  • As part of this, the client now sends custom picks to the server in a single message rather than a flood of separate messages
  • The movement rules and working out where units can move to on the overland map is now done entirely on the server (so that once the server is ported to Java, that's one more major block of Delphi code I can delete)
  • Server's version check of the XML file now checks the namespace declaration rather than having a separate version records
  • Figure layouts have been moved to the graphics XML file
  • The Server XML editor has been ported to Java; also fixed various problems resulting from the Java editor saving out populationtaskid and targetmagicrealmid as null instead of an empty string
0.9.1 26 May 2007 Major new features:
  • You can now only see the areas of the map that your units and cities can actually see, rather than the entire map
  • New options on the server New Game screen to allow configuring the Fog of War between original MoM, recommended or custom settings
  • On the recommended Fog of War settings, what you see of the map in areas that you have seen but do not have a unit there now is what you *remember* seeing, not its current state - so you cannot see new cities, cities grow, cities being taken over, new buildings, lairs being cleared, etc. etc.
  • New options on the client Options screen control the appearance of the Fog of War (whether it is shaded/smoothed)
  • Scouting special ability, flying units being able to see 2 squares, and City Walls and Oracles increasing city scouting ranges all work correctly
  • Awareness, Nature Awareness and Nature's Eye spells work correctly, and Wall of Stone now also gives its increased scouting range
  • You can now see a small radius around enemy cities you have cast city curses on
  • You can now attack enemy units wandering around the map
  • You can now attack enemy cities (graphics for cities in combat currently aren't very good)
  • You can now capture enemy cities, including taking a portion of the players' gold
  • You can now raze enemy cities, including the 10% gold bonus from each destroyed building
Minor new features:
  • Improved way units are recorded as being in combat, to simplify the overly complicated routine that checked whether Combat Area Effects (like Prayer) affect a particular unit or not
  • As a side effect of Fog of War changes, monsters you've scouted in nodes/lairs/towers will no longer appear on the overland map - they now work like the original MoM, in that you have to look on the F1/Surveyor screen - I will add the ability to show them directly on the map back in 0.9.2
  • Another side effect of Fog of War changes is its now possible for the Surveyor to falsely report that you can built a city at a location, because there's another city within 3 squares of there but you've not seen it yet - this is handled correctly, it will not let you create the new city if you try to do so
  • All the text on the Surveyor plus various bits of text on other screens is now multi-language capable
  • Combats on Myrror now have the correct brown coloured grass
Fixed bugs/ommissions:
  • Fixed numerous bugs to do with switching planes when moving/attacking into/out of Towers of Wizardry
  • Fixed crash if you gave a unit stack a long (multiple turn) movement, then dismissed the first unit in the stack
  • Fixed crash in simultaneous turns games if you tried to Dismiss a unit after giving it a movement order
  • Fixed a number of issues with human players controlling units in combat that can move more than 1 square
  • The above changes for how units are recorded as being in combat also fixed a known bug - previously there were problems with the application of combat area effects for defenders in Towers of Wizardry being attacked from Myrror
  • The label of the 'Don't synchronize screen updates' checkbox on the Options screen will now appear in the chosen language (thanks to Aggelon for spotting this)
  • Eternal Night now gives its bonus/penalty to death/life creatures using breath attacks and thrown weapons
Changes with no visible effect on the game:
  • Names of months were previously stored as special entries in the Language XML files, these have now been changed to standard category/entries
  • A number of data items used only during map generation were previously kept for the duration of the whole game - these are now discarded after map generation is complete, so the server uses a tiny bit less memory
  • Range checking every time map coordinates are read is now only enabled in the debug version - this happens thousands of times a second so done this in the hope it may slightly speed up some parts of the game
  • Debug version of the server now has a different title on the main window so you can tell it apart
0.9.0 9 Jan 2007 Minor new features:
  • As soon as all necessary human players have joined a game, the client now shows progress messages as the server starts up the game (previously you were just left waiting at the 'Waiting for players to Join' screen and it wasn't clear that everyone had already joined)
  • City quality estimates no longer consider cities with max pop 30+ any better than cities with max pop 20 (which can be increased to 25 (the maximum) by Granary and Farmers' Market), and instead will look for other beneficial factors, namely a nice gold/production bonus
  • City quality estimates now take nearby mineral deposits into consideration (e.g. that give +gold, +power, -unit cost), this means if you pick Myrran, you are quite likely to get an Adamantium deposit next to your starting city
  • Option to show frames per second moved onto Options screen, instead of being a command line parameter, and now display fps on all screens, not just the map screen
  • All remaining references from the server to the language XML files have been fixed (removed)
  • As a result, the calculation breakdowns given by clicking on city growth rate and production are now 99% multi-language capable (there's a couple of hard coded 's remaining)
  • The server no longer makes any reference to terrain tile numbers, these are read entirely from the graphics XML file (it does however have some hard coded assumptions about smoothing rules that I'll have to fix at some later stage in order to make the maps properly customizable)
  • Smoothed edges of shore, desert, tundra were previous all stored as animations for consistency, even if they were not animated (animations of 1 frame!) - because they're now read from the graphics XML file only tiles that are actually animated are created as animations - this has further increased the frame rate of the client, on my laptop it has jumped by around another 60%
  • Smoothing rules for shore, desert, etc. are now cached in order to make re-generation of the map whenever it changes (e.g. due to Change Terrain spell) happen at an acceptable speed; this caching runs in the background while you're choosing a game to join, wizard, spells, race and so on; if you join a game fast enough you may have to wait for it to complete as part of the initial game setup (on my PC it takes about 50 seconds, which is about the same amount of time as it takes to join a game, choose a wizard and so on)
  • The list of terrain types features is now purely read from the XML file rather than being a hard coded list - in theory you could now add new terrain types, however for now, they wouldn't be used since the map generator is fixed to only generate the current types of terrain
  • The list of map features (both mineral deposits and monster lairs) is now purely read from the XML file rather than being a hard coded list - the map generator places mineral deposits and lairs differently from tile types so you can add new mineral deposits and types of monster lair
  • New option on the Options screen to switch sychronized screen updates off; this could increase the frame rate slightly, but may introduce jagged edges and other artifacts, depending on your graphics card (it has no noticable benefit on my own PC)
  • Buildings that require a certain type of terrain within the city radius are now handled generically in the XML files; now this is possible, I've added the additional rules in that you can only build a Sawmill if you have some Forest and you can only build a Miners' Guild if you have some Hills or Mountains
  • Add entry on main screen to credit author of chosen language XML file
  • Direct 3D Caps Reporter is now included and installed with MoM IME, so anyone having graphics card troubles when running the Client has easier access to it
Fixed bugs/ommissions:
  • The last 3 fonts have been extended up to 255 chars, so now all fonts in the game will show accented characters (I released this change to 0.8.9 by itself, calling it 0.8.9.1)
  • Fixed node auras, which became broken by a change in 0.8.9 that I hadn't spotted
  • Fixed clicking on imageless text buttons (e.g. main menu, chooing retorts, choosing free spells at start) - previously you could only click on the right hand side of the button, leading to a few questions posted about 'clicking on the button and it doing nothing'
  • Fixed using the Leave Game button after joining a one-at-a-time turns game, which previously crashed the client
  • Fixed after leaving a game (via the Leave Game button, another player leaving an in-progress game, the server closing, etc.) to ensure no leftover forms will be displayed, which had some odd effects
  • Fixed icons on unit info screen for units with more than 20 of a particular attribute (2nd and subsequent lines weren't indented to the right in 0.8.9)
Changes with no visible effect on the game:
  • The images for various nodes, lairs and towers that appear on the scouting screen now support animation (not used yet until such time as someone draws animated versions of these images, however it standardized and simplified the code to allow it)
  • The images of cities used on the overland map are now dynamically read from the graphics XML file and support animation (not used yet until such time as someone draws additional versions of these images, however it standardized and simplified the code to allow it)
  • My XML editor (on which the graphics, language and server editors are all based) now shows progress bars for loading up the grids, since some of these screens take a very long time to load
  • The installer is now set to disallow Windows 95 and Windows NT installations, since the client needs DirectX 9.0 and DirectX 9.0 isn't available for those old operating systems
  • The installer is now set to disallow installations on PCs with their desktops set to 8 bit colour (256 colours) since the MoM IME client won't run on them
  • Updated/sorted the FAQ
0.8.9 15 Nov 2006 Major new features:
  • The server New Game tabbed window has been completely redone to make it simpler to use and a little closer to the original MoM - all the main options are now on a single page, and the various other tabs only appear if you pick/tick "Custom" for various settings
  • Sound effects in combat (NB. Many of the 'walk' sounds are wrong - I simply didn't have time to go through all 198 different units testing what sound they make when they walk - I'll fix these gradually in later versions)
  • Wall of Stone, Summoning Circle and Move Fortress spells all work properly (and now show the correct images and upkeep on their help scrolls)
  • Casting city enchantments now plays their proper animation, music and sound effects
  • You can now cast City Curses (Chaos Rift, Famine, and so on)
  • You can now cast combat summoning spells (e.g. Fire Elementals and Phantom Warriors)
  • You can now cast unit enchantments in combat
  • You can now only cast Unit Enchantments on appropriate types of unit (e.g. you can't cast Chaos Channels on a Storm Giant anymore!)
  • You can now cast unit curses (e.g. Warp Wood, Mind Storm)
  • You can now cast Combat enchantments (e.g. Prayer, Warp Reality)
  • Combat area effects that alter unit stats now work correctly, this means the following spells now mostly work: Metal Fires, Warp Reality, Chaos Surge, True Light, Prayer, High Prayer, Holy Arms, Darkness, Black Prayer, Eternal Night
  • Spell casting cost reduction and research bonuses from having 8 or more books work correctly, and the value of the reduction/bonus is configurable in the server New Game screen
  • Spell casting cost reduction and research bonuses from Nature/Chaos/Sorcery Mastery and Runemaster now work correctly
  • Spell upkeep reduction from Channeler now works correctly (see the 'Differences from Original Master of Magic' for some comments about this)
  • Channeler retort now limits spell casting range penalty in combat to 1x
  • Sage Master and Summoner retorts now works correctly (I've renamed the 'Conjurer' retort to 'Summoner', see the 'Differences from Original Master of Magic' page if curious why)
  • Added Options screen, where you can set the music volume (I tried to also be able to change the volume of sound effect, but this proved too difficult and was taking far too much time, so I dropped it for now - NB. Setting music volume may not work on some sound cards/configurations)
  • Unit info screen now shows where spell effects reduce stats by fading out negated icons, e.g. Black Prayer, or Life creatures under Darkness/Cloud of Shadow/Eternal Night
  • You can now view the details of all combat damage calculations by clicking the calculator button in combat (NB. The font is quite small to fit all the info in, so you might need to use full screen to view it, however I mainly added this so I can debug the damage calculations rather than being I expect people to read it all)
Minor new features:
  • + To Block has been added to the unit info screen, and works correctly - there's very few places this stat gets modified (e.g. High Prayer), but since its so similar to + To Hit I felt it should be displayed in the same way
  • Experience now increases Thrown and Breath attacks (Barbarians, Draconians and various Heroes)
  • Mithril and Adamantium weapons now increase Barbarian's thrown attacks
  • The effect of node auras (giving +2 stats to creatures of the same magic realm) now extend out past the node itself (I didn't realise until reading the strategy guide that the +2 stats effect worked like this)
  • Chaos Channeled units now get the +2 bonuses from Chaos node auras
  • Node auras now grant +2 to breath attacks (Hell Hounds, Great/Sky Drakes, Chaos Channeled Draconians, etc.), Doom Gaze (Chaos Spawn) and Thrown weapons (Chaos Channeled Barbarians)
  • Overland enchantments that exhibit combat area effects now show up on the combat screen (Holy Arms, Crusade, Charm of Life, Eternal Night, Zombie Mastery and Chaos Surge)
  • All the labels and captions during joining a game, choosing a wizard, picks, spells, race and so on, plus the row of buttons across the top of the main map screen, are now all multi-language capable
  • You can now right click on combat area effects (like Chaos Node Aura, or Prayer) to get help text about them
  • Power of immolation is now specified per unit, so e.g. Doom Bat Immolation now appears as power 4
  • Now displays proper ½ symbols instead of 1/2 (in many places)
  • A number of additional fonts have been extended to include characters right up to 255, so that all accented characters are allowed
  • Registry values that are common to all users are now stored under HKEY_LOCAL_MACHINE, thereby allowing multi-user installations work correctly (thanks to Valis for raising this)
Fixed bugs/ommissions:
  • Now rechecks whether to enable/disable Buy building/unit button when changing current construction project - previously if you clicked Next Turn and then opened up the city screen while the server was still handling the AI players' turns then the 'gold coins' showing how much production you've put into the current construction project would update, but the Rush Buy button could end up disabled when it should be enabled, or enabled when it should be disabled
  • Units with flight or Chaos Channels flight cast on them are now animated as flying units in combat, which previously only worked for units who have flight naturally
  • The strength of monsters inhabiting lairs, nodes and towers used to default to incorrect values if difficulty level was set to Custom
  • Help text scroll for combat-only summoning spells like Phantom Warriors or Fire Elementals no longer shows upkeep values
  • If another player casts a city enchantment on a city while you're looking at it, it now shows you the new enchantment immediately (previously you could only see it if you closed down the city screen and re-opened it)
  • If another player casts a unit enchantment on a unit while you're looking at it, it now shows you the new enchantment immediately (previously you could only see it if you closed down the unit info screen and re-opened it)
  • Spell book now won't display empty pages (previously this would happen if e.g. you had spells of that type, but none applicable to overland, e.g. a wizard whose only summoning spell was Phantom Warriors would still have an empty 'Summoning Spells' page in their Overland spell book - I know, bad example because everyone can summon Magic Spirits)
  • Fixed problem where spells wouldn't appear in your spellbook if you could cast them for 0 MP due to having a really high number of spell books (17 or more spell books, with the default settings); their help text would also appear wrong and is now fixed
  • Fixed bug which would do nasty things if two players cast the same unit or city spell in the same turn
  • Fixed incorrect grouping of icons on unit info screen if unit had attributes from multiple sources (e.g. some melee attack strength from base stats, some from experience, some from Might hero skill)
  • Fixed one major cause of the client always crashing when you try to close it (I still get crashes on closing the client and server, but only sometimes, I believe this has fixed say 70% of them)
Changes with no visible effect on the game:
  • Because of the registry changes above, you now need Admin rights to install MoM IME
  • All images of ranged attacks in combats are now loaded dynamically from the graphics XML file
  • Production icons (e.g. on the city and unit info screens) and overland enchantment spells now support animation (not used yet until such time as someone draws animated versions of these images, however it standardized and simplified the code to allow it)
  • Combat Area Effect icons (e.g. Node auras or Prayer icon) on the combat screen have been moved to the graphics XML file and now support animation
  • Entries in the Language XML files can now be stored in a nested object structure rather than all at a single flat level, which makes certain entries much easier to work with and was necessary for some of the other changes in this version
  • Improved method of deriving coordinates back from a map grid cell - this is used in a number of places, and now works much faster and cleaner
  • Now creates a player for the Monsters inhabiting lairs/nodes/towers, previously these had a nil/null player object, but I realised this had to change to allow them to cast spells, e.g. Arch Angels to cast Prayer - this has no visible effect on the game
0.8.8 8 July 2006
  • You can now cast (and cancel) City and Unit enchantments, however the only ones which currently have any effect are the movement-type Unit spells, i.e. Water Walking, Path Finding, Flight, Wind Walking, Chaos Channels (if you get flight) and Wraith Form
  • Heroes now show with their portrait on the unit info screen
  • Heroes now get their correct names and random skill picks, and can be renamed if you wish (via the unit info screen)
  • Heroes with the Caster skill now have their correct amount of Mana
  • You can now only get one of each Hero, it remembers heroes who you have previously had and have died, and dismissing and re-summoning heroes all works correctly
  • Agility, Arcane Power, Blademaster, Constitution and Might hero skills (and their super versions) now work correctly
  • New Turn Messages (e.g. city growth, finishing constructing buildings and units, and notification of wizards casting overland enchantments) have been totally rewritten to be built and sent in a single block - some now have to be actioned (e.g. if you need to pick a target for a City or Unit Enchantment) before you can proceed with your turn
  • Any additional New Turn Messages that show up during the turn (e.g. another wizard taking one of your nodes) will be added to the existing list, which can be viewed again using the new Messages button - the button will light up to let you know there are new notifications, also any notifications that show up during a turn will be kept and still viewable the following turn
  • You can now get context sensitive help by right clicking on Unit Skills
  • Tweaked drawing of units on the overland map somewhat to improve performance - I now get a frame rate 30% faster than with 0.8.7
  • AI Wizards now show with their proper (language dependant) names
  • The Info button has been changed to a smaller square button, next to the zoom in/out buttons, to make space for the new Msgs button
  • If units die in combat, the fact that they're no longer using up gold/rations/mana is now shown immediately in the per turn totals
  • All unit graphics are now configurable in the graphics XML file, including all combat animations, and are loaded in on the fly - a couple of side effects of this, a) the client now loads up slightly faster since it doesn't have over 3,000 animations to generate and b) you can now add your own units completely from scratch... even entire new races
  • All building graphics, and everything else in the city view display (the landscape, river, mountains, etc.) are all now configurable in the graphics XML file - a couple of side effects of this, a) the client now loads up slightly faster since it doesn't immediately load in all the building graphics, however you get a few seconds delay the first time you open up a city screen, and b) you can now add new buildings from scratch
  • The above change also means that you now see hills and mountains in the background of the city view for cities next to hills and mountains
  • You can now sell city walls
  • Unit overland icons, summoning images and unit skill icons now partially support animation (none of which are used yet until such time as someone draws animated versions of these images, however it standardized and simplified the code to allow it)
  • Merging and Caster skill (for units) now show with the correct colour icon (they're wrong in the original MoM)
  • Corrected path finding skill to allow movement at 1/2 MP per tile instead of 1 MP (half the help text in the original MoM says 1/2 MP and half says 1 MP!)
  • You can now use Game Names up to 100 characters long
  • Several fonts have been extended to include characters right up to 255, so that all accented characters are allowed (some fonts have not yet been changed still remain that don't support accents, these will still give the same 'Requested character XXX of a font which only supports characters 32 thru XXX' error)
  • There is now a French language XML file. It is still incomplete, but its a good start. This has been partially extracted from the LBX files from the French version of the original MoM, and partially been translated by Aggelon, so thanks very much to him for his work on this!
  • All buildings on the map are now stored in a single list instead of one list per map cell to simplify a number of nasty bits of code dealing with complicated thread locking orders
  • Increased the maximum starting gold you can set from 200 to 500 (makes it easier to rush buy buildings when I'm testing!)
  • Server now reports its IP address when starting up
  • Fixed selling buildings in a one-player-at-a-time game
  • Fixed one cause of Access Violation errors when the client is closed... however I've also reinstanted a large amount of code allowing 2D/3D graphics to be overlayed (for another project other than MoM IME)... I know there are tons of bugs which while they should not have any affect during play, have probably introduced a dozen more new ways for the client to crash when you try to close it!
  • Fixed 'Floating point division by zero' errors which occurred when moving the mouse over the client window when it was not the application with focus
  • Fixed a thread locking order bug to do with checking sufficient production
  • Stops you from using player names over 100 characters long, previously this would crash the game
  • Editors now allow references to other XML files (without this, editing the graphics XML file was extremely difficult and confusing)
  • Editors now ask for the names of the XML files to edit when starting up, so its possible to edit e.g. multiple language XML files
  • Renamed the XML files in preparation for providing multiple versions of each to choose between
  • (Warning) If you create a game with zero human players, since there is no way for the game to end, the Server will just loop
0.8.7 24 Apr 2006
  • All movement types over all terrain now calculate movement points correctly on the overland map, so e.g. Magic Spirits can now move over water and Draconians now fly at the correct speed
  • Magic Spirits and Guardian Spirits can now capture nodes
  • Server now decides as part of generating the map which squares a node's aura covers, and makes sure nodes are sufficiently far apart from each other so that their auras don't collide
  • AI Wizards will now make sensible choices for their free spells at the start of the game and research spells (but you can only tell this is happening by running the debug version and looking at the log file since they will not yet cast any spells)
  • Overland enchantments now show up on the magic screen and so can be switched off
  • Now stops you casting the same overland enchantment twice
  • Overland enchantments on the new turn messages and spell casting queue screens are now drawn in the 'mirror' of the players' colour
  • You can now get context sensitive help by right clicking on Retorts, Races and Spells
  • Server now shows more info about each game in the grid (map size, turn system, combat scale and which XML database is being used)
  • Installation now registers the MoMIME 'protocol', which means you can connect to my server (if it is switched on and and has MoM IME running on it at the time) to join games running there by clicking here
  • Terrain smoothing for mountains, hills, desert and tundra now run on the client and are entirely driven from the graphics XML file, which will be necessary to get spells like Change Terrain and Raise Volcano which alter the map terrain to work
  • Path Finding skill now appears correctly (on Nomad Rangers, plus the Huntress and Ranger heroes)
  • All skill and movement icons are now defined in the graphics XML file
  • Changed the order that things happen when you click End Turn, now it checks for armies starving BEFORE cities grow in size - this prevents the situation that used to happens when sometimes a city would grow in size and cause armies to starve without any warning
  • Fixed problem with setting mana/skill/research ratios that the server sometimes reported that the values did not add up to 100%
  • Fixed problems with using custom wizard photos
  • Made a number of speed improvements to the way list boxes are drawn (affects the list of skills on the unit info and change construction screens, and the building and unit lists on the change construction screen)
  • All pending movements are now drawn with the boot icon, the same as in the original Master of Magic. I had tried to show e.g. wings for flying units, but this became impossible when you have to consider stacks of units with different movement skills. e.g. if you have a stack of some cavalry (walking), Sprites (flying) and a Magic Spirit (moves non-corporeally), what icon should you show for movement? Similarly I've got rid of the icon on the right hand side that used to show the type of movement for the selected unit stack.
0.8.6.1 14 Mar 2006
  • All server windows now appear in the centre of the screen, so that in low screen resolutions they don't appear off the screen
0.8.6 11 Mar 2006
  • Rewritten map drawing in the client to be much faster - used to run at 5.5 frames per second on my PC, now runs at 15.0 frames per second so runs nearly 3x faster
  • By specifying /fps as a parameter to the client, it will now display the current frames per second on the main map screen
  • Added Chat button for sending messages to other players in the game
  • The images of the map button bar buttons (Game, Spells, Armies, Cities, etc.) are now generated from text, so that they can be made multi-language capable later on
  • Fixed a major cause of instability in the client, particularly when closing it (Notification routine checking e.g. Button.NormalImage.ListEntry after the images had been freed)
  • Fixed a thread locking order problem in the server when ending turn with pending movements
  • City population updates are now sent in a single message to avoid the previous flood of messages during a new turn or a tax rate change (this was necessary as part of rewriting the map drawing)
  • Added loads more debug messages around setting up the New Game form to help try to track down a mysterious bug (affects the debug version only)
0.8.5 20 Feb 2006
  • You now get to pick free spells at the start of the game if you have sufficient spell books
  • Artificer now grants the Enchant Item and Create Artifact spells
  • You can now research spells correctly
  • Overland monster summoning spells all work correctly
  • Summon Hero, Summon Champion and Incarnation work somewhat (you can get more than one of the same hero, and they don't get many of the special attributes yet)
  • Overland enchantments can be cast and you have to pay their maintenance, but none of them have any effect yet
  • You can now disband units
  • You can now sell buildings
  • Server will now kill off units, sell buildings or switch off spells if you aren't producing enough rations/gold/mana to support them (it should be impossible to see this happen yet, see next item)
  • You cannot hit End Turn if you have insufficient resources - it will show resource icons on the Next Turn button for the types of resource you don't have enough of
  • You cannot hit End Turn if you are producing research points, have any unresearched spells, and have not chosen one to research
  • Settlers building cities will now immediately show the effect on global production (the settlers are no longer eating rations or cost any gold)
  • Fixed error in combat if you tried to manually control units (putting them on Auto worked fine)
  • In 0.8.4, all cities increased population and constructed buildings/units at twice the rate they should! Fixed
  • Fixed crash if you tried to select garrisoned units from the city screen
  • Fixed error in a simultaneous turns game if with the "You have found a node/lair/tower" window up, you click behind it on the scheduled combats scroll
  • Fixed bug that prevented ranged attacks from gaining the +1 bonus from Mithril or +2 bonus from Adamantium weapons
  • Fixed server stopping players from choosing a Custom wizard if the Custom Spell Picks option is off
  • Fixed cancelling settlers from building a city in a simultaneous turns game
  • Moved more graphics out from the main server database into the new graphics XML file
  • Server now logs TCP/IP socket errors - this is mainly so that you get a visible error when the server cannot listen on the port that it needs (e.g. if you run two copies of the server)
0.8.4 24 Dec 2005
  • Now calculates and keeps track of all types of production (gold, rations, research, etc).
  • Added magic screen, allowing setting magic power distribution into mana, research and skill improvement
  • Now keeps track of wizards' casting skills and spending magic power to improve casting skill works correctly
  • Alchemy button works for converting mana to gold or vice versa
  • Alchemy, Mana focusing and Archmage (skill bonuses only) retorts now work correctly
  • You now get your starting 25, 50, 75 or 100 gold as appropriate for the chosen skill level
  • Can now rush buy buildings and units
  • AI players will now set the number of farmers and workers in each of their cities correctly
  • Now sets the number of farmers correctly in human players' initial cities
  • Started separate graphics XML file for the client allowing graphics to be customized separately on each client
  • Map drawing is now a little faster, since the game no longer maintains a separate list of the units at every map location - it is faster than 0.8.3 but still pretty bad
  • Multiplayer components now handle players leaving a game or disconnecting mostly correctly (still a few bugs to work out though, it is not perfect)
  • Fixed error when trying to join a game with the "Only one Human player is allowed to use each Wizard" option set
  • Fixed using custom wizards
  • Fixed the Wizards advisor (F9 key)
  • Fixed changing the number of farmers/workers in a city
  • Fixed changing tax rate
  • Fixed using settlers to build cities
  • Fixed surveyor panel being hidden by the global economy panel
  • Fixed bug that would allow rebels to keep harvesting food if farmers were changed into rebels by raising tax rate
  • Fixed error trying to draw the scheduled combats scroll in a simultaneous turns game
  • Stopped city populations making their first step of growth before turn 1
  • Fixed server leaving blank row at the top of the list of running games
0.8.3 22 Nov 2005 0.8.3 was a stability fixing release with no actual new features/changes to game play:
  • Removed DirectPlay entirely and replaced by my own multiplayer components based directly on TCP/IP sockets.
  • Added in thread locking module that automatically detects when protected objects are locked in the wrong order so that incorrect thread locking errors are ALWAYS trapped and give a useful error message, rather than previously they were only sometimes trapped (sometimes they simply crashed out the program altogether) and often the error didn't make it very easy to locate the problem. Since this module now enforces protected objects being locked in a pre-defined order, thread deadlocks should now be impossible.
0.8.2 31 July 2005
  • I've done a lot of work to fix the stability of the client - it now seems to randomly exit or give Access Violation errors much less now (it does however still often give errors when you close it, I'm not too bothered about these, also I've noticed it seems to be much less stable when running the Server & Client on different PCs)
  • Added music
  • Added turn/year counter
  • Nodes auras now give +2 to various stats to creatures of the same magic realm (Nodes dispelling effect also appears but has no effect yet)
  • On even numbered turns, you're now prompted to move units in reverse order, so the first unit to move is the last unit that moved last turn (this is how the original MoM works)
  • Unit status bars on the overland map and city screens now show the unit's health
  • The map always used to be drawn in the background even when a combat was in progress - this has been fixed so combat now looks a lot smoother
  • Fixed a bug whereby the client would prompt you to move the faster units in a stack if the slower units couldn't reach their destination in one turn
  • Fixed a bug whereby the client would think units had some spare movement left after a long move (one which took more than 1 turn) when in fact they shouldn't be able to move
  • Fixed a bug whereby the next turn button would sometimes become disabled
  • In a simultaneous movement game, if you have two (or more) unit stacks attack the same node/lair/tower in the same turn and you win the combat with the first stack, the second stack will no longer try to attack the first stack that's now taken over the node/lair/tower
  • Changed the code that decides which image to draw for a city (i.e. with or without walls & what size) to be faster and more stable [Done by SWB]
  • It now selects TCP/IP using a GUID rather than the service provider name, this allows the game to work on non-English versions of Windows (thanks to everyone who let me know about this)
  • Improved handling of another player leaving the game and the game ending, so when a player leaves in a multiplayer game it shouldn't crash the client quite so badly
  • The global economy panel (showing how many rations, gold and magic power you are gaining/losing each turn) now appears at the correct times - although it currently doesn't do or show anything useful
0.8.1 12 June 2005
  • Unit experience now works and gives proper bonuses; Fighters' Guilds, War Colleges and the Warlord pick all work correctly
  • Magical weapons (from Alchemists' Guild or Alchemy pick), Mithril weapons and Adamantium weapons now all work correctly
  • + To Hit now appears on the Unit Info screen as an attribute rather than a regular skill, so that you can see what is giving the + to hit (base unit attribute, experience or magic weapons)
  • The 'New Turn Messages' scroll will now cover up the window asking if you want to want to attack a node/lair/tower, so that you have to deal with new turn messages first
  • The Next Turn, Done, Wait, Patrol and Build buttons are now hidden while units are moving which helps prevent some odd situations which used to be caused by clicking buttons too many turns ahead
  • Rewritten the code for uploading graphics into Direct 3D - this now uses less memory, is more stable, and runs fine in 16 bit colour modes
  • Shadows now look correct, i.e. they are partially transparent rather than opaque
  • The Database XML file now has a tag inside it indicating the version number of MoM IME that this XML file is part of - this prevents using incompatible databases from older/newer versions that could potentially crash the game
  • The Client graphics file now has values inside it indicating the version number of MoM IME that this file is part of - this prevents using incompatible graphics from older/newer versions that could potentially crash the game
  • Server now allows you to choose the XML file to use for each game - this prevents having to specify the name of the XML file on the command line
  • Both client and server now default to using mutexes instead of critical sections, so now no command line options are needed
  • Fixed a couple of memory overflow bugs in the Client that may have been causing some of the crashes
  • The Server now shows the version number on the main form
  • Fixed bug which would often crash the game if another player attacked a node/lair/tower
0.8.0 27 May 2005
  • You can now attack monsters in lairs, nodes and towers and the combat all works correctly, although you don't get any treasure for it
  • You can now only build units that you have the necessary buildings for (e.g. you can't build Cavalry until you have a Stables) [Done by SWB]
  • Plus to Hit skill and limited ranged ammunition (e.g. Arrows) now appear correctly on unit info, and also work correctly in combat
  • Casters with ranged attacks (Djinn and Efreets) can correctly spend 3 mana to fire a ranged magical attack
  • By capturing Towers of Wizardry, units can now shift between planes
  • Unit info screen will show the correct number of figures that the unit has left alive at the correct scale in the animation in the top left corner
  • The units in the list box showing all the units you can build in a city are now drawn with the correct number of figures at the correct scale
  • When constructing a unit at a city, the picture of the unit being built next to the production 'coins' now has the correct number of figures at the correct scale
  • Unit skills (e.g. Plus to Hit, Fire Immunity, Forester) now have a comment next to them if they do not yet work correctly
  • Combat scheduler done, so in a simultaneous turns game all players play out combats simultaneously after all units have finished moving
  • Units now heal 1 hit point of damage at the end of each turn
  • Improved the efficiency of the map drawing routine which makes the game run much smoother
  • Added in a lot of missing unit pre-requisites which were missing from the data extracted from the original game
  • Revised thread locking model for the map which has considerably simplified a lot of the code
  • Map coordinates now have range protection, to help in finding bugs to do with incorrect coordinates
  • Server now doesn't send details of monsters inhabiting lairs, nodes and so on to client until the player has visited (scouted) the square
  • Fixed bug in simultaneous turns games where after you click Next Turn, if waiting for other players, the next turn button was still visible
  • Fixed movement bug which left units in the wrong place on the server if the units could not reach their intended destination in 1 turn
  • Fixed some code which always made the server throw an Invalid Typecast exception when closing down
0.7.0 16 Mar 2005
  • You can now zoom the map in and out between 1x and 2x zoomed in steps of 10% (11 different zoom levels)
  • You can now build units
  • You now get your starting spearmen + swordmen at the start of the game
  • You can now move units around the map (note there is no combat, so you can move onto enemy units/cities and nothing happens)
  • Settlers can build new cities
  • Unit Info screen added
  • Lairs, Dungeons, Abandoned Keeps and so on are now considered different map feature types and are now filled with monsters
  • Nodes are now filled with monsters
  • Node auras are now the correct size on Weak or Powerful nodes according to the Strategy Guide
  • Server New Game form rearranged somewhat to better organize fields related to populating nodes and lairs with monsters
  • City screen has been redrawn to accomodate larger civilian icons and to show what is currently being constructed
  • Upkeep/production icons (gold coins, food bags, anvils and so on) have all been redrawn 50% larger
  • Fixed thread deadlock which sometimes happened when you tried to switch civilians between farmers and workers
  • Both client and server now include a command line option to make the game use Mutexes instead of Critical Sections for thread locking. If there is a thread deadlock and it is set to use Mutexes with a specified timeout, it will be able to pop up a message saying exactly what caused the thread deadlock. The shortcuts created by the installation program will switch on Mutex by default with a timeout value of 20 seconds.
  • Now using a different installation engine which means that the distribution is only a single file and it has a proper uninstallation option in Add/Remove Programs in Control Panel
0.6.0 30 Nov 2004
  • You can now build buildings in your initial city - all building pre-requisites and racial limitations work correctly
  • AI Wizards and Raiders will also build buildings in their cities
  • You can see the buildings that have been built in each city on the city screen
  • Wizards' initial cities now start with the correct starting buildings (Barracks, Smithy, etc.)
  • Calculations for Mana & Research are now 100% correct, including effects of Miners' Guild, Divine/Infernal Power and Dwarves
  • Calculations for Max City Size, Growth rate, Minimum Farmers & Rations are now 100% correct, including effects of Granary, Farmers' Market, Foresters' and Animsts' Guilds
  • Calculation for Production is now 100%, including effects of surrounding terrain, Sawmill, Foresters', Miners' and Mechanicians' Guilds
  • Calculation for Gold is correct other than that you cannot get the % trade bonus due to roads and hence Nomad bonus does not work either
  • Unrest reduction from buildings now works correctly, with Divine and Infernal Power improving the effect of religious buildings
  • Cities with more population than food production now die at the correct rate per turn
  • You can now view the maximum population calculation from the city screen as well as the growth rate calculation
  • At the start of the turn you are now told about any cities which gained or lost people across a 1,000 boundary
  • Buy and Change buttons as well as current production will not appear when you look at cities which belong to someone else
  • You can now see which cities have city walls and which don't on the map
  • The calculation box now has scroll arrows for viewing very long calculations (like the Gold calculation for a city with a large number of buildings)
  • Server now stops clients from setting invalid tax rates
  • Both Client and Server now handle exceptions within DirectPlay better, should make Server handle players leaving better
  • Client now autodetects if your graphics card does not handle non-power-of-two size textures and compensates
0.5.0 6 Nov 2004
  • All initial Wizard and Raider cities placed with correct starting races and populations
  • Added city screen (although other players' cities currently use the same screen)
  • Minimum number of Farmers, number of Rebels from taxes, switching between farmers and workers all works correctly
  • City growth calculations work correctly - so cities grow each time you click Next Turn
  • You can view any of the calculations (e.g. try clicking on the line of text about the population, or the food or production icons)
  • Bonuses from nearby map features work correctly (e.g. Gems, Wild Game)
  • Redid gold, power & rations from map features (e.g. Gems, Wild Game) to be generic - you could now alter e.g. Crysx crystals to give +5 spell research
  • On the Wizards screen, the Gems are now shown in each wizard's colour
  • You can now use function keys F1 thru to F9 as shortcuts to the various Advisors, same as in the original Master of Magic
  • You can now set your tax rate and this affects gold production and unrest correctly
  • Increased food from Sorcery & Nature nodes as per the Strategy Guide (which explicitly says the Surveyor in the original MoM is wrong)
  • Wild Game now adds +2 to city size as per the Strategy Guide, +2 food bonus shows up separately when examining Wild Game tile
  • Created new document to list differences from the original Master of Magic and an FAQ
  • Direct3D errors now shown in dialog box before error is thrown - previously on some PCs, never got to read the error message
  • Client now autodetects if your graphics card does not support hardware vertex processing and will resort to software emulation
0.4.0 18 Oct 2004
  • Added AI Wizard players
  • Added special AI player for Raiders
  • Add flag colours - pre-defined Wizards have pre-assigned flag colours, custom portraits defined flag colour in R/G/B components
  • Added option to choose turn based system (sequential or simultaneous movement) - Next Turn button works correctly with this
  • Added 'colour patch' indicator to show the turn sequence and whether each player is a Human or AI player
  • Added surveyor, displays all tile and feature bonuses correctly
  • Surveyor correctly calculates city maximum population, production bonus and gold bonus
  • Added new game option to prevent two players from choosing the same wizard
  • AI Wizards and Raiders all play out their turns in separate threads (which currently do nothing... but the framework is in place)
  • Doubled size of right hand panel on map view so that text is big enough to read when using e.g. Surveyor
  • Defined standard colours for all the pre-defined Wizards, plus Raiders - colours show when choosing Wizard or portrait
  • Intro difficulty level now prohibits making custom picks, same as in the original Master of Magic
  • Myrran race buttons now have a proper disabled appearance when you don't have the Myrran retort pick
  • Initial area of the map you're left looking at when game first starts is now correct instead of sometimes being blackness
  • Fixed bug whereby books did not appear on the 5 magic realm bookshelves on the Custom Picks screen
  • Fixed column widths in Join Game screen so that can see Map Size column
  • Fixed original/caption label on server New Game form on the Map Features tab
  • Fixed multi-language code to not bomb out with a variant exception if a value is missing from a language file
  • Fixed image drawing so textures line up perfectly with pixel boundaries
0.3.0 03 Oct 2004
  • Shows each pre-defined wizard's spell books and retorts when choosing a wizard
  • Added screen to select picks for custom wizards, all pre-requisites work correctly
  • Added screen to select race, requiring Myrran retort for Myrran races works correctly
  • Custom picks get sent to server, which verifies these and informs other players which picks you chose
  • If player chooses a local BMP file as their Wizard picture this now gets sent around to all the other players
  • Add 'Wizards' screen from Info menu, a combination of the Mirror screen and part of the Magic screen from the original MoM
  • Players joining game are now told which Wizards players who are already in the game have chosen
  • Server will now terminate game if a player leaves after a game has properly started up
  • Book magic realm names, bookshelf titles, retort names, plane names and race names all multi-language capable
  • Remembers last server name and player name used in registry
  • Altered image handling to not keep Windows bitmap handles for textures already uploaded into Direct 3D
  • Textures in .ndgtex files are now compressed by around 70-80%
0.2.0 19 Sept 2004
  • Seperate Client and Server modules
  • Map generator customizable, e.g. can make different size maps or pick which direction(s) the map wraps in
  • Added minerals onto map, e.g. Gems, Gold, Iron
  • Added nodes and lairs onto map
  • Added main menu, screen for locating a Server game, selecting a Wizard, and informing other players which Wizard you chose
  • When choosing the picture for a custom wizard, you can choose a local BMP file (ideal size is 218x250)
  • Created customizable XML data file for server module
  • Correctly handles setting number of players who must join the game and preventing too many players from joining
  • Waits for correct number of playes to join game before starting
  • Multi-language capability for game data (e.g. Wizard/Unit/Building/Terrain/Spell names)
  • Option to choose between multiple language files
  • Reads various fonts directly from original FONTS.LBX file for use on all the screens and menus
0.1.0 31 Aug 2004
  • Demo of Map Generator only - land, hills, mountains, desert, swamp, tundra, rivers, towers of wizardry all working
  • Animated shoreline tiles
  • Alt-Enter to switch between windowed and full screen mode