Autodumping Units/Buildings - no good idea, and here is why

Place to report bugs in MoM IME and suggest ideas for enhancements (please read rules before posting)
Post Reply
ragnar-gd
Posts: 15
Joined: Sat Dec 27, 2008 7:31 pm

Autodumping Units/Buildings - no good idea, and here is why

Post by ragnar-gd » Sat Dec 27, 2008 9:32 pm

Hi,

I found this in the accompanying "differences"-doc:

# If you were producing insufficient rations or gold to support your army, the original Master of Magic would kill off your units. However, even if you were producing negative gold and had no gold stored so had no gold to pay for maintenance on your buildings, it would never force you to sell off buildings (this really surprised me when I found it!) MoM IME will sell of buildings as well as killing off units in order to get your gold production back above zero. Note, this means even if you have units still alive that have gold upkeep, MoM IME may sell off buildings instead - it chooses randomly


As here the decision was made to alter the rules of the game anyway, to counter an inherent flaw in original MoM, I might suggest a different way.

Synopsis: Disable random auto-dumping, instead implement "auto-alchemy on demand" and "auto buy required food on demand". Optional: A defined amount of ressources that is transformed each round automatically

Lets look at it from the inner logic of the game first: Any true general would kill his administration (and take this literally!), if they let random buildings be sold, or random troops be dismissed, of, in a fantasy-setting, random spells be dispelled without asking. Such things simply are too critical, as they are expensive, and can be decisive.
As MoM is a turn based game, and as these turns take quite some time by matters of game-logic, I think that uncontrolled (if not random) dumping should be happening only under the direst of circumstances. Say, when my sorceror has been banished, and I decide to continue the game and use the spell of return (and even then, some "semi-intelligent" measures should happen first automatically). Otherwise, by game-logic, there should always be enough time to make critical decisions by yourself.

Let's assume that some among us (me, i.e.) want an Options-checkbox that says "(x) No random dumping at end of turn", so that, when and if some ressources (Mana, Gold, Food) do not suffice, I cannot end my turn.

And when, by reason of unfortunate events between turns, something has to be done, some optional things (see further down) happen automatically BEFORE random dumping takes place.

The normal reaction of players to situations of scarce ressources was, and is, and will be: Micromanaging.
They play with the "Alchemy"-button, re-dedicate workers, select units to dump, sell spells to other sorcerers (or do comparable diplomatic acts).
Of course, Micromanaging is the "grind" of strategic games, and though it is preferable to random "unfortunate events", it is to be avoided otherwise, if possible, at all. Strictly: IMHO.

So have some ideas how to avoid random dumping AND micromanaging (aka Grind) with one act.

So, for a start, I want another Options-checkbox "(x) use auto-alchemy".
Optionally, this could be split up into checkboxes "use (x) no auto-alchemy at all (x) only gold->mana (x) only mana->gold (x) both(default)", if time allows.
This would transform, by simple arithmetics, gold to mana, or mana to gold, automatically - strictly by the rules of the game, of course, i.e. regarding the "alchemy"-skill - when and if either ressource is lacking.
A pop-up that says "Automatic handling" (ends turn, using auto-whatever), "Micromanage" (returns to game, not ending turn) and "Let loose random hell on my possesions" (as in classic MoM) would be nice, of course, if I do not check "End turn: (x) as in classic MoM, (x) use auto-whatever, (x) ask" in Options.
This would come in handy especially if/when you loose a city between turns, which in classic MoM usually is the reason for reloading an old savegame... :roll: Unnecessary.

The next thing is random dumping because of lack of food.
Again, a view from game-logic: If random troops are dumped, this usually would be the potential cause of big trouble for any military leader. Think of revolting troops! True Masters only dismiss troops honorably...

There are two resolutions to the malaise: One (1) simple, but definitely changing the rules of classic MoM, and (2) another, that requires some serious coding.
(1) The simple solution would be "(x) auto buying food", where by a simple act of coding gold simply is transformed into food (at a bad rate, as it has to be imported, of course). I would definitely prefer this solution, as it does not break any inner logic, and is trivial to implement - perhaps one block with aforementioned auto-alchemy?
(2) The more demanding solution would be an automatic adjustment of city-production, by code-looping through cities, starting with cities that "produce wealth/money", and cities that only require one round before finishing some unit or building, and might have some surplus food of production anyway. This has some potential, but I'd rather put this further down the list of priorities.

And while we are at it, an "auto alchemy"-slider on the Magic-Page, that by default transforms a defined amount of gold to mana or vice versa each round, to a maximum value of (3 times your number of alchemist guilds), would ease playing enormously (if, i.e., you have dwarves as your race, and while lacking mana, definitely have a sure surplus of gold).

So, enough rambling, comment on this. I think that implementation would be rather simple, compared to other tasks on the list, and the benefits would be quite worth it.

Ragnar-GD

Virm
Posts: 63
Joined: Sat Sep 23, 2006 3:54 pm

Re: Autodumping Units/Buildings - no good idea, and here is why

Post by Virm » Sun Dec 28, 2008 9:39 am

That's a lot of game mechanics to be throwing in, and some of it still wouldn't make any sense from a player standpoint.

Especially in regards to the auto-destruction/-debanding of units, there's likely to be a warning box that appears when you try to end your turn that tells you that you don't have enough rations/gold/mana to last out the turn, which will then ask if you really want to end the turn anyway (much like the original did with rations/food). I can see it being reasonable to ask for a selector between auto-disband and auto-selling buildings to make money ends meet (and then it still performs the other if your prefered method alone wasn't enough), or even an option to simply not allow you to end your turn till you break even, but the announced intended system for doing the accounting at the end of each turn isn't really and extension or expantion of the old system as it is a (more-or-less) direct correction of a broken one (meaning there were conditions under which it simply wouldn't bother to balance the books anymore and would ignore the imbalance).

While I agree that an auto-alchemy system for converting a set amount/percentage of gold <--> mana each turn or even going so far as to make the computers do the work of figuring out how much of what needs to be converted to the other to make the money balance would be nice, that seems to me that implementing a system to do that would be a considderable undertaking, and would really serve very little purpose most of the time.

In regards to auto-disbanding or -dispelling when rations or mana won't pan out, there's no answer I can think of for either of these (save possibly the aforementioned alchemy system for the mana) which would allow the computers to automatically adjust amount availabe either by direct conversion (as there really is no direct conversion available for rations) or algorithmically (as that would suggest that the computer is supposed to decide that it can alleviate the mana crisis by diverting all of your magic power base from research into mana production, or something similar). And this returns us to the existing options in MoM to the problems of "Fix it yourself and try ending the turn again" or "Go ahead with the shortages anyway and we'll see which units/spells actually last out the turn" (which is really what's happening when you decide not to supply everything with enough of whatever it needs, some stuff makes it ok, other stuff doesn't).

In regards to your numerous comments regarding it being simple/trivial to code these new/different options in, while I know that I have thought (and possibly said) much the same about thoughts of mine regarding this rewrite, I also know that I haven't the slightest idea how the engine is constructed. There's a very real possibility that any change that anyone on these forums (myself included) may think is trivial, could in fact be an enormous undertaking that would require the entire code base of the project to be canned and rewritten. For this reason I do my best to avoid making assumptions on the ease/difficulty of any potential changes (though, again, I sometimes fail), and of course all final judgements are left in the hands of Implode.

I'm really not saying that your ideas are bad ideas, they just seem rather far afield from the original field of the game to me.

ragnar-gd
Posts: 15
Joined: Sat Dec 27, 2008 7:31 pm

Re: Autodumping Units/Buildings - no good idea, and here is why

Post by ragnar-gd » Sun Dec 28, 2008 3:56 pm

Thank you for your extensive and thoughtful answer.

Virm wrote:That's a lot of game mechanics to be throwing in, and some of it still wouldn't make any sense from a player standpoint.


It may be a very personal POV, but what I suggested, is an automatisation, of what I - and many others - would do anyway: Micromanaging scarce ressources.

Virm wrote:While I agree that an auto-alchemy system for converting a set amount/percentage of gold <--> mana each turn or even going so far as to make the computers do the work of figuring out how much of what needs to be converted to the other to make the money balance would be nice, that seems to me that implementing a system to do that would be a considderable undertaking,


Let's see, if this is easy or not.
It matters, where and when such code is added.
The right moment, AFAICS, would be AFTER every other player/AI did their part, just before the game hands over control to us.

Let's try with pseudo-code:

// Some Definitions
Def <Mana> := Our Mana Stock
Def <Mana-delta> := Whatever comes from our Spellbooks, Nodes, Mithril, etc., minus Mana used per Turn by Spells and summoned creatures
Def <Mana-shortage> := Selfexplaining
Def <Gold> := Our Gold Stock
Def <Gold-delta> := Income from Taxes, Mines etc., minus usage from Buildings, Heroes and Units
Def <Gold-shortage> := Selfexplaining
Def <Food> := Our Food Stock
Def <Food-delta> := Production from the Land
Def <Food-shortage> := Selfexplaining

// At first, we use up existing ressources according to their normal usage

if ( ( <Mana> + <Mana-delta> ) < 0 ) then <Mana-shortage> = -1 * ( <Mana> + <Mana-delta> )
<Mana> = <Mana> - LowestOf ( <Mana> Or <Mana-delta> )

if ( ( <Food> + <Food-delta> ) < 0 ) then <Food-shortage> = -1 * ( <Food> + <Food-delta> )
<Food> = <Food> - LowestOf ( <Food> Or <Food-delta> )

if ( ( <Gold> + <Gold-delta> ) < 0 ) then <Gold-shortage> = -1 * ( <Gold> + <Gold-delta> )
<Gold> = <Gold> - LowestOf ( <Gold> Or <Gold-delta> )

// Now we start to even out shortages

If ( <Mana-shortage> )
{
if ( <Gold> > 0 ) // Two Gold count as one Mana, according to classic MoM rules. I ignore the Alchemy-skill here, but that may be added easily
{
<AutoAlchemy> = LowestOf( ( <Gold> / 2 ) Or <Mana-shortage> )
<Gold> = <Gold> - ( 2 * <AutoAlchemy> )
<Mana-shortage> = <Mana-shortage> - <AutoAlchemy>
}
if ( <Food> > 0 ) // Four Food count as two Gold count as one Mana, according to classic MoM rules. There is need for a "Trader"-skill here... ;-)
{
<AutoAlchemy> = LowestOf( ( <Food> / 4 ) Or <Mana-shortage> )
<Food> = <Food> - ( 4 * <AutoAlchemy> )
<Mana-shortage> = <Mana-shortage> - <AutoAlchemy>
}
}

If ( <Gold-shortage> )
{
if ( <Food> > 0 ) // Two food count as one gold, according to MoM classic rules
{
<AutoAlchemy> = LowestOf( ( <Food> / 2 ) Or <Gold-shortage> )
<Food> = <Food> - ( <AutoAlchemy> * 2 )
<Gold-shortage> = <Gold-shortage> - <AutoAlchemy>
}
if ( <Mana> > 0 ) // Two Mana count as one Gold, according to MoM classic rules
{
<AutoAlchemy> = LowestOf( ( <Mana> / 2 ) Or <Gold-shortage> )
<Mana> = <Mana> - ( <AutoAlchemy> * 2 )
<Gold-shortage> = <Gold-shortage> - <AutoAlchemy>
}
}

If ( <Food-shortage> )
{
if ( <Gold> > 0 ) // Importing food is expensive, so I assume 1 food = 1 gold
{
<AutoAlchemy> = LowestOf( <Gold> Or <Food-shortage> )
<Gold> = <Gold> - <AutoAlchemy>
<Food-shortage> = <Food-shortage> - <AutoAlchemy>
}
if ( <Mana> > 0 ) // Transforming Mana to Gold to Food is extremely expensive, so I assume 1 Food = 1 Gold = 2 Mana, ignoring alchemy here again
{
<AutoAlchemy> = LowestOf( ( <Mana> / 2 ) Or <Food-shortage> )
<Mana> = <Mana> - ( 2 * <AutoAlchemy> )
<Food-shortage> = <Food-shortage> - <AutoAlchemy>
}
}

// NOW is the moment for a message, and random hell break loose!

if ( <Food-shortage> Or <Gold-shortage> Or <Mana-shortage> )
{
PopUp "You don't have enough of anything! Looser!"
function_desaster(<List of Things lost>)
}

// If there is still mana left, now we assume it to be safe to spend it on pending spells
// Normally, this should be implemented somehow similar to this in MoM IME already ...

<Mana-reduction> = <Mana> - LowestOf ( <PendingSpell.ManaStillRequired> Or <Sorceror.Skill> Or <Mana> )
<Mana> = <Mana> - <Mana-reduction>
<PendingSpell.ManaStillRequired> = <PendingSpell.ManaStillRequired> - <Mana-reduction>

// Of course, here we could get even further, with AutoAlchemy supporting pending spells,
// but that is further down the list of priorities, as I'm mainly concerned with avoiding auto-dumping

--- end-of-pseudodcode ---

That was easy enough, took me 45 minutes.

Virm wrote: or algorithmically (as that would suggest that the computer is supposed to decide that it can alleviate the mana crisis by diverting all of your magic power base from research into mana production, or something similar).


Based on inner game-logic, I think that re-allocation of Power-ressources or workers is a manual job of the Player during mid-turn, and something that cannot be done in case of a crisis (think of this ressources already to be used up, when a city is lost, or something similar). It is harder to encode as well.

Ragnar-GD

Iluvalar
Posts: 46
Joined: Wed Oct 17, 2007 8:57 pm

Re: Autodumping Units/Buildings - no good idea, and here is why

Post by Iluvalar » Sun Dec 28, 2008 8:02 pm

ragnar-gd wrote:Any true general would kill his administration (and take this literally!), if they let random buildings be sold, or random troops be dismissed, of, in a fantasy-setting, random spells be dispelled without asking. Such things simply are too critical, as they are expensive, and can be decisive.


That should be fun :twisted: . "Some of your heretic units have disbanded from lack of food. Do you wich to execute some Elite units to show the good exemple ?" :lol: .

Virm
Posts: 63
Joined: Sat Sep 23, 2006 3:54 pm

Re: Autodumping Units/Buildings - no good idea, and here is why

Post by Virm » Mon Dec 29, 2008 3:34 am

Ragnar-gd:

Yeah, that mostly makes sense, except that any excess rations are already being automatically converted into gold at the end of each turn and there is no ration stockpile, so you can take that as <food> always <= 0, but maybe assume that the ration --> gold conversion happens before this pseudocode.

Going back to your comparing against real life for a moment:
If we considder that the only real powers in the world are yourself and the other wizards, and every wizard is trying to be on top, who are you expecting to be able to buy rations from?
Your enemies aren't likely to help you from yourself, and the neutral cities are normally stretched thin supplying their own garrison.

So, again, while it's not a bad idea, why should we suddenly be able to purchase rations when we're short-supplied?

(The above is purely conversational and not meant to be arguementative. The below is my only actual arguement with the idea as it is presently...)

If we skip all of the above and assume that we will be able to purchase extra rations, it should cost us considderably more than a single gold per ration. At that exchange rate, I'd be able to have every person in every city set as a worker in a 20 city empire (I'm assuming here that if we can buy rations, the restriction on cities requiring them to produce enough food for their own citizens would be lifted, just for the sake of this example), and still supply multiple full stacks worth of normal troops for only a few hundred gold (which could be easily produced by just 3-4 of the aforementioned cities working on trade goods).
Something else to considder is that each turn represents a month of time passing, and 1 gold doesn't seem like enough to buy a month's rations for a unit of troops. I would think that costs for that would be closer to 5-10 gold per month for that unit's rations. Which suddenly would make that immaginary empire go from a ration cost of about 300ish gold to a ration cost of at least 1500 gold, which sounds much more reasonable to supply an entire empire with rations from outside sources.

Dyslexic Q-Thief
Posts: 8
Joined: Fri Jan 04, 2008 3:17 am

Re: Autodumping Units/Buildings - no good idea, and here is why

Post by Dyslexic Q-Thief » Thu Jan 01, 2009 3:06 am

Another issue with the game fixing any resource problems is balance. When all is said and done, I see the final multiplayer of MoM IME as having resource disruption as a legitimate and worthwhile strategy. If a wizards have no food surplus at all and a Call the Void nukes an important city and causes a famine, tough luck, some of his troops will and should die, An expert player should have to balance, knowing his opponent's strengths and abilities, having an unused surplus in some resources as a buffer versus using the resources to fight. If all you need is a big pile of gold to buffer, that strategy leaves.

ragnar-gd
Posts: 15
Joined: Sat Dec 27, 2008 7:31 pm

Re: Autodumping Units/Buildings - no good idea, and here is why

Post by ragnar-gd » Sat Jan 03, 2009 4:16 pm

Virm wrote:Going back to your comparing against real life for a moment:
If we considder that the only real powers in the world are yourself and the other wizards, and every wizard is trying to be on top, who are you expecting to be able to buy rations from?
Your enemies aren't likely to help you from yourself, and the neutral cities are normally stretched thin supplying their own garrison.
So, again, while it's not a bad idea, why should we suddenly be able to purchase rations when we're short-supplied?

The same party anyone trades surplus rations to in conversion for gold in classic MoM... :wink:

The order of implementation may look like like this:
1. Start with allowing to buy food from that non-descript source without restrictions, for a high price (two gold for one food, or even more).
2. Start implementing the idea of "starving": Start wounding all units by one point, if you have less than full, but up to half the amount needed in stock. Start wounding all units (except heroes) by half, if you have less food than half of what is needed. Killing troops by starvation would then be delayed, which would be fair enough.
2.a. This could be implemented easily, and may be augmented, by a "hidden" spell of "Famine".
2.b. If out of ideas what to do next: starting with units beyond the viewing distance of cities, then troops within range, but not inside cities, and lastly with troops within cities.
3. Limit the amount of food on the market to the amount other wizards and wild cities converted to gold. Buying up food from the market to let it rot, to hinder under-equipped enemies, may become a tactical option this way.
4. Open up a finer market: Basic price for food from same continent, add a percentage for food from far away cities -like other continent/other side of the world-, add a percentage for food from other wizards, that have converted food to gold in the previous turn, add another percentage for the same source, if the wizards we buy the food from are hostile (contraband smuggling by in between criminals). This point should be real low on the list of priorities, though.
5. And down the list: Implement a new "Trader"-Skill, that improves the conversion-rate for buying food, much like the alchemy-skill does for conversion of mana <-> gold.

Virm wrote:If we skip all of the above and assume that we will be able to purchase extra rations, it should cost us considderably more than a single gold per ration. [...]

I completely agree that buying food from beyond your cities should be expensive, as, by looking at classic MoM, mainly Players will profit from this option, and less NPCs (which get some helping hand from the game anyway), so it is a bit unbalancing, compared to the situation before.

ragnar-gd
Posts: 15
Joined: Sat Dec 27, 2008 7:31 pm

Re: Autodumping Units/Buildings - no good idea, and here is why

Post by ragnar-gd » Sat Jan 03, 2009 4:40 pm

Dyslexic Q-Thief wrote:Another issue with the game fixing any resource problems is balance. When all is said and done, I see the final multiplayer of MoM IME as having resource disruption as a legitimate and worthwhile strategy.

I support this idea, yes.
Dyslexic Q-Thief wrote:If a wizards have no food surplus at all and a Call the Void nukes an important city and causes a famine, tough luck, some of his troops will and should die, An expert player should have to balance, knowing his opponent's strengths and abilities, having an unused surplus in some resources as a buffer versus using the resources to fight.

Yes, Players with foresight should be awarded, and Players without should be punished, as in Real Life (tm). But given the tedious micromanagement, that, despite being unnerving, can still avoid these fatalities, I pledge for reducing this time-consuming micromanagement, by replacing it with an automatisation. So, that, in effect, Players can concentrate on the more interesting part of the game, namely strategical and tactical decisions. In this case: Players with foresight waste less ressources, and the others waste more of it (and loose troops, if too careless).

Try to look at my ideas as a way to reduce micromanagement, by replacing micromanagement with tactical and/or strategical decisions. The game should by no way become easier in terms of making the Players think less hard, but only in the way of reducing the number of RSS-inducting mouse-clicks.

Dyslexic Q-Thief wrote:If all you need is a big pile of gold to buffer, that strategy leaves.

If you study real wars from the past, strategical and tactical abilities remain important throughout the ages. But in the end the "raw economic power" of a warring side, based on access to raw materials and educated man-power, decides, and is, by capable leaders, converted into whatever ressources is needed: Troops, Walls, Weapons, Ammunition, Food, Education, Transport, and in MoM Mana and Spells (which are a replacement for aforementioned ressources anyway - THE replacement which makes MoM an interesting Fantasy-game, instead of just another WW II simulation).
Yes, a really big pile of gold can compensate incompetence. Only that in MoM, you don't gain enough money from your ancestors to spend, so by being incompetent, you simply don't get that pile, and even if you do, the clever distribution on ressources still remains a problem.

Just IMHO, of course... :wink:

Iluvalar
Posts: 46
Joined: Wed Oct 17, 2007 8:57 pm

Re: Autodumping Units/Buildings - no good idea, and here is why

Post by Iluvalar » Thu Jan 08, 2009 3:38 am

ragnar-gd wrote:1. Start with allowing to buy food from that non-descript source without restrictions, for a high price (two gold for one food, or even more).

Let see. Since I am usually willing to buy half of my farmet market (100Gp for 50 productions) and assuming a population can produce either 1 1/2 food or 4 production (100% bonus is not quite hard to reach). We get:
1 1/2 food = 4 prod = 8Gp
or at best :
1 food = 2 prod = 4Gp

So let say under 5Gp/food I would never use farmers again.

Virm
Posts: 63
Joined: Sat Sep 23, 2006 3:54 pm

Re: Autodumping Units/Buildings - no good idea, and here is why

Post by Virm » Thu Jan 08, 2009 7:27 am

I think at this point we're mostly agreed that it's not a bad idea in principle. However, in light of Dyslexic Q-Thief's comments, to really be worthwhile and make resource disruption a truly viable tactic any automated conversion amongst resources should be done at the end of the players turn, rather than immediately preceeding the tallying of upkeep, and of course any trading would be done at a tremendous loss. (I'm thinking conversions of 8 gold / ration, 3 gold / mana, 3 mana / gold. Because if you're going to let others do your accounting and converting for you, you're going to take a hit to efficiency from it.)

On the other hand, it could be worth it to some players to also have an additional option to also make up any difference right before upkeep, just as previously suggested. I would, however, suggest that this would be an option that is additional to the post-turn conversions. And because any shoring up done so close to the upkeep of a player's turn would inherently be trading done on VERY short notice, auto-trading done at this time would likely be at double cost to any post-turn trading. (Jumping to real life comparison thought: If I need gold to pay this coming month's wages on my irritated soldiers, I'm going to have to sell my left leg for it. If I need that same money just so I can pay LAST month's wages on those same irritated soldiers, I'll be selling off both legs and an arm for the money and feel like I'm getting a deal on it.)

Again, have an option (option A) to auto-trade at end of turn, thus getting me barely to the 'break even' point to scrape by, assuming nothing happens. Then an additional option (option B) which can only be turned on if option A is already selected, that will also frantically try to find supplies for the troops in the event that my main farming district is destroyed overnight.

If I only use option A, then when I lose that farming center, lots of my troops die off because I couldn't actually feed them all. If I use option B, the troops get fed, but I paid through the nose for it and will probably need to lay off some of them just to avoid price gouging.

That last line actually adds another thought. Suppose that the base trade rates vary over time, or even just as random events much like conjunctions. That would certainly make it something of a shot in the dark sometimes as to whether one can actually afford the trading costs or not.

McTaff
Posts: 7
Joined: Sat May 03, 2008 12:38 am

Re: Autodumping Units/Buildings - no good idea, and here is why

Post by McTaff » Thu Jan 08, 2009 9:01 am

Very well thought out, and logical.

Seconded.

ragnar-gd
Posts: 15
Joined: Sat Dec 27, 2008 7:31 pm

Re: Autodumping Units/Buildings - no good idea, and here is why

Post by ragnar-gd » Thu Jan 08, 2009 2:25 pm

Virm wrote:I think at this point we're mostly agreed that it's not a bad idea in principle. However, in light of Dyslexic Q-Thief's comments, to really be worthwhile and make resource disruption a truly viable tactic any automated conversion amongst resources should be done at the end of the players turn, rather than immediately preceeding the tallying of upkeep, and of course any trading would be done at a tremendous loss. (I'm thinking conversions of 8 gold / ration, 3 gold / mana, 3 mana / gold. Because if you're going to let others do your accounting and converting for you, you're going to take a hit to efficiency from it.) [...]

Well, this discussion is really worth its weight in gold... :-D
No, really, that makes sense, as well by "realism"-aspects, as well game-design-wise (which is the more important side anyway).
If I now could get a hand on the source-code...

Post Reply