Editor lelevů pro Voltix podrobněji…
3. 4. 2026

Možná jste si všimli (a pokud ne, tak jste byli pravděpodobně posledních 14 dní na výletě na Serverním pólu), že delší dobu pracuji na hře Voltix: Escape Protocol a jak jsem již několikrát zmiňoval (jednou velmi podrobně), vznikl pro tuto hru editor levelů. Jelikož mi vyhovoval způsob práce a ovládání tohoto editoru, a chyběl mi editor spritů, rozhodl jsem se udělat něco v podobném stylu (když už mám hodně věcí udělaných v editoru levelů a mohu tyto věci použít).

ZX PixelPaste

Možná jste si všimli (a pokud ne, tak jste byli pravděpodobně posledních 14 dní na výletě na Serverním pólu), že delší dobu pracuji na hře Voltix: Escape Protocol a jak jsem již několikrát zmiňoval (jednou velmi podrobně), vznikl pro tuto hru editor levelů. Jelikož mi vyhovoval způsob práce a ovládání tohoto editoru, a chyběl mi editor spritů, rozhodl jsem se udělat něco v podobném stylu (když už mám hodně věcí udělaných v editoru levelů a mohu tyto věci použít).

Víte jak to je, rozhodnete se udělat editor spritů a zjistíte, že by bylo fajn tam udělat editor znaků a když už máte editor znaků, proč neudělat editor UDG znaků - což je v podstatě to samé. Pak nad tím vším přemýšlíte, jste plni euforie a řeknete si - když už takto kreslím na obrazovce, nemohl bych kreslit i celé obrázky v ZX formátu? Musím se přiznat - ja jsem na používání grafických editorů lama - nakreslit černobýlý obrázek umím, ale jakmile si začnu hrát s barvami, tak narazím na problém - koncepce attr kolizí mi vezme chuť cokoliv hezčího nakreslit. Tak jsem si řekl, že pokud by měl existovat grafický editor z mé dílničky, tak by mohl fungovat jako normální grafický editor a tyto věci se snažit eliminovat (to znamená podle potřeby by invertoval bitmapu 8x8 a prohazoval INK/PAPER)... V plánu je i používání vrstev a podobných zvěrstev, na které jsme si zvykli z moderních grafických editorech na vícebitech, ale uvidíme, zda se mi vše povede implementovat.

Cílem ZX PixelPaste je proto vytvořit jedno společné prostředí pro obrazovky, sprity a fonty, aby nebylo nutné polovinu práce dělat ručně nebo mezi několika různými utilitami přepínat.

Program bude, jak jsem již napsal, rozdělený do tří hlavních sekcí: Screen Editor, Sprite Editor a Font Editor.

Screen Editor

První částí je editor obrazovky, určený pro práci s klasickou ZX Spectrum grafikou. Počítá se tu s editací celé obrazovky, s prací nad atributy i s běžnými kreslicími operacemi, které jsou při kreslení potřeba.

Součástí editoru je kreslicí plocha a sada nástrojů, mezi kterými nebude chybět:

Kreslení tužka, štětec, guma, sprej, čára, dithering
Text a tvary text, obdélník, vyplněný obdélník, elipsa, vyplněná elipsa
Výběr obdélníkový výběr, volný výběr, přesun výběru
Úpravy kopírování, vložení, přesun do vrstvy, vyříznutí, smazání
Import / export Import Image, Import SCR, Export SCR, Export ATTR
Projekt uložení a načtení projektu

Počítá se také s vrstvami, takže bude možné přidávat nové vrstvy, duplikovat je, mazat, čistit a měnit jejich pořadí. To se hodí hlavně ve chvíli, kdy člověk skládá složitější obrazovku a nechce všechno dělat destruktivně v jedné jediné vrstvě. Bude to mít samozřejmě své limity dané ZX Spectrem a jeho uspořádáním VideoRamky, ale myslím, že to bude velmi užitečná věc.

Sprite Editor

Druhou částí je Sprite Editor, který je pro vývoj hry naprosto zásadní - doteď jsem sprity "kreslil" v asm souboru pomocí DB, což není něco co většinou dává pěkné vásledky... Počítám s těmito funkcemi:

Základní nastavení jméno spritu, šířka a výška v pixelech, zoom
Režim zobrazení monochromatický nebo barevný sprite, zobrazení mřížky, zapnutí nebo vypnutí masky
Práce s framy vytvořit nový frame, duplikovat frame, smazat frame, měnit pořadí framů
Animace přehrávat animaci, nastavovat délku zobrazení frame v milisekundách
Import Import ASM, Import BIN
Export Export Sprite BIN, Export Sprite ASM

Velká výhoda už v této části je, že Sprite Editor umí automaticky generovat masku spritu, kterou si ale budete moci sami upravit. Nebo budete chtít sprite bez masky - nebude to problém. Počítám s tím, že půjde exportovat do BIN, ASM (pomocí pseudoinstrukce DB v binární podobě) a půjdou stáhnout ukázkové rutinky na vykreslení spritu.

Font Editor

Třetí částí je Font Editor, který je určený pro tvorbu a úpravu znakových sad. Počítá se zde s editací jednotlivých znaků, s přehledem celé znakové sady a s možnostmi pro pohyb a hromadnější úpravy. Editor má umožnit konkrétně:

Základní nastavení nastavení názvu fontu, definice velikosti znaku, práce se zoomem
Zobrazení a editace zapnutí a vypnutí gridu, práce s maskou, mazání znaku, přechod mezi jednotlivými znaky
Transformace rotace a posuny nad jedním znakem i nad celou sadou
Typy fontů editace klasického fontu i UDG, načtení klasického ZX 8×8 fontu automaticky
Obecný import import BIN, Import Font ASM, Import Font BIN
Export fontu Export Font BIN, Export Font ASM
UDG import Import UDG ASM, Import UDG BIN
UDG export Export UDG BIN, Export UDG ASM

Program umožní stáhnout i ukázkové rutinky umožňující tisk na obrazovku.

V současné době mám připravený layout celého programu a funguje import obrazovek SCR, spritů a fontů. Sprite Editor už navíc umí automatickou masku spritu. Toto už aktuálně není pravda - když jsem článek dokončil, začínal jsem si hrát s vrstvama ve screen editoru a myslím, že to začíná fungovat velice dobře (i když atributy to "malinko" komplikují). Když to takhle půjde dál, tak se opravdu těším na finální podobu.

Jak jsem již napsal, hodně věcí použiji již z toho co mám napsáno v Editoru levelů pro Voltix, ale i tak tam budou části, u kterých se pravděpodobně zapotím - např. vrstvy (atributové kolize mezi vrstvami atd.), kopírování vybraných bloků,... Ale věřím, že to půjde a když se mi to povede, slibuji, že v tomto editoru spáchám obrázek pro příští Forever. A kdo ví - třeba se to nakonec bude hodit i někomu dalšímu, což je důvod proč jdu s tímto programem "ven" a nenechávám si to pro sebe. ;)

Napsat komentář

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