NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Endless Highway

V minulé lekci, SDL - RWops, vlákna a další, jsme se věnovali abstrakci souborů a vícevláknovému programování.

Jsi osamělý motorkář na dálnici, oproti které by D1 vypadala jako vzorová dálnice - překážky všude, kam se podíváš. Býti tebou, radši bych se jim vyhnul. Zejména těm větším. Lehce se vyhneš, ale bolí dvojnásobně. Chceš do toho motorestu dojet v jednom kuse, ne?

Ovšem i pro takové jako jsi ty je tu malá záchrana. Za nějaké ty nasbírané koruny si můžeš užít další život. Risk je zisk.

Mezitím, než dojedeš do cíle, se můžeš kochat pohledem na procedurálně generované pozadí a zaposlouchat se do rádia. Ale nezapomeň na své brzdy. Pokud fungují jako hra samotná, máš docela problém.

Dbej ale i na své skóre. Když dojedeš hodně daleko, můžeš se tím pochlubit sestřičce na JIPu. To je ta lepší možnost.

Ovládání

Pro ovládání své motorky ti budou stačit klávesy W S A D a pro ostatní akce ti hra řekne, co máš zmáčknout. Spoléhám, že to dokážeš.

Zprvu, kdo že designuje ty špagety?

  • Richard Bleier - programování, grafika, možná i zvuky
  • Archip Barkov - soundtrack (hudba na pozadí)

Odkud jsi ukradl nápad, teda kde jsi vzal inspiraci?

Vzhledem k tomu, že je toto můj první pokus o vytvoření hry, rozhodl jsem se jít s něčím jednodušším, kromě toho když přijde na použité technologie. Všichni určitě známe hry "Jetpack Joyride" nebo "Subway Surfers" na mobily. Nekonečný level, neustále se zrychluje, sbíráte skóre i coiny a upgradujete. Je to simple a jde tam použít spoustu nápadů. Originální projekty vyžadují originální řešení.

V čem že vaříš ty špagety?

Když vezmu v potaz mojí povahu nerda, bylo jen otázkou času, než sáhnu po C/C++. Ale použít již hotové enginy a podobné věci je moc nudné a jednoduché. Proč si nevytvořit svůj vlastní 2D herní engine a věřit, že bude nějak fungovat, aniž bych dělal někdy předtím něco podobného? Pojďme na to!

Vlastní engine? Jak to vypadá?

Engine se jmenuje Asynchronous Game Engine Library, zkráceně ANGEL. Nejde o nic převratného, pouze nástavba knihovny SDL 2 s několika vylepšeními, jako například:

  • samostatná vlákna pro vykreslování, zvuky a logiku
  • garbage cleaner pro čištění mezivláknového odpadu
  • usnadněné načítání a používání externích resources
  • experimentální vykreslovací systém založený na chunkování scény
  • podpora animací a práce s nimi

Engine je kompatibilní na platformě Windows a nyní připomíná italské špagety. V budoucnu plánuji vytvořit verzi enginu 2.0 s mnoho optimalizacemi a kompilací do .dll. Ale to bude za dlouho.

Aktuální stav projektu

  • 19. 7. 2020 - Aktuálně ještě pracuji na samotném enginu. Core enginu je z většiny hotový. Zbývá dofinishovat vykreslovací systém, vytvořit zvukový systém a začít tvořit moduly, např. pro překlad a vykreslení textu do textury. Hru začnu dělat, až bude ANGEL v decentním a funkčním stavu, ovšem grafika by mohla být tvořena spolu s enginem.
  • 23. 7. 2020 - Vykreslovací systém je zcela hotový a otestovaný. Nyní se bude pracovat na poměrně složité části, zvukovém systému. Po tomto by měl mít ANGEL zcela hotový core pro základní funkčnost. Pokud bude zbývat dostatek času, tak se budou ještě tvořit moduly, např. pro převod textu do textury či lepšího čtení vstupů myš/klávesnice. Nějaká zábava to ještě bude.
  • 31. 8. 2020 - ANGEL má nyní hotový i zvukový systém a spolu s doděláním modulů a různých detailů je připraven k použití. Čas strávený na dodělávkách mi poskytnul příležitost promyslet si tvorbu Endless Highway a nastal čas, abych se již pustil do práce na samotné hře.
  • 30. 9. 2020 - Hra je konečně kompletní a je připravena k vydání.

Hodnocení poroty

Tento projekt se účastnil soutěže ITnetwork summer 2020.

Porotce Bodů Hodnocení
SDL
David Čápka
7 Cením vlastní engine s důvtipným názvem! Co se týká hry, neurazí, ale je to taková ta hra, kde si programátor vyzkouší, že ji dokáže vytvořit, ale k tomu, aby pobavila, má ještě daleko. Kromě hlavní mechaniky přejíždění do 3 pruhů je tam nějaký základní systém bonusů, nicméně prostředí se zdá být stále stejné a jak tam není ani žádný příběh, kde by se něco dělo, třeba byl level, že tě honí policie, nebo tak něco, tak není motivace hrát to dál.
SDL
Samuel Hél
6 Osobně mi přijde tato hra nedokončená a pro mě příliš nezajímavá. Jezdíte po nekonečné trati, sbíráte penízky a vyhýbáte se překážkám. Hře chybí například indikátor peněz, ať si můžeš smrt načasovat a respawnout se. Cením vlastní engine, jehož programování určitě nebylo snadné a možná díky tomu nezbyl čas na vývoj samotné hry.
SDL
Michal Čápka
6.5 Na hře se mi hodně líbila grafika a třeba i animace sudů s naftou, kterým bylo nutné se vyhýbat. Proporčně mi to ale moc nesedělo, model motorky byl hrozně velký a přišlo mi, že občas prostě nejde vzít minci a zároveň se vyhnout překážce. Dál mi tam chyběly nějaké další levely nebo něco, co by mě poutalo k tomu u hry strávit další hodiny času.

Galerie

Hra byla vytvořena v roce 2020.

 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 6x (30.38 MB)
Aplikace je včetně zdrojových kódů v jazyce C++

 

Předchozí článek
SDL - RWops, vlákna a další
Všechny články v sekci
SDL
Článek pro vás napsal Richard Bleier
Avatar
Uživatelské hodnocení:
Ještě nikdo nehodnotil, buď první!
Aktivity