gamedevcenter bbs
Heinäkuu 26, 2017, 04:31:43 *
Tervetuloa, Vieras. Ole hyvä ja kirjaudu tai rekisteröidy.

Kirjaudu käyttäjätunnuksen, salasanan ja istunnonpituuden mukaan
Uutiset: Tervemenoa pelinkehitykseen Hymyilee
 
   Etusivu   Ohjeet Kirjaudu Rekisteröidy  
Sivuja: [1]
  Tulostusversio  
Kirjoittaja Aihe: HTML5 game enginet  (Luettu 3237 kertaa)
enk
Wolf in the Throne Room
Ylläpitäjä
Aloittelija
*****
Viestejä: 83



WWW
« : Maaliskuu 16, 2011, 02:55:43 »

Tuli tarpeen tutkia näitä ja kokeilla. Kolmea kokeilin joista kahdella sain pelin aikaiseksi. Puhumme nyt siis 2D-peleistä.

Effect Games. Täyden palvelun engine. Sivuille luodaan oma profiili, mihin voi sitten luoda peliprojekteja. Käytössä on GUI-työkalut perusjuttujen tekemiseen kuten assettien lisäämiseen ja objektien luomiseen. Työkalut hyvin käteviä mm. preloadien määrittämiseen. Objektit voi suoraan tuoda level editoriin, jolla kenttien luonti lähtee hyvinkin näppärästi. Itse en kauheasti level editorin kanssa säätänyt toistaiseksi. Näppäriin työkaluihin lukeutuvat myös placeholder-generaattori ja bitmap font -generaattori, joka tekee truetype-fonteista bitmapeja. Tukee plugineita, joiden joukosta löytyy tällä hetkellä varmaan oleellisimpana Box2D-fysiikkaengine. Koodaus on nättiä javascriptiksi ja API tehokas. Sivulla on myös kattavat tutorialit ja muut dokkarit, joista asiat selviävät aika nopeasti.

Pelejä voi ajaa palvelun sisällä, mutta ne voi myös imaista kaikkine kirjastoineen muualla jaettavaksi paketiksi. Peleihin tulee aina näkyviin alapalkki, jossa näkyy Effect Gamesin logo sekä läjä työkaluja, josta pelaajat voivat säätää äänenvoimakkuutta, vaihtaa kontrollit jne. Jos ei siis alapalkista tykkää, niin tätä ei kannata käyttää. Enginen lisenssiehdot ovat myös hieman hämärät, mutta ainakin toistaiseksi pelien saa myydä ilman mitään rajoituksia. Engine itsessään sen sijaan on proprietary-kamaa ja sitä ei saa sörkkiä. Itseäni vähän häiritsee, että en ole vielä keksinyt mikä Effect Gamesin bisnesmalli on. En siis lähtisi mitään älyttömän isoa tekemään tällä ennen kuin selviää nuo lisenssiehdot paremmin mitä nykyisestä EULA:sta.

Eli:
+ Näppärät GUI-työkalut, kehitys sujuu selaimessa hyvin.
+ Level editori ym herkut samassa paketissa.
+ Tehokas API
+ Hyvät dokumentaatiot ja tutorialit
+ Ilmainen kaikessa käytössä
- Kaupallinen toimija, mutta mistään ei oikein selviä bisnesmalli
 

Kokeilupelini (tarkoitus kerätä kohteita ja pitää pallo ruudulla. Klikkaamalla luodaan painovoimapisteitä jotka vetävät palloa puoleensa.)

---

Crafty JS. Täysin avoin (GPL/MIT -lisenssi) engine. Käyttää Entity-Component -paradigmaa, eli koodissa määritellään ominaisuuksia (component), joita voidaan plugata kiinni entityihin. Perusjutut löytyy valmiskomponentteina, ja jos muut kehittäjät jakavat omia yleiskäyttöisiä komponenttejaan, niin niitä on helppo ottaa omaan koodiin. Myös omien komponenttien tekeminen on helppoa. Itse tekaisin tuossa launcher-komponentin, joka laukoo projectile-komponentteja oikealle ja vasemmalle riippuen siitä mihin päin pelaajan naama näyttää. Koodaus on aika sujuvaa, kunhan omaksuu Entity-Component -ajattelun. Itse tykästyin ratkaisuun, koska se tekee koodin uusiokäytöstä hyvin kätevää. Koodaus muistuttaa vissiin aika paljon Unity-värkkäämistä, jos vähäinen tietämykseni siitä pitää kutinsa.

Yleisesti ottaen Crafty ei ole niin valmis ratkaisu kuin Effect Games, ja enemmän joutuu tekemään itse käsin koodissa. Tekijät aikovat jotain työkaluja kehitellä ja julkaista, mutta niitä odotellessa koodaamme vaan. Opiskelumateriaalia on myös aika niukasti, mutta yksi tutoriali löytyi sentään. API on minimaalisesti dokumentoitu.

Eli:
+ Entity-Component -koodaus tuottaa uudelleenkäytettävää koodia.
+ Tehokas API
+ Täysin vapaa (GPL/MIT)
+ Engine itsessään muodostuu valmiista komponenteista, eli sitä on helppo laajentaa.
- Ei aputyökaluja
- Dokumentaatio vähäistä

Master of Spelunking -projektia varten tehty yhtä liikkumiskonseptia selventävä demo (nuolilla liikutaan, space nakkoo projectileja).

---

Akihabara. Suunniteltu arcade-klassikoiden luomiseen, ja sisältää apukirjastoja eri genrejen tekemiseen. Mielestäni engine on vähän turhan paljon naimisissa näiden kanssa, eli jos haluaa tehdä jotain mikä ei toimi jonkin olemassaolevan apukirjaston mukaisesti niin en ehkä lähtisi tätä käyttämään. Periaatteessa tehokas engine juuri tämmöisten pelien tekemiseen ja sisältää mm. helpon game statejen hallinnan, mutta tutorialin läpikäynninkin jälkeen itselleni jäi vähän liian black box -maku suuhun tästä. Dokumentaatiota on Craftyakin vähemmän, mikä ei ainakaan auta opettelussa. Pitäisi palata tähän ehkä sitten jos haluaa tehdä jotain mihin tämä on suunniteltu.

Eli:
+ Vaikuttaa tehokkaalta arcade-klassikoiden tyylisten pelien tekemiseen
+ Näppärä game statejen hallinta
- Toiminta jäi pahasti hämärän peittoon
- Todella heikko dokumentaatio

Tässä tutoriaali jota seurasin.

---

Sekä Effect Games ja Crafty ovat molemmat suositeltavia. Aloittelijoille todennäköisesti Effect Gamesin paremmat työkalut ja dokumentaatiot ovat hyvä valinta. Yleisesti ottaen olen positiviisisesti yllättänyt näiden engineiden laadusta ja käyttömukavuudesta, ja Crafty on nyt ehdokkaana Hamsters and Plaguen webbiversion toteutusalustaksi. Kunhan se pelisuunnittelu on ensin saatettu Python-version kanssa loppuun.
« Viimeksi muokattu: Maaliskuu 17, 2011, 03:04:09 kirjoittanut enk » tallennettu

Sivuja: [1]
  Tulostusversio  
 
Siirry:  

MySQL pohjainen foorumi PHP pohjainen foorumi Powered by SMF 1.1.18 | SMF © 2006-2009, Simple Machines Validi XHTML 1.0! Validi CSS!