View Issue Details
ID | Project | Category | Date Submitted | Last Update | |
---|---|---|---|---|---|
0024159 | AI War 2 | Bug - Gameplay | Nov 21, 2020 11:48 pm | Dec 14, 2020 2:37 pm | |
Reporter | BadgerBadger | Assigned To | Chris_McElligottPark | ||
Status | resolved | Resolution | fixed | ||
Product Version | 2.637 Threatfleet Conversion, Chat, And Clickable Planets | ||||
Fixed in Version | 2.704 MP Notifications And Mapgen | ||||
Summary | 0024159: Multiplayer notes | ||||
Description | I actually played some multiplayer! A few notes. As a client, if I say "Build one turret" sometimes the Build Tab thinks I've built 2 turrets, or 0 turrets. It corrects itself within a second or so (so presumably the client got out of sync and the host corrected it), but it would be nice if it didn't sometimes get confused in this way. My friend and I are playing shared faction, and the mapgen logic seems confused; it's putting Arks and Golems close to our homeworld. Perhaps the game isn't reseeding things after I deleted my human faction and made myself a controller of my friend's faction? | ||||
Tags | No tags attached. | ||||
|
By default, opening the Esc menu pauses the game. In multiplayer this isn't desirable; I would open the Esc menu to try to futz with my visual settings and the game would pause for everyone |
|
The build turret thing is the PKIDs mismatch. It building zero is a surprise, but probably is because your side thought it had a ship cap that was being hit because of the lack of sync. The double turrets case is because yours added one with a bad PKID, then host added one with the correct one, and then the host synced the new one before telling you the old one was needing to die. The other case that happens is something popping out and then moving a short way. All of this is perfectly normal and basically working as intended in terms of the sync code, but the fact that production of any ship is an insta-desync is why the PKID code needs to be redone (or at least layered up). Anyhow, those are all symptoms of one central thing. The mapgen logic being out of place is very interesting indeed. I would have thought that removing a faction like that should have forced a regeneration of the map, but perhaps it did not for some reason. I'll look into that. I have a lot of mapgen tweaks to make anyhow. The escape menu thing is something that I had argued against having work that way in single-player just because of how it is annoying in multiplayer. And personally I often want to check out something in stats in the escape menu, but that doesn't mean halt everything. I think I'll make a pair of options for this, for "don't pause when opening escape menu in multiplayer," default on, and "don't pause when opening escape menu in singleplayer," default off. |
|
The "Quit Game" display shouldn't request that multiplayer clients should save their data |
|
Hit a number of errors 11/22/2020 2:35:46 PM GameEntity_Squad deserialization error at stage 2500 from serialized version 2.637 loading into new version 2.637, error: System.IndexOutOfRangeException: Index was outside the bounds of the array. at Arcen.AIW2.Core.EntityOrder.InitializeOrder (Arcen.AIW2.Core.EntityOrderType Type, Arcen.Universal.ArcenPoint RelatedPoint, System.Int32 RelatedEntityID, System.Int16 RelatedPlanetIndex, System.Boolean shouldOverrideBehavior, System.Boolean RefuseToWait, Arcen.AIW2.Core.Ord erSource Source) [0x00001] in <12362677eeef453ea1a1d1d8ac2fd4ce>:0 at Arcen.AIW2.Core.EntityOrder.DeserializeFrom (Arcen.AIW2.Core.GameEntity_Squad ForSquad, Arcen.Universal.ArcenDeserializationBuffer Buffer) [0x0015b] in <12362677eeef453ea1a1d1d8ac2fd4ce>:0 at Arcen.AIW2.Core.EntityOrderCollection.DeserializeFrom (Arcen.AIW2.Core.GameEntity_Squad ParentEntity, Arcen.Universal.ArcenDeserializationBuffer Buffer) [0x0004e] in <12362677eeef453ea1a1d1d8ac2fd4ce>:0 at Arcen.AIW2.Core.GameEntity_Squad.DeserializedIntoSelf (System.Int32 primaryKeyID, Arcen.AIW2.Core.GameEntityTypeData typeData, Arcen.AIW2.Core.Planet Planet, Arcen.Universal.ArcenDeserializationBuffer Buffer, System.Boolean HideErrors, System.Boolean IsLoadingTemplate, Syst em.Boolean IsForNetworkSync) [0x000d9] in <12362677eeef453ea1a1d1d8ac2fd4ce>:0 11/22/2020 2:35:47 PM Hit exception in strength counting debugCode 200 System.NullReferenceException: Object reference not set to an instance of an object at Arcen.AIW2.External.StrengthCounting.DelegateHelper_DoCombatStep_StrengthCounting (Arcen.AIW2.Core.GameEntity_Squad entity) [0x007a2] in <95950b84c65e4af9a63c716a087f813c>:0 11/22/2020 2:35:47 PM GameEntity_Squad deserialization error at stage 2500 from serialized version 2.637 loading into new version 2.637, error: System.IndexOutOfRangeException: Index was outside the bounds of the array. at Arcen.AIW2.Core.EntityOrder.InitializeOrder (Arcen.AIW2.Core.EntityOrderType Type, Arcen.Universal.ArcenPoint RelatedPoint, System.Int32 RelatedEntityID, System.Int16 RelatedPlanetIndex, System.Boolean shouldOverrideBehavior, System.Boolean RefuseToWait, Arcen.AIW2.Core.Ord erSource Source) [0x00001] in <12362677eeef453ea1a1d1d8ac2fd4ce>:0 at Arcen.AIW2.Core.EntityOrder.DeserializeFrom (Arcen.AIW2.Core.GameEntity_Squad ForSquad, Arcen.Universal.ArcenDeserializationBuffer Buffer) [0x0015b] in <12362677eeef453ea1a1d1d8ac2fd4ce>:0 at Arcen.AIW2.Core.EntityOrderCollection.DeserializeFrom (Arcen.AIW2.Core.GameEntity_Squad ParentEntity, Arcen.Universal.ArcenDeserializationBuffer Buffer) [0x0004e] in <12362677eeef453ea1a1d1d8ac2fd4ce>:0 at Arcen.AIW2.Core.GameEntity_Squad.DeserializedIntoSelf (System.Int32 primaryKeyID, Arcen.AIW2.Core.GameEntityTypeData typeData, Arcen.AIW2.Core.Planet Planet, Arcen.Universal.ArcenDeserializationBuffer Buffer, System.Boolean HideErrors, System.Boolean IsLoadingTemplate, Syst em.Boolean IsForNetworkSync) [0x000d9] in <12362677eeef453ea1a1d1d8ac2fd4ce>:0 11/22/2020 2:35:48 PM Hit exception in strength counting debugCode 200 System.NullReferenceException: Object reference not set to an instance of an object at Arcen.AIW2.External.StrengthCounting.DelegateHelper_DoCombatStep_StrengthCounting (Arcen.AIW2.Core.GameEntity_Squad entity) [0x007a2] in <95950b84c65e4af9a63c716a087f813c>:0 11/22/2020 2:35:49 PM Hit exception in strength counting debugCode 200 System.NullReferenceException: Object reference not set to an instance of an object at Arcen.AIW2.External.StrengthCounting.DelegateHelper_DoCombatStep_StrengthCounting (Arcen.AIW2.Core.GameEntity_Squad entity) [0x007a2] in <95950b84c65e4af9a63c716a087f813c>:0 11/22/2020 2:35:49 PM GameEntity_Squad deserialization error at stage 2500 from serialized version 2.637 loading into new version 2.637, error: System.IndexOutOfRangeException: Index was outside the bounds of the array. at Arcen.AIW2.Core.EntityOrder.InitializeOrder (Arcen.AIW2.Core.EntityOrderType Type, Arcen.Universal.ArcenPoint RelatedPoint, System.Int32 RelatedEntityID, System.Int16 RelatedPlanetIndex, System.Boolean shouldOverrideBehavior, System.Boolean RefuseToWait, Arcen.AIW2.Core.Ord erSource Source) [0x00001] in <12362677eeef453ea1a1d1d8ac2fd4ce>:0 ..... 11/22/2020 2:36:03 PM Exception in Client_AcceptDivergenceDataFromHost-DivergencesSection: debugStage: 1100 Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array. at Arcen.Universal.ArcenDeserializationBufferModern.GetNextBit () [0x00001] in <6c3f588b48b547849f1948f5c2492cd5>:0 at Arcen.Universal.ArcenDeserializationBufferModern.GetBits_InnerHelperUltraEfficient (Arcen.Universal.UltraEfficientStyleData ueStyleData) [0x00077] in <6c3f588b48b547849f1948f5c2492cd5>:0 at Arcen.Universal.ArcenDeserializationBufferModern.ReadIntUltraEfficient (Arcen.Universal.UltraEfficientStyle UEStyle, System.String FieldNameForErrors) [0x00041] in <6c3f588b48b547849f1948f5c2492cd5>:0 at AIWar2NetworkSync.Client_AcceptDivergenceDataFromHost (Arcen.Universal.ArcenDeserializationBuffer buffer) [0x002ce] in <12362677eeef453ea1a1d1d8ac2fd4ce>:0 11/22/2020 2:36:05 PM GameEntity_Squad deserialization error at stage 22000 from serialized version 2.637 loading into new version 2.637, error: System.IndexOutOfRangeException: Index was outside the bounds of the array. at Arcen.Universal.ArcenDeserializationBufferModern.GetNextBit () [0x00001] in <6c3f588b48b547849f1948f5c2492cd5>:0 at Arcen.Universal.ArcenDeserializationBufferModern.GetBits_InnerHelper32 (Arcen.Universal.ReadStyle RStyle) [0x00056] in <6c3f588b48b547849f1948f5c2492cd5>:0 at Arcen.Universal.ArcenDeserializationBufferModern.ReadInt32 (Arcen.Universal.ReadStyle RStyle, System.String FieldNameForErrors) [0x0003c] in <6c3f588b48b547849f1948f5c2492cd5>:0 at Arcen.AIW2.Core.GameEntity_Squad.DeserializedIntoSelf (System.Int32 primaryKeyID, Arcen.AIW2.Core.GameEntityTypeData typeData, Arcen.AIW2.Core.Planet Planet, Arcen.Universal.ArcenDeserializationBuffer Buffer, System.Boolean HideErrors, System.Boolean IsLoadingTemplate, System.Boolean IsForNetworkSync) [0x00e0e] in <12362677eeef453ea1a1d1d8ac2fd4ce>:0 |
|
Turret thing and errors were fixed a while ago. Mapgen now fixed: * Upgraded the mapgen logic to work better when there ae multiple human factions, or indeed when there are multiple AI factions. ** When there were multiple AI factions, there were times where lots of planets adjacent to player homeworlds could be set erroneously to mark 3. This no longer happens. ** When there were multiple human factions, then it was letting mark 3 or 4 planets be seeded next to human homeworlds sometimes, but it was also giving a LOT more mark 1 planets than normally are in a single-human-faction game. *** Now it gives the same number of mark 1 planets for a map size regardless of how many human players there are, and these are distributed randomly next to however human homeworlds there are. Any other planets adjacent to a human homeworld that is beyond the amount allowed by a map will now be mark 2 no matter what. *** In single-faction games, sometimes there are non-adjacent mark 1 homeworlds, but that will probably not happen anymore. *** The rest of the planets that are more than 2 hops from human homeworlds will continue to use the logic that they previously did for whether they should be mark 2, 3,or 4. ** The overall result should be something that always makes sense, and it will not favor player factions 1 over any other factions. Thanks! |
|
Quitting in MP: * In multiplayer games, the clients no longer get any sort of "are you sure?" prompt or ironman autosave or anything when they quit from the game or quit to the main menu. Those are host-side things. |
|
The last of your notes: * "Pause Game When Opening Esc Menu" in the Game part of the settings menu has been split into two parts: ** Pause Game When Opening Esc Menu In SP (default on) ** Pause Game When Opening Esc Menu In MP (default off) ** Additionally, made it so that sub-menus of the escape menu no longer cause the game to be paused when you go into them even if the setting here was disabled (previously that was happening, which was a bug with the SP version of this). Thanks! |
Date Modified | Username | Field | Change |
---|---|---|---|
Nov 21, 2020 11:48 pm | BadgerBadger | New Issue | |
Nov 21, 2020 11:48 pm | BadgerBadger | Status | new => assigned |
Nov 21, 2020 11:48 pm | BadgerBadger | Assigned To | => Chris_McElligottPark |
Nov 21, 2020 11:51 pm | BadgerBadger | Note Added: 0059754 | |
Nov 22, 2020 12:13 am | BadgerBadger | Note Edited: 0059754 | |
Nov 22, 2020 11:38 am | Chris_McElligottPark | Note Added: 0059755 | |
Nov 22, 2020 4:28 pm | BadgerBadger | Note Added: 0059762 | |
Nov 22, 2020 4:38 pm | BadgerBadger | Note Added: 0059763 | |
Dec 14, 2020 2:20 pm | Chris_McElligottPark | Note Added: 0059964 | |
Dec 14, 2020 2:24 pm | Chris_McElligottPark | Note Added: 0059965 | |
Dec 14, 2020 2:37 pm | Chris_McElligottPark | Status | assigned => resolved |
Dec 14, 2020 2:37 pm | Chris_McElligottPark | Resolution | open => fixed |
Dec 14, 2020 2:37 pm | Chris_McElligottPark | Fixed in Version | => 2.704 MP Notifications And Mapgen |
Dec 14, 2020 2:37 pm | Chris_McElligottPark | Note Added: 0059966 |