As a French person I feel like it's my duty to explain strikes to you. - AdrienIer

Create an account  

 
Caster of Magic II Bug Reports!

Quote:One small thing that works in V1.1.1 but not in V1.1.2 is about the selection of a starting spell. If there was only 1 spell to choose in a tier, the selection would simply jump to the other. Now you must first deselect the spell before another can be selected.
Unfortunately I had to sacrifice that feature for implementing the support for changing the number of spells in each tier. It has poor compatibility with the scrollbar that appears when there are more than 12 spells to display.

Quote:It may be wrong, but I have a feeling that the AI-units ep number never increases with Easy difficulty and with other difficulty levels only increases after the units have been engaged in combat? Or is a special pacing programmed? It is not 1 ep per turn usually ...

Experience percentage multiplier is in Difficulty.INI. Easy and Normal gets 0 and 50% respectively, both of which cause 1 xp to be 0. Fair and higher gets 100% of more and should gain the 1 exp per turn (or more).

B4. This is a test version. It's not for public. Version number will be 1.02.00 after Slitherine publishes it.
Currently, I only change the version date to the day of the upload.

B5. Wasn't able to reproduce. Changing the queue to/from housing, adding/removing anything to the queue, changing the tax rate, and moving units all updated the displayed growth immediately. I will need the exact instructions on what to click in which order.

B9.
Because implementing a special case in the code to display something that is a modifier as if it was a base cost is unnecessary extra work.

S13. Delete the units.dat file to reload the units.ini file. I forgot about that, it doesn't read the INI file except on the first run to create the .dat.

Yes, Invisibility gets full damage from a Fire Bolt if you can see and target the unit.

Hero ranged, resistance : Reading the text, it seems to be correct which means it's a bug after all. It should be rounding in the other direction. Fixed for the next upload.

Quote:In that case, I propose probabilistic rounding up or down. Say 5 figures supposed to distribute a total of 2HP would round to 0 by 60% and round to 1 by 40% chance.
It's a continuous effect that's being re-applied every game tick. Let's not add a Schrodinger's Cat situation by making it change at random every milisecond, and I most definitely don't want to add a new unit variable just to keep track of what it rolled the first time which needs to be somehow initialized every time the unit gains this spell from any source. (Mystic Surge, combat casting, overland casting, etc)

Quote:OK, not AI friendly to current AI. Please explain why future AI cannot take advantage of this.
In general the AI needs to move as close to the target as possible and doesn't have the ability to know when it's safe to stop earlier to use a bonus from such a tile. If it misjudges that it would end up being unable to ever reach the target assuming the target tried to avoid the fight.
It's the same problem why I can't optimize the AI to use Fire Breath and First Strike better.

Quote:Acceptable. Current mini map text is trivial and not much help anyway.
Added the feature, it will be included in the next upload.
Reply

(September 2nd, 2021, 14:12)WhiteMage Wrote: OK, but I think it is not a good rule. Another way to tackle this problem is by making the battle AI (a lot) stronger. A 3rd way is by adding more impassable tiles like mountains. I have other ideas too. So there will be less abuse by players forcing draws that even count as a ridiculous wins.

None of those are suggestions to change the rules? o.O

(September 2nd, 2021, 14:12)WhiteMage Wrote: The AI can exploit these bonuses. Who said that it cannot? And why?

Seravy said that. I probably should have just let that happen again. :P

(September 2nd, 2021, 14:12)WhiteMage Wrote: Why none of my balance and micro reduction proposals seem viable?
All I am asking is a rule (mod) for players who try to play optimally, but don’t enjoy excessive micromanagement. As a rule of thumb AI can be coded for these objectives and pretty much anything this game needs. Lucky for me Seravy already declared that strong AI is his top priority. So what is the real problem here? Strong AI development? Or some other reason?

With the exception of option 1, which seems simply pointless to me, as gold is unlikely to be a deterring factor from moving, they all add an incentive to not moving. How do you propose the AI evaluate their value? This is required to actually exploit the bonus as opposed to randomly gaining it.

(September 2nd, 2021, 14:12)WhiteMage Wrote: Yes. See Hammer.GAM file.

Thank you, my OCD in this regard was evidently not strong enough to notice this yet. Normally, there should only be two different increment values alternating (it's a product of two fractions). However, the contribution of farmers is apparently rounded up (even in the original game), which causes the behaviour you observe. I'm not sure that was even intended, but I'm also not sure whether I'd want to change it.

(September 2nd, 2021, 14:12)WhiteMage Wrote: Yes, I propose food becomes stockpiled same way as gold or mana. It stays in the stockpile until it is used later (like mana or gold). But you can only use stockpiled food to feed citizens and units in the future. It is automatic.

I agree to disagree. I think it's fine as it is.
Reply

(September 2nd, 2021, 15:43)Mqz Wrote: WhiteMage>
"AI should always play by the same rules as the player"
C-Evo is a very old freeware project game. Battle for Wesnoth is a very old free open source project.
Dominus Galaxia is a new game and freeware, AI seems to have production bonuses in a post from the developer.
Not really well known or easy to remember games, and I can't really tell for sure if the AI is playing without any advantages or not.
Just because they "play by the same rules" dosn't mean that their pathing logic dosn't work as if they could see the full map and they do seem to be restricted in their diplomacy and some of them start with extra resources. But the intention is clearly there and well done, true.
Chess, Checkers, Go. I guess those are fair examples, but I don't quite think about those as "AI's" to be honest.
Dragging up two 22 and 16 years old obscure games as your examples kinda just proved my point, in my opinion. So I still stand by my previous statement to be honest.

C-Evo AI development continues, although very slow. Both C-Evo and Battle for Wesnoth are newer games than Master of Magic. Besides, what is wrong with freeware  and open-source projects? In my opinion they are very respectable and precious. C-Evo is the best Civ game ever made. Battle for Wesnoth is the best Turn-Based Tactical game ever made. Dominus Galaxia (DG) is the best game ever made, unless COM II soon surpasses it. DG is not freeware. It is a game under development for professional sales. There is already a financial contract with Steam. Dominus Galaxia is also not new. Beyond Beyaan, the predecessor of Dominus Galaxia, coding started in 2009 which was later renamed to Dominus Galaxia after merging with another already existing coding project.

AI production bonuses and penalties exist in Dominus Galaxia, but these are only options for increased and lowered challenges. Many veteran players don’t choose bonuses nor penalties when they play. Also, optionally increased and lowered challenges count as handicap. Those are not considered different rules. They just produce more or less than the human player as chosen. The game of Go has handicap too when different ranked players play - still same rules.

C-Evo documentations explain that the AIs play without rule advantages and without disadvantages. Same rules. You can check the source code if you want to be sure. Or you can ask one of the developers or their fans by posting your question on their still active forums.

I think that AI playing by the same rules is very important, and is feasible even for Caster of Magic II. Many reasons for this. But since it is part of the TBS culture and religion that AIs do not try to win, but generally only exist to entertain people, I don’t want to remove that either. I simply advocate and code for strong AI and other objectives in various projects. Beating AI that both cheats and intentionally plays stupid is less entertaining than beating them in a fair setup, assuming the AI is very strong. Imagine beating a chess AI that both cheats and intentionally plays stupid. Not fun for me at all.

Your opinion about Chess and Go AI not being real AI is ridiculous in the chess, Go, science, and AI development communities. That is so wrong at every level I can imagine. I guess you don't accept those PhDs and publications on this topic either. But of course you are free to have your own opinions...

And what is your point I just proved? That we are here still discussing, playing, and coding a 27 year old game now? (Master of Magic).

Turn based strategy game development is hard. Strong AI development is super hard. Main stream development does not have time, money, qualification, patience, or interest in developing strong AI. So they sell the low hanging fruit and market their poor AI products as “Fun AI”. I, and many other players are very tired of this going on for over 30 years. So we take the work into our own hands. I did all this for free, in my free time on the side while having a full time job and numerous other projects, interests, and responsibilities…
Reply

Test version 1.2 (upload 3)

*Crack call is still buggy.

Enter with the team in nature node and if Aureus launches the magic it breaks.


Attached Files
.zip   3.zip (Size: 249.99 KB / Downloads: 1)
Reply

(September 2nd, 2021, 22:46)Cruel100 Wrote: Test version 1.2 (upload 3)

*Crack call is still buggy.

Enter with the team in nature node and if Aureus launches the magic it breaks.

Will be fixed in the next upload.
Until then, replacing "Getunitability" with "getstat" in the script fixes the issue (replace all three). I renamed that script command during implementing it.
Reply

"B5. Wasn't able to reproduce. Changing the queue to/from housing, adding/removing anything to the queue, changing the tax rate, and moving units all updated the displayed growth immediately. I will need the exact instructions on what to click in which order."
COM II 2021-09-02.
New game. Phantasm, 1, Minimal, Mixed, 1, Fair, Fair, Kali, Gnoll, All defaults, OK, Red color, Change tax to max, right click town, note the growth number, click it. See that is changed. I tried this 8 times in different games. 7 times it updated, once it did not.

“B9.
Because implementing a special case in the code to display something that is a modifier as if it was a base cost is unnecessary extra work.”
Why not just change the base cost then? In MOM, Gnoll settlers cost 60 and was displayed as 60. It displayed the data in the most simple and understandable format.

“In general the AI needs to move as close to the target as possible and doesn't have the ability to know when it's safe to stop earlier to use a bonus from such a tile. If it misjudges that it would end up being unable to ever reach the target assuming the target tried to avoid the fight.
It's the same problem why I can't optimize the AI to use Fire Breath and First Strike better.”
Thanks. So it is an AI heuristic and optimization problem. It is not easy, I agree. But it can be done. I would classify this problem as low priority at this stage, but I would not reject it, since the rule change would give so much depth and fun to the game. Current and past AIs all made so many mistakes that most games became mainly an AI stupidity and game rule exploit.
Reply

drake178,

“None of those are suggestions to change the rules? o.O”
Some of them require changing the rules. Some of them don’t. All require time to code.

“With the exception of option 1, which seems simply pointless to me, as gold is unlikely to be a deterring factor from moving, they all add an incentive to not moving. How do you propose the AI evaluate their value? This is required to actually exploit the bonus as opposed to randomly gaining it.”
First, I am talking about micromanagement countering rules which is huge. And yes, the rules I proposed try to give incentive to not move. Not enforcing either way. If balanced right, hard decisions will be made at every move, which is a very important objective for a TBS game design, IMO. A streamlined deep game, is what I propose. Gold can become a deterring factor. Increase the cost of moving high enough and no one will move… I try to deter marginally beneficial moves. Not all moves.

Now you ask me specific AI development questions. I propose we open up a new thread for that. AI development should be the most difficult and most time consuming part of a TBS project. It is a trial and error thing. Unless you try machine learning, which is a trial and error thing. With self playing millions of times a deep learning neural network has a chance of learning the needed values. Go AI did that for example. Of course, I would start with Good Old Fashioned AI before I would apply deep learning. Once the game is balanced, an expert human player (me or someone else) can give estimated values, heuristics, weight functions, fitness values, etc. Doing this for numerous iterations based on data will likely result in a strong AI. Well, at least for that aspect of the AI. Similar to how Deep Blue Chess AI was designed, coded, and tuned that eventually beat the world champion back in 1996. And AI got far stronger since then. AI development takes time among other things.

“Normally, there should only be two different increment values alternating”
They are not just alternating. It is even worse. In MOM, it was even bugged on the top of the crazy formula. No practical way to predict it, unless someone uses the source code.
Reply

Quote:Why not just change the base cost then? In MOM, Gnoll settlers cost 60 and was displayed as 60. It displayed the data in the most simple and understandable format.

Settlers are no longer separate types of units. Every race has the same "Settler" unit with the same base cost, and the special abilities of the race are added to it when the unit is created.

Quote:It is not easy, I agree. But it can be done. I would classify this problem as low priority at this stage, but I would not reject it,

Can be done, maybe, I don't know. What I do know is I can't do it so I'm rejecting it. As soon as I have an idea on how to solve that, I'll consider it possible but that hasn't happened in the past 5 years for thrown and fire breath which is the exact same kind of problem, so it's very unlikely.

B5. Confirmed. It seems to be the housing bonus missing. It's cause by cities being created with an empty production queue. The first time you enter the city screen, it automatically adds Housing to the empty queue but the initial data to display is calculated before that. I will make this set the "recalculation needed" flag on the city for the next upload.
Reply

(September 3rd, 2021, 00:05)Seravy Wrote: Can be done, maybe, I don't know. What I do know is I can't do it so I'm rejecting it. As soon as I have an idea on how to solve that, I'll consider it possible but that hasn't happened in the past 5 years for thrown and fire breath which is the exact same kind of problem, so it's very unlikely.

I will be happy to help. Feel free to discuss the AI problems, algorithms, etc. with me at a deeper level. Maybe in an AI thread or in private.
Reply

If you have a good and reasonably simple algorithm the AI could use for optimizing the movement of First Strike and Thrown units, you can post a new thread for that.
Reply



Forum Jump: