Ugrás a fő tartalomra

Bejegyzések

Bejegyzések megjelenítése ebből a hónapból: 2014

Mi a vektor Viktor?

Újabb hosszú idő után eljött az idő, hogy újabb "tanulságos" blog bejegyzést írjak játék fejlesztés téma körében. Ahogy talán a címből kiderül vektorokról fogok mesélni, hogy micsoda és hogy mire lehet használni őket.
  Gondolom hozzám hasonlóan sokan vannak úgy, hogy amit az ember az iskola alatt tanul annak a nagy részét soha nem fogja tudni használni. Ez alól kivétel a vektor,  ha az ember játékfejlesztéssel foglalkozik. Játékfejlesztés egyik szépsége, hogy nagyon sok mindenre megtanít és megmutatja, hogy mire lehet a megtanult dolgokat használni.

Mi a vektor?
  Elég a szócséplésből és inkább térjünk rá a lényegre. A vektort gyakorlatilag 2 dolog alkotja: irány és mennyiség. Vektort gyakorlatban nyíllal szoktuk jelölni, ami egy kezdőpontból egy végpontba mutat és a menyisége pedig a nyílnak a hossza.

Na de mire jó ez a mi esetünkben?
  A játékok általánosságban akkor izgalmasak, hogyha mozognak benne a dolgok és ahogy fizikából megtanultuk, ahol mozgás van ott vektornak i…

Streameljük az állapotokat

Ezt a bejegyzést már jó ideje megakartam már írni,de valahogy sosem vett rá a lélek.
Ebben a bejegyzésben bemutatom az állapotgépemet, amit csináltam még anno a játék motoromhoz, mert elég érdekesen csináltam meg, mivel Stream-et használtam hozzá. Előbb viszont tisztázok néhány fogalmat.


ÁllapotgépAz állapotgép, ahogy a nevéből is kiderül egy olyan gép, aminek állapotai vannak. Ezek az állapotok között klasszikus értelemben van kezdő, aktuális és végállapot. Az állapotgép feladata, hogy események hatására egyik állapotból átmenjen egy másikba. A gép célja, hogy a kezdőállapotból eljusson a végállapotba.

Ez egy egyszerű kapcsolónak a diagramja.
Jól látszik az ábrából, hogy 2 állapot van, amikbe lehetünk. Kezdő állapot és végállapot nincs, de egy igazi rendszernél biztos a kikapcsolt állapot lenne a kezdő állapot. Események itt a kapcsoló használata, ami előidézi, hogy állapot váltás menjen végbe.
Aha, de mi köze van a játékfejlesztéshez? Játékokat általánosságban elég jól elkülöníthető á…

Amikor érdemes játékmotort késziteni

A mondás
A játékkészítő közösségben van egy mondás, hogy "Készíts játékot, ne játékmotort".
Szerintem ez a mondás nagyon is igaz abból a szempontból, hogy ha tényleg játékot akarsz készíteni, akkor válasz egy jól ismert játékmotort és kezd el a fejlesztést, mivel ezek az eszközök azért vannak, hogy megkönnyítésék a játékkészítést  és ugyebár mi értelme van feltalálni a kereket ismét?
Viszont itt is lehet találni kivételeket, amikor igenis el kell gondolkozni egy saját játékmotor fejlesztésén.

Mikor érdemes tehát belefogni?
 Most csak az én esetemet tudom felhozni, ami nem más mint a saját 2D HTML5 játékmotorom, amit DartRocket- nek hívok. Az én esetemben az ok egyszerű volt. Dart nyelven nem volt egy igazi játékmotor sem és én Dart-ban akartam játékokat készíteni.
Itt találtam is egy kiskaput mivel ha nincs játékmotor, akkor csinálni kell egyet. :D


Hogyan kezdődőt el?
Ha időrendben akarok menni, akkor azt kell mondanom, hogy négy időszak volt, ami meghatározó volt.

Phaser: Ebb…

Hétvége a versenyzésről szólt

Ez a hétvégém csak egyetlen egy dologról szólt, a versenyzésről. Összesen 2 online versenyen vettem részt. Amik ugyanazon a hétvégén voltak ezért egymástól vettek el időt, de nem panaszkodok.

1. codingame.comSkynet Revolution

  A verseny 2 feladatból állt össze, amit egy általunk választott programozási nyelven kellet megvalósítani. Mivel mostanság nagyon rákaptam a Dart-tal való programozásra ezért ezt választottam fegyvernemnek. A feladatok félépítése nagyon egyszerű: van egy input, amire egy megfelelő outputtal kell szolgálni különböző tesztesetek alapján.(Inkább úgy mondanám, hogy teszteseteket kell teljesíteni)

  Az első feladat viszonylag könnyen teljesíthető volt, amire ajánlottan 1 órát volt érdemes száni. Nekem éppen sikerült vele 1 óra alatt végezni. Feladat lényege az volt, hogy egy motorost kellet átjuttatni a híd egyik oldaláról a másikra. A nehézség abból adódik, hogy ez a híd hibás és van  rajta lyuk, amit át kell ugratni megfelelő sebességgel. Feladathoz 4 parancsot t…

HTML5 játékfejlesztés Dart + StageXl segitségével

Előző bejegyzésemben Phaser játék motort mutattam be, de most valami egészem más jön, mivel az általam is kedvelt Dart nyelvről is beszélhetek.

Dart bemutatása:
  Lehet már említettem néhány helyen, de én imádom a Dart nyelvet és magát a platformot, amit magában hordozz, mivel mind az benne van amire mindig is vágytam. Ha legegyszerűbben akarnám leírni Dartot azt mondanám, hogy a Java és Javascript törvénytelen gyermeke. :D
  Akik ismerősek mind a két nyelvben tudhatják, hogy nevükkel ellentétben közel sem hasonlítanak egymásra mégis Dart képes volt mind a két nyelvből "örökölni" azokat a jó dolgokat, amik boldoggá tehetnek bármilyen webes fejlesztőt. Egyébként ez nem is véletlen, mivel olyan fejlesztők alkották meg a Dart nyelvet, akik dolgoztak V8 Javascript motoron vagy a Java VM-en.
  Ezek után nem is meglepő, hogy Dart-hoz szintén tartozik egy VM és ami legfontosabb, hogy Javascripthez hasonlóan Dart is egy aszinkron(vagy eseményvezérelt) programozási nyelv. Számomra nag…

HTML5 játékfejlesztés Phaser-rel

Jó sok ideje, hogy nem írtam semmit sem a blogomba, főleg értelmeset nem, ami a játék készítéshez kapcsolódna. Na most ezt pótolom. :D

Na mi az a Phaser?
   Phaser nem más mint egy 2D-s HTML5-ös játék motor, amivel játékokat fejleszthetünk Javascript vagy Typescript segítségével. Itt ismerkedhetsz meg vele: Phaser

Miért pont Phaser?

Nyílt Forráskódú(Open Source) és ingyenesKiváló dokumentációNagyon sok példaAktív közösség, főleg a fórumonFejlesztő nagyon aktív és segítő készPhaser fejlesztése nagyon jól és gyorsan haladPhaser elérte a 2.0.0-ás nagy kiadást, amiben nagyon sok újdonság vanPhaser fejlesztésénél cocoonjs-sel való kompatibilitás figyelembe veszik      Nagyon sok más játékmotor létezik, amiket érdemes szemügyre venni, de engem mégis a Phaser vett le a lábamról, mivel tényleg iszonyatosan egyszerű és árban is verhetetlen. :D

Hogyan kezdjünk hozzá?
   Phaser fő oldalán gyakorlatilag minden le van írva, hogy mi kell ahhoz, hogy elkezdhessétek fejleszteni Phaser segítségével. Javas…

Szabadság, visszatekintés és elmélkedés

Bevezetés:
  Végre annyi év után megszabadultam láncaimtól vagyis inkább nagy részétől. Most természetesen az egyetemről beszélek és annak is a BSC részéről. Sikerült a teljesítenem a képzési tervet fél év csúszással és végre már csak a záróvizsga van hátra.
Záróvizsgáról lecsúsztam 1 tantárgy miatt, de ez már annyira nem izgat.
Egyetemi élményeimet összefoglalva megérte oda járni, még ha nem is értettem mindennel egyet.

Köszönet:
  Egyetem megtanította nekem az alapokat(tanulás,gondolkodás és szenvedés) és ami számomra a legfontosabb, hogy megtaláltam azt az szakmai irányt vagy területet, ami a jövőben is érdekelni fog nekem.

Mélypont:
  Az első és második évben még fogalmam sem volt, hogy mihez akarok kezdeni magammal, sőt a 2. évem volt az a mélypont, amikor az a kérdés is felmerült bennem, hogy miért is járok egyáltalán egyetemre. Visszagondolva nem meglepő, hogy pont 2. évben merült fel ez, mivel akkor jöttek olyan csodálatos tárgyak mint kalkulus 2, diszkrétmatek 3, logika és a le…