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!

Loading time is 3-5 seconds on my computer but it has a fast SSD drive. Older hard disks can be up to 20x slower but 5 minutes seem excessive even for that.
Dispel Magic might be a leftover from testing something.
Surveyor now only shows the terrain bonus. Roads, city buildings, etc are not included.
Flag colors, we've been past a few changes and this is the best we could come up with. 15 colors are too many to not use at least a few that are somewhat similar.
Combat summoning does not have a 9 unit limit. The limit only applies to the overland map.
Draconian hero might be affected by Mystic Surge or Raise Dead? Those prevent healing.
Spell book stays on the page you last viewed. If you don't turn the page after you started casting, it should stay there, unless you researched new spells meanwhile.

Showing unit bonuses might be possible.
I'm pretty sure a 'random" button already exists for wizards and races both. I remember using it while testing.
No regenerating map, officially encouraging that behavior is not something I want to do.
Specialist is already selectable in case of a tie. Selecting a realm you have fewer books in might be worth considering as a new feature after release. It's not trivial because in that case the AI also needs to learn to choose.
Double clicking as an input isn't implemented in the engine. It would be excessive to add it for a single use case. It would be also dangerous, if you click the slot to save but accidentally click double, you lost your current progress as it loads instead.
Showing game settings is a good idea. Not sure where to show it though. It probably needs to be an entirely new advisor in the Info menu. I'll probably add this during beta.
I prefer to not change the way saving works. You can use the same name in multiple slots which would overwrite your files. A name inputted by a user is not a unique identifier. More importantly the name can be lost while the file is still there. That system would make it impossible to load those files.
More save slots are probably possible if we add scrolling arrows but somewhat unnecessary and possibly even confusing. The files are stored in an easy to access way, so you can back up them for later use and slots 1-8 having the same name is intuitive.
Reply

I've never known a game take so long to load, it's like it's not working properly. There's no loading box or anything, it is like it just hasn't started launching at all.

Draconian hero may have had Raise Dead cast in a previous combat, but I thought it prevented healing until the end of the combat where you cast it and not until the end of the game? I've been unable to heal him ever since then in multiple combats.

For trade/production bonuses maybe you could put the % bonus next to the coins when you left click on the coins in the city screen. It's nice to know how much bonus you are getting from trade etc.

It would be good to click on swords/shields/resistance of a unit and it shows you where the total number comes from eg. for attack strength:

Base 5
Veteran 2
Flame blade 3
Mithril 1
Reply

Yes, Raise Dead should be until the end of battle only.
Adding some sort of a loading screen might be a good idea. The way windows works though it won't even draw the screen while the software is busy loading. So I'll need to do something like manually refresh the window during the loading function.

Detailed display of stat sources have been dropped from the plans. It's a lot of work. Maybe as a post-release update but definitely not a priority. Considering it has to be storing the texts while recalculating unit stats, and that happens a lot for other purposes, this feature can reduce performance like AI turn speed. Basically, for every stat gain effect on every unit, the game has to process an additional line of code that says "if this unit is being displayed currently, store text and stat gained in a list.", Insignificant time but it adds up because it happens for all units on all recalculations. Cities were able to get away with it but there are much more units and unit abilities than cities and city buildings/city bonuses.
Reply

I can load most modern game pretty quickly, so there must be something causing it to stall for some reason.

Would storing the derived stats on the units, instead of calculating them each time cause a large overhead in the game?  

I noticed a few other things:

Reinforce magic doesn't increase the strength of magic attacks created by focus magic
Continue doesn't always start exactly where you left the previous game, maybe the last completed turn rather than the position in the current turn.

By the way does focus magic now allow gaze attacks to be used as a ranged attack? It would make gorgons and chaos spawn a lot more powerful.
If so, for doom gaze would it be the strength of the magic attack or the gaze? I guess if you put focus magic on a doom bat the doom damage will only be 3 as that is the strength of the magic attack.

Edit: Playing the game with minimal size seems to never start the game, it freezes the screen like it's in an endless loop.
Reply

(March 16th, 2021, 20:43)Seravy Wrote: Basically, for every stat gain effect on every unit, the game has to process an additional line of code that says "if this unit is being displayed currently, store text and stat gained in a list."

Pardon the silly question, but why would you put those inside an "if..." construct? That's bound to be slower (possibly by several times) than assigning the values to the list unconditionally, and then simply not using the result in the end if the unit is not being displayed. Of course, it's probably still a better solution to copy+paste the original function and then edit it to fill out the list, using the resulting procedure for display only (like the City resource breakdown in the original game). If you're worried about later changing the original values and forgetting to adjust the display, then you can sum up the shown values at the end, and call the original function to compare the results. If they don't match, then you can raise some debug flag.
Reply

On version 1-19:


1. The amount of research I get from Omniscience doesn't match the formula. Have 4 sorcery books, so 16.5% + 3.5%*3 = 26.5% extra. But I get only 4 from 20 base RP. The sources are Halflings, Libraries and Nature's Eye. The discrepancy exists for cities without Nature's Eye too. (3.sav)

2. I'm not sure if this is a bug, but on the F4 screen, there are brackets around Wizards that has a city 4 squares away from me. They also declared war on me, but the relations screen is still showing the brackets. (TURN58.SAV)

3. This happens when I right click the area underneath the units (as shown where the cursor is). If I right click the area just under the Giant Spiders, I see a Trireme info box pop up. Unfortunately I can't replicate the Trireme pop up, but the unhandled exception can be replicated at any city. (3.sav)
[Image: FOSwLtU.png]


Attached Files
.zip   Testing Saves.zip (Size: 766.34 KB / Downloads: 1)
Reply

(March 17th, 2021, 17:20)drake178 Wrote:
(March 16th, 2021, 20:43)Seravy Wrote: Basically, for every stat gain effect on every unit, the game has to process an additional line of code that says "if this unit is being displayed currently, store text and stat gained in a list."

Pardon the silly question, but why would you put those inside an "if..." construct? That's bound to be slower (possibly by several times) than assigning the values to the list unconditionally, and then simply not using the result in the end if the unit is not being displayed. Of course, it's probably still a better solution to copy+paste the original function and then edit it to fill out the list, using the resulting procedure for display only (like the City resource breakdown in the original game). If you're worried about later changing the original values and forgetting to adjust the display, then you can sum up the shown values at the end, and call the original function to compare the results. If they don't match, then you can raise some debug flag.

The function recalculates all units so it would keep the data from the last one if done that way unless there is a separate list for each unit.
It can't do only one unit because abilities that affect stats on other units on the same tile exist, and those abilities can be gained or lost during the recalculation process themselves. (in theory, I don' think such an effect exist in the game at the moment, but I prefer to keep that possibility open.)
Anyway, it would be a nice feature but it's definitely non-trivial so if I do it, it'll be after release.

(the city calculations btw don't use the "if" like you say because cities don't affect each other with aura effects)
Reply

Quote:Continue doesn't always start exactly where you left the previous game, maybe the last completed turn rather than the position in the current turn.

This is because autosave happens at the start of your turn.
In the original game, in addition to that, pressing the 'Quit' button also did an autosave however, that caused problems for users, to be more specific, if you close the game with the intention to reload your autosave from the beginning of the turn, then this overwrites the file and you can't.

No, Focus Magic still doesn't allow gaze to work at range. 'Touch attacks' are basically triggered abilities that do "when this unit attacks, also apply this additional effect", but gaze attacks are actual attacks that have their place in the attack order before melee and after thrown, they are not triggered abilities.
Reply

Quote:Clicking on more/less books at the start jumbles up all the existing book graphics...they should stay the same and the extra ones appear/disappear


That's actually intentional. I think the method you described gave too little variety so I decided not to do it that way.






Quote:You can click the game menu buttons when the city screen pop up is visible, although they don't do anything.




Engine limitation. The lowest layer has to be drawn first and at that time it's not yet known whether there will be a higher layer that would make the button invalid for clicking. Drawing the screen and handling input are not connected in the system.






Quote:Can we make city dots on the map larger, my yellow dots can hardly be seen.
Each pixel is 1 tile on the minimap. I can make it larger but then any objects near the city will be invisible like units lairs or nodes.





Quote:Crash on dispelling wave whenever it is cast...just take Malleus on his own directly South into the tower and the Dijins should cast it to crash the game (attached file).



Confirmed, this will be fixed in the next beta, along with fixing AI priorities for casting DW and Mind Storm.



Quote:Same game should not allow you to heal the Draconian in battle.



Confirmed, the unit is permanently set to race 21 (no healing) used by Mystic Surge and Raise Dead. 

This needs t be handled differently somehow. In the original game, setting the race works because units don't have permanent stats outside combat so it automatically disappears. However in CoM 2, it overwrites the actual permanent race of the unit and it doesn't get restored. This probably needs a new status effect that grants the "no healing" race to the temporal unit data during recalculation instead.



Quote:I researched Disenchant Area, but Syphon Life appeared in my spell book when it finished researching and I gained both spells. It was a few turns on from the attached save, but I am not sure if it is repeatable or not.


Unable to reproduce.

Quote:I can load most modern game pretty quickly, so there must be something causing it to stall for some reason.


Maybe there is some problem that makes loading a large number of small size files slow? An antivirus scanning the files as they are loaded for example?

Quote:Would storing the derived stats on the units, instead of calculating them each time cause a large overhead in the game?  

The stats themselves are already stored, but the source they come from is not. It only has the current stat, the original base stat, the number of grey and gold icons. For a detailed list, it would need to also store a list of what added the stat bonus/penalty for each one. Assuming a conservative estimate of no more than 100 effects on a unit existing ever, and no more than 255 different possible sources, that would require an additional 200 bytes to store. There is a placeholder of 95 bytes in the unit structure which we can use without changing save formats. So it would require a save format change, losing compatibility with older saves. As Steam forces updates without user consent, this is something we need to avoid.
It's also completely unnecessary - storing the data in the unit for all units is slower than running the "if" condition to skip it if it's the wrong unit.

Quote:Reinforce magic doesn't increase the strength of magic attacks created by focus magic

Will be fixed in the next beta.

Quote:Edit: Playing the game with minimal size seems to never start the game, it freezes the screen like it's in an endless loop.

Confirmed, the Vial generation didn't have the fail-safe other treasure does added so it did that if there were not enough locations with 800 remaining budget.
This is probably why the map you tried had so much spells, books and vials btw, as the amount depends on players, but not on the map size setting. So a Minimal map with a lot of players still can have lots of books and vials but much fewer lairs to store them in. Maybe smaller map size should scale down the amount of these rewards as well? 


...to be continued.
Reply

(March 17th, 2021, 20:30)Seravy Wrote:
Quote:Continue doesn't always start exactly where you left the previous game, maybe the last completed turn rather than the position in the current turn.

This is because autosave happens at the start of your turn.
In the original game, in addition to that, pressing the 'Quit' button also did an autosave however, that caused problems for users, to be more specific, if you close the game with the intention to reload your autosave from the beginning of the turn, then this overwrites the file and you can't.

No, Focus Magic still doesn't allow gaze to work at range. 'Touch attacks' are basically triggered abilities that do "when this unit attacks, also apply this additional effect", but gaze attacks are actual attacks that have their place in the attack order before melee and after thrown, they are not triggered abilities.

Maybe give an option to autosave your game when you quit?

It feels like focus magic should apply to gaze attacks as well if it applies to touch and poison attacks. It would add some more interesting strategy to the game.

I just started a build around making focus magic chaos spawn, so I guess I'll have to restart that game.

By the way do doom bats and heroes with a doom weapon get 3 doom damage from focus magic attacks?
Reply



Forum Jump: