View Issue Details
ID | Project | Category | Date Submitted | Last Update | |
---|---|---|---|---|---|
0019124 | AI War 2 | Gameplay Issue | May 20, 2017 5:10 pm | May 30, 2017 10:43 am | |
Reporter | BadgerBadger | Assigned To | keith.lamothe | ||
Status | resolved | Resolution | fixed | ||
Product Version | 0.201 Bugfixes and Optimizations | ||||
Fixed in Version | 0.300 - Welcome Early Access Kickstarter Backers! | ||||
Summary | 0019124: MLRS wave brings game to its knees (plus crashes) | ||||
Description | This is a long and complex problem, so bear with me. It might be best to split this into multiple problems, but I'm going to write everything up here for ease of reference. I've just been leaving a game up for the afternoon while I watch some shows. I have a save game here with about 1500 total ships (700 good, 800 bad) in combat. The AI has sent a wave of MLRS at me, and the sheer volume of shots on the screen seems to have brought the game to its knees. I saved the game and quit. As I quit I hit the following bug (I have opened mantis 0019099 against a similar one). 5/20/2017 4:30:47 PM Successfully opened host socket 5/20/2017 5:03:57 PM Error in thread for execution context 'executionContext':System.NullReferenceException: Object reference not set to an instance of an object at Arcen.AIW2.Core.EntitySystem.ActuallyFireSalvo (Arcen.AIW2.Core.ArcenSimContext Context) [0x00168] in D:\vclarge\AI_War_2_Ultra\ArcenAIW2Core\src\Logic\GameState\GameEntity\EntitySystem.cs:618 at Arcen.AIW2.Core.EntitySystem.DoSystemStep (FInt EffectiveDeltaTime, Arcen.AIW2.Core.ArcenSimContext Context) [0x00160] in D:\vclarge\AI_War_2_Ultra\ArcenAIW2Core\src\Logic\GameState\GameEntity\EntitySystem.cs:509 at Arcen.AIW2.Core.GameEntity.DoEntityStepLogic_Ship (Arcen.AIW2.Core.ArcenSimContext Context) [0x000a6] in D:\vclarge\AI_War_2_Ultra\ArcenAIW2Core\src\Logic\GameState\GameEntity\GameEntity.cs:1486 at Arcen.AIW2.Core.CombatEncounter.<DoCombatStep>m__2 (Arcen.AIW2.Core.GameEntity entity) [0x00007] in D:\vclarge\AI_War_2_Ultra\ArcenAIW2Core\src\Logic\GameState\CombatEncounter\CombatEncounter.cs:226 at Arcen.AIW2.Core.EntityCollection.DoForEntities (GameEntityCategorySet Set, Arcen.AIW2.Core.ProcessorDelegate Processor) [0x0005a] in D:\vclarge\AI_War_2_Ultra\ArcenAIW2Core\src\Logic\GameState\GameEntity\EntityCollection.cs:302 at Arcen.AIW2.Core.CombatEncounter.DoForEntities (GameEntityCategorySet Set, Arcen.AIW2.Core.ProcessorDelegate Processor) [0x0002b] in D:\vclarge\AI_War_2_Ultra\ArcenAIW2Core\src\Logic\GameState\CombatEncounter\CombatEncounter.cs:421 at Arcen.AIW2.Core.CombatEncounter.DoCombatStep (Arcen.AIW2.Core.ArcenSimContext Context, Boolean IsCurrentPlanetNonSim) [0x001ff] in D:\vclarge\AI_War_2_Ultra\ArcenAIW2Core\src\Logic\GameState\CombatEncounter\CombatEncounter.cs:224 at Arcen.AIW2.Core.World_AIW2.DoWorldStepLogic (Arcen.AIW2.Core.ArcenSimContext Context) [0x0011b] in D:\vclarge\AI_War_2_Ultra\ArcenAIW2Core\src\Logic\GameState\World_AIW2.cs:239 at Arcen.AIW2.Core.SimExecution.Execute () [0x00043] in D:\vclarge\AI_War_2_Ultra\ArcenAIW2Core\src\Logic\Sim\SimExecution\SimExecution.cs:27 I tried to reload the saved game to make sure it reproduces the problem readily and I hit a new problem: Exception occurred during world deserialization:FormatException Will now log details in WorldDeserializationErrors.txt at Arcen.Universal.ArcenDeserializationBuffer.TryReadInt32 (System.Boolean& WasSuccessful, Boolean ThrowExceptionOnFailure) [0x00248] in D:\vclarge\AI_War_2_Ultra\ArcenUniversal\src\ArcenBuffers\ArcenDeserializationBuffer.cs:175 at Arcen.Universal.ArcenDeserializationBuffer.ReadInt32 () [0x00005] in D:\vclarge\AI_War_2_Ultra\ArcenUniversal\src\ArcenBuffers\ArcenDeserializationBuffer.cs:70 at Arcen.AIW2.Core.CombatSide.DeserializeFrom (Arcen.AIW2.Core.WorldSide WorldSide, Arcen.AIW2.Core.CombatEncounter Combat, Arcen.Universal.ArcenDeserializationBuffer Buffer, Boolean IsLoadingFromNetwork, Arcen.Universal.GameVersion DeserializingGameVersion) [0x0007f] in D:\vclarge\AI_War_2_Ultra\ArcenAIW2Core\src\Logic\GameState\CombatEncounter\CombatSide.cs:89 at Arcen.AIW2.Core.CombatEncounter.DeserializeFrom (Arcen.AIW2.Core.Planet ForPlanet, Arcen.Universal.ArcenDeserializationBuffer Buffer, Boolean IsLoadingFromNetwork, Arcen.Universal.GameVersion DeserializingGameVersion) [0x00030] in D:\vclarge\AI_War_2_Ultra\ArcenAIW2Core\src\Logic\GameState\CombatEncounter\CombatEncounter.cs:68 at Arcen.AIW2.Core.Planet.DeserializeFrom (Arcen.AIW2.Core.Galaxy ForGalaxy, Arcen.Universal.ArcenDeserializationBuffer Buffer, Boolean IsLoadingFromNetwork, Arcen.Universal.GameVersion DeserializingGameVersion) [0x00047] in D:\vclarge\AI_War_2_Ultra\ArcenAIW2Core\src\Logic\GameState\Mapping\Planet.cs:243 at Arcen.AIW2.Core.Galaxy.DeserializeFrom (Arcen.AIW2.Core.SetOfGalaxies ForSet, Arcen.Universal.ArcenDeserializationBuffer Buffer, Boolean IsLoadingFromNetwork, Arcen.Universal.GameVersion DeserializingGameVersion) [0x00026] in D:\vclarge\AI_War_2_Ultra\ArcenAIW2Core\src\Logic\GameState\Mapping\Galaxy.cs:51 at Arcen.AIW2.Core.SetOfGalaxies.DeserializeFrom (Arcen.Universal.ArcenDeserializationBuffer Buffer, Boolean IsLoadingFromNetwork, Arcen.Universal.GameVersion DeserializingGameVersion) [0x0001f] in D:\vclarge\AI_War_2_Ultra\ArcenAIW2Core\src\Logic\GameState\Mapping\SetOfGalaxies.cs:120 at Arcen.AIW2.Core.World_AIW2.DeserializeFrom (Arcen.Universal.ArcenDeserializationBuffer Buffer, Boolean IsLoadingFromNetwork, Arcen.Universal.GameVersion DeserializingGameVersion) [0x0010b] in D:\vclarge\AI_War_2_Ultra\ArcenAIW2Core\src\Logic\GameState\World_AIW2.cs:142 at Arcen.Universal.World.DeserializeFrom (Arcen.Universal.ArcenDeserializationBuffer Buffer, Boolean IsLoadingFromNetwork, Arcen.Universal.GameVersion& DeserializingGameVersion) [0x00185] in D:\vclarge\AI_War_2_Ultra\ArcenUniversal\src\Logic\GameState\World.cs:122 at Arcen.Universal.World.LoadWorldFromDiskInner (System.String SaveName, System.String Text) [0x0002a] in D:\vclarge\AI_War_2_Ultra\ArcenUniversal\src\Logic\GameState\World.cs:419 at Arcen.Universal.World.LoadWorldFromDisk (System.String SaveName) [0x00055] in D:\vclarge\AI_War_2_Ultra\ArcenUniversal\src\Logic\GameState\World.cs:357 at System.Environment.get_StackTrace() in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Environment.cs:line 227 at Arcen.Universal.ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Boolean IncludeStackTrace, Verbosity Verbosity) in D:\vclarge\AI_War_2_Ultra\ArcenUniversal\src\UtilityLibraries\ArcenDebugging.cs:line 137 at Arcen.Universal.ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Verbosity Verbosity) in D:\vclarge\AI_War_2_Ultra\ArcenUniversal\src\UtilityLibraries\ArcenDebugging.cs:line 109 at Arcen.Universal.ArcenDebugging.ArcenDebugLog(System.String Message, Verbosity Verbosity) in D:\vclarge\AI_War_2_Ultra\ArcenUniversal\src\UtilityLibraries\ArcenDebugging.cs:line 88 at Arcen.Universal.World.LoadWorldExceptionHandling(System.Exception e) in D:\vclarge\AI_War_2_Ultra\ArcenUniversal\src\Logic\GameState\World.cs:line 382 at Arcen.Universal.World.LoadWorldFromDisk(System.String SaveName) in D:\vclarge\AI_War_2_Ultra\ArcenUniversal\src\Logic\GameState\World.cs:line 373 at Arcen.Universal.Engine_Universal.LoadGame(System.String SaveName) in D:\vclarge\AI_War_2_Ultra\ArcenUniversal\src\Engine_Universal.cs:line 1326 at Arcen.AIW2.External.Window_LoadGameMenu+bLoadGameButton.HandleClick() at Arcen.Universal.ArcenUI_Button.OnClick(UnityEngine.EventSystems.PointerEventData eventData) in D:\vclarge\AI_War_2_Ultra\ArcenUniversal\src\ArcenUI\ArcenUI_Button.cs:line 77 at Arcen.Universal.ArcenButtonEventHandlingHooks.OnPointerClick(UnityEngine.EventSystems.PointerEventData eventData) in D:\vclarge\AI_War_2_Ultra\ArcenUniversal\src\ArcenUI\ArcenUI_Button.cs:line 108 at UnityEngine.EventSystems.ExecuteEvents.Execute(IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) in C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\ExecuteEvents.cs:line 50 at UnityEngine.EventSystems.ExecuteEvents.Execute(UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor) in C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\ExecuteEvents.cs:line 261 at UnityEngine.EventSystems.StandaloneInputModule.ProcessMousePress(UnityEngine.EventSystems.MouseButtonEventData data) in C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\InputModules\StandaloneInputModule.cs:line 533 at UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent(Int32 id) in C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\InputModules\StandaloneInputModule.cs:line 432 at UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent() in C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\InputModules\StandaloneInputModule.cs:line 412 at UnityEngine.EventSystems.StandaloneInputModule.Process() in C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\InputModules\StandaloneInputModule.cs:line 186 at UnityEngine.EventSystems.EventSystem.Update() in C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\EventSystem.cs:line 283 upon examining the saved game, it's 19M! This is enormous compared to most of the other saved games, which are typically 1-1.5M. From a cursory glance at the data, it looks like there are a staggering number of of BulletBasics. I have gzipped everything (thankfully it compresses well) and uploaded it here. | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
May 20, 2017 5:10 pm | BadgerBadger | New Issue | |
May 20, 2017 5:11 pm | BadgerBadger | File Added: NewSave_1.save.gz | |
May 20, 2017 5:12 pm | BadgerBadger | File Added: WorldDeserializationErrors.txt.gz | |
May 20, 2017 5:14 pm | BadgerBadger | Description Updated | |
May 20, 2017 5:21 pm | BadgerBadger | Description Updated | |
May 30, 2017 10:43 am | Chris_McElligottPark | Note Added: 0046221 | |
May 30, 2017 10:43 am | Chris_McElligottPark | Status | new => resolved |
May 30, 2017 10:43 am | Chris_McElligottPark | Fixed in Version | => 0.300 - Welcome Early Access Kickstarter Backers! |
May 30, 2017 10:43 am | Chris_McElligottPark | Resolution | open => fixed |
May 30, 2017 10:43 am | Chris_McElligottPark | Assigned To | => keith.lamothe |