- Blog/
Grand Chase I. - Začátek
Obsah
Grand Chase - Tento článek patří do série.
Vítáme Vás u úvodního dílu série Grand Chase, kde si popíšeme jak Grand Chase jako takový vznikal. Pokud si chcete přečíst více o tom, co vůbec tento projekt byl tak můžete navštívit sekci Projekty, kde je projekt takový popsán detailněji.
Trocha historie #
Grandchase je událost, kterou pořádá Skautské středisko 55 Vatra Praha. Letos byl ročník otevřen poprvé i pro hráče z jiného okresu. V předchozích ročnících se využívalo například telefonní budky nebo trasování osob pomocí GPS.
Pro ročník 2023 se rozhodlo, že se vyzkouší poprvé zapojit trochu více moderní technologie. Od začátku nám nešlo o to, aby celá hra byla závislá na telefonu. Šlo primárně o to pomocí aplikace udělat hru trochu zajímavější a hlavně interaktivnější. Naši přátelé ze skautského oddílu nás tedy oslovili se žádostí, zda bychom s touto technickou části pomohli.
Začátek vývoje #
První technické kroky v rámci vývoje začali 21.8.2023. První fázi vývoje bylo POC (Proof of Concept). Cílem tohoto POC bylo odpovědět tyto otázky:
- Jaká technologie bude využita k vývoji serveru?
- Jaká technologie bude využita k vývoji klienta/aplikace?
- Ověření kompatibilnosti těchto technologií
- Vytvoření hodně jednoduchého prototypu, který tento koncept prokáže. Demo muselo být funkční minimálně na Androidu
Celková práce na tomto POC byla něco málo přes dva týdny. Na většinu otázek jsme měli dostačující odpovědi. Díky tomu jsme věděli, že pravděpodobně ná žádné technologické překážky nenarazíme. A vývoj by měl probíhat relativně v klidu. Pokud máte nějakou zkoušenost s IT vývojem, tak asi dokážete odhadnout, že komplikace byly :)
Start vývoje obou našich vývojářů začal tedy 6.9.2023
POC #
Zde je rychlá ukázka, jak POC vypadalo.
A zde pro srovnání finální vzhled aplikace.
Využité technologie #
Server #
Pro server jsme zvolili variantu využití programovacího jazyka Python
. Využili jsme webový framework
Flask a databází
MySQL.
Python byl vybrán z důvodu, že jsem zrovna nedávno ve Flasku vytvořil několik jednoduchých API aplikací. Měl jsem tedy vše v hlavě živé a aktuální. Po pár týdnech vývoje jsem začal uvažovat o tom, že bych celý server přepsal do FastAPI. Ale nakonec z důvodu časového vytížení jsem zůstal u Flasku.
Co se databáze týče, tak nejvíce zkušeností mám s MSSQL a Oracle DB. Tyto zkušenosti jsou však z profesního života, a pro všechny menší osobní projekty jsem pokaždé zvolil MySQL. Server byl také celý zdokerizován. Mé zkušenosti s Dockerem byli před Grand Chase minimální, takže toto byl takový můj pilotní průlet světem Dockeru.
Aplikace/klient #
Aplikace byla vytvořena pomocí herního engine
Godot. Godot je skvělý open source engine, který zvládá jak 2D tak i 3D projekty. Samozřejmostí je i mobilní export, čehož je Grand Chase důkazem. Godot podporuje škálu několika jazyků. Ideálně bychom pro vytvoření klienta využili primárně C#
, ale z důvodu využití poslední verze Godotu (4.1), která nepodporuje C# jsme museli jít cestou GDscriptu
. GDscript je nativní jazyk Godotu, který je takovou lehčí verzí Pythonu.
Série blogů Grand Chase #
Pokud se budete chtít dozvědět více o tom, jak celý Grand Chase vznikal tak Vám doporučujeme sledovat naše stránky, příp. jeden z informačních kanálů. V dalších dílech této série zabrouzdáme již do trochu techničtějších témat. Zkusíme si postupně popsat jak jednotlivé komponenty vznikaly, a jak bylo vše ve finále propojeno.