View Issue Details

IDProjectCategoryLast Update
0021193AI War 2Gameplay IssueMay 15, 2019 4:37 pm
ReporterWSRainer Assigned ToChris_McElligottPark  
Status resolvedResolutionfixed 
Product VersionBETA 0.857 The AI Strikes Back... Hard 
Fixed in VersionBETA 0.859 Lobby Raid 
Summary0021193: Selecting an additional faction at the lobby prompts a log
DescriptionSummary. In this case though, I selected the Dyson Sphere faction.
TagsNo tags attached.

Activities

WSRainer

May 9, 2019 7:06 am

reporter  

20190509055914_1.jpg (168,368 bytes)   
20190509055914_1.jpg (168,368 bytes)   

Chris_McElligottPark

May 9, 2019 12:30 pm

administrator   ~0051562

Yep, that part is really borked still even after the current hotfix. I spent several hours chasing that down yesterday and will look into it more today. It's a very tricky one! In prior builds it wasn't throwing the error, but was just having it silently. Now you at least can see when it breaks, which is an improvement over silent badness.

BadgerBadger

May 9, 2019 12:39 pm

manager   ~0051564

Are we sure we just aren't trying to seed more units than the seeding code will allow?

Chris_McElligottPark

May 9, 2019 12:53 pm

administrator   ~0051565

Yes, it has to do with the state of the Setup object getting reset. Some of that is a race condition, and the rest of that is it taking erroneous commands from dropdowns that are cleared and then reset.

Basically the data is heavily, HEAVILY tied into the gui at the moment, which is always bad juju. The behavior of dropdowns changed a bit, and possibly something else did as well (I thought I knew what but I don't), and so it kind of goes nuts and loses track of things. It winds up working with an earlier copy of the Setup object that was transmitted across the network loopback 2 seconds ago, etc.

It's also firing off tons of map generation commands when you adjust the UI in general, versus having any sort of abstraction of that prior to doing a real population. I never have been a fan of that approach, because it makes everything feel laggy for no good reason. Anyway, I think it's actually managing to scramble those threads and have multiple at once, or they set their Setup data very late in the process, I'm not sure. Either way it's causing chaos.

It's less that I don't understand what is broken now (I don't per se), but I don't understand how this was ever working at all. ;) I'm not trying to be overly harsh, but I have had this on my hitlist for a while now, as well as have been avoiding it, for a good reason. Even knowing exactly what will work best for multiplayer purposes is kind of hard at the moment, though, because Keith had some really good points with why he did it this way. So I've been learning as much as I can about the good side of things here, and then prepping for my coming redo.

Overall my intent is to move to a sort of abstract data layer that exists independent of the game itself or the UI, and is just there for the setup phase. And that gets tweaked and the UI reacts to that. I'll still have some of the same problems with the dynamic UI causing extra messaging with that, but at least it won't be firing off a bunch of network events and long-running map processes to complicate it.

And I can build in a "don't listen to my changes right now, because I'm just being set up" phase, or possibly move to a more polling-oriented approach rather than event-driven. I'd kind of like to do that, but we'll see. The reason is that sometimes during that thrashing-around setting up of dynamic fields, it's actually setting defaults from the player profile or some other data source (defaults from the xml that might not be the first item), and those things might not be properly reflected in the data if I'm not careful with how that syncs with the UI.

Sooo... yeah. It's totally a casualty of the way the lobby is designed paired with changes to how the network, mapgen, and/or dropdowns work. The game itself is doing fine, but trying to make this multiplayer-compatible while also juggling the other things has been some mental exercise for sure.

BadgerBadger

May 9, 2019 1:53 pm

manager   ~0051566

I'm glad it's your problem and not my problem ;-)

Chris_McElligottPark

May 15, 2019 4:37 pm

administrator   ~0051601

Fixed in the next build, thanks!

Issue History

Date Modified Username Field Change
May 9, 2019 7:06 am WSRainer New Issue
May 9, 2019 7:06 am WSRainer File Added: 20190509055914_1.jpg
May 9, 2019 12:30 pm Chris_McElligottPark Note Added: 0051562
May 9, 2019 12:39 pm BadgerBadger Note Added: 0051564
May 9, 2019 12:53 pm Chris_McElligottPark Note Added: 0051565
May 9, 2019 1:53 pm BadgerBadger Note Added: 0051566
May 15, 2019 4:37 pm Chris_McElligottPark Assigned To => Chris_McElligottPark
May 15, 2019 4:37 pm Chris_McElligottPark Status new => resolved
May 15, 2019 4:37 pm Chris_McElligottPark Resolution open => fixed
May 15, 2019 4:37 pm Chris_McElligottPark Fixed in Version => BETA 0.859 Lobby Raid
May 15, 2019 4:37 pm Chris_McElligottPark Note Added: 0051601