Amiga sraz (Plzeň, 1. dubna 2026)
2. 4. 2026

V minulých článcích jsem se několikrát zmínil o editoru levelů pro moji hru Voltix: Escape Protocol. Jelikož editor levelů se rozrostl v celkem zajímavý program sám o sobě (byť je to html stránka s javascriptem), asi si zaslouží se o něm zmínit trošku podrobněji.

Editor lelevů pro Voltix podrobněji...

V minulých článcích jsem se několikrát zmínil o editoru levelů pro moji hru Voltix: Escape Protocol. Jelikož editor levelů se rozrostl v celkem zajímavý program sám o sobě (byť je to html stránka s javascriptem), asi si zaslouží se o něm zmínit trošku podrobněji.

Důvod, proč vznikl tento editor byl čistě praktický. Místo počítání souřadnic, kontrolování řádků mapy a přepisování jednotlivých DB hodnot, načtu soubor levels.asm přímo v editoru a okamžitě ho vidím, upravím myší a hotový výsledek vyexportuju zpět do zdrojáků. Ušetří mi to spoustu času a hlavně spoustu zbytečných chyb. Prvotní plán byl, že vytvořím editor levelů přímo pro ZX Spectrum, ale vykašlal jsem se pak na to, protože jsem chtěl trošku universální řešení, které by se mohlo hodit i na jiné projekty (a to nejen mě).

Základem celého editoru je parsování celého souboru levels.asm - editor ho načte a převede do editovatelné podoby. Zobrazí seznam všech levelů, mezi kterými se dá přepínat. Nic se tedy nevytváří od nuly, stačí otevřít existující data, upravit a zase vyexportovat. Samotná editace probíhá na pracovní ploše s mapou levelu. Kreslení a mazání dlaždic, výběr z palety, okamžitý náhled. Editor pracuje s dlaždicemi přímo z hry, takže prostředí skládám z reálných herních prvků - stěn, podlah, žebříků, bodců, dopravníků, spínačů, bran, teleportů, min, crumble bloků a dalšího.

Kromě samotné mapy editor pokrývá i hlavičku levelu - startovní pozici hráče, pozici exitu, pozici klíče (elixíru), který zobrazí ve hře vstup do dalšího levelu. Tyto věci jsou záměrně oddělené od kreslení, aby při editaci nevznikal chaos.

Tohle je část, kde by ruční editace assembleru opravdu bolela. V editoru přidám nebo smažu nepřítele, vyberu typ, nastavím pozici a rozsah patrolování. Praktické je, že nepřátelé nejsou omezeni na tile grid - lze je umístit po pixelech, přesně tak, jak to funguje ve hře. Podobně funguje i editor pohyblivých plošin. U každé se nastaví typ, počáteční pozice, rozsah pohybu a rychlost. Plošiny se pak správně exportují do datové struktury za nepřátelskou sekcí.

Editor zvýrazňuje blok pod kurzorem, což zní jako drobnost, ale při práci to výrazně pomáhá s orientací. Zapínat a vypínat jde i pomocná 8x8 mřížka, která se hodí hlavně při přesném umisťování nepřátel. Mezi levely se přepíná výběrem ze seznamu nebo rychle přes tlačítka + a -, což oceňuji hlavně při ladění více sousedních levelů za sebou. A samozřejmě undo/redo - protože bez toho by editace map byla hazard.

Na konci všeho práce je export zpět do assembleru. Jde exportovat buď jen aktuální level, nebo celý soubor levels.asm. Struktura dat se zachovává přesně tak, jak ji hra očekává.

Jedna z věcí, kterou jsem do editoru přidal a která se ukázala jako praktická, je možnost vytvořit celé nové prázdné levels.asm. Editor vygeneruje vzorový soubor s kompletní strukturou - banky, MMU, ORG, level bloky, DS zarovnání. Každý nový level dostane připravený základ: horní stěnu, boční okraje, prázdný vnitřek, spodní podlahu, nulový počet nepřátel a plošin. Dobrý startovní bod.

Editor si můžete vyzkoušet v poslední verzi zde: https://mb-maniax.cz/voltix/.

Snímek obrazovky 2026-04-02 120550

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *