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

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
priklady-resene:herni-framework [2021/04/19 13:53] burespriklady-resene:herni-framework [2021/04/19 15:27] (aktuální) bures
Řádek 14: Řádek 14:
  
 ===== Tutoriál ===== ===== Tutoriál =====
-==== 1) Naklonování projektu ==== +==== 1) Naklonování zdrojových kódů projektu ==== 
-  Vytvoříme složku pro náš projekt někde na disku. Například ''MojeHra''+  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|}}+  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> 
 +  git clone https://git.uzlabina.cz/bures/thegametemplate.git Hra 
 +</code>
  
-==== 2) Stažení SDL2 knihovny ==== +    * Ú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|}}
-Lorem ipsum dolor sit amet+
  
-==== 3) Stažení SDL2_Image knihovny ==== +==== 2) Stažení knihoven SDL2 a SDL2_Image ==== 
-Lorem ipsum dolor sit amet+  * 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|}}
  
-==== 4) Konfigurace a vygenerování projektu ==== +==== 3) Konfigurace a vytvoření řešení pro VS pomocí nástroje CMake ==== 
-Lorem ipsum dolor sit amet+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**
  
-{{:priklady-resene:screenshottest.png?direct&400|}}+==== 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í.
  
-<code c> +{{:priklady-resene:thegame.png?direct&400|}} 
-void TBA() + 
-{ +==== 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: 
-</code>+  * ''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.
  
-<code bash> 
-burak@debbie:$ TBA 
-</code> 
  
  • priklady-resene/herni-framework.1618833238.txt.gz
  • Poslední úprava: 2021/04/19 13:53
  • autor: bures