Ilmentymien luonti (jatkuu)

Kertaus

Ilmentymillä on monia käteviä käyttötarkoituksia. Pikaisella vilkaisulla, ilmentymien avulla saat:

  • Mahdollisuus jakaa skenet osiin ja tehdä niistä helpommin hallittavia.
  • Työkalu, jolla hallita ja muokata useita solmun ilmentymiä samalla kertaa.
  • Tapa järjestää ja sisältää monimutkaisia pelimalleja tai jopa käyttöliittymiä (Godotissa myös käyttöliittymäelementit ovat solmuja).

Suunnittelukieli

Mutta suurin skeneilmentymien luonnista tuleva vahvuus on, että se toimii erinomaisena suunnittelukielenä. Tämä erottaa Godotin kaikista muista olemassa olevista pelimoottoreista. Godot on suunniteltu alusta saakka tämän ajatuksen ympärille.

Tehdessä pelejä Godotilla, suositeltu lähestymistapa on hylätä useimmat yleiset suunnittelumallit, kuten MVC ja Entity-Relationship, ja ajatella sen sijaan skenejäsi luonnollisempaan tapaan. Aloita kuvittelemalla pelisi näkyvät elementit, ne jotka kuka tahansa pystyy nimeämään, ei vain ohjelmoija.

Esimerkiksi, yksinkertaisen ampumispelin voisi kuvitella näin:

../../_images/shooter_instancing.png

Voit keksiä tämänkaltaisen kaavion melkein minkä tahansa kaltaiselle pelille. Kirjoita ylös ne pelin osat, jotka voit visualisoida, ja lisää sitten nuolet kuvastamaan komponenttien omistussuhteita toisistaan.

Kun sinulla on tällainen kaavio, suositeltu menetelmä pelin tekemiseksi on luoda skene kutakin kaaviossa lueteltua elementtiä kohden. Käytät ilmentymiä (joko koodista tai suoraan editorista käsin) omistajuussuhteita varten.

Iso osa pelien (tai ohjelmistojen ylipäänsä) ohjelmoimiseen kuluvasta ajasta menee arkkitehtuurin suunnitteluun ja pelikomponenttien sovittamiseen tuohon arkkitehtuuriin. Skeneihin pohjautuva suunnittelu korvaa tuon lähestymistavan ja tekee kehittämisestä paljon nopeampaa ja suoraviivaisempaa, antaen sinun keskittyä pelilogiikkaan itseensä. Koska useimmat pelikomponentit sopivat suoraan skeneiksi, skenejen ilmentymiin pohjautuvan suunnittelun käyttö tarkoittaa, että hyvin vähän muuta arkkitehtuurista koodia tarvitaan.

Katsotaanpa jälleen yhtä, hieman monimutkaisempaa esimerkkiä avoimen maailman tyyppisestä pelistä, jossa on paljon assetteja ja muita sisäkkäisiä elementtejä:

../../_images/openworld_instancing.png

Vilkaise huone-elementtiä. Sanokaamme, että aloitamme siitä. Voisimme tehdä muutaman eri huoneskenen erilaisilla huonekalujen (myöskin skenejä) järjestyksillä. Myöhemmin, voisimme tehdä taloskenen, yhdistäen huoneet sen sisätiloiksi.

Sen jälkeen voisimme tehdä linnoitusskenen, joka on luotu useista talojen ilmentymistä. Sitten voisimme alkaa työstää maailmankarttaa, lisäten linnoituksen siihen.

Myöhemmin, voisimme luoda skenejä, jotka edustavat vartijoita (ja muita ei-pelaajahahmoja) ja lisätä ne myös linnoitukseen. Sen seurauksena ne lisättäisiin epäsuorasti koko pelimaailmaan.

Godotin avulla on helppo iteroida peliäsi tähän tapaan, kaikki mitä sinun tarvitsee tehdä on luoda uusia skenejä ja niistä ilmentymiä. Lisäksi editorin käyttöliittymä on suunniteltu helppokäyttöiseksi yhtä lailla ohjelmoijille kuin ei-ohjelmoijillekin.

Informaatioähky!

Sinua on pommitettu suurella määrällä korkean tason tietoa yhdellä kertaa. Oli miten oli, tämän oppaan tärkein osuus oli lisätä tietoisuutta siitä kuinka skenejä ja niiden ilmentymiä käytetään oikeissa projekteissa.

Kaikki tässä keskusteltu tulee olemaan sinulle kuin toinen luonto, kun alat tehdä pelejä ja ottaa nämä konseptit käyttöön. Tällä erää, älä murehdi siitä liikaa, vaan jatka seuraavaan oppaaseen!