Back to Main Page

Master of Magic - Implode's Multiplayer Edition Version History

Version Date Description
To Do
  • Half tile production in squares shared by two cities
  • Check how the map view in the city screen looks for cities very close to the top or bottom of the map - suspect it will be wrong
  • Add each pre-defined Wizard's personality to the Server database, this should affect AI decisions about what to build
  • Allow server to impose a size restriction on custom BMP Wizard pictures, auto reduce from 24 to 21 to 18 bpp to shrink image
  • Improve handling of a player leaving the game (convert player to AI or save game - need to write save game routine first)
  • Allow creating and joining passworded games
  • AI should make a choice of what tax rate to use - currently it will never change from the default 1 gold/20% unrest
  • AI should make a choice of what proportion to channel magic power into mana, research and skill - currently it will never change from the default 1/3rd allocated to each
  • Display different types of houses for different races (i.e. tree houses and mud huts)
  • Server doesn't currently validate spell pick pre-requisites (it only validates the total cost of the spell picks)
  • Unit cost reduction from Coal and Iron Ore
  • When multiple units in one map grid cell, make choice about which to show on top rather than always just using the first
  • Optimize map unit drawing routine to only check unit lists for cells which we know to be at least partially visible
  • When the client loads up, start it immediately in fullscreen if it was last used in fullscreen
  • Prevent going over the maximum number of units in a map cell
  • An occupied map grid cell should prevent trying to move past it
  • When building a settler, a city's population should be reduced by 1,000
  • New cities from settlers should start out as outposts instead of immediately being size 1,000
  • Combat scenery should include random features such as ridges and trees
  • Handle Hydras 9 'figures'/heads properly
  • AI routines for deciding what units to build and where to move/attack units on the overland map
  • When right clicking overland enchantment spells when choosing free spells at the start of the game, the mirror frame isn't drawn in the player colour despite the fact that typically a wizard/portrait has been chosen by this stage
  • In a one-at-a-time game, if units die in a combat initiated by the local player, the global economy is not updated
  • CancelPendingMovementAndSpecialOrders does not check that the unit requested belongs to the player that sent the message, or that the unit is alive
  • Prevent creating more than one game with the same session name
  • Allow running Client on graphics cards with no hardware acceleration (or where hardware acceleration has been turned off through dxdiag)
  • Fix the graphics for flying and shadows in combat (so that flying units are actually raised off the ground, so that when you cast Flight onto a unit of Swordsmen they don't stupid as if they are running on the spot like they do in the original MoM)
  • Non-corporeal units should appear translucent in combat
  • Spell Ward currently picks a random realm of magic when you cast it - it needs to pop up a menu so the player can make a choice instead
  • When switching off spells in a simultaneous turns game, switching off the spell should be queued and processed at the end of the turn, the same as selling buildings
  • Ability to change sound volume (this is harder than it sounds and requires a complete rewrite of the sound/music player)
  • Enchanted/cursed units should have a visibility different appearance (e.g. be surrounded in a white glow)
  • Draw cities containing wizards' fortresses visibly different on the overland map (the graphics XML file already supports this, its just a case of drawing the images)
  • Mini-map
  • Roads - this also needs a modification to the server overland move routine, so that requesting a move of only 1 distance doesn't go an obscure route over enchanted roads like the original MoM did
  • If two players are in combat and a 3rd player has an overland enchantment cast that will have an effect on the combat (e.g. Eternal Night) then the combat area effect doesn't appear (it still works functionally, you just can't see it)
  • I don't like that you can't tell the different on the unit info screen between unit attribute bonuses from true Combat Area Effects (i.e. node auras) and Combat Area Effect spells (e.g. Prayer) - they all just show up green
  • If negative effects reduce a stat below zero (Warp Reality is the best example), you cannot tell on the unit info screen
  • The "Allows" entries on the Change Construction screen aren't clever enough to realise the knock on effects of building tile type dependancies; e.g. when selecting a Sawmill, says "Allows Ship Yard" even in cities miles away from any water
  • The unit selection buttons on the map could do with some optimization - with the map zoomed in, looking at a stack of 9 units drops the frame rate from 50 fps to 15 fps
  • Units with special orders (especially Dismiss) in simultaneous turns games should have visibility different appearance on the city screen and unit selection buttons
  • Need to do something about how caching the smoothing rules works when the Client starts up - on a slow single threaded CPU this can take 2-3 minutes, and its possible to join a game and get a lock error because the routine that's in the delay loop waiting for the caching to finish has threads deadlocked for too long
  • In human/human combat, the opponent's auto/manual control indicator does not display correctly
  • Add option to allow sorting spells in the spell book according to Magic Realm instead of Section (Stew)
  • City screen should show how many turns until the current construction is completed (Stew)
  • Add overland map scroll speed as a slider on the options screen (Stew)
  • Right click a location to recentre the overland map (Stew & esper256)
  • Impose limits on custom new game settings (e.g. stop trying to create a 99,999 x 99,999 map, or 100 units per grid cell)
  • If a city has both Walls of Stone + Fire, on the city view you can't see the wall of stone; presumably same is true for Wall of Darkness
  • Wall of Fire and Wall of Darkness appear in combat correctly, but don't do anything yet
  • Combat AI - Units defending a walled city should camp out inside the walls and only walk out if their ranged attack strength is less than the attackers'
  • Combat AI - With city walls, now need to be more clever about choosing what unit to attack, since its likely when attacking a city that the only unit that is reachable is the one standing in the doorway (the current logic will try to attack the archers and then realise there is no route to reach them)
  • Green parts of overland unit images are supposed to change to the same colour as the wizard's flag (same as city flags)
  • Green parts of combat unit images are supposed to change to the same colour as the wizard's flag (same as city flags)
  • AI wizard pick selection doesn't work the same as the original (see strategy guide p412)
  • (Bug) If you hold down the mouse on a button and move off the entire form, the button still has a pressed appearance
  • (Bug) If running full screen and windows get switched in an odd way (i.e. not Alt-Tab), cursor position becomes wrong
  • (Bug) If server kicks you out of a game during game setup, you can end up with books and/or Next Turn button left on the LHS shelf
  • (Bug) Scrolling the map to the next unit to move sometimes scrolls the long way around
  • (Bug) If the last creature guarding a monster lair is killed and the counterattack kills the last attacker at the same time, then technically the defenders win and so the lair is not removed from the map which is correct - but walking onto it with fresh units doesn't display the "Scouts have found nothing" message and so the lair can never be removed from the map. It also behaves oddly if you find an empty lair but answer "no" to "attacking" it the first time, then answer "yes" another time. Probably the same bug.
  • (Bug) Stop "Server has ended the game" from coming up if the player wilfully clicks the Leave Game button
  • (Bug) At the map wrapping boundary, sometimes units will be drawn moving e.g. up-left when tried to move them up-right, however this is a visual artefact only - at the end of their move they jump to the right location (suspect this is because DetermineDirectionTo does not take map wrapping into account)
  • (Bug) esper256 reported in 0.9.3 that when taking an empty monster lair, the screen scrolls away to the next unit before it shows your unit actually taking up that square
  • (Bug) Using the "Don't syncrhonize screen updates" option after a game is progress gives an Access Violation error; using the option on the title screen works fine
  • (Theoretical bug) The controls on a form are not kept locked while processing events for those controls. There is a VERY small opportunity for a crash here - for example if you right click one of the 'Select Unit' buttons on the map screen to get info about a unit at the precise instant that you receive a network message from the server to tell you that that unit has been killed - next to impossible to fix
0.9.6 or later
  • Combat Area Effects from City Enchantments, so that Heavenly Light and Cloud of Shadow work correctly
  • Improve simultaneous turns games - I've not done much testing on these, suspect there's plenty of situations where you try to attack some units and they move out of the way, or you try to move into an empty square but units move there and you end up attacking them
  • Range penalties for non-magic range attacks; Long Range and Large Shield skills
  • Units should get a resistance saving throws against some types of unit curses
  • Dynamically size the tax collector form based on how many tax rates are defined (similarly to how the Select Target for overland Unit Spell form works)
  • Special abilities affecting the order that attacks are resolved in combat, e.g. First Strike, Negate First Strike, Poison, Breath and Thrown attacks
  • Generic handling of which unit abilities and spell effects negate each other, e.g. Negate First Strike negates First Strike, Poison Immunity negates Poison, Fire Immunity negates Immolation (and a whole lot more besides), Elemental Armour negates Resist Elements
  • Dispelling unit, city and global enchantments and curses (taking into account bonuses from Chaos/Nature/Sorcery Mastery, Runemaster and 'Dispel True' versions)
  • Ship movement working properly (e.g. moving back into cities), as well as loading and unloading
  • Remember IP addresses that have been used on the client so they appear in the list in future
  • Victory conditions (including New Game options to change what the Spell of Mastery does, or if its even allowed)
  • When a unit stack moves into view it sends a flood of separate 'add unit' messages which can make the map updates look odd - should do in a single message
  • Buildings and population being destroyed during city combats
  • If two unit stacks both reach a node/lair/tower as part of continued movement in a one-at-a-time game, the 2nd dialog box overwrites the first, so the 1st stack loses the opportunity to attack
  • Allow moving the individual windows around (e.g. so you can drag the spell book or city display to a different position)
0.9.5 Major new features:
  • Overland AI for AI wizards and Raiders (at a minimum this will include the AI building units, moving around the map, attacking cities and lairs/nodes/towers... it may or may not include the AI casting spells)
Changes to the editors:
  • Port the graphics XML editor to Java.
0.9.4 Sept 2008 Minor new features:
  • Crusade spell now works
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)
  • Fix text on options screen that says you switch to full screen using alt-tab (thanks to AussieKSU for spotting this)
Changes with no visible effect on the game:
  • The MoM IME server has been ported to Java, but it hasn't just been a simple line-for-line port, all the code, design and class structures have been reviewed and improved in the process - and as a result is much more stable and managable to make future changes simpler
  • 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 can now create blank XML files from scratch (e.g. when creating a new language file) instead of having to copy an existing one or set the namespaces up by hand
  • Upped to JDOM 1.1
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 Wizards' 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