Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: 2D-peli ohjelmointi oppaita

jalski [21.08.2011 19:40:13]

#

Tervehdys,

Aloitin kirjoittelemaan aloittelevalle ohjelmoijalle soveltuvia oppaita peliohjelmoinnin alkeisiin. Oppaat tulevat olemaan englannin kielisiä ja yritän saada niistä helppo lukuisia sekä helposti ymmärrettäviä.

Toteutan oppaat aluksi Hollywood ohjelmointikielellä ja heti perään Infernon Limbolla.

Oppaissa käsiteltäviä asioita ovat ainakin:

- Yksinkertainen pelin runko
- pelaajan näppäinsyötteen käsittely
- ajastus (delta timing)
- animointi
- vihollisien lisääminen peliin
- Yksinkertainen tekoäly käyttäen tilataulua
- törmäystarkistus

Olen jokusen rivin saanut kirjoitettua ja ajattelin kysyä mielipidettä tekstin luettavuuden ja ymmärrettävyyden suhteen.

Työn alla oleva opas ladattavissa täällä

mylvari [21.08.2011 23:00:49]

#

Oppaassasi ei hirveästi jaariteltu, lähes kaikki teksti oli oikeastaan koodia.

Mainitsit että oppaasi on vielä keskeneräinen, mutta tuon nykyisen version perusteella vaikuttaa että yrität syöttää lukijalle valmista koodia. Mielestäni sinun tulisi selittää enemmän pelin tekoa teoriapuolella, teorian jälkeen sitten annat esimerkkikoodin.

Otetaanpa esimerkiksi tuo "delta timing". "Delta timingin" ajatus on ilmeisesti ruudunpäivitysnopeudesta riippumaton liikkuminen? Kun näppäin on pohjassa, edetään n yksikön sijaan n*(aika viime päivityksestä) yksikköä määritettyyn suuntaan. Yksinkertaisuudessaan siis nopeus, eli matka jaettuna ajalla, kerrotaan ajalla, saadaan liikuttu matka; sinänsä helppoa ja loogista, mutta sitä ei välttämättä tule ajatelleeksi kun tekee peliä ensimmäistä kertaa. Pitäisi tietysti selittää että mitä tapahtuu jos peli tehdään käyttäen tuota ensimmäistä toimintatapaa. Tätä ennen olisi tietysti selitetty miten peli voi esimerkiksi rakentua ja miten päivitysnopeus vaikuttaa siihen. Selityksen jälkeen voisit antaa esimerkin teorian käyttämisestä koodissa – vaikkapa useammalla kielellä, kuten ilmeisesti aiot tehdä. "Delta timing" on toki laajempi käsite mitä annan ymmärtää, mutta tuossa pelissä sitä taidetaan käyttää juuriki tuossa mielessä.

Kieliasun oikeellisuudesta keskustelemisen jätän putkan kielipollareille, mielestäni se on kuitenkin ihan selkeää ja ymmärrettävää englantia. Oppaan esimerkeissä käytetty ohjelmointikieli vaikuttaa helposti seurattavalta, ehkäpä voisit perustella miksi kannattaisi opetella juuri tuo kieli ja laittaa linkkejä joihinkin hyviin oppaisiin?

Mikä tärkeintä: mikäli et ole samaa mieltä kanssani – älä olekaan! Voit saada aikaan jotakin uutta ja omaperäistä.

jalski [22.08.2011 00:16:34]

#

Tuo opas on tosiaan vielä keskeneräinen ja perusteoriaa tullaan kyllä vielä käsittelemään. Ajatuksenani oli aluksi antaa lukijalle jonkinlainen lähtökohta omille kokeiluille, minkä pohjalle aloittelijakin voisi helposti alkaa rakentamaan omaa yksinkertaista peliä.

Päivitän tuota opasta lähipäivinä. Kirjoittelin jo game moduulin osittain uusiksi ja lisäsin joitan metodeja, kuten pelin päivitysnopeuden asettamisen. Lisäsin myös peli esimerkkiin viholliset ja niille yksinkertaisen tilataulua käyttävän tekoälyn.

Seuraavaksi olisi tarkoitus alkaa kirjoittamaan tuota teoriapuolta... ;-)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta