[Modding] Creating my first scenario

Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

pavelk wrote:
Cablenexus wrote:Scenario Holland overwrites key settings (only this one, no other options). Is this intentional? So mods can have different key settings if they want to?
Yes, it was ready for any kind of MOD modification. On the other hand I havent tried it for a long time, so not sure if it still works...
I reported a few times earlier that keybindings where not working correctly at game start and that I had to confirm player choices to make it work. I now notice that my mod overwrites the settings I choose in the main game. But in the main game those new settings always work and in my mod not. N (next unit) does nothing while it's displayed in key settings (but the confirm button isn't greyed out, which is strange imo). And the spacebar I set to end turn doesn't work.
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

Are you aware of an issue where the mouse smooth smoothness and the mouse rate are changed randomly when starting a new game? I saw 13, 10 and 16 once, and mouse smoothness was enabled and disabled sometimes.

I did all different things to try to reproduce it, but now it stays at 13 (I set myself) and mouse smoothness enabled. Even when loading a custom game or my own scenario.

I'm sure it happened a few times before. Any idea what can cause this (my connected drawing pad that serves a second mouse? windows 10 handdraw service that is always enabled in the background?).

Otherwise forget about it and I will report if I see it happen again.
pavelk
Kubat Software
Kubat Software
Posts: 2467
Joined: Mon May 16, 2016 4:27 pm

Re: [Modding] Creating my first scenario

Post by pavelk »

Cablenexus wrote:Are you aware of an issue where the mouse smooth smoothness and the mouse rate are changed randomly when starting a new game? I saw 13, 10 and 16 once, and mouse smoothness was enabled and disabled sometimes.
I really dont know how would it be possible that the mouse smoothness changes. The mouse sensitivity can change for sure - it is bound to the windows mouse sensitivity (i.e. - it takes the existing windows sensitivity and "correct" it per your personal setting for game).
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

- I managed to implement custom text for the first time (just a wiki text for the moment to experiment).
Attachments
firsttext.jpg
firsttext.jpg (367.24 KiB) Viewed 1767 times
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

- I send you an error report for playing very early ingame and got a CTD. (via the ingame app).

- I start again, now I managed to go to turn 15 or so and get the following error (but no ingame pop up) so I took this from the event viewer. 2 errors are reported there:

Application: Aggressors.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
at Mogre.ManualObject.Position(Mogre.Vector3)
at Aggressors.UI.AggressorsForm.SetVertexProperties(Mogre.ManualObject, Mogre.Vector3, Mogre.Vector3, Int32, Int32, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Mogre.Vector2, Single, Single, Mogre.Vector4)
at Aggressors.UI.AggressorsForm.RenderVertices(Mogre.ManualObject, Int32, UInt32, Int32, Int32, Int32, Int32, Int32, Int32, System.Nullable`1<UInt32>[,], Boolean)
at Aggressors.UI.AggressorsForm.CreateTerrain(Int32, Int32, Int32, Int32, Int32, System.String, Boolean)
at Aggressors.UI.AggressorsForm.RecreateTerrainsForLod(Int32)
at Aggressors.UI.AggressorsForm.StabilizeTerrain()
at Aggressors.UI.AggressorsForm.UpdateChartSquareChanges(Aggressors.StateClasses.ChartSquareChangedCollection, Boolean, Boolean)
at Aggressors.UI.RunMethodChartSquareChangedCollectionEffect.RunEffect()
at Aggressors.UI.UnitEffect.TryRunEffect()
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect()
at Aggressors.UI.AggressorsForm.RunEffects(Boolean)
at Aggressors.UI.AggressorsForm.FrameRenderingQueued(Mogre.FrameEvent)
at Mogre.Root.raise_FrameRenderingQueued(Mogre.FrameEvent)
at Mogre.Root.OnFrameRenderingQueued(Mogre.FrameEvent)
at <Module>.Mogre.FrameListener_Director.frameRenderingQueued(Mogre.FrameListener_Director*, Ogre.FrameEvent*)
at <Module>.Ogre.Root.renderOneFrame(Ogre.Root*)
at Aggressors.UI.MogreForm.Go()
at Aggressors.UI.MogreForm.Run(System.String[])
at Aggressors.UI.Program.Main(System.String[])


The other one:

Naam van toepassing met fout: Aggressors.exe, versie: 0.9.8.11, tijdstempel: 0x5b2159e7
Naam van module met fout: MSVCR100.dll, versie: 10.0.40219.325, tijdstempel: 0x4df2be1e
Uitzonderingscode: 0xc0000005
Foutmarge: 0x00001ed7
Id van proces met fout: 0x2258
Starttijd van toepassing met fout: 0x01d405c48a74624f
Pad naar toepassing met fout: D:\Program Files (x86)\Kubat Software\Aggressors Ancient Rome\Aggressors.exe
Pad naar module met fout: C:\WINDOWS\SYSTEM32\MSVCR100.dll
Rapport-id: 4154fdee-c8d7-4ecb-8507-75bb52cc71db
Volledige pakketnaam met fout:
Relatieve toepassings-id van pakket met fout:
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

- Hmmm, I probably forget one important step before to start testing my Holland scenario in V4. To save and export it at least once in V4 editor. I did not do that.

- I was all the time editing the file in notepad++ but never exported it in V4. I did now and I'm able to play many turns without issues.

It might be a coincidence, or it was just "not so smart" from me.

Everything seems getting back on track at least.
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

Too early to be really happy, again CTD in turn 47 BC (around 15 turns ingame)

To compare, in V3 I was always able to play around 50 turns at least. Something went wrong.

Naam van toepassing met fout: Aggressors.exe, versie: 0.9.8.11, tijdstempel: 0x5b2159e7
Naam van module met fout: KERNELBASE.dll, versie: 10.0.16299.492, tijdstempel: 0xb03e83b5
Uitzonderingscode: 0xe0434352
Foutmarge: 0x00103ff2
Id van proces met fout: 0x490
Starttijd van toepassing met fout: 0x01d405cd04ed4774
Pad naar toepassing met fout: D:\Program Files (x86)\Kubat Software\Aggressors Ancient Rome\Aggressors.exe
Pad naar module met fout: C:\WINDOWS\System32\KERNELBASE.dll
Rapport-id: b5ce0557-4037-4869-bf14-f330d7d1443b
Volledige pakketnaam met fout:
Relatieve toepassings-id van pakket met fout:

Toepassing: Aggressors.exe
Framework-versie: v4.0.30319
Beschrijving: het proces is beëindigd als gevolg van een onverwerkte uitzondering.
Uitzonderingsinformatie: System.OutOfMemoryException
bij Aggressors.PathFinderFast.Reset()
bij Aggressors.PathFinderFast..ctor(Aggressors.StateClasses.Chart, Aggressors.PathFinderTesterParameters, Aggressors.StateClasses.Position)
bij Aggressors.PathFinderHelper.CreatePathFinder(Aggressors.StateClasses.State, Aggressors.PathFinderTesterParameters, Aggressors.StateClasses.Position, Boolean)
bij Aggressors.StateClasses.Chart.GetFirstPositionWithNoObstaclesInWayToPosition(Aggressors.StateClasses.AmbientUnit, Aggressors.StateClasses.Position, Aggressors.StateClasses.PositionCollection, Aggressors.StateClasses.PositionCollection, Aggressors.StateClasses.PositionCollection, Boolean, Boolean)
bij DolphinAmbientModel.MoveDolphin(Aggressors.StateClasses.AmbientUnit)
bij DolphinAmbientModel.SetupAnimation(Aggressors.StateClasses.AmbientUnit, Aggressors.StateClasses.Position, Boolean, Boolean)
bij DolphinAmbientModel.MovementFinished(Aggressors.StateClasses.AmbientUnit)
bij Aggressors.UI.AmbientAnimationsEffect.RunMoveFinished(Aggressors.StateClasses.AmbientUnit, Aggressors.UI.AmbientUnitRepresentation, Aggressors.StateClasses.Position, Aggressors.StateClasses.Position[], Aggressors.StateClasses.Position, System.Nullable`1<Aggressors.UI.AMBIENT_INSTANCE_MOVE_RESULT>, Boolean)
bij Aggressors.UI.AmbientAnimationsEffect+<>c__DisplayClass47_1.<MoveUnit>b__0(System.Object)
bij System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(System.Object)
bij System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
bij System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
bij System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
bij System.Threading.ThreadPoolWorkQueue.Dispatch()
bij System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

If there is nothing unusual happening in my error reports and your information is those are just out of memory errors I'm pretty sure the cause of them, at least on my map, is the amount of fooliage on tiles.

The only part I did not do yet was lowering the amount of bushes on GRASS, PLAIN and SWAMP tiles drstically (about 75 % reduced change for models per tile).

I did this now and I was able to play 30 turns straight without errors.

Do you believe those can be the cause of memory issues? Are they of so much influence that it can make the difference on my map? I can imagine it is. Imagine 4000 tiles with 107 models per tile each or 4000 tiles with only 35 max models each. That is a difference of 428.000 or 140.000 models on screen on only 4000 of the 7000 total tiles. I can't even calculate how many vertices those are.

I'm pretty sure for my map this is making the difference, I would like to know if this is a right way of thinking or if you counter this argument.
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

It was a bit better, but I get another error:

Naam van toepassing met fout: Aggressors.exe, versie: 0.9.8.11, tijdstempel: 0x5b2159e7
Naam van module met fout: MSVCR100.dll, versie: 10.0.40219.325, tijdstempel: 0x4df2be1e
Uitzonderingscode: 0xc0000005
Foutmarge: 0x00001ed7
Id van proces met fout: 0x1f1c
Starttijd van toepassing met fout: 0x01d405d83a7e4634
Pad naar toepassing met fout: D:\Program Files (x86)\Kubat Software\Aggressors Ancient Rome\Aggressors.exe
Pad naar module met fout: C:\WINDOWS\SYSTEM32\MSVCR100.dll
Rapport-id: d268b2e5-8242-44a8-bb1e-b0dfa3cd0bf4
Volledige pakketnaam met fout:
Relatieve toepassings-id van pakket met fout:

Application: Aggressors.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
at Mogre.ManualObject.Position(Mogre.Vector3)
at Aggressors.UI.AggressorsForm.SetVertexProperties(Mogre.ManualObject, Mogre.Vector3, Mogre.Vector3, Int32, Int32, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Mogre.Vector2, Single, Single, Mogre.Vector4)
at Aggressors.UI.AggressorsForm.RenderVertices(Mogre.ManualObject, Int32, UInt32, Int32, Int32, Int32, Int32, Int32, Int32, System.Nullable`1<UInt32>[,], Boolean)
at Aggressors.UI.AggressorsForm.CreateTerrain(Int32, Int32, Int32, Int32, Int32, System.String, Boolean)
at Aggressors.UI.AggressorsForm.RecreateTerrainsForLod(Int32)
at Aggressors.UI.AggressorsForm.StabilizeTerrain()
at Aggressors.UI.AggressorsForm.UpdateChartSquareChanges(Aggressors.StateClasses.ChartSquareChangedCollection, Boolean, Boolean)
at Aggressors.UI.RunMethodChartSquareChangedCollectionEffect.RunEffect()
at Aggressors.UI.UnitEffect.TryRunEffect()
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect()
at Aggressors.UI.AggressorsForm.RunEffects(Boolean)
at Aggressors.UI.AggressorsForm.FrameRenderingQueued(Mogre.FrameEvent)
at Mogre.Root.raise_FrameRenderingQueued(Mogre.FrameEvent)
at Mogre.Root.OnFrameRenderingQueued(Mogre.FrameEvent)
at <Module>.Mogre.FrameListener_Director.frameRenderingQueued(Mogre.FrameListener_Director*, Ogre.FrameEvent*)
at <Module>.Ogre.Root.renderOneFrame(Ogre.Root*)
at Aggressors.UI.MogreForm.Go()
at Aggressors.UI.MogreForm.Run(System.String[])
at Aggressors.UI.Program.Main(System.String[])
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

- Checked all reports and deleted them

- Checked all ambientunitmodels and deleted them

- Reduced trees heavenly on certain tiles.

- Redid all new DDS files and saved them in DXT3 this time instead of DXT5

- Exported from V4

Have good performance. Max RAM used at moments of CTD is 1 GB by the Aggressors app in my Windows taskmanager. Other stats are constant and not at max.

Still get a CTD after around 15 numbers of turns:

Naam van toepassing met fout: Aggressors.exe, versie: 0.9.8.11, tijdstempel: 0x5b2159e7
Naam van module met fout: MSVCR100.dll, versie: 10.0.40219.325, tijdstempel: 0x4df2be1e
Uitzonderingscode: 0xc0000005
Foutmarge: 0x00001ed7
Id van proces met fout: 0xef0
Starttijd van toepassing met fout: 0x01d405df1c8015be
Pad naar toepassing met fout: D:\Program Files (x86)\Kubat Software\Aggressors Ancient Rome\Aggressors.exe
Pad naar module met fout: C:\WINDOWS\SYSTEM32\MSVCR100.dll
Rapport-id: 173a44f7-1d4f-4614-ab85-66fe8ff5800b
Volledige pakketnaam met fout:
Relatieve toepassings-id van pakket met fout:

Application: Aggressors.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
at Mogre.ManualObject.Position(Mogre.Vector3)
at Aggressors.UI.AggressorsForm.SetVertexProperties(Mogre.ManualObject, Mogre.Vector3, Mogre.Vector3, Int32, Int32, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Mogre.Vector2, Single, Single, Mogre.Vector4)
at Aggressors.UI.AggressorsForm.RenderVertices(Mogre.ManualObject, Int32, UInt32, Int32, Int32, Int32, Int32, Int32, Int32, System.Nullable`1<UInt32>[,], Boolean)
at Aggressors.UI.AggressorsForm.CreateTerrain(Int32, Int32, Int32, Int32, Int32, System.String, Boolean)
at Aggressors.UI.AggressorsForm.RecreateTerrainsForLod(Int32)
at Aggressors.UI.AggressorsForm.StabilizeTerrain()
at Aggressors.UI.AggressorsForm.UpdateChartSquareChanges(Aggressors.StateClasses.ChartSquareChangedCollection, Boolean, Boolean)
at Aggressors.UI.RunMethodChartSquareChangedCollectionEffect.RunEffect()
at Aggressors.UI.UnitEffect.TryRunEffect()
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect()
at Aggressors.UI.AggressorsForm.RunEffects(Boolean)
at Aggressors.UI.AggressorsForm.FrameRenderingQueued(Mogre.FrameEvent)
at Mogre.Root.raise_FrameRenderingQueued(Mogre.FrameEvent)
at Mogre.Root.OnFrameRenderingQueued(Mogre.FrameEvent)
at <Module>.Mogre.FrameListener_Director.frameRenderingQueued(Mogre.FrameListener_Director*, Ogre.FrameEvent*)
at <Module>.Ogre.Root.renderOneFrame(Ogre.Root*)
at Aggressors.UI.MogreForm.Go()
at Aggressors.UI.MogreForm.Run(System.String[])
at Aggressors.UI.Program.Main(System.String[])
pavelk
Kubat Software
Kubat Software
Posts: 2467
Joined: Mon May 16, 2016 4:27 pm

Re: [Modding] Creating my first scenario

Post by pavelk »

You basically experience two kinds of issues :
The first one is related to the pathfinder calculating next "moves" for animals. I haven't seen this before so it seems like a new issues. Please keep me informed about it (CTD email report is absolutely fine).
The second one is not the out of memory exception but memory access violation. It is a different one. If you spot any kind of "pattern" when this is happening or ideally you would find it how to reproduce it, please let me know.
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

- The Windows event viewer pretty much shows me the time and occuring of CTD's. I notice the new pathfinding error happens for the first time. I never saw it before. It always happen at the moment my player portrait is shown, while the map is updating (text).

- The memory issue seems to happen when the AI is moving on the map.


Actually since I upgraded the DXT files, the trees, the bitmap and patterns image and lowered the amount of trees, I only get this error happening about turn 15. The other error does not happen anymore yet.


Naam van toepassing met fout: Aggressors.exe, versie: 0.9.8.11, tijdstempel: 0x5b2159e7
Naam van module met fout: MSVCR100.dll, versie: 10.0.40219.325, tijdstempel: 0x4df2be1e
Uitzonderingscode: 0xc0000005
Foutmarge: 0x00001ed7
Id van proces met fout: 0xef0
Starttijd van toepassing met fout: 0x01d405df1c8015be
Pad naar toepassing met fout: D:\Program Files (x86)\Kubat Software\Aggressors Ancient Rome\Aggressors.exe
Pad naar module met fout: C:\WINDOWS\SYSTEM32\MSVCR100.dll
Rapport-id: 173a44f7-1d4f-4614-ab85-66fe8ff5800b
Volledige pakketnaam met fout:
Relatieve toepassings-id van pakket met fout:

Application: Aggressors.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
at Mogre.ManualObject.Position(Mogre.Vector3)
at Aggressors.UI.AggressorsForm.SetVertexProperties(Mogre.ManualObject, Mogre.Vector3, Mogre.Vector3, Int32, Int32, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Aggressors.UI.TileHelper, Mogre.Vector2, Single, Single, Mogre.Vector4)
at Aggressors.UI.AggressorsForm.RenderVertices(Mogre.ManualObject, Int32, UInt32, Int32, Int32, Int32, Int32, Int32, Int32, System.Nullable`1<UInt32>[,], Boolean)
at Aggressors.UI.AggressorsForm.CreateTerrain(Int32, Int32, Int32, Int32, Int32, System.String, Boolean)
at Aggressors.UI.AggressorsForm.RecreateTerrainsForLod(Int32)
at Aggressors.UI.AggressorsForm.StabilizeTerrain()
at Aggressors.UI.AggressorsForm.UpdateChartSquareChanges(Aggressors.StateClasses.ChartSquareChangedCollection, Boolean, Boolean)
at Aggressors.UI.RunMethodChartSquareChangedCollectionEffect.RunEffect()
at Aggressors.UI.UnitEffect.TryRunEffect()
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect(Aggressors.UI.UnitEffect)
at Aggressors.UI.UnitEffect.ExecuteEffect()
at Aggressors.UI.AggressorsForm.RunEffects(Boolean)
at Aggressors.UI.AggressorsForm.FrameRenderingQueued(Mogre.FrameEvent)
at Mogre.Root.raise_FrameRenderingQueued(Mogre.FrameEvent)
at Mogre.Root.OnFrameRenderingQueued(Mogre.FrameEvent)
at <Module>.Mogre.FrameListener_Director.frameRenderingQueued(Mogre.FrameListener_Director*, Ogre.FrameEvent*)
at <Module>.Ogre.Root.renderOneFrame(Ogre.Root*)
at Aggressors.UI.MogreForm.Go()
at Aggressors.UI.MogreForm.Run(System.String[])
at Aggressors.UI.Program.Main(System.String[])
pavelk
Kubat Software
Kubat Software
Posts: 2467
Joined: Mon May 16, 2016 4:27 pm

Re: [Modding] Creating my first scenario

Post by pavelk »

Regard to the animal moving bugs - thanks to the exception you got I found a "bug" in the calculation. It is not a bug per se but the performance and even the memory consumption can be improved! It is related to the map size for sure but thank you for reporting it anyway!
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

New day, new changes.

I was playing around 24 hours yesterday and all the night/morning before I could let it go. I was really panicked about all those errors I did experienced in V3.

Anyway fresh and with my computer restarted (I installed the game 5 times, modded the hell out of files etc, using many ither apps, was playing some other games in the mean time for a few minutes etc etc) without any restart yesterday.

It looks like now with a fresh start I manage to get into turn 20 without any problem yet. Watching AI moves on my map revealed.

The files I use are the latest files I send you by mail. I play as Chamavii now in editmode false, with map revealed, watching some AI turns, skipping some of them with escape.

Have taskmanager on the background to monitor resources.

Waiting now is for the first crash that ususally happens directly after I report in the forums that everything goes well ;-p
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

- In normal mode I wonder if there is a way to cheat/code/command and let the AI play your turn instead of yourself. For testing purposes in my scenrio that should help me to quickly skip many turns to see where the games end at.
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

Sorry, I can't find the thread anymore where you provided some settings to have the fps ingame. Can you provide those lines again and where to put them?
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

I made it till turn 30 now. Only difference since yesterday is my system restart. No issues yet. I keep playing till crash now (or till I'm defeated lol).
Attachments
turn30.jpg
turn30.jpg (230.03 KiB) Viewed 1743 times
pavelk
Kubat Software
Kubat Software
Posts: 2467
Joined: Mon May 16, 2016 4:27 pm

Re: [Modding] Creating my first scenario

Post by pavelk »

Cablenexus wrote:I was playing around 24 hours yesterday and all the night/morning before I could let it go. I was really panicked about all those errors I did experienced in V3.
In V3 or V4?
Cablenexus wrote:The files I use are the latest files I send you by mail.
I will look at those changes but I cannot really promise when exactly. There is a lot on my plate now and I need to move forward other stuff as well (like the mod prototyping).
Cablenexus wrote:In normal mode I wonder if there is a way to cheat/code/command and let the AI play your turn instead of yourself. For testing purposes in my scenrio that should help me to quickly skip many turns to see where the games end at.
Well... Good question. There is:) I created that for one game festival to show endless play loop without need to end turns. I can tell you how to turn it on, but it is absolutely without guarantee and I won't have time to look at potential issues (if any arise from using it).
The drawbacks of this loop are:
  • Once you start it, you CANNOT stop it.
  • You need to set the options of "observation" of the game before you load it (I am talking about "show enemy moves", "show only enemy moves" and "show only enemy moves related to me"). It means in the main game menu.
  • You cannot even save it, so it is really good only as a presentation or as an "observer" of AI moves.
If you are still happy about it, open the save file you want to see (Save file not scenario) and add to the <StateMemento element this demoPlayerId="X" where X is the id of player you selected to play as (basically the player you want AI to take over).
Cablenexus wrote:Sorry, I can't find the thread anymore where you provided some settings to have the fps ingame. Can you provide those lines again and where to put them?
In the Aggressors.exe.config change displayFPS to true and in initialSettings.config change vSync to false. Dont forget one thing - once you change vSync to false the GPU will simply try its best no matter how many frames it renders per second. A.k.a. the GPU % will always be high because it doesnt have any limits of the frames per second when vSync is off.
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

In V3 or V4?

I did NOT experienced in beta v3 I ment.
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: [Modding] Creating my first scenario

Post by Cablenexus »

Turn 32 crash first time, directly after I inspected the new trade overview menu for the first time in 32 turns. I closed it and got this CTD:

Naam van toepassing met fout: Aggressors.exe, versie: 0.9.8.11, tijdstempel: 0x5b2159e7
Naam van module met fout: KERNELBASE.dll, versie: 10.0.16299.492, tijdstempel: 0xb03e83b5
Uitzonderingscode: 0xe0434352
Foutmarge: 0x00103ff2
Id van proces met fout: 0x10d8
Starttijd van toepassing met fout: 0x01d40621249dce8e
Pad naar toepassing met fout: D:\Program Files (x86)\Kubat Software\Aggressors Ancient Rome\Aggressors.exe
Pad naar module met fout: C:\WINDOWS\System32\KERNELBASE.dll
Rapport-id: 0d461ba4-d742-41b0-80f8-3ea681f74145
Volledige pakketnaam met fout:
Relatieve toepassings-id van pakket met fout:

Toepassing: Aggressors.exe
Framework-versie: v4.0.30319
Beschrijving: het proces is beëindigd als gevolg van een onverwerkte uitzondering.
Uitzonderingsinformatie: System.OutOfMemoryException
bij Aggressors.PathFinderFast.Reset()
bij Aggressors.PathFinderFast..ctor(Aggressors.StateClasses.Chart, Aggressors.PathFinderTesterParameters, Aggressors.StateClasses.Position)
bij Aggressors.PathFinderHelper.CreatePathFinder(Aggressors.StateClasses.State, Aggressors.PathFinderTesterParameters, Aggressors.StateClasses.Position, Boolean)
bij Aggressors.StateClasses.Chart.GetFirstPositionWithNoObstaclesInWayToPosition(Aggressors.StateClasses.AmbientUnit, Aggressors.StateClasses.Position, Aggressors.StateClasses.PositionCollection, Aggressors.StateClasses.PositionCollection, Aggressors.StateClasses.PositionCollection, Boolean, Boolean)
bij BirdAmbientModel.MoveBird(Aggressors.StateClasses.AmbientUnit)
bij BirdAmbientModel.SetupAnimation(Aggressors.StateClasses.AmbientUnit, Aggressors.StateClasses.Position, Boolean, Boolean)
bij BirdAmbientModel.MovementFinished(Aggressors.StateClasses.AmbientUnit)
bij Aggressors.UI.AmbientAnimationsEffect.RunMoveFinished(Aggressors.StateClasses.AmbientUnit, Aggressors.UI.AmbientUnitRepresentation, Aggressors.StateClasses.Position, Aggressors.StateClasses.Position[], Aggressors.StateClasses.Position, System.Nullable`1<Aggressors.UI.AMBIENT_INSTANCE_MOVE_RESULT>, Boolean)
bij Aggressors.UI.AmbientAnimationsEffect+<>c__DisplayClass47_1.<MoveUnit>b__0(System.Object)
bij System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(System.Object)
bij System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
bij System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
bij System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
bij System.Threading.ThreadPoolWorkQueue.Dispatch()
bij System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
Post Reply

Return to “Aggressors Modding”