Ensimmäisen teeman valinta ei oikeastaan tuottanut vaikeuksia. NHL on jääkiekkopelisarja, joka tuntuu junnaavan vuodesta toiseen suurin piirtein samoilla raiteilla. Sen vuoksi päätinkin kokeilla, että osaisinko tehdä viidessä tunnissa yksin paremman pelin kuin mitä EA:n Kanadan studiot pystyvät pyöräyttämään vuodessa. Helppo homma? Totta kai. Luonnollisesti pelinkehitysalustana käytin Unityä, koska sitä olen käyttänyt iät ja ajat.
Ensimmäinen homma oli luonnollisesti rakentaa jääkiekkokenttä. Sitä varten tarvitsikin lopulta Blenderiä 3D-mallinnukseen, sillä Unityssä ei ole kovin häävisti pyöreitä sisäkulmia sisältäviä primitiivimuotoja. Äkkiä sen kuitenkin latasi, ja äkkiä sillä myös pyöräytti kentän kulman ja maalin tapaiset 3d-mallit. Ei ehkä hienoimpia, mutta riittävän hienoja. Tähän tarkoitukseen ainakin.
Ukkelin virkaa saivat kuitenkin toimittaa pelkät lieriöt, joiden alalaiteen oli pultattu kuutio mailaa esittämään. Viidessä tunnissa ei kuitenkaan mahdottoman realistisia hahmomalleja ja animaatioita tehdä. Ensimmäisen tunnin ähertämisen jälkeen kuitenkin kaukalo ja ukkelit olivat suurin piirtein kasassa. Hitaahko alku, mutta ei paniikkia. Alkua hidasti esimerkiksi se, että kokeilin tehdä 3D-mallinnusta ilman hiirtä, joka on jotakuinkin yhtä typerä idea kuin miltä se kuulostaa.
Toinen tunti meni pääasiassa sitten koodaillessa. Vartin sai toki aluksi taistella Visual Studion lisenssiongelmien kanssa, mutta sen jälkeen pelin päälogiikan sai kohtuullisen kivuttomasti ohjelmoitua: maalien laskennan, ajan kulumisen, ja... no siinäpä se. Eihän jääkiekossa muuta tarvitse. Pääasiassa olen tyytyväinen koodin laatuun tässä projektissa, mutta muutama pikkujuttu tekevät siitä vaikeasti luettavan. Esimerkiksi yhden muuttujan nimi oli huono, mikä johti hölmöihin if-lauseisiin.
Kolmas tunti menikin sitten pakottaessa ukkeleita liikkumaan. Käytin tässä projektissa kahta PS4-ohjainta. Pelin kontrollit ovat suhteellisen helpot: vasen analogikeppi ohjaa pelaajia 1 ja 3, oikea pelaajia 2 ja 4, olkanäppäimet vaihtavat pelaajien välillä ja liipaisimilla voi laukoa (eli käytännössä pyörittää pelaajaa myötä- tai vastapäivään). Ohjaus on täysin fysiikkamoottorin hallussa, joten peli sisältää paljon "hupaisia" Goat Simulatorin tyyppisiä bugeja.
En ikinä ole oikeastaan käyttänyt Unityssä peliohjaimia, joten tämä oli uusi aluevaltaus, ja kuten uudet aluevaltaukset yleensä, se aiheutti jonkin verran harmaita hiuksia. Lopputuloskaan ei ole aivan optimi, ja on todennäköistä, että pelatessa muilla kuin PS4-ohjaimilla muulla kuin Windowsilla peli ei toimi oikein. Tämä puolestaan johtuu käyttöjärjestelmistä, joystick-mappauksesta, Unityn tavasta hallita näitä ja läjästä muita yhtä huonoja tekosyitä. Tähänkin koko prosessiin kului kuitenkin enemmän aikaa kuin mitä olisin toivonut,
![]() |
No, tässä ei kyllä mahdottomasti näy kehitystä edelliseen, mutta kyllä sitä on tapahtunut. |
Neljännen tunnin sitten aloitin korjailemalla pari pikkujuttua, jotka olivat testatessa tulleet vastaan. Esimerkiksi että kiekko ei aloituksen jälkeen palaudu keskelle, kiekko ei kimpoa kentän reunoista ja maalin voi tehdä tökkäämällä kiekon verkon ulkopuolelle tiettyyn kohtaan. Ei onneksi mitään maata kaatavaa, olisi ikävä huomata tässä vaiheessa kriittinen virhe. Nämä pikkujutut korjattuani aloin tehdä ääniä.
En yleensä tee ääniä itse, vaan kaivan ne freesound.orgista, ja niin tein myös tällä kertaa. Osittain siksi, että olin vähän jäljessä haluamastani aikataulusta. Audacityllä muokkailin paria katsomoääntä ja maalisummeria "nätiksi" kokonaisuudeksi. Taustalle vähän jäähallista otettua nauhoitetta. Eniten jäi kuitenkin korpeamaan urkunostatus. Halusin, että sen äänen korkeus nousee kokoajan. Audacityn efekti oli kuitenkin vähän huono, ja loppua kohti nostatus alkaa kuulostaa aika rupiselta.
![]() |
Tidi-ti-titti-dii. Tai sinne päin. |
Viidennen tunnin käytin sitten pääasiassa viilailuun. Esimerkiksi revanssi- ja exit-napit saattavat olla tarpeen, etenkin jälkimmäinen. Fonttia vaihdoin vähän esteettisemmäksi. Ehkä tärkein lisäys oli se, että laitoin merkin sen pelaajan alle, ketä pelaaja ohjasi. Peli menee nimittäin aikamoiseksi koheltamiseksi, ja on ihan mukava tietää kenen ainakin teoriassa pitäisi liikkua. Lisäksi laitoin pitkiin laitoihin pienet kulmat, sillä kiekko toisinaan jää ränniin ja sitä on perhanan vaikea saada sieltä muuten pois.
Näiden lisäksi katsoin hassuja videoita viimeisellä tunnilla:
Valmista kuitenkin tuli ajoissa. Pakko myöntää, että en laske ajattelutyötä tähän viiteen tuntiin, sillä teen sitä aika paljon huomaamattani vähän väliä, ja esimerkiksi vaikka töissä tulee tahattomasti suunniteltua kuinka minkäkin palikan koodaa. Hyvin suunniteltu työ on sitten helpompi myös toteuttaa ja aikatauluttaa. Tässä on vielä todisteeksi videomateriaalia pelistä:
Maaliääni tulee sitten kovalla, ei kannata järkyttyä.
Kaiken kaikkiaan olen itse tyytyväinen tuotokseen, joskin pienellä viilauksella siitä saattaisi saada jopa oikeasti hauskan pelin pikaisen proton sijasta. Loppuyhteenvetona voin todeta seuraavaa:
Hyvät jutut
- Pelissä on ääniä. Viiden tunnin pelissä tämä ei ole niinkään itsestäänselvyys.
- Se toimii. Maaleja voi lätkiä ja pelikin loppuu joskus
- Kaoottista hupailua kaverin kanssa peliohjaimilla.
- Itse ainakin opin uutta. Ketään muuta tämä ei varmaankaan lohduta.
Huonot jutut
- Vähän liiankin kaaoottinen. Jos ei tekijänä itsekään osaa pelata, niin silloin voi huolestua.
- Tutoriaalin puute. Jos satunnaiselle ihmiselle laitetaan tämä peli nenän eteen selittämättä mitään, niin todennäköisesti hän ei jaksa selvittää ikinä miten peli oikein toimii. En tosin tiedä onko tämä paha puute viiden tunnin pelissä.
- Pelaajat ovat liian kiikkeriä, ja niiden ohjaus on toisinaan tarpeettoman haasteellista.
Projektitiedostot, ja testaukseen käytetty buildi, ovat ladattavissa githubissa. En viitsinyt tehdä peliä kauhean "helposti" saataville, sillä tiedän, että se ei toimi kunnolla muilla koneilla ja gamepadeilla. Jos peliä haluaa pelata niin joutuu lataamaan projektin, säätämään Input-asetukset kohdilleen ja kääntämään uusiksi, joten parempi antaa olla.
Mutta jos sinulla on idea siitä, millaista peliä minun kannattaisi yrittää tehdä viidessä tunnissa, niin laita tieto siitä minulle kommenttikentässä, Facebookissa tai messagella. Mutta yhdellä ehdolla: idea pitää kuvata yhdellä ainoalla sanalla. Tällöin voin itse tulkita sen miten haluan ja tehdä jotain täysin päinvastaista.
Loppuun vielä kiitokset asseteista, joita käytin projektissa:
Sergiy S. Tkachenko for Sports World -font
http://www.dafont.com/sports-world.font
Eelke for 04-IceHockey-goal -sound
http://freesound.org/people/Eelke/sounds/172618/
santino_c for Sirene horn -sound
http://freesound.org/people/santino_c/sounds/170825/
inchadney for ice skating.WAV -sound
http://freesound.org/people/inchadney/sounds/66151/
jobro for Hockey fanfare 2d.wav -sound
http://freesound.org/people/jobro/sounds/156517/
Mutta jos sinulla on idea siitä, millaista peliä minun kannattaisi yrittää tehdä viidessä tunnissa, niin laita tieto siitä minulle kommenttikentässä, Facebookissa tai messagella. Mutta yhdellä ehdolla: idea pitää kuvata yhdellä ainoalla sanalla. Tällöin voin itse tulkita sen miten haluan ja tehdä jotain täysin päinvastaista.
Loppuun vielä kiitokset asseteista, joita käytin projektissa:
Sergiy S. Tkachenko for Sports World -font
http://www.dafont.com/sports-world.font
Eelke for 04-IceHockey-goal -sound
http://freesound.org/people/Eelke/sounds/172618/
santino_c for Sirene horn -sound
http://freesound.org/people/santino_c/sounds/170825/
inchadney for ice skating.WAV -sound
http://freesound.org/people/inchadney/sounds/66151/
jobro for Hockey fanfare 2d.wav -sound
http://freesound.org/people/jobro/sounds/156517/
Ei kommentteja:
Lähetä kommentti