Tällä oppitunnilla luomme pelikenttää varten tarvittavat objektit eli lattian, ruuan, esteet ja poistumistien. Näitä objekteja kutsutaan tiiliksi tai laatoiksi (engl. tile). Pelialue muodostuu pelilaudasta, jossa hahmot liikkuvat ja toiminnot tapahtuvat. Pelilauta taas muistuttaa shakkilautaa eli hahmot voivat liikkua vuoroissa ruuduista toiseen. Joissain ruuduissa on esimerkiksi ruoka- tai juomaobjekteja, joita pelaaja voi kerätä. Objekteja voi tietenkin keksiä myöhemmin loputtomasti lisää.
Tällä oppitunnilla on paljon saman tyyppisiä tehtäviä, koska jokainen objekti pitää määritellä prefabiksi erikseen. Toistojen kautta kuitenkin opit tekemään automaattisesti prefabeja halutessasi ja tästä on hyötyä erityisesti, kun halua luoda jatkossa omia objekteja peliin.
Tehtävä 1 - Lattialaattojen teko
Pelilaudan pohja tehdään lattia (engl. floor) tiilistä.
1. Luo uusi peliobjekti valitsemalla yläpalkista GameObject -> Create Empty
2. Anna peliobjektin nimeksi floor1
3. Lisää Inspector ikkunasta komponentti valitsemalla Add Component -> Renderer -> Sprite Renderer
4. Raahaa ensimmäinen lattialaatta paikoilleen Sprite Rendererin kohtaan Sprite. Lattialaatat ovat ruskeita laattoja, jotka näet alla olevassa gif-animaatiossa:
5. Avaa Prefabs-kansio
6. Raahaa floor1 Prefabs-kansioon
7. Nyt kun floor1 prefab on valmis, anna floor1 peliobjektin nimeksi floor2
8. Raahaa toinen lattialaatta paikoilleen Sprite Rendererin kohtaan Sprite
9. Raahaa floor2 peliobjekti Prefabs kansioon
10. Valitse Orginal prefab
11. Toista sama toimenpide niin monta kertaa, että kaikki kahdeksan lattialaattaa ovat Prefab-kansiossa
Tehtävä 2 - Exit
Pelissä kentästä toiseen siirrytään Exit -kyltin kautta. Exit-kyltti tulee oikeaan yläreunaan ja sitä varten tarvitsemme erillisen prefabin. Kylttiin tulee box collider, jotta tiedetään, että pelaaja on Exit-kyltin kohdalla.
1. Muuta floor8 peliobjektin nimeksi exit
2. Siirrä Exit sprite rendererin kohtaan Sprite
3. Valitse Add Component ja sieltä Physics 2D -> Box Collider 2D
4. Valitse Box Collider 2D:stä ruksi Is Trigger kohtaan
5. Valitse Sorting layeriksi Item
6. Valitse tagiksi Exit
7. Tarkista vielä, että kaikki on samalla tavalla kuin alla olevassa kuvassa ja siirrä peliobjekti Prefabs-kansioon
8. Valitse Orginal Prefab
Tehtävä 3 - Ruoka ja juoma
Roguelike pelit eroavat siinä monista muista peleistä, että roguelikeissa hahmot syövät ja juovat. Tämä on olennaista pelihahmon selviämisen kannalta, sillä peleissä voi kuolla esimerkiksi nälkään. Ruoka- ja juomaobjekteista tehdään kerättäviä objekteja. Myöhemmin kerättäviä objekteja voi olla paljon muitakin.
1. Muuta exit peliobjektin nimeksi food
2. Siirrä food sprite (sprite, jossa on kuva punaisista marjoista) Sprite rendererin kohtaan Sprite
3. Valitse Sorting layeriksi Item
4. Valitse tagiksi Food
5. Valitse Layeriksi Default
6. Ruokaobjekti käyttää myös Box Collider 2D:tä, joten tarkista, että Is Trigger kohdassa on ruksi
7. Siirrä food peliobjekti Prefabs kansioon
8. Valitse Orginal Prefab
9. Nimeä food peliobjekti uudestaan antamalla sille nimeksi soda
10. Siirrä soda sprite (sprite, jossa on kuva tölkistä) Sprite rendererin kohtaan Sprite
11. Vaihda tagiksi Soda
12. Valitse Layeriksi Default
13. Siirrä Soda peliobjekti Prefabs kansioon
14. Valitse kysyttessä Orginal Prefab
Tehtävä 4 - Ulkoseinät
Peliin tulee seiniä, jotta pelaaja ei kulje missä sattuu.
1. Muuta soda peliobjektin nimeksi outerwall1
2. outerwall peliobjekteihin tulee kolme erilaista spriteä, jotka eroavat toisistaan ulkonäöllisesti. Katso kuva (outerwall spiritet on kuvassa valittu ja niiden tekstit sinisellä pohjalla):
2. Siirrä ensimmäinen kivinen outerwall sprite Sprite rendererin kohtaan Sprite
3. Peliobjektissa on Box Collider, mutta ota ruksi pois kohdasta Is Triggered
4. Vaihda tagiksi Untagged
5. Vaihda layeriksi Blocking Layer. Peliobjekti estää pelaajaa liikkumasta pelialueen ulkopuolelle.
6. Vaihda Sorting Layeriksi Floor
7. Siirrä outerwall1 peliobjekti Prefabs kansioon
8. Kysyttäessä valitse Orginal Prefab
9. Muuta peliobjektin nimeksi outerwall2
10. Siirrä toinen kivinen outerwall sprite Sprite rendererin kohtaan Sprite
11. Siirrä outerwall2 peliobjekti Prefabs kansioon
12. Kysyttäessä valitse Orginal Prefab
13. Muuta peliobjektin nimeksi outerwall3
14. Siirrä kolmas kivinen outerwall sprite Sprite rendererin kohtaan Sprite
15. Siirrä outerwall3 peliobjekti Prefabs kansioon
16. Kysyttäessä valitse Orginal Prefab
Tehtävä 5 - Sisäseinät
Sisäseinien teko on samaa prefabien tekoa kuin aiemmissakin tehtävissä. Sisäseiniin tulee seuraavat kahdeksan spriteä:
1. Muuta outerwall3 peliobjektin nimeksi wall1
2. Vaihda Sorting Layeriksi Item
3. Layerin pitää olla Blocking Layer, koska seinät estävät hahmon liikkumisen
4. Raahaa wall1 peliobjekti Prefabs-kansioon
5. Kysyttäessä valitse Orginal Prefab
6. Tee seitsemän muuta seinäobjektia samaan tyyliin kuin aiemmissa tehtävissä