Testing Help Needed for 2.3 - 1.8 maps will be back!
-
We're bringing back 1.8 maps in 2.3! This is pretty exciting as effort is underway for the map exporter to be more accurate which would give everyone an upgrade path to load 1.8 maps and then export them as 2.3 maps. Generally it's looking like 2.3 is going to be pretty maps focused.
We could use help testing that we are loading the 1.8 maps correctly. For anyone willing to help test this and report any problems that they find, what we need is:
- install the latest 2.3: https://github.com/triplea-game/triplea/releases/
- click the 'assets' link
- find and download an installer for your OS
- run the installer
- download a 1.8 map: https://sourceforge.net/projects/tripleamaps/files/maps/
- move the downloaded map zip into your
<home_folder>/triplea/downloadedMaps
- restart triplea
- select maps, select the 1.8 map, launch it and make sure the game plays well
The areas to emphasize in testing are technologies and unit abilities. Do bombing raids work correctly, do paratroops work, do rockets fire, does improved arty work, does mechanized infantry work, do the game notes look good, etc...
Any help is appreciated. Feel free to cut a bug report directly into the tracker or report issues here.
- install the latest 2.3: https://github.com/triplea-game/triplea/releases/
-
@LaFayette for some reason i thought they were already working when i upgraded the existing install. only tried v3 so far but it seemed to be working fine.
-
When we made the change to fix the spelling errors, I upgraded every map I could find.
On the other hand, the exporter is not working correctly. I found 2 bugs in maps created by exporting:
;option name="costPU" value=" is written instead of option name="costResources" value="PUs" count="
;"games.strategy.triplea.delegate.battle.BattleDelegate" is written instead of "games.strategy.triplea.delegate.BattleDelegate" -
@RogerCooper The way the XML export was being done was not sustainable. In combination we were getting a decent number of bug reports of players playing 1.8 maps that were crashing on them and there is a desire to expand and simplify the XML structure. With all that being the case, in 2.3 we have redesigned the architecture of how map XML parsing is done.
The new design introduces an intermediate step into the parsing that allows us to more easily create XML tag aliases and is bi-directional so we can read and write XML data from a single data structure. This was certainly in part inspired by the bug report you submitted: https://github.com/triplea-game/triplea/issues/7480. A surgical fix there would not be worth that much as it's unlikely for it to remain correct, hence a deeper fix where the system can just export data natively from the intermediate format that is used to also read data. This will help ensure that the read and write paths of XML stay in sync since the data structure is now unified, it is bi-directional.
With all that being said, the export functionality will hopefully be expanded, but in the meantime we now have the capability to instead of saying "1.8 maps do now work", they can now work.
There is some history behind this as previously there was a somewhat broken strategy for all maps to always work. Essentially the game bundled all previous versions of the game in itself and would launch old game versions. This was a bit of a broken strategy as there is not enough information to always know exactly which version to launch, and beyond that there were other issues. As of 1.9 we dropped this as that functionality had some major breakages where the fix really was beyond the capabilities of that design (so we dropped it and decided to do a hard-cutover of maps). Now as of 2.3, we can support changes and differences in the XML natively and with far less intrusion. The two layer approach allows for the lowest XML layer to deal with tags that might be spelled differently and unify this for the next layer. This means changes to at least the XML spelling is isolated to one layer that now has automatic testing. This implies we can make changes there, they are now isolated and no longer require manual regression testing where we verify that hundreds of maps still can be loaded, that is done automatically now. Furthermore, this opened a door for bi-directionality where no only can we read from this layer, but we can write to it as well.
-
With all of the above being said, now that 1.8 maps are supported again, help is needed to ensure that we have all of the legacy 1.8 rules correctly ported in the code and that we're not missing anything.
-
@LaFayette a bit confsued by this thread. why are the existing maps i had in 1.9 still working? were they always meant to work and there were maps that never got upgraded to work with 1.9?
-
@LaFayette I second @ubernaut 's question... I was under the impression that the maps have been bulk-updated prior to switching from 1.8 to 1.9...
-
"1.8" maps refers to maps that have things like "attatchment" in them. When we upgraded Triplea from 1.8 to 1.9 we also bulk moved all maps from zip files in source forge to github repositories. After doing that we then updated the XML of those files as well to fix things like the 'attatchment' spelling, but the maps in source forge were left unaltered. If you download a map from source forge (a 1.8 map), it'll crash in 1.9 through 2.2
Does that clear things up?
-
@LaFayette Your explanation clears it up. Thank you.
However I see map-files in that sourceforge directory that have been definitely updated, so for example the wwII 'core' games.
So the first task would be to sort out, which games have been updated and which not. -
@Panther the files in source forge was the source for the migration into github. Source forge is the old download location, they've been obsolete for some years now. Afaik they nearly all exist in github, the maps in github are updated. The github maps have histories, you can check the commit list even to see the updates.
-
@LaFayette I am totally aware of the history (for more than ten years). But what is the point of this topic then, if they all exist updated in Github? Aren't those legacy files (as they have been updated) as obsolete as TripleA 1.8 is nowadays?
-
There were a few reasons to bring in 1.8 compatibility:
-
we are getting about one error report a week for players launching 1.8 maps. The 1.8 maps keep coming up:
-
we should never have assumed that we can upgrade all maps in bulk, we do not 'own' all maps. Not all maps are in the repositories
-
it's been a long running design principle that maps should never be broken. The mechanisms to support this had some big problems and we dropped it in 1.9 as it was not scaling and really just was not cutting it.
As mentioned, 2.3 has a new map parsing architecture that makes supporting 1.8 maps much easier. Adding in that support resolves the above problems and gives us a proving ground for being able to support more XML variations going forward.
As a bonus, now that the map export is fixed, because players can launch 1.8 maps, if they want to upgrade them, they only need to now launch the map and can then re-export the XML.
-