Working in Game editor
Updated: 24.05.2010
Contents:
- Introduction
- Acquaint with program Game editor
- First start
- Program control
- My tips
- Shortcoming (for version 1.3.9)
- Conclusion
Introduction
V tomto článku Vás ve stručnosti seznámím s velice propracovaným programem na tvorbu her, který jsem náhodou objevil na internetu a který je zcela zdarma. Což je v dnešní době malý zázrak. Dokonce je možné si program koupit pro případné komerční šíření svých her.
Acquaint with program Game editor
Game editor je kompletní nástroj na tvorbu her pro platformy: Windows (95, 98, Me, NT, 2000, XP), Pocket PC / Windows Mobile, Handheld PC, GP2X, Windows Mobile-based Smartphone a Linux, o velikosti pouhých 16MB.
Není zapotřebí žádného dalšího programu, krom grafického editoru (Malování, Paint Shop Pro, Illustrátor, Flash,...).
Program je v současné době (verze 1.3.9 ke dni 5.5.2010) k dispozici pouze v anglické verzi, ale to by nemělo být překážkou. Všechny texty jsou srozumitelné.
Doporučená konfigurace Vašeho PC je následující:
Windows XP nebo Linux (min. Windows 95)
512MB RAM (min. 32MB)
x86 kompatibilní procesor (Pentium, AMD, ...)
2.0 GHz (min. 200MHz)
3D grafická karta (OpenGL a Direct3D hardware acceleration)
Pozn.: Minimální požadavky na HW splňuje dnes každé PC.
Pro vytvoření jednoduché hry si vystačíte pouze s myší. Stačí shlédnout tutoriály, které jsou součástí instalace a za jedno dopoledne máte vlastní hru hotovou. Ale tím možnosti editoru samozřejmě nekončí. Pokud to situace vyžaduje, můžete vkládat i kód v jazyce C a tvořit velice komplexní hry.
Výsledná velikost Vašich her pak bude mít 1MB + zkomprimovaná data (obrázky, konfigurační soubory, datové soubory, hudba a zvuky).
First start
Program si stáhněte ze stránek www.game-editor.com a rozbalte ve Vašem PC.
Spusťtě soubor gameEditor.exe. Otevře se Vám editor s následujícím dialogovým oknem:
Na začátek je vhodné si projít návody (player.
). A jako první nejlépe , kde se dozvíte, jak rozpohybovat objektPo skončení tutoriálu zůstane před Vámi otevřený editor. Na další návody se dostanete přes menu
, kde máte následující výběr:Běh návodů je možné přerušit prudkým pohybem myši do stran. Toto je vhodné, pokud paralelně s tutoriálem vytváříte Vaši hru.
Návody Vám názorně ukážou, jak vkládat Actors (1. Actor view je vždy již vložen), jak definovat události na klávesy a na myš, jak přehrát zvuk, jak vkládat kód, atd.
K Vaší pomoci máte navíc i off-line verzi nápovědy, která se Vám otevře v internetovém prohlížeči, když kliknete na položku
. Obdobná verze je k dispozici i na domovské stránce programu.Program control
V programu se pohybujeme myší, přičemž levé tlačítko je určeno k výběru, případně posunu Actoru po pracovní ploše. Pravým tlačítkem se vyvolá příslušná kontextová nabídka z volbami odpovídajícími typu Actoru (Normal, Canvas, Wire Frame Region, Filled Region a Path).
Dále je do programu implementováno několik pomocných kláves:
- zapnutí/vypnutí lepení Actoru na mřížku
- při podržení lze mazat nakreslené Tiles v režimu kreslení do Platformy
- oddálit/přiblížit pracovní plochu
My tips
-
Před vkládáním nových Actorů si můžete ty původní uzamknout, abyste je nechtěně neposunuli.
Uzamčení se provede
nad Actorem a volbou v dialogovém okně:Škoda, že v Game editoru nejsou vrstvy, do kterých by se umisťovaly Actory. Pak by stačilo uzamknout ostatní vrstvy a pracovat jen v té jedné. Narážím tady na skutečnost, že pokud si např. nad několik Actorů umístíte mouse_area), tak se na Actory pod ním již nedostanete (vypínač a šipka s textem):
(na pracovní ploše je to modrý rámeček, např. ActorNezbývá než rámečkový Actor posunout stranou, upravit Actory a pak vrátit rámečkový Actor zpět.
-
Game editor neindikuje, zda došlo v otevřeném souboru ke změně (některé programy zobrazují symbol '*' v horním rámečku vedle jména aplikace).
Pak se Vám lehce stane, že se Vám při ukončení Game Editoru zobrazí následující hláška:
Bohužel, program Vám volbu pro uložení souboru nenabídne.
-
Pokud budete tvořit hru pro Pocket PC, nezapomeňte na obrazovku vložit tlačítko
, resp. ikonu vypínače (samozřejmě musí být tlačítko doplněno příslušným algoritmem):Tím umožníte hráči korektně ukončit Váš program. V opačném případě se ze hry nedá vyskočit jinak než tvrdým resetem Pocket PC
Níže si můžete stáhnout ikonu vypínače o velikosti 30x30px (
):
-
Pokud se při práci potřebujete podívat do video tutoriálů (součástí programu), nemusíte přerušovat Váš projekt. Jednoduše si program spusťtě ještě jednou (kliknutím na ikonu na ploše nebo z nabídky
).Pak si v menu
Game editoru zvolte Vámi požadovaný tutoriál:Pokud disponujete jen jedním monitorem, myší si oba programy zmenšete tak, aby se vešly na jednu obrazovku.
Pozor: Program je dost náročný na paměť, proto mějte trpělivost, když budete nuceni chvilku počkat po přepnutí z jednoho Game editoru na druhý.
-
Při pozicování objektů jsem v programu postrádal ruční zadávání souřadnic. Nezbývá, než objekty umisťovat (pozicovat) pouze myší a vpravo nahoře v info okně sledovat pozici.
Pozor: Pokud je pozicovanný objekt vztažen k jinému (má nastaven
v dialogovém okně ), v info okně se objeví symbol velkého žlutého pacmana a pozice je vztažena k rodičovskému Actoru.
-
Pokud potřebujete vynulovat nebo nastavit na počáteční hodnotu nějaké proměnné při startu Vaší hry (skóre, životy, bonus, pomocné inkrementační proměnné), vytvořte si nový Actor (např.: game_inicialization) a pro událost (tato událost se provede při vytváření Actoru) vyberte akci , kam vložíte následující řádky:
time_to_update_score = 0; game_score.textNumber = 0; game_player_lives.textNumber = 0;
Pro větší přehled Actorů na pracovní ploše tomuto Actoru přiřadím text v panelu
.Např.: game_init, menu_init, level_init, apod.
-
Jak bylo řečeno v odstavci Working in Game editor, pro pozicování Actoru můžete použít lepení na mřížku. Já osobně tuto funkci používám při kreslení Tiles do Platformy (po ní chodí Player). Je vhodné si před kreslením nastavit rozteč podle velikosti Tile. K tomu slouží položka :
-
Byť se v dokumentaci o víceúrovňové hře rovněž hovoří (jen obecná pravidla), v tutoriálech jsem návod nenašel. Stejně tak jsem nenarazil na postup, jak vytvořit úvodní obrazovku, menu a obrazovku s návodem.
Nezbývalo, než trochu zaexperimentovat. Po pár slepých uličkách jsem se ke kýženému cíli přece jen dostal. Vám tady teď předkládám stručný návod:
-
Nejprve si vytvořte na pracovní ploše Game editoru Logo, Menu a Úroveň.
-
Pak v menu
přidáte postupně nové Regiony kliknutím na :Na pracovní ploše Vám přibudou žluté obdélníky:
Ty myší zvětšete kolem klíčových oblastí tak, aby vždy zahrnovaly všechny Actory, kteří do těchto oblastí patří:
-
A teď už zbývá zařídit, aby se hráči objevila jen požadovaná obrazovka nebo výřez úrovně.
To se provede pomocí Actoru Play (postupně pak i Help a Quit). V dialogovém okně pro něj zvolíme událost a k ní přiřadíme s následujícím kódem:
, resp. změnou jeho pozic . V regionu Menu vybereme Actorview.x = -120; // hodnoty jsou zavisle na umisteni prislusneho Regionu view.y = -120;
Díky předchozímu rozdělení pracovní plochy na Regiony, se při změně pozice Actoru view ze současného Regionu do jiného, vytvoří včechny Actory, které v tomto novém Regionu jsou a které mají v dialogovém okně nastavenou kolonku na Yes:
-
-
Pokud chcete změnit barvu textu pomocí scriptu, poslouží k tomu proměnné R, G a B. Trik funguje, i když Actor není text, ale obsahuje animaci. Toto je velice vhodné pro změnu barvy položky v Menu (Play, Option, Quit,...) označené hráčem.
Pro lepší představu si stáhněte zdrojový kód zmena_barvy_textu.zip.
-
Před smázáním již nepotřebných souborů v adresáři data (odsud Game editor nahrává datové soubory) se ujistěte, že tyto soubory skutečně žádný Actor nepoužívá. V opačném případě se Vám lehce stane, že při otevírání projektu Game editor ohlásí chybu (jméno souboru který postrádá).
Pokud tento soubor neobnovíte, daný projekt v editory zkrátka neotevřete.
-
Při psaní kódu berte na vědomí, že program umí pouze jazyk C, nikoliv Ansi C, případně C++. Jinými slovy Vám nebude chodit následující definice struktury, i přesto, že v Game editoru implementovaný kompilátor onen kód akceptuje:
typedef struct { int r; int g; int b; } COLOR; COLOR barva_polozky; COLOR barva_zvolene_polozky;
Shortcoming (for version 1.3.9)
Výčet výtek níže chápejte jen jako nápady pro zlepšení programu. Nikoliv jako důvody k jeho odsouzení.
-
Jsem zvyklý během práce stále ukládat, abych nepřišel o horko těžko vypocené algoritmy a vytvořenou grafiku. Nicméně v Game editoru musíte stále lézt do menu a v zápalu práce na to zkrátka zapomenete, nebo Vás to přestane bavit - ruší Vás to od promýšlení algoritmů.
Problém by vyřešily horké klávesy a nebo aspoň nějaký autosave.
P.S. Game editor mi totiž už 2x spadl a přišel jsem tak o několik algoritmů. Nutno podotknout, že nemám vždy spuštěný jen Game editor, ale též Flash. Jinými slovy, dva na paměť velice náročné programy. Možná že i odtud pramení můj zvyk stále ukládat.
-
Docela bych uvítal nástroj na zarovnání Actorů, podobně jako panel
v program Flash, který umožňuje zarovnat ke straně/na střed/nahoru/dolů a samozřejmě možnost zvolit (pomocí ), zda se zarovnání vztahuje k pracovní ploše a nebo rodičovskému objektu:Dále jsem postrádal možnost vycentrovat Actor na obrazovce pomocí skriptů. Při změně textu Actoru (změní se i jeho délka) pomocí skriptu se pak programátor nemusí zabývat vycentrováním na střed obrazovky.
-
Jak v manuálu, tak v konferenci na webových stránkách Game editoru jsem nenašel informaci, jak měnit velikost (případně font) textů skriptem. Toto je velice vhodné pro změnu proporcí jednotlivých položek v Menu (Play, Option, Quit,...) podle volby hráče.
-
Nemožnost přejmenovat objekt. S propracovaností hry roste i počet Actorů a tvůrce se v nich začne ztrácet. Přehlednost se zlepší pojmenováním podle účelu obrazovky: logo, menu, help, game. Seznam Actorů pak může vypadat takto:
Bohužel, na vhodné pojmenování musíte myslet již od začátku!
-
Nemožnost vytvořit kopii Actoru. Toto se obzvlášť může hodit pro vytvoření stejného pozadí pod hlavní menu, jako je v samotné hře. Případně pro režim DEMO.
Jste tak nuceni si vše vytvořit znovu a nebo použít funkci
.Kámen úrazu je, že klon dědí všechny vlastnosti jako originál (stejnou délku, nemožnost zvolit pro klon nekonečné opakování, stejná bitmapa s tiles), včetně událostí, které nyní nepotřebujete (kolize z Playerem).
-
Nemožnost označit více Actorů najednou a hromadně je posunout po pracovní ploše - v rámci přehlednosti nebo změně konceptu. Jste tak odkázáni na mravenčí práci při přesunu všech Actorů a jejich vzájemné pozicování.
-
Ti z Vás, co se programováním her zabývají již několik let, my jistě dají za pravdu, že nejlepším studijním materiálem jsou zdrojové kódy úplné hry (včetně Loga, Menu, aspoň dvou Úrovní, atd.), nikoliv manuál a nebo rozdělaná hra Caveman (jakožto podklady pro video tutoriál).
Na stránkách Game Editoru jsem nalezl několik děl od fanoušků. Jako nejzajímavější bych zde uvedl 1945 a MarioAndTheGoldenKey_ByBee-Ant. Obě hry mají menu, druhá hra dokonce i více stránkový návod. U druhé hry ještě stojí za povšimnutí, že je víceúrovňová a jednotlivé úrovně jsou tvořeny kombinací Tiles a několika Actors.
Conclusion
Než jsem se rozhodl napsat tento článek a rozšířit tak povědomí o tomto úžasném programu mezi více lidí, pracoval jsem s Game editorem bezmála týden. Za tu dobu - vzhledem k mým předchozím zkušenostem s tvorbou her - jsem měl dostatek času odhalit všechny důležité klady a zápory programu a jednoznačně bych ho doporučil lidem, co chtějí tvořit hry, mají základní znalosti s programováním v jazyce C (není nutnou podmínkou pro vytvoření jednoduché hry), ale nechtějí obětovat učení se tvorbě her v takových monstrózních aplikacích jako je Delphi a nebo Microsft Visual Studio.
Stále nemohu pochopit, jak se autorům povedlo do pár MB natěsnat jednoduchý a vcelku intuitivní editor (v podstatě stačí shlédnout pár tutoriálů, abyste pochopili způsob tvorby her), který - a to my skutečně hlava nebere - umožňuje export do tak rozdílných platforem jako je Windows vs Linux, včetně komprese dat a nutno též zdůraznit, že bez nároků na další pomocné ovladače. Samozřejmě jsem si vědom, že např. ve Windows 2000/XP/Vista/7 již jsou ovladače periférií, jako je grafická karta, zvuková karta, atd., a též grafická knihovna DirectX, určená pro hry. Ale už to neplatí o Pocket PC, kde vyexportované hry běží rovněž.
Já sám jsem se kdysi zabýval vytvořením podobného programu. Ale když porovnám moje výsledky s programem Game editor, musím přiznat, že pro programátory Game editoru bych mohl tak akorát nosit kafe .
Best of luck on game creation!