View Issue Details

IDProjectCategoryLast Update
0019124AI War 2Gameplay IssueMay 30, 2017 10:43 am
ReporterBadgerBadger Assigned Tokeith.lamothe  
Severityminor 
Status resolvedResolutionfixed 
Product Version0.201 Bugfixes and Optimizations 
Fixed in Version0.300 - Welcome Early Access Kickstarter Backers! 
Summary0019124: MLRS wave brings game to its knees (plus crashes)
DescriptionThis 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.
TagsNo tags attached.

Activities

BadgerBadger

May 20, 2017 5:11 pm

manager  

NewSave_1.save.gz (818,515 bytes)

BadgerBadger

May 20, 2017 5:12 pm

manager  

Chris_McElligottPark

May 30, 2017 10:43 am

administrator   ~0046221

Thanks! :)

Issue History

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