Rails-18xx / Rails

Rails 18xx Java Application Main Repository
GNU General Public License v2.0
36 stars 22 forks source link

TileDesigner is not up to date #349

Open erik-vos opened 3 years ago

erik-vos commented 3 years ago

Long ago, I had described the tile creation procedure that I had developed in the "Tile Creation" wiki page (way down the list). The fact, that a number of files related to this process have been added to Git, suggests that these files are kept up to date. Sadly, that is not the case. So the question arises: should we update these files as yet? Or shall we remove these files from Git, and leave the tile creation procedure up to everybody's own liking?

Let me first summarize that procedure in a diagram. Unless stated otherwise, the files exist in src/main/resources/data, hereafter called data.

 file TileDesigner.18t - the TileDesigner (TD) database
             v                               v
             v TD export                     v TD export
             v                               v
 file TileDesigner.xml           All svg picture files - in data/svg
             v                               ^
             v ConvertTileXML.java           ^ manual process
             v                               ^
 file Tiles.xml - overall version    Other creation process, such as adapting
             v                       a TD generated SVG file, or from Inkscape
             v MakeGameTileSets.java   
             v
 files Tiles.xml - per-game version, in data/<game>

Now the files on the left-hand side are all in Git, but the first three are way out of date. In any case, the 1837 and 18Chesapeake special tiles are not included, and probably more. I attach a file with a complete overview, reporting in which of the four left-hand side files from the scheme any existing SVG file is mentioned. (Note: "no(pic)" in the 2nd column means that the tile does not occur in the per-game Tiles.xml because it is only used to visually replace another tile - it exist as a pic attribute in TileSet.xml).

AllTiles.txt

So what should we do? It seems to me, that currently I'm the only one who is updating at least the TileDesigner.18t database. From there on, following the procedure currently makes no sense, because that would mean overwriting the generic, and perhaps also the game-specific, Tiles.xml files, thereby losing essential tile descriptions.

Otherwise, we will somehow have to complete the TD database by adding all missing tiles. In some cases perhaps a base form, that at least correctly describes connectivity. The 18Chesapeake files with alphanumeric ids should get a real number, as TD can only handle numbers.

My feeling is that the latter choice is no longer worthwhile, so that we may end up removing the files in question out of Git.

Any opinions?

erik-vos commented 3 years ago

(Copied comment from @neutronc on Slack. EV)

Tile Creation in the moment is really a weak spot.Tiledesigner is way unwieldy to create new tiles and manage all those game specific tiles with the game names not following a numeric convention anymore.

so i started with 1837 and Chesapeake using inkscape

theres the 18xx-maker that has tile definitions in Json and they create graphics from that json iirc

i could add tiles to tiledesigner to follow process but then we would have to create a new numeric scheme and the negative tiles still are handled difficult if i recall correctly

erik-vos commented 3 years ago

TD can be used in such a way that only the required XML is generated, to describe stops and tracks as needed for Rails. It's immaterial how ugly the TD picture is, if there are means to create a nice one separately, e.g. by Inkscape. A possible line in TileSet.xml could be, for instance: <Tile id="18001" pic="18CH01"/> where 18001 is some arbitrary number usable in TD, and 18CH01 the ID of the separately created SVG file, a so-called "home-made" tile. Then only the latter will be visible, whereas the former is used behind the scenes to determine routes etc. But if it is no issue to create that XML also by hand, it isn't really worth while to keep the TD files in the project.

For sure, I will still keep using TD, and even do the intermediate steps, except the last one (MakeGameTileSets), but instead copying the tile XML (and the SVG, if it is OK) into the project by hand; that's how I recently did 18Scan and SOH.