Kotlin týden Zimní výprodej
Pouze tento týden sleva až 80 % na e-learning týkající se Kotlin
40 % bodů zdarma díky naší Zimní akci!

Simplex Game Studio

Simplex Game Studio je univerzální herní engine a editor napsaný v HTML 5 a čistém ECMA 6. Je v něm vytvořena např. hra Azurové jezero. (Zdrojové kódy enginu viz tato hra, zdrojové kódy vizuálního IDE ještě nejsou uvolněné).

GUI je silně inspirován GameMakerem.

Live verze

Info ke zdrojákům viz níže.

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Editor dokáže editovat (něco jde jen zobrazit, něco jde změnit) projekt textové hry, což je zatím jediný typ her, který engine podporuje. Při zapnutí editoru se načte projekt hry, která běží tady - https://sumenimesta.cz/public/jezero/, tedy její novější verze, kdy engine již podporuje obrázky a minimapy (online je zatím na bez nich). Můžete si projít (až se tedy publikují zdrojáky a dám sem online verzi) třeba objekt IntroObjekt a jeho událost RoomEnter, je tam vidět naskriptované intro, které lze vidět při zapnutí hry. Všechno by mělo jít prozkoumávat a měly by jít přidávat nové prvky hry, ale jak jsem psal, ne vše jde editovat. I když jsem vyřešil většinu problémů s bindingy, 100% funcionalitu editor zatím nemá, ale neměl by být problém ji dosáhnout za poměrně krátký čas dalšího vývoje.

Plány jsou jasné, v editoru vznikne druhá a třetí epizoda hry. A teď zase půl roku pauzu, uvidíme se v létě :)

5.2.2020

Kompletní zdrojáky kromě nové verze FW Simplex.js, kterou jsem minifikoval, dávám kompletně ke stažení níže. Simplex.js framework si lze stáhnout v příslušné JS sekci, ale tato verze používá funkce, které ve stabilním releasu zatím nejsou. Pokud byste z toho někdo byli extra nadšení, rád poskytnu na vyžádání, než se to zmerguje a vyvěsí tady.

Projekt je třeba spustit z webového serveru, nelze jen stáhnout a otevřít třeba z plochy (restrikce prohlížečů k načítání lokálních souborů).

Také jsem si všiml bugu v generování JSON, který mrší atributy některých událostí, fixnu v létě s další hrou :)

19.1.2020

Poslední den před koncem soutěže, ani jsem nečekal, že to stihnu dodělat do této podoby :) Nepočítal jsem s tím, že se vůbec dostanu k bindingům, uvidíme, co dnes stihnu.

  • Formát bindingů stanoven a napsána metoda na jeho parsování:
<input data-source="this.room" data-value="{bind:name,mode:TwoWay}" />
  • Zprovozněn jednoduchý two-way binding. Zatím je problém použít jeden element pro editaci více různých objektů.
  • Vzhled default nelze přejmenovat.
  • Refaktorování JS frameworku, aby používal enum s názvy JS událostí (kdo si to má pamatovat).
  • Dodání setterů do všech herních objektů kvůli bindingům.
  • Oprava mazání callbacků událostí JS elementů ve frameworku (to je taky nápad, že jde callback smazat jen pokud předáme callback). Poprvé v životě jsem použil continue.
  • Po hodinách debugování a hackování JS event modelu mám téměř funkční twoway binding. Bojovým úkolem se zdá být opravit do půlnoci poslední mouchy :)
  • Doplněny vlastnosti pro nastavení názvů různých podobjektů, které pak nastaví dané podobjekty. Některé jsem zatím nemohl implementovat, protože objekty zatím nemají předané dané závislosti.

18.1.2020

Je to neuvěřitelné, ale dnes jsem dokončil vše co jsem chtěl stihnout a zbývá ještě celý jeden den. Zítra zkusím pohrotit bindingy a uvidíme s čím skončím. Nepočítám s tím, že bych to stihl, protože je to velmi komplikované téma, ale mohl bych to dostat do stavu, aby se alespoň nějaké části hry již daly editovat.

  • Opravena chyba při generování akcí s variačními argumenty do JSON (zdá se, že se projekt dostal do stavu, kdy hra vygenerovaná editorem jde opravdu hrát).
  • Nevydržel jsem to a přestyloval ještě seznam akcí v editoru skriptů. Nyní zvýrazňuje text a zobrazuje náhledy obrázků:
  • Do všech dialogů jsem popřidával ikony na tlačítka a pophrál si s paddingy seznamů. Vypadá to moc dobře (*_*) :
  • Dialog vzhledů má vyčleněné vlastnosti písma v samostatné záložce "Font".
  • Dialog místností nezobrazuje pozadí, pokud jej nemá místnost nastavené.
  • Opraveno rozložení editoru map.
  • Opraveno cachování obrázků při přidávání nových lokací do dialogu map.
  • Přepracován systém ikon, aby umožňoval dynamické náhledy, pokud jsou možné:
  • Vložení ikon do editorů akcí a událostí.

17.1.2020

  • Zprovozněno přidávání nových akcí do událostí objektů.
  • Opraveno volání validátoru parametrů akcí.
  • Aktualizace komponenty TabControl na novější verzi, která podporuje změnu záložky podle data atributu s ID a zakomponování tohoto přepínání do editoru objektů.
  • Přidána podpora ikon v editoru přes společného předka všech editovatelných objektů.
  • Zprovozněno přidávání nových událostí objektů.
  • Přidána textová reprezentace akcí, což činí editor mnohem přehlednější:
  • Přidán editor akcí, čímž je editor objektů dokončený. Zbývají dokončit ještě 2 dialogy - editor místností a editor map.
  • Nastavena maximální výška dialogů.
  • Opraven bug s načítáním mapy ve hře.
  • Dokončen editor místností.

16.1.2020

  • Dost možná nestihnu editor naučit editovat, ale měl bych stihnout udělat alespoň kompletní vizuální viewer herních souborů s možností přidávat nové položky.
  • Generování unikátních názvů položek jako object5 apod. vyčleněno do samostatné třídy.
  • Opraveno generování nových unikátních názvů příkazů. Dialog na příkazy se nyní zdá hotový.
  • Ošklivý fix CSS bugu, který způsoboval zobrazení horizontálního scrollbaru v dialozích.
  • Dopsáno přidávání nových barev do vzhledů. Dialog na vzhledy se nyní zdá hotový.
  • V editoru akcí skriptů objektů se všechny hodnoty zobrazují do <textarea>, což by mělo pro jednoduchou editaci čehokoli stačit.
  • Zvelebena obrazovka action dialogu informující o akci, která nemá žádné parametry.
  • Přidána obrazovka pro přidání nové akce dle kategorie pomocí Simplex komponenty Accordion:
  • Nevím, jestli to stihnu dodělat, ale měl bych dokončit alespoň ten editor objektů :)

15.1.2020

  • Nastává panika, samozřejmě jsem doteď nic neudělal O:-)
  • Ošetření bindování na objekt s hodnotou null.
  • Přidána podpora bindingů na vlastnosti, které nemohou ve value obsahovat text ".{binding:nazevVlastnosti}", např. <input type="color" value="...">. Lze využít i pro prvky, u kterých se mění bindovací objekt za běhu aplikace.
  • Dialog na editaci barevných schémat rozšířen o editor barev.
  • Přidán styl na <input type="color" />

16.12.2019

  • Jelikož jsem to přes léto nestihl, tak projekt přihlašuji do vánoční soutěže. Nevím, jestli to dám, ale o státních svátcích s tím minimálně zas podstatně pohnu :)

29.9.2019

  • Přidány ikony akcí
  • Přidáno tlačítko pro zavření všech oken
  • Funkční kaskáda oken:

28.9.2019

  • Opraveno tahání oken po pracovní ploše a přidán manažer oken, mohou se nyní překrývat a každé lze otevřít jen jednou. Při otevření objektu, jehož editor je již otevřený, se tento editor najde a zaktivní.
  • Přidány hovery a zaklapávání složek do projektového treeview.
  • Učesán hlavní layout aplikace přes flexbox, aby to nějak rozumně vypadalo :)

15.9.2019

  • Přidán základní skriptovací editor alá GameMaker event-action style, vypadá to moc dobře :) Vypily se 2l Monster Energy a jelikož to je poprvé, co se od posledního update něco udělalo, tak se to trochu nestíhá :D Všude je špinavé prádlo a nádobí, ale vyplatilo se to :D

4.7.2019

  • Základ engine je hotový a umožňuje tvorbu jednoduchých textových her s obrázky a zvuky, chybí podpora 2D a 3D grafiky a práce s proměnnými.
  • Editor dokáže importovat/ex­portovat herní soubory, chybí vizuální programování objektů a podpora two-way bindingů.

Hodnocení poroty

Porotce Bodů Hodnocení

David Jančík
10 Chybí mi návod k tomu, jak studio používat. Editor nabízí spoustu možností, ale člověk moc ze začátku nemá tušení, jak je používat. Dále je trošku divné, že se všechny otevřené složky po stisknutí + a pokusu o přidání - například zvuku - sbalí. Hodně se mi líbí vlastní implementace pohybu pop-upových okýnek, která je very smooth and precise.

Tomáš Bitter
10 Hodně propracovaná aplikace s hodně možnostmi, což na začátku může působit trošku chaoticky a děsivě. Stejně jako kolega bych ocenil nějaký návod k tomu, abych věděl, jak s aplikací pracovat Zároveň je však její ovládání poměrně intuitivní a když tomu člověk chvilku dá, v aplikaci se nakonec zorientuje. Když pominu další nedostatky v rámci UI, tak se jedná o velmi vydařený projekt.

Michal Čápka
9 Jedná se opravdu o velmi komplexní nástroj, který nabízí spoustu možností a využití. Možná mi projekt přijde v rámci zařazení do soutěže až příliš propracovaný a odborný.

Galerie

Program byl vytvořen v roce 2019.

 

Stáhnout

Staženo 13x (21.2 MB)
Aplikace je včetně zdrojových kódů v jazyce JavaScript

 

 

Program pro vás napsal David Čápka
Avatar
Jak se ti líbí článek?
4 hlasů
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn College Autor sítě se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.
Předchozí článek
Úvod do frameworku Simplex.js
Všechny články v sekci
Rychlokurz frameworku Simplex.js
Miniatura
Následující článek
Vytvoření vlastní komponenty a třída SimplexSelection
Aktivity (52)

 

 

Komentáře

Avatar
Alex
Redaktor
Avatar
Alex:6.7.2019 20:07

Škoda že to ještě není.
Už teď bych to potřeboval :-)

 
Odpovědět
6.7.2019 20:07
Avatar
radian1
Redaktor
Avatar
radian1:10.8.2019 22:27

takže první místo vyhraješ ty???

 
Odpovědět
10.8.2019 22:27
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na radian1
David Čápka:15.9.2019 21:49

Já se umístění vzdám ve prospěch ostatních, pokud nějaké bude, beru to jako motivaci něco udělat, ale moc to nestíhám :D Dneska po dlouhé době se na tom něco dělalo.

Editováno 15.9.2019 21:49
Odpovědět
15.9.2019 21:49
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:5. února 15:48

Přidány live verze projektu.

Editor: http://sumenimesta.cz/sgs/editor.html (úplně nová appka)
Hra: http://sumenimesta.cz/sgs/index.html (spusťte a F5, aby šla hudba; o kousek dále než předloni, nově obrázky a mapa)

Editováno 5. února 15:50
Odpovědět
5. února 15:48
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.