This guide will tell you about Conductor achievements and show you two ways to get the Level 5 achievement. Due to slow progress and news about servers shutting down, I had to find a new method to unlock these achievements. But before we continue, please be adviced that reports suggests that using the 2nd method results to some crashing problems. If that happens, you can refer to our Ticket to Ride troubleshooting guide.
What Counts for Conductor Achievements
After doing some testing, I figured out that only the following things matter for Conductor achievements:
- Online ranked games,
- Solo games against bots,
- Tutorial games (strange but true!)
Keep in mind that progress for offline games (both solo and tutorial) is saved only on your device.
Method 1: Unlock Using Bots
Yes, you got it right—tutorial games contribute to the achievement, and that’s the strategy we’re going to employ. Completing one tutorial game takes approximately 70 seconds, which is nearly four times faster than a game against bots when farming. If you play 20,000 games, it would take about 389 hours, equivalent to around 16 days.
To make this process less tedious, we’ll use AutoHotkey. Manually going through the tutorial 20,000 times would be extremely boring. Here’s the script; just ensure you:
- Always run it on the same PC, as progress isn’t saved on the cloud/servers.
- Use AutoHotkey v1.1, as the script isn’t compatible with the newer version (download it from here).
- Set your display resolution to 1920×1080.
- Run the game in fullscreen mode.
- Launch the game and the ahk script, then press the F2 key to initiate the script.
- Stop the script with the F3 key before exiting the game.
; This script will keep playing Ticket To Ride F2:: SetDefaultMouseSpeed,6 WinWaitActive Ticket to Ride Run() F3::ExitApp Run() { while true { StartNewTutorialGame() DrawTicket() if (CheckIsStuck()) { Restart() continue } PlayMiamiAtlanta() PlayAtlantaWashington() DrawSecondAndFourth() PlayWashingtonNewYork() DrawNewTicket() DrawFourthAndDeck() PlayNewYorkMontreal() DrawNewTicket() DrawFourthAndFifth() PlayMontrealChicago() DrawSecondAndDeck() PlayChicagoDuluth() DrawSecondAndDeck() PlayDuluthDenver() ConfirmLastTurn() Draw2Deck() ClickForwardAndQuit() } } StartNewTutorialGame() { ;Click Play Click, 713, 299 Sleep, 1000 ;Click Tutorial Click, 1061, 139 Sleep, 1000 ;Click Go Click, 1000, 839 Sleep, 1000 } DrawTicket() { Click, 1846, 345 Sleep, 1000 Click, 1846, 903 Sleep, 1000 } PlayMiamiAtlanta() { Click, 1000, 959 Sleep, 500 Click, 1506, 883 Sleep, 1000 } PlayAtlantaWashington() { Click, 1000, 959 Sleep, 500 Click, 1496, 653 Sleep, 1000 } DrawSecondAndFourth() { Sleep, 2000 DrawSecond() DrawFourth() } PlayWashingtonNewYork() { Click, 1000, 959 Sleep, 500 Click, 1566, 405 Sleep, 1000 } DrawNewTicket() { Sleep, 1000 ;Click Go Click, 1000, 939 Sleep, 1000 ;Click Ticket Pile Click, 1846, 100 Sleep, 1000 DrawTicket() Sleep, 1000 } DrawFourthAndDeck() { Sleep, 2000 DrawFourth() DrawFromDeck() } PlayNewYorkMontreal() { Click, 850, 959 Sleep, 500 Click, 1566, 305 Sleep, 1000 } DrawFourthAndFifth() { Sleep, 2000 DrawFourth() DrawFifth() } PlayMontrealChicago() { Click, 1000, 959 Sleep, 500 Click, 1366, 305 Sleep, 1000 } DrawSecondAndDeck() { Sleep, 1000 DrawSecond() DrawFromDeck() } PlayChicagoDuluth() { Click, 1000, 959 Sleep, 500 Click, 1166, 365 Sleep, 1000 } PlayDuluthDenver() { Click, 1000, 959 Sleep, 500 Click, 876, 445 Sleep, 1000 } Draw2Deck() { Sleep, 1000 DrawFromDeck() DrawFromDeck() } ConfirmLastTurn() { Sleep, 2000 ;Click Go Click, 1000, 839 Sleep, 1000 Send, {Enter 100} } DrawFirst() { } DrawSecond() { Click, 1846, 345 Sleep, 1000 } DrawThird() { } DrawFourth() { Click, 1846, 557 Sleep, 1000 } DrawFifth() { Click, 1846, 757 Sleep, 1000 } DrawFromDeck() { Click, 1846, 803 Sleep, 1000 } ClickForwardAndQuit() { Sleep, 1000 ; Forward Click, 1446, 957 Sleep, 1000 ; Quit Click, 877, 42 Sleep, 1000 } CheckIsStuck() { PixelGetColor, color, 1000, 550, RGB if (color = 0xF4EFE1) { Sleep, 1000 return true } else { return false } } Restart() { Sleep, 1000 Send, {Escape 100} Sleep, 1000 Send, {Escape 100} Sleep, 1000 Send, {Enter 100} }
Feel free to try different values for DefaultMouseSpeed and Sleep times, but based on my experience, the ones mentioned above are the most reliable. Occasionally, the tutorial may get stuck while drawing the ticket. I’ve incorporated some logic into the script to automatically restart it if that happens.
Method 2: Unlock By Editing Save Files
If 390 hours still feels like too much, and you’re open to a bit of cheating, there’s a way to reach your goal much faster. The progress for offline games is stored locally in the UserDefault.xml file, located in local app data:
%localappdata%\Days of Wonder\Ticket to Ride\UserDefault.xml
Here’s what you can do:
- Open the file in your favorite text editor (ensure the game is not running).
- Look for the
<NbSoloGamesPlayed>
element, like this:<NbSoloGamesPlayed>12345</NbSoloGamesPlayed>
. - Update the value to 200000 (or any desired number) and save the file.
- Run the game, and you should be done. (You might need to play one more game, but I didn’t test that).
That's everything we are sharing today for this Ticket to Ride guide. This guide was originally created and written by PapaSmok. In case we fail to update this guide, you can find the latest update by following this link.