Little Railways
Vlastní železnice v obýváku
- C#
- s&box
Little Railways jsem vytvořil podle dřevěných vláčků, se kterými jsem si rád hrál jako dítě. Hru vyvíjím v C# na platformě s&box. Hráči si v ní můžou postavit vlastní železnici a jezdit po ní s vláčky.
Co je s&box?
s&box je platforma pro tvorbu a hraní her od studia Facepunch, tvůrců Garry’s Mod. Vychází z enginu Source 2 a nabízí editor i nástroje pro tvorbu vlastních her od stavby herního světa až po jeho chování.
Herní logika se píše v jazyce C#. V něm vznikají pravidla hry, ovládání i interakce mezi objekty. Na této platformě vyvíjím Little Railways.
Více o platformě s&boxLittle Railways
Jako dítě jsem si rád hrál s dřevěnou vláčkodráhou. Napadlo mě převést tuhle stavebnici do počítačové hry, a tak vzniklo Little Railways.
Ve hře si hráči staví vlastní tratě z kolejí, výhybek a ramp a doplňují je vláčky a dekoracemi. Hotové stavby si můžou uložit a sdílet s ostatními hráči.
Vůle ve spojích
U skutečné dřevěné vláčkodráhy mají spoje mezi kolejemi trochu vůle. Při stavění totiž konce tratě nemusí přesně vycházet proti sobě. Vůle umožňuje dílky mírně natočit a posunout, aby se trať dala dorovnat a spojit do okruhu.
Stejné chování jsem implementoval do Little Railways pomocí algoritmu, který při posouvání koleje postupně upravuje polohu a natočení navazujících dílků. Nejprve využije vůli nejbližšího spoje a podle potřeby přenese pohyb dál. Přitom hlídá, aby koleje zůstaly spojené a nepřekrývaly se.
Fyzika a magnetické spojování
Ve hře využívám vestavěnou fyziku s&box, která se stará o gravitaci, nárazy a pohyb vláčků. Když hráč zvedne část soupravy, připojené vagóny se za ní táhnou a houpou podle své hmotnosti a vzájemného spojení.
Pomocí fyzikálních sil a kloubů jsem doplnil i magnetické spojování známé z dřevěných vláčků. Stačí vagóny přiblížit k sobě a jejich magnety se přitáhnou a spojí. Spojení umožňuje natáčení v zatáčkách a při příliš silném zatažení se rozpojí.