In this guide I’ll explain what counts for Conductor achievements and present you with 2 ways of reaching the final Level 5 prestatie. Unfortunately slow progress and announcement of shutting down the servers pushed me to look for a new approach to unlock these achievements.
What counts for Conductor achievements
With some testing I came to a conclusion that only the following counts for Conductor achievements:
- Online ranked games,
- Solo games against bots
- Tutorial games (sic!)
The progress for offline games (solo and tutorial) is stored locally.
The More Legit way
Ja, je leest het goed, tutorial games count for the achievement and that’s what we’re gonna use.
Finishing one tutorial game takes ~70 seconds which is almost 4x faster than a game against bot (when farming).
70 seconds x 20,0000 games ~= 389 hours ~= 16 dagen
We’ll use AutoHotkey, since going through tutorial 20,000 times manually would be extremely boring.
Below is my script, just make sure to:
- Run it always on the same PC – the progress is not saved on the cloud/servers,
- Use AutoHotkey v1.1, the script is not compatible with the newer version. You can download it from hier.
- Set your Display resolution to 1920×1080,
- Run the game in Fullscreen mode,
- Run the game and the ahk script, then press F2 key to start the script,
- Stop the script with F3 key before you exit 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() als (CheckIsStuck()) { Herstarten() doorgaan } PlayMiamiAtlanta() PlayAtlantaWashington() DrawSecondAndFourth() PlayWashingtonNewYork() DrawNewTicket() DrawFourthAndDeck() PlayNewYorkMontreal() DrawNewTicket() DrawFourthAndFifth() PlayMontrealChicago() DrawSecondAndDeck() PlayChicagoDuluth() DrawSecondAndDeck() PlayDuluthDenver() ConfirmLastTurn() Draw2Deck() ClickForwardAndQuit() } } StartNewTutorialGame() { ;Click Play Click, 713, 299 Slaap, 1000 ;Click Tutorial Click, 1061, 139 Slaap, 1000 ;Click Go Click, 1000, 839 Slaap, 1000 } DrawTicket() { Klik, 1846, 345 Slaap, 1000 Klik, 1846, 903 Slaap, 1000 } PlayMiamiAtlanta() { Klik, 1000, 959 Slaap, 500 Klik, 1506, 883 Slaap, 1000 } PlayAtlantaWashington() { Klik, 1000, 959 Slaap, 500 Klik, 1496, 653 Slaap, 1000 } DrawSecondAndFourth() { Slaap, 2000 DrawSecond() DrawFourth() } PlayWashingtonNewYork() { Klik, 1000, 959 Slaap, 500 Klik, 1566, 405 Slaap, 1000 } DrawNewTicket() { Slaap, 1000 ;Click Go Click, 1000, 939 Slaap, 1000 ;Click Ticket Pile Click, 1846, 100 Slaap, 1000 DrawTicket() Slaap, 1000 } DrawFourthAndDeck() { Slaap, 2000 DrawFourth() DrawFromDeck() } PlayNewYorkMontreal() { Klik, 850, 959 Slaap, 500 Klik, 1566, 305 Slaap, 1000 } DrawFourthAndFifth() { Slaap, 2000 DrawFourth() DrawFifth() } PlayMontrealChicago() { Klik, 1000, 959 Slaap, 500 Klik, 1366, 305 Slaap, 1000 } DrawSecondAndDeck() { Slaap, 1000 DrawSecond() DrawFromDeck() } PlayChicagoDuluth() { Klik, 1000, 959 Slaap, 500 Klik, 1166, 365 Slaap, 1000 } PlayDuluthDenver() { Klik, 1000, 959 Slaap, 500 Klik, 876, 445 Slaap, 1000 } Draw2Deck() { Slaap, 1000 DrawFromDeck() DrawFromDeck() } ConfirmLastTurn() { Slaap, 2000 ;Click Go Click, 1000, 839 Slaap, 1000 Versturen, {Binnenkomen 100} } DrawFirst() { } DrawSecond() { Klik, 1846, 345 Slaap, 1000 } DrawThird() { } DrawFourth() { Klik, 1846, 557 Slaap, 1000 } DrawFifth() { Klik, 1846, 757 Slaap, 1000 } DrawFromDeck() { Klik, 1846, 803 Slaap, 1000 } ClickForwardAndQuit() { Slaap, 1000 ; Forward Click, 1446, 957 Slaap, 1000 ; Quit Click, 877, 42 Slaap, 1000 } CheckIsStuck() { PixelGetColor, color, 1000, 550, RGB if (color = 0xF4EFE1) { Slaap, 1000 return true } anders { return false } } Herstarten() { Slaap, 1000 Versturen, {Ontsnappen 100} Slaap, 1000 Versturen, {Ontsnappen 100} Slaap, 1000 Versturen, {Binnenkomen 100} }
Feel free to experiment with DefaultMouseSpeed value and Sleep times, but I found above to be the most reliable. Tutorial sometimes get stuck during drawing the ticket, I’ve added some logic to restart it in case of that happening.
The Less Legit way
Als 390 hours is still too much and you feel like a bit of cheating is ok, then you can get there much much faster. The progress for offline games is stored locally in UserDefault.xml file. You can find it in local app data:
%localappdata%\Days of Wonder\Ticket to Ride\UserDefault.xml
Just:
- Open the file in your favourite text editor (when the game is not running),
- Vinden <NbSoloGamesPlayed> element
<NbSoloGamesPlayed>12345</NbSoloGamesPlayed>
- Update the value to 200000 (or whatever you want) en sla het bestand op.
- Voer het spel uit, done. (Actually you might need to play one more game, didn’t test that).