Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Age of Tribes nuclear game crash #4883

Closed
FrostionAAA opened this issue Jun 8, 2019 · 5 comments
Closed

Age of Tribes nuclear game crash #4883

FrostionAAA opened this issue Jun 8, 2019 · 5 comments
Labels
Problem A problem, bug, defect - something to fix

Comments

@FrostionAAA
Copy link
Contributor

Engine version

Pre-release 1.10.14782 and most likely older and newer versions also.

Map name

Age of Tribes 1.0.8 (Newest and downloadable version)

Can you describe how to trigger the error? (eg: what sequence of actions will recreate it?)

Load and start this single player game save:
age-of-tribes-glitch-FrostionSave1.zip
While playing Hattic, use the nuke to attack an enemy territory with enemies + use the missile to attack another enemy territory with enemies.

Do you have the exact error text? Please copy/paste if so

This error pop up after purchase, and the entire game locks up / freezes:
Unavngivet

Bug was originally reported at forum:
https://forums.triplea-game.org/topic/75/age-of-tribes-official-thread/39?lang=da&page=2

It seems that the error is triggered by the two attacks with two differnt nukes at the same time, and this is something that hardly ever happens in AoT, but it is theoretically possible as players can save one nuke bomb unit and then build and place a missile silo. In the next round the player has two nuke units that can be thrown at the enemy at the same time.

I don’t know if the XML is just not geared to handle two explosions at the same time or if it is a flaw in the game engine?

@DanVanAtta DanVanAtta added the Problem A problem, bug, defect - something to fix label Jun 9, 2019
@ron-murhammer
Copy link
Member

@FrostionAAA The issue appears to be related to the XML having more than 1 defined "battle" delegate:

        <delegate name="radiationbattle8" javaClass="games.strategy.triplea.delegate.BattleDelegate" display="Ongoing Battle"/>
        <delegate name="radiationbattle7" javaClass="games.strategy.triplea.delegate.BattleDelegate" display="Ongoing Battle"/>
        <delegate name="radiationbattle6" javaClass="games.strategy.triplea.delegate.BattleDelegate" display="Ongoing Battle"/>
        <delegate name="radiationbattle5" javaClass="games.strategy.triplea.delegate.BattleDelegate" display="Ongoing Battle"/>
        <delegate name="radiationbattle4" javaClass="games.strategy.triplea.delegate.BattleDelegate" display="Ongoing Battle"/>
        <delegate name="radiationbattle3" javaClass="games.strategy.triplea.delegate.BattleDelegate" display="Ongoing Battle"/>
        <delegate name="radiationbattle2" javaClass="games.strategy.triplea.delegate.BattleDelegate" display="Ongoing Battle"/>
        <delegate name="radiationbattle1" javaClass="games.strategy.triplea.delegate.BattleDelegate" display="Ongoing Battle"/>
        <delegate name="userActions" javaClass="games.strategy.triplea.delegate.UserActionDelegate" display="User Actions"/>
        <delegate name="battle" javaClass="games.strategy.triplea.delegate.BattleDelegate" display="Combat"/>
        <delegate name="PostColdWarbattle" javaClass="games.strategy.triplea.delegate.BattleDelegate" display="Ongoing Battle"/>

Is there a reason you need to have multiple battle delegates defined in the XML instead of having just 1? Are there some other maps that have that as well? I think there is some things in the engine that assume only a single battle delegate is defined and reused instead.

@FrostionAAA
Copy link
Contributor Author

I am not sure why I used multiple battle delegates, but I would think it is because there were errors when/if just using one, but I will have to test it out. I will do some testing when I get home to my computer.

@FrostionAAA
Copy link
Contributor Author

I have been doing some testing. I still can’t recall why I originally used multiple BattleDelegates for a single player (Player “AI”) during a single round, but I would guess that I once experienced problems if I only used a single one.

Nevertheless, I have modified and tested several XMLs. They now only use a single BattleDelegate for the player called “AI”, when this player resolves nuclear battles. (nuclear battles can potentially happen between the turns of all other players, as they have potentially attacked each other with nukes that spread undiscriminating and hostile-to-all radiation units.)

Age of Tribes: Renaissance (called 1.0.81, not the original name 1.0.8) is one of the now modified XMLs.
XML-and-save-games.zip
The game breakdown still happens every time a player is struck buy two (or more?) nukes in different territories at the same time.

Recreate the error by using this XML and loading one of the two save games. The player is “Baltic” and has just flown two nukes into “Germanic” territories, ready to deliver nuclear blasts. If you proceed past the purchase phase the errors should happen.
Is this sufficient to do some further investigation? :-o

Unavngivet

@ron-murhammer
Copy link
Member

ron-murhammer commented Jun 15, 2019

@FrostionAAA Can you try deleting the last 2 battle delegates as well and have all the steps just reference the regular one ("battle"):

        <delegate name="radiationbattle" javaClass="games.strategy.triplea.delegate.BattleDelegate" display="Ongoing Battle"/>
        <delegate name="PostColdWarbattle" javaClass="games.strategy.triplea.delegate.BattleDelegate" display="Ongoing Battle"/>

@FrostionAAA
Copy link
Contributor Author

OK. Thank you redrum. I think the problem is fixed by cutting down the number of different battle delegates to only one has fixed the problem.

I will close this issue and upload a new version of AoT soon :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Problem A problem, bug, defect - something to fix
Projects
None yet
Development

No branches or pull requests

3 participants