Skip to content

Instantly share code, notes, and snippets.

@denilsonsa
Last active May 1, 2024 11:37
Show Gist options
  • Save denilsonsa/3644cafb33efbc4b54b6bd412c3a47e1 to your computer and use it in GitHub Desktop.
Save denilsonsa/3644cafb33efbc4b54b6bd412c3a47e1 to your computer and use it in GitHub Desktop.
Train Conductor World - tiled map

Train Conductor World - tiled map

Train Conductor World is mobile game (for iOS and Android) by The Voxel Agents. The game has several cities on a world map (currently, only European cities).

This project (i.e. this GitHub Gist) is an effort to replicate the game world map outside the game. For that, I've used Tiled Map Editor to rebuild the map, and Gimp to create the graphics. This map can be used in the future to help planning in-game routes.

The graphics are based on in-game screenshots. The graphics can be redone in a better quality by someone with better drawing skills.

The tiles right now have 64x64 pixels. However, the in-game tiles are not square, they have a proportion of 6:5 or 11:9. If you want to redraw the tiles, please keep that in mind.

TODO:

  • Expand the map to include the cities from the latest update.
  • Create graphics for railroads.
    • These can be later used to plan/draw roads in a different layer in Tiled editor.
  • Change the tiles proportions to better match in-game proportions.
    • While doing that, redraw the tiles to be prettier.
  • Starting Loop - 1000 XP
    1. Rotterdam
    2. Mons
    3. Bruges
  • German Interior - 3000 XP
    1. Hamburg
    2. Berlin
    3. Bastei
    4. Stuttgart
    5. Cologne
  • French Connection - 4000 XP
    1. Paris
    2. Lyon
    3. Verdon
    4. Marseille
    5. Millau
  • Bridge Friends - 6000 XP
    1. London
    2. Bastei
    3. Prague
    4. Millau
  • The Ports - 7000 XP
    1. Grimsby
    2. Rotterdam
    3. Hamburg
    4. Stuttgart
    5. Marseille
    6. Dijon
  • Capital Trail - 9000 XP
    1. Edingburgh
    2. Amsterdam
    3. Copenhagen
    4. Berlin
    5. Warsaw
    6. Prague
    7. Paris
    8. London
  • North Sea Circle - 10000 XP
    1. Edingburgh
    2. Gothenburg
    3. Copenhagen
    4. Hamburg
    5. Amsterdam
    6. Rotterdam
    7. Bruges
    8. London
    9. Grimsby
Am - Amsterdam
Ba - Bastei
Be - Berlin
Bf - Belfast
Bn - Bernina
Br - Bruges
Co - Cologne
Cp - Copenhagen
Di - Dijon
Ed - Edingburgh
Go - Gothenburg
Gr - Grimsby
Ha - Hamburg
Ld - London
Ly - Lyon
Ma - Marseille
Mi - Millau
Mo - Mons
Ms - Mostar
Mt - Matterhron
Pa - Paris
Pr - Prague
Ro - Rotterdam
St - Stuttgart
Ve - Verdon
Wa - Warsaw
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.0" orientation="orthogonal" renderorder="right-down" width="51" height="49" tilewidth="64" tileheight="64" nextobjectid="1">
<tileset firstgid="1" name="tileset" tilewidth="64" tileheight="64" tilecount="64">
<image source="tileset.png" width="512" height="512"/>
</tileset>
<layer name="Map" width="51" height="49">
<data encoding="csv">
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,11,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,5,5,5,5,5,5,5,5,5,5,5,5,9,9,10,11,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,4,5,5,1,1,1,5,5,1,5,5,9,5,5,1,5,1,9,9,27,1,1,11,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,12,10,10,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,9,10,10,10,10,11,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,1,5,5,5,5,4,4,1,1,1,1,1,1,1,1,1,1,1,1,9,9,9,9,10,9,9,1,10,10,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,1,5,5,3,4,3,3,26,1,1,1,1,1,1,1,1,1,1,1,1,9,9,9,10,1,1,1,10,3,10,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,4,10,1,1,1,4,4,11,4,11,1,1,1,1,1,1,1,1,1,1,1,1,1,10,10,10,1,1,1,10,10,10,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,4,10,20,1,1,1,1,1,4,11,11,1,1,1,1,1,1,1,1,1,1,1,1,1,10,3,1,1,24,1,1,10,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,4,3,2,2,10,1,1,1,1,4,11,11,10,1,1,1,1,1,1,1,1,1,1,1,1,1,10,1,2,1,2,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,3,2,2,1,1,1,1,1,3,3,11,10,2,1,1,1,1,1,1,1,1,1,1,1,1,10,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,10,10,1,5,1,1,4,3,11,10,28,1,1,1,1,1,1,1,1,1,1,1,1,1,2,10,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,4,5,5,5,1,4,3,10,10,10,2,1,1,1,1,1,1,1,1,1,11,10,10,29,2,3,1,2,10,1,1,5,5,5,5,5,5,5,5,10,10,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,10,10,10,10,2,2,2,1,1,1,1,1,17,10,11,11,10,10,10,3,3,3,2,10,1,10,5,5,11,5,5,5,5,10,10,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,10,10,2,2,2,2,2,1,1,1,1,1,2,2,2,11,3,3,3,10,3,10,2,3,10,3,3,10,10,5,5,5,5,2,2,10,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,10,10,2,2,2,30,1,1,1,1,1,1,1,2,2,3,10,3,3,10,3,10,10,19,2,10,2,3,2,3,11,5,5,2,2,2,10,10,5,5,5,5,
5,5,5,5,5,5,5,5,5,10,10,2,2,2,2,2,1,1,1,1,2,39,2,2,2,10,11,3,10,10,10,2,2,2,2,2,2,3,3,3,3,2,3,2,2,2,10,3,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,10,10,10,2,2,3,3,3,10,3,3,3,3,3,3,3,2,2,2,10,10,11,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,1,1,1,1,1,2,22,2,2,2,10,2,2,23,2,10,10,3,11,11,3,3,11,11,3,3,3,3,3,3,2,2,42,2,2,10,10,11,5,
5,5,5,5,5,5,5,5,5,5,5,5,1,1,1,1,1,10,2,2,2,2,2,2,2,2,10,10,3,11,3,3,3,11,11,3,11,11,3,11,3,3,2,2,2,2,10,10,11,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,1,10,2,2,10,2,34,2,2,2,2,2,10,10,3,3,3,10,10,3,11,3,11,3,3,3,2,2,2,10,10,2,10,10,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,1,10,3,2,10,10,2,2,2,2,3,10,2,10,3,3,2,2,3,3,11,10,3,3,4,11,3,3,10,10,10,10,2,2,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,10,10,2,2,2,2,10,10,2,2,2,3,10,2,2,2,3,2,2,2,3,10,3,4,18,4,11,4,3,3,10,10,10,3,10,10,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,3,3,2,2,2,2,2,2,3,10,2,10,11,10,3,10,10,2,10,10,4,11,3,2,4,3,4,4,3,3,3,3,3,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,10,3,3,2,2,37,2,3,3,11,11,10,3,3,3,10,10,40,10,10,3,4,10,2,4,3,3,38,4,11,12,4,11,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,3,2,3,2,2,2,2,3,3,3,3,11,3,3,11,11,10,10,3,10,10,2,2,3,3,3,4,11,4,12,12,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,2,3,2,2,2,10,3,3,3,11,11,11,11,11,11,10,10,3,2,11,4,11,4,10,3,3,4,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,2,2,10,3,10,10,3,3,11,10,11,11,11,10,3,11,3,11,11,4,11,11,10,10,10,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,2,10,10,2,2,3,10,25,10,3,11,11,10,10,11,10,3,3,5,11,9,5,5,12,4,10,3,10,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,10,10,2,10,2,10,10,10,11,11,10,2,10,3,1,10,3,5,5,5,5,5,5,11,3,10,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,2,3,2,10,10,3,3,3,11,2,10,3,10,3,1,11,5,5,5,5,5,5,5,11,10,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,2,3,10,3,3,10,3,3,11,1,1,4,4,12,4,12,4,5,5,5,5,5,5,11,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,2,3,10,3,3,3,3,3,10,3,11,12,12,36,12,12,12,12,12,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,11,11,11,10,3,10,31,11,3,11,11,3,10,4,12,12,12,4,12,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,3,11,11,11,10,3,3,3,10,3,3,11,12,12,12,12,12,4,21,12,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,10,10,10,3,4,10,11,3,3,3,4,3,11,4,12,12,12,9,11,1,10,4,4,4,11,11,5,4,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,11,3,10,10,10,4,33,4,3,3,3,4,3,11,12,4,11,11,11,10,10,1,11,11,10,1,3,11,11,4,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,11,3,3,11,10,4,3,11,4,4,4,3,4,12,3,10,10,10,10,10,10,10,10,1,3,3,1,11,4,12,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,11,3,3,3,3,3,11,4,2,3,11,11,4,4,11,4,3,10,2,2,2,1,1,1,1,11,11,4,4,4,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,3,3,11,3,11,11,11,3,41,11,2,9,1,4,4,4,11,5,5,5,1,5,5,1,11,3,35,4,4,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,3,10,1,10,3,11,3,10,9,9,9,9,1,3,5,5,5,5,5,5,5,5,1,3,10,10,4,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,1,9,32,3,3,9,9,9,9,9,5,5,5,5,5,5,5,5,5,5,5,1,11,11,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,5,9,9,9,9,9,9,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,9,9,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,9,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
</data>
</layer>
</map>
@denilsonsa
Copy link
Author

In my opinion, this isn't true, due to the game having a 3D appearance. It's just perspective doing its thing.

@lajawi The 3D perspective can indeed distort the proportions. However, my claims are based on the in-game screenshots of the tile shop, and in there each tile is facing straight to the camera, making them mostly distortion-free.

@ekohilas
Copy link

Thanks for the grounding work @denilsonsa!
I've forked and extended this into a repository here and hope it can be of use to others 😊

@denilsonsa
Copy link
Author

@ekohilas Congrats! I had tweeted about my original Gist, and The Voxel Agents replied! Maybe you should tweet to them about your repository as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment