priklady-resene:herni-framework

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
priklady-resene:herni-framework [2021/04/19 11:37] – vytvořeno burespriklady-resene:herni-framework [2021/04/19 15:27] (aktuální) bures
Řádek 1: Řádek 1:
 ====== Herní Framework ====== ====== Herní Framework ======
-Jak si naklonovat a sprovoznit herní framework postavený na knihovnách SDL2.+Jak si naklonovat a sprovoznit herní framework postavený na knihovnách SDL2. Prozatím je hlavní platforma a a vývojové prostředí Visual Studio, ale CMake by měl umožnit snadné porotvání na další platofrmy a IDE. Vše bude průběžně testováno a řešeno na základě vaší odezvy.
  
-===== Tutoriál ===== +===== Potřebný SW ===== 
-<code c> +Budete potřebovat mít naisntalované tyto nástroje. Vše by mělo stačit v nejnovějších verzích bez značného omezení. 
-void TBA() +  * CMake - [[https://cmake.org/download|Oficiální download stránka]] - stahujte //Windows x64 Installer// 
-+  * Git - [[https://git-scm.com/downloads|Oficiální download stránka]]
-+
-</code>+
  
 +==== CMake ====
 +Slouží ke konfiguraci a správě projektu ve smyslu jeho sestavování a distribuci. Na základě konfiguračních souborů nám připraví projekt pro IDE.
 +
 +==== Git ====
 +Slouží pro správu a verzování zdrojových kódů. Umožňuje nám snadno stáhnout celý zdrojový kód a později ho i updatovat. Další jeho významnou funkcí je kooperace mezi několika vývojáři.
 +
 +===== Tutoriál =====
 +==== 1) Naklonování zdrojových kódů projektu ====
 +  * Vytvoříme složku pro náš projekt někde na disku. Například ''C:\Programming\MojeHra\''.
 +  * Uvnitř této složky spustíme z kontextového menu ''Git Bash'' {{:priklady-resene:rungitbash.png?direct&200|}}
 +  
 +  * Naklonujeme Gitovský repozitář
 +    * Repozitář se nachází na adrese ''https://git.uzlabina.cz/bures/thegametemplate''.
 +    * Naklonujeme pomocí následujícího příkazu. Bude třeba se přihlásit svým studentským účtem. Výsledek je patrný na obrázku níže.
 <code bash> <code bash>
-burak@debbie:$ TBA+  git clone https://git.uzlabina.cz/bures/thegametemplate.git Hra
 </code> </code>
 +
 +    * Úspěšným spuštěním příkazu nám vznikne nová složka ''C:\Programming\MojeHra\Hra'' {{:priklady-resene:gitclone.png?direct&200|}}
 +
 +==== 2) Stažení knihoven SDL2 a SDL2_Image ====
 +  * Dále budeme potřebovat stáhnotu a rozbalit knihovny SDL2 a SDL2_Image. Oboje ve verzi tzv. **Development Libraries**. Oboje by měli být zip archivy.
 +    * Knihovna [[https://www.libsdl.org/download-2.0.php|SDL2]]
 +    * Knihovna [[https://www.libsdl.org/projects/SDL_image/|SDL2_Image]]
 +  * Oba zipy obsahují složku, kterou umístíme do stejné složky jako Git repozitář z předchozího kroku.
 +  * Ukázky na obrázcích
 +  {{:priklady-resene:sdl2_download.png?direct&200|}} {{:priklady-resene:sdl2_image_download.png?direct&200|}} {{:priklady-resene:libsunpacked.png?direct&200|}}
 +
 +==== 3) Konfigurace a vytvoření řešení pro VS pomocí nástroje CMake ====
 +V tomto kroce předpokládáme, že celý náš projekt leží například v ''C:\Programming\MojeHra\'' - složka z prvního kroku
 +  * Uvnitř našeho repozitáře vytvoříme složku ''build'' - v tomto příkladě by to bylo ''C:\Programming\MojeHra\Hra\build''
 +  * Spustíme program CMake - grafickou verzi
 +  * Položku **//Where is the source code//** nastavíme na naklonovaný Git repozitář. V tomto příkladě: ''C:\Programming\MojeHra\Hra''
 +  * Položku **//Where to build the binraies//** nastavíme na dříve vytvořenou složku ''build''. V tomto příkladě ''C:/Programming/MojeHra/Hra/build'' {{:priklady-resene:cmakebegin.png?direct&200|}}
 +  * Dáme **Configure** a v dialogovém okně vybereme naší verzi visual studia a nastavíme //platform generator// na **x64** a dáme finish. {{:priklady-resene:cmakegenerator.png?direct&200|}}.
 +  * V tomto bodě nastane chyba a bude potřeba doplnit proměnnou **SDL2_PATH** v horní části cestou k naší dříve rozbalené knihovně SDL2. V tomto příkladu je to ''C:\Programming\MojeHra\SDL2-2.0.14'' {{:priklady-resene:sdl2_configure.png?direct&400|}}
 +  * Znovu dáme **Configure** nastane opět chyba, tentokrát bude třeba doplnit proměnnou **SDL2_IMAGE_PATH** pro knihovnu SDL2_Image. V tomto příkladu je to ''C:\Programming\MojeHra\SDL2_image-2.0.5'' {{:priklady-resene:sdl2_image_configure.png?direct&400|}}
 +  * Po opětovném stisknutí **Configure** by měl být projekt bez chyb.
 +  * Následuje **Generate** pro vygenerování solution souborů pro visual studio
 +  * Následně můžeme rovnou otevřít VS pomocí tlačítka **Open Project**
 +
 +==== 4) Kompilace s puštění projektu ====
 +Jakmile se nám projekt otevře ve VS. Je třeba akorát nastavit náš projekt **TheGame** jako výchozí tím, že na něj v průzkumníku řešení klikneme pravým tlačítkem a vybereme **Nastavit jako spouštěný projekt**. Projekt lze následně sestavit, spustit a upravovat dle vašich přání.
 +
 +{{:priklady-resene:thegame.png?direct&400|}}
 +
 +==== 5) Co dále? ====
 +Projekt má nyní 3 hlavní funkce, které stojí za vaší pozornost a kam by jste měli upřít svoji shanu, pokud chcete vytvořit nějaký vlastní gameplay:
 +  * ''void startGame()'' - Tato funkce se zavolá před začátkem samotné hry
 +  * ''void update()'' - Tato funkce se volá před každým vykresleným snímkem. Typicky by měla obsahovat herní simulaci - pohyb, kolize, vstup z klávesnice, herní pravidla.
 +  * ''void draw()'' - Tato funkce se stará o vykreslení každého herního snímku. Zde by jste měli obstarávat vykreslování herních assetů.
 +
 +===== ToDo =====
 +Seznam toho co Já Buracisko chci a musím předělat vylepšit v rámci další iterace.
 +  * Udělat jeden samostatný projekt, který pojme veškeré závislosti a odpadne tak nutnost managovat knihovny ručně - pravděpodobně vlastní mirror a kompilace v rámci projektu
 +  * Rozdělit frameworkové části kódu do okolních souborů s dokumentovaným API
 +  * Delta time do update/draw funkcí pro precizní pozicování
 +  * **Bomberman** like ukázkový project.
 +
  
  • priklady-resene/herni-framework.1618825025.txt.gz
  • Poslední úprava: 2021/04/19 11:37
  • autor: bures