(Škola &) OpenGL

Tenhle semestr je toho ve škole více než dost (jak už to holt bývá), každopádně jsem si ale mimo jiné zapsal předmět motající se okolo OpenGL v C++ (pro případné studenty FI MUNI – kód PV112). A rozhodně toho nelituji. Už déle jsem chtěl trochu více prozkoumat, jak podobné záležitosti fungují, takže toto byla ideální příležitost, jak se k něčemu takovému dostat. A jelikož se předmět zakončuje projektem, bylo už dopředu jasné, že se prostě tvrdohlavě pokusím udělat hru. 😀 A tak se i stalo – zhruba během měsíce a kus jsem udělal takový menší výtvor na obrázcích níže. Grafiku jsem různě posháněl na internetu (bohužel modelování stále nepatří mezi mé schopnosti .. ostatně, grafika zrovna není moje silná stránka 😀 ) a základ kódů (načítání OBJ souborů + jejich vykreslení) vychází z kódů ze cvik. Na to vše jsem nabalil menší engine ( ~3000 řádků velmi divokého C++ 😀 ), který jsem si pro projekt napsal (pro zvuky jsem využil knihovnu irrKlang), a pak to poskládal dohromady. Výsledek je – dovolím si tvrdit – i lehce nad má očekávání, ale bugům + optimalizačním chybám jsem se samozřejmě nevyhnul (hlavně výkon mě trochu trápil). Ale v každém případě jsem si odnesl docela pěknou porci zkušeností jak s C++, tak s psaním menšího engine. A to se vyplatí. 😀

PS:  GetAsyncKeyState()  má takovou zajímavou „feature“- když je hra/aplikace shozená na liště a vy píšete na Skype/Facebooku/.. či kdekoliv jinde, tak vaše hra stále dostává input z klávesnice. To asi typicky není to, co chcete. 😀

PS2: Ačkoliv by screenshoty mohly evokovat, že se jedná o mobilní hru, není tomu tak.

Serpentes: Moje nová hra pro WP je venku

Den D je tu – moje nová hra Serpentes vyrazila přímo do Windows Phone Store. Pokud tedy máte rádi hada (dokonce s módem pro dva ;)) a zároveň vlastníte Windows Phone, neváhejte a jděte si hru stáhnout.

Hodnocení potěší, to pozitivní tuplem. 🙂

Proč to dělat jednoduše, když to jde složitě

Najít nejlehčí cestu je mnohdy nejtěžší úkol … aneb místo 1+1=2 udělám 1+(sin90*(log10+1))/(cos0*2!)=2 a navíc to nefunguje na 100%. Ale co, příště se stačí nezaleknout, využít jistého vzorce rovnou a člověk si ušetří přes týden času. Každopádně (zatím) poslední „boss fight“ se mi snad povedlo vyhrát a rotovaný obdélník, respektive jeho strany, je schopen poznat, zdali je v kolizi s jiným.

Obrázek

 

Hurá na další challenge, teď snad s větším úspěchem! 😀

Testování Unity

V poslední době jsem upustil od XNA, kde jsem již nějakou tu základní praxi získal, a rozhodnul jsem se vyzkoušet Unity. První dojmy byly hodně divoké, protože se tyto dva enginy naprosto liší, ale po nějaké chvíli strávené s Unity musím říci, že práci to ulehčuje pořádně. Spousta prvků už je udělána za vás, ale o tom budu psát více, až s ním budu mít delší zkušenost. 😉