The Last Spike Online / 2026. július 19.

USA és Canada ne két játék legyen a kódban

A pályák, körök és kanadai kiadás finomításánál az volt a cél, hogy a különbségeket adatként kezeljük, ne országonként másolt szabályágakkal.

2 perc olvasás
The Last Spike Online
variantsgame-engineconfigurationarchitecture

A helyzet

Több kiadás támogatásánál gyorsan megjelenhet a `if country === ...` kód mindenhol. Eleinte olcsó, később azonban ugyanazt a javítást több ágon kell elvégezni, és egy új edition minden komponenst módosít. A Last Spike különböző táblái és track szabályai pont ilyen elágazást hozhattak volna.

A megoldási út

A közös játékszabályt és az edition-specifikus adatot különválasztottam. A körök, pályaadatok és térképi sajátosságok konfigurációból jöttek, a motor pedig egységes műveletekkel dolgozott. Csak ott maradt külön szabály, ahol a hivatalos kiadás ténylegesen más viselkedést írt elő.

Mi lett belőle

A kanadai finomítás nem második alkalmazás lett, hanem ugyanazon engine másik adatkészlete. Ez a későbbi egységes board geometry és artwork rendszernek is előkészítette az utat.