Ideasta peliksi - VN valmistusvaiheet

Keskustelua Visual Novelien tekemisestä.

Valvoja: Visual Novel -yhteisö / aktiivit

Mijaskal
Viestit: 105
Liittynyt: To Joulu 22, 2005 16:56

Ideasta peliksi - VN valmistusvaiheet

ViestiKirjoittaja Mijaskal » Ti Helmi 21, 2012 23:36

Moi!

Tämä pyrkii olemaan jatkuvasti päivittyvä tutoriaali, jossa selitän omaa tapaani tehdä Visual Novel pelejä. Tutoriaali päivittyy sitä mukaa kun opin lisää pelinteosta itse tai koulun kautta. Olisi kiva kuulla kommentteja ja varsinkin kysymyksiä, niin voin selventää lisää.

Tässä ei käydä kovin tarkasti läpi erilaisten ohjelmien käyttöä, mutta aion ainakin mainita mitä ohjelmia itse käytän pelin tekemiseen. Esimerkkinä käytän ihan ekaa tekemääni Visual Novelia, Mansion of Madnessiä. Se löytyy tämän linkin takaa: http://forums.aniki.fi/viewtopic.php?f=100&t=13171

Pelejä voi tehdä yksin tai yhdessä. Tiimissä jokaisella voi olla oma erikoistumisalueensa. Kajaanin ammattikorkeakoulussa pelilinja oli jaettu graafikoihin, tuottajiin, suunnittelijoihin ja ohjelmoijiin. Äänistä ja musiikista vastaava henkilö voi myös tulla tarpeeseen. Jos sinulla on kasassa tiimi kannattaa vastuualueet jakaa ainakin summittaisesti. Ainakin omasta mielestäni kivointa on tehdä niin että kaikki saavat antaa ideoita ja ehdotuksia toisten tekemisistä. En käy tässä tutoriaalissa enempää läpi työnjakoa ja ryhmätyötä, sillä se ansaitsee ihan oman ketjunsa :)

Olen heikkona kaikenlaisiin luetteloihin ja listoihin, joten tämäkin tutoriaali alkaa sisällysluettelolla. Jokainen kohta on yksi vaihe pelin tekemisessä.

Vaiheet:
Alkuvalmistelut
    Idea ja tarina
    Tapahtumakaavio
    Ensimmäinen listaus tarvittavista kuvista, äänistä ja kohtauksista
    Käsikirjoituksen ensimmäinen versio

Kehityksen kierto
    Puhtaaksikirjoitus
    Skriptaus
    Testaus
    Tarvikelistan päivitys

Loppukiri
    Testaus ulkopuolisilla
    Loppukiillotus
    Julkaisu

Alkuvalmistelut

Idea ja tarina
Omat peliprojektini ovat aina lähteneet jostain ideasta, joka puolestaan on pohjautunut johonkin elokuvaan, sarjaan tai mielikuvaan. Mansion of Madness keräsi inspiraatiota erityisesti The Others elokuvasta, hämyisistä yksityisetsivistä ja sekalaisista kauhutarinoista.

Idean jälkeen alan miettiä henkilöitä ja tapahtumapaikkoja. Varsinkin pienissä peleissä on tärkeää että tapahtumapaikka on pieni, rajattu ja mahdollisesti myös suljettu. Tämä mahdollistaa samojen taustojen käyttämisen uudestaan ja tarinan voi kirjoittaa helpommin kun on selvää että hahmot eivät voi poistua tapahtumapaikalta. Vastaavasta ratkaisusta elokuvien puolella tulee mieleen Reservoir Dogs, joka tapahtuu yhden varastorakennuksen sisällä. Pieneen tapahtuma-alueeseen voi myös laittaa enemmän yksityiskohtia ja muuta.

Henkilöt keksin tarinan tarpeiden mukaan. Mansion of Madnessin kohdalla päähenkilöksi oli helppo valita toimistossaan viskiä kittaava yksityisetsivä. Kartanossa on luonnollisesti ainakin hovimestari sekä kartanon omistaja. Päähenkilöllä tarvitsee olla jokin yhteys kartanoon tai sen asukkaisiin. Joku henkilöistä on pulassa tai muuten käynnistää tapahtumat. Päähenkilö kutsutaan tai joutuu mukaan tapahtumiin ja niin edelleen.

Idean, tarinan, teeman ja henkilöt voi keksiä muussakin järjestyksessä tai sekalaisesti yhtä aikaa. Jokainen luo tarinoita omalla tavallaan, eikä mikään tapa ole väärä tai huono.

Tarinan pohjana voi käyttää Limingan taidekoulussa oppimaani peruskaavaa: Olipa kerran joku joka halusi jotain, mutta sitten hän kohtasi vaikeuksia. Lopulta vaikeudet kuitenkin voitettiin mutta lopussa kävi jotakin yllättävää.

Eli ihan peruspalikkatarina, mutta ainakin siinä on kaikki tarpeellinen. Tärkeintä mielestäni on että päähenkilöllä on selkeä tavoite mikä vaikeuksien kanssa luo tarinaan jännitteen. Eikä mielestäni mikään ole tylsempää kuin ennustettava loppu. (paitsi romanttisissa tarinoissa :P (ehkä))

Kun on saanut perustarinan kokoon, voi sitä tietenkin lähteä muuttelemaan. Kun kokemusta karttuu voinee hypätä suoraan erikoisempiin kuvioihin. Mielestäni on kuitenkin tärkeämpää että on selkeä tarina, joka sitten kerrotaan hyvin. Mutta ei tämäkään ole mikään totuus :D

Tapahtumakaavio
Kun tarinan suuret linjat ovat selvillä, laitan ne paperille yksinkertaisen kaavion muotoon. Tapahtumat ja kohtaukset ovat palloja, joista johtaa nuolia toisiin kohtauksiin ja tapahtumiin. Välillä nuoli johtaa myös valintatilanteeseen. Jotkin nuolet ovat ehdollisia, eli niihin on mahdollista päästä vain jos on aikaisemmin valinnut tietyn vaihtoehdon. Lopuksi päädytään yhteen tai useampaan loppuun. Samankaltaisia kaavioita käytetään käyttöohjeissa ja ohjelmistosuunnittelussa. Jos tykkää näperrellä niitä, on olemassa ihan standardi nimeltä UML.

Omissa projekteissa olen ensimmäisenä ajatellut perustarinan, eli mitä tapahtumia pelissä ainakin pitäisi olla. Näistä muodostuu tarinan runko, josta voi sitten lähteä haarautumaan.

Kirjoitan tähän nyt tekstiversion tarinasta, jossa päähenkilömme saapuu kartanoon tapaamaan vanhaa ystäväänsä ja tutkimaan miksi tämän tytär on kadonnut keskellä yötä.

1. Saapuminen kartanolle: ajatuksia ystävästä ja kartanosta

==> Ystävän tapaaminen : kertomus viime päivien tapahtumista

==> Valot sammuvat, kuuluu outo ääni

==> Pelaaja näkee ikkunasta ulkona sumussa olevan hahmon

==> Ystävä syöksyy hahmon perään.

==> Pelaaja seuraa, mutta ystävä katoaa sumuun

==> Paluu kotiin: ajatuksia siitä miten ystävää ei koskaan löytynyt.

Eli tässä tarina vain menee suoraan, ja jokaisen kohtaan on merkitty lyhyesti mitä kohtauksessa tapahtuu. Voi myös kirjoittaa missä kohtaus tapahtuu ja halutessaan eritellä tarkemmin ketä on paikalla.

Kohtauskaaviosta päästään mukavasti seuraavaan vaiheeseen:

Ensimmäinen listaus tarvittavista kuvista, äänistä ja kohtauksista
Kohtauskaaviosta poimitaan hahmot, paikat ja äänet. Näistä tulee ensimmäinen lista siitä mitä pelissä tarvitaan. Tämä lista annetaan eteenpäin graafikolle ja muusikolle, jotka voivat sitten tahollaan alkaa tehdä luonnoksia ja kysellä lisää siitä millaisia hahmot, paikat ja tunnelmat ovat. Ja vaikka aikoisikin tehdä kaiken itse, näkee ainakin vähän selvemmin kuinka paljon tekemistä on tulossa ja voisiko jotain karsia pois.

Kuvien ja äänien ensimmäiset versiot kannattaa tehdä nopeasti, että ei tule tehtyä turhaa työtä siinä tapauksessa että kaikki muuttuukin ihan toisinpäin.
Kuvina voi käyttää viitseliäisyydestä riippuen erivärisiä siluetteja, netistä otettuja kuvia tai ilmaiseksi jaossa olevia hahmokuvia.
Taustoiksi löytyy nopeasti valokuvia tai paintilla tehtyjä kuvia, joihin on kirjoitettu paikan nimi.
Ääniefektit voi kirjoittaa tekstin sekaan tyyliin *bong*, *ovi aukeaa*, *huuto*. Näin niiden paikat ovat heti selvillä ja jos laiskuus iskee ne voi jättää paikalleen.
Käsikirjoittaja (jos sellainen on) puolestaan pääsee kohtauskaavion perusteella tekemään ensimmäisen version käsikirjoituksesta.

Ylläolevan kohtauskaavion toteuttamiseen tarvitaan ainakin:
Taustat
Kartano sumussa.
Kartanon aula. Valoisa ja pimeä.
Ikkuna.
Sumua.

Hahmokuvat
Kartanon omistaja
Sumussa oleva hahmo (ellei ole piirretty sumutaustaan)

Äänet
Huuto

Tällä listauksella saa kaiken juuri ja juuri esitettyä. Lisähahmot ja taustat toki tekevät lisää vaihtelua, mutta eivät liity niin kiinteästi tapahtumiin. Niitä on ehkä parempi lisäillä sitten kun ollaan varmempia tapahtumista ja juonesta.


Käsikirjoituksen ensimmäinen versio
Käsikirjoitus tarkoittaa sitten ihan käytännössä sen kirjoittamista että missä ollaan ja kuka sanoo ja tekee mitäkin. Tämän voi tietty tehdä suoraan Ren'Pyn skriptikielellä ja lisätä hahmot sekä taustat kommentteina, mutta itse huomasin hyödylliseksi ottaa yhden vaiheen lisää ja kirjoittaa ensimmäisen version perinteisen elokuvakäsikirjoituksen muotoon. Näin siihen tuli merkittyä tarkemmin tapahtumat ja tekemiset, jotka sitten myöhemmin muuttuivat ääniksi ja erilaisiksi efekteiksi. Erillisestä versiosta on myös se hyöty että se on kelle tahansa selkeä lukea ja se pitää kirjoittaa ainakin kerran uudestaan.

Elokuvakäsikirjoittamiseen löytyy selkeitä oppaita, itse käytin Script Frenzyn sivuilta löytyvää opasta.http://scriptfrenzy.org/eng/howtoguides
Erilaisia kirjoitusohjelmia on kasoittain, mutta yksi kätevä on nimeltään Celtx, joka toimii selaimen kautta sekä muotoilee tekstiä automaagisesti. https://www.celtx.com/

Käsikirjoituksen ensimmäisessä vaiheessa ei kannata turhaan stressata. Kirjoittaa vain reippaasti ylös mitä tapahtuu ja mitä hahmot sanovat. Dialogin voi kirjoittaa ihan tarkoituksella pökkelöksi ja huonoksi, niin itsekritiikki ei hidasta tekemistä. Esimerkiksi edellä näytetyn tapahtumakaavion ensimmäisen kohtauksen voisi kirjoittaa näin:

Koodi: Valitse kaikki

EXT. SUMUINEN PIHAMAA - ILTA
Sumun keskellä häämöttää synkkä kartano. Sumu hälvenee hiljalleen kun kartano tulee lähemmäksi.

 MINÄ
(ajattelee) Pahuksen sumu ja kaikkialle tunkeutuvat kylmyys.

Mutta hädässä ystävä tunnetaan, toivottavasti kaikki kääntyy hyvin.

Miten synkkä ja pahaenteinen paikka. Olisikohan pitänyt kuitenkin ottaa ase mukaan?


Ja niin edelleen surutta läpi kaikkien kohtausten. Kun kasassa on käsikirjoituksen ensimmäinen versio, tarvittavat kuvat ja netistä napsitut kornit ääniefektit, päästään kehityksen kiertoon.

Seuraavassa osiossa otetaan itse Renpy käyttöön ja muutetaan kaikki tämä skriptiksi.

Mijaskal
Viestit: 105
Liittynyt: To Joulu 22, 2005 16:56

Re: Ideasta peliksi - VN valmistusvaiheet

ViestiKirjoittaja Mijaskal » Su Kesä 24, 2012 16:29

Jee. Tässä osa kaksi. Kehityksen ikuinen kiertokulku

Kehitys on kiertokulkua siksi että muiden tarinoiden tavoin Visual Noveliin tulee helposti matkalla lisää ideoita ja asiat muuttuvat. Onneksi asioita on helppo muokata matkan varrella, varsinkin jos malttaa rakentaa pelinsä osissa.

Tässä osiossa siis vaiheet:

Puhtaaksikirjoitus

Skriptaus

Testaus

Päivitys

Puhtaaksikirjoitus
Tämä vaihe tarkoittaa sitä että käsikirjoitus riistetään käsikirjoittajan vastustelevista käsistä ja jokainen lukee sen. Korjataan aivopieruja, kirjoitusvirheitä, juoniaukkoja ja muita kummallisuuksia kunnes kaikki ( tai vähintään enemmistö ) ovat tyytyväisiä siihen mitä ollaan tekemässä. Jos ei ole tiimiä, voi olla hyvä idea luetuttaa käsikirjoitus jollakin toisella. Omille virheilleen on ikävän sokea.

Tämän vaiheen jälkeen käsikirjoituksesta pitäisi käydä selväksi kohtausten kulku sekä joka kohtauksessa esiintyvät henkilöt, taustat, äänet ja mahdolliset animaatiot ja muut.

Käsikirjoituksen perusteella käydään sitten skriptaamaan tarina Renpyn ymmärtämään muotoon.

Skriptaus

Renpyn käyttämä skriptikieli on hyvin läheistä sukua Python nimisellä ohjelmointikielelle. Siinä on hyvin vähän sulkuja, puolipisteitä ja muita erikoismerkkejä ja sitä on muutenkin pakko kirjoittaa helposti luettavaan muotoon.

Skripti koostuu erilaisista osista. Alussa on läjä määrittelyjä, jotka kertovat Renpyllä mistä mikäkin kuva löytyy, millä nimellä sitä kutsutaan myöhemmin ja kuka hahmo on kukin.

Määrittelyjen jälkeen tarina kirjoitetaan auki käyttämällä kuvien ja hahmojen vaihtoja, vuorosanoja, efektejä ja valintoja.

Tarinan voi jakaa useampaan tiedostoon, mikä helpottaa asioita ja työn jakamista.

Uuden projektin aloittaminen.

Ihan ensimmäisenä suosittelen seuraavaa järjestelyä. Koska Renpy päivittyy aika ajoin, on järkevää pitää projektit omassa kansiossaan jossain muualla kuin Renpyn asennuskansion sisällä. Itse käytän seuraavaa järjestelyä.

Renpy/ <- Pääkansio
------- Renpy_projektit <- kaikki projektit
------- renpy-6.13.12 <- itse renpy

Kun Renpyn käynnistää, voi valita "Options" -> "Projects Directory" kohdasta kansion, jota Renpy käyttää projektikansiona.

Kun on saanut projektikansion tehtyä voi tehdä uuden projektin kohdasta "New Project". Renpy kysyy nimen uudelle projektille ja luo samalla nimellä uuden kansion äsken määriteltyyn projektikansioon.

Seuraavaksi pääsee valitsemaan teeman sekä värit, joita voi molempia muokkailla ja vaihtaa vielä myöhemmin.

Renpy on nyt luonut seuraavat kansiot ja tiedostot.

Koodi: Valitse kaikki

Renpy_projektit/            <- Kansio jossa pidät projekteja
--- Projektin nimi/         <- juuri äsken luotu projekti
--- ---  README.html            <- readme
--- ---  game/                 <- kaikki itse peliin liittyvä
--- --- ---  options.rpy          <- pelin asetukset
--- --- ---  screens.rpy          <-  ???
--- --- ---  script.rpy             <- skripti !!!
   Lisäksi tiedostoista on .rpyc versiot, jotka ovat käännettyä koodia. Anna niiden olla :D


Oletuksena Renpy hakee kaiken tarvitsemansa game/ kansiosta, joka tulee vähän isommassa projektissa äkkiä täyteen kuvia, skriptitiedostoja ja muuta sälää. Tämän takia on ihan järkevää tehdä alikansiot varsinkin kuville ja äänille. Skriptitiedostojen pitää pysyä game/ kansiossa. (tämän voi ehkä muuttaa, mutta en tiedä vielä miten)

Pro tip! Pelin kansioon pääse kätevästi painamalla "Game Directory" niin ei tarvitse etsiskellä.

Kuville voi luoda vaikka seuraavat kansiot

Koodi: Valitse kaikki

Hahmot/
--- Kakashi/     <- oma kansio hahmolle jolla on paljon ilmeitä, asuja ym,
--- --- kakashi_surullinen.png
--- --- kakashi_iloinen.png
--- Sasuke.png
--- Naruto.png
--- Morso.png

Taustat/
--- kyla.jpg
--- joki.jpg
--- koulu.jpg



Kun kansiot ovat lopulta kunnossa ( siinä on vähän hommaa, mutta se maksaa itsensä kyllä takaisin), päästään taas eteenpäin.

Skriptiä voi editoida Renpyn mukana tulevalla jEdit ohjelmalla tai jollakin muulla tekstieditorilla. ( ei siis wordilla tai vastaavalla) Notepad toimii myös, mutta voi olla aika tuskaa. Itse käytän ohjelmaa nimeltä Notepad++, joka osaa värittää skriptiä ja sallii myös tehdä muita kivoja juttuja. Editoria voi vaihtaa samasta "Options" kohdasta kuin projektikansiotakin. Jos sitä ei vaihda, Renpy avaa skritpin jEditissä, joka on myös tosi hyvä editori.

(Lähinnä jos käytät jotain muuta ohjelmaa kuin jEdittiä sinun täytyy jotenkin saada muutettua tabit välilyönneiksi, koska skriptissä ei saa olla tab merkintöjä. (Tab on suomeksi Sarkain, se nappi jossa on <-- ja --> allekkain) )

Editoimaan pääsee painamalla "Edit Script", jolloin Renpy avaa jEditin. Renpy on myös ovelasti kirjoittanut skriptitiedostoon valmiiksi lyhyen pelin, josta voi myös katsoa mallia :D

Määrittelyt.
Määrittelyjen on pakko olla tiedostossa nimeltä script.rpy. Renpy aloittaa pelin aina tästä tiedostosta. Määrittelyt alkava taikasanasta init:

Huoms: Merkillä # alkavat rivit ovat kommentteja, joten Renpy ei ota niitä huomioon. Niitä on hyvä käyttää niin muistaa miksi jotain tehdään tai mitä johonkin kohtaan on vielä tulossa. Ääkkösiä ja muita jänniä merkkejä kannattaa välttää kommenttien, nimien ja vuorosanojen ulkopuolella ihan varmuuden
vuoksi.

Koodi: Valitse kaikki

init:

     # Ladataan taustakuva.
     # Ensimmäinen sana image kertoo renpylle että kyseessä on
     # kuva. Seuraavat, välilyönnillä erotellut sanat ovat kuvan nimi ja
     # samalla tageja.  Tässä bg tarkoittaa että kuva on taustakuva (background) ja
     # joki on kuvan tunniste. Myöhemmin kuvaa kutsutaan sen koko nimellä
     # bg joki

     # Yhtäsuuruusmerkin toisella puolella lukee mistä kuva löytyy. Renpy aloittaa etsimisen
     # aina game/ kansiosta.
     image bg joki = "Taustat/joki.png"

     # Hahmojen kuvat ladataan samalla tavalla. Niihin voi myös laittaa tunnisteita jos haluaa
     image naruto = "Hahmot/naruto.png"
     
     # Ladataan myös morso
     image morso = "Hahmot/morso.png"

     # Lopuksi hahmojen määrittelyt.
     # define sana kertoo Renpylle että seuraava kirjain vastaa hahmoa.
     # Tässä kirjain n vastaa hahmoa, jonka nimi on Naruto ja jonka nimi värjätään
     # pelissä värillä #009900. Värit ovat html värikoodeja.  Useimmat piirto-ohjelmat näyttävät
     # värin kohdalla html koodin. Netistä löytyy myös erilaisia värikarttoja.
     define n = Character('Naruto', color="#009900")

     # Toinen hahmo, nimeltään Morso ja väriltään harmaampi.
     define m = Character('Morso', color="#223322")



Renpy ei siis näe kommentteja ja koko ylläolevan läjän informatiivinen aines on siis vain

Koodi: Valitse kaikki

init:
    image bg joki = "Taustat/joki.png"
    image naruto = "Hahmot/naruto.png"
    image morso = "Hahmot/morso.png"
    define n = Character('Naruto', color="#009900")
    define m = Character('Morso', color="#223322")


TÄMÄ KOHTA MENEE HELPOSTI PIELEEN Katso oheiset kuvat.
Projektikansion valinta: Sinisellä korostettu kansio on se oikea. Tässä kohtaa pitää painaa OK.
http://www.flickr.com/photos/muffintrap/7433372400/

Kuvien laittaminen oikeaan paikkaan. Kuvan sijainnin ja skriptissä kirjoitetun sijainnin pitää täsmätä juuri oikein, muuten Renpy ilmoittaa että ei löydä kuvaa
http://www.flickr.com/photos/muffintrap/7433422960/


Kun kaikki pelin kuvat ja hahmot on määritelty voidaan aloittaa itse skripti. (Ääniä ei tarvitse määritellä, niitä kutsutaan suoraan :p)

Skripti alkaa taikasanoilla
label start:

Peli alkaa aina tästä kohdasta. Jos tahtoo jakaa skriptinsä useaan tiedostoon voi jo tässä vaiheessa hypätä toiseen tiedostoon ja jättää script.rpy :n vain määrittelyt.

Tämä vaihe on varsinkin ekassa pelissä valinnainen, mutta näytän sen tässä samalla.
Luodaan uusi tiedosto game/ kansioon ja nimetään se vaikka kappale1.rpy. Tämän tiedoston alkuun kirjoitetaan vaikkapa:

Koodi: Valitse kaikki

label kappale1:


Palataan script.rpy :n ja lisätään sinne

Koodi: Valitse kaikki

label start:
    jump kappale1


Nyt Renpy aloittaa pelin ja löytää heti käskyn siirtyä toiseen label kohtaan. Se etsii kaikki game/ kansiossa olevat .rpy päätteiset tiedostot läpi kunnes löytää kohdan label kappale1: ja jatkaa peliä siitä.

Okei ja nyt oikeasti tehdään jotain sisältökin tähän peliin. Takaisin kohtaan label kappa1: ja seuraavat rivit sisään.

Koodi: Valitse kaikki

label kappale1:
   
    # Laitetaan taustaksi aiemmin määritelty taustakuva joesta.
    # scene laittaa kuvan taustalle ja bg joki on kuvan nimi
    scene bg joki
   
   # Tekstilaatikkoon ilmestyvä teksti laitetaan lainausmerkkien sisään.
   # Jos lainausmerkkien edessä ei ole määriteltyä hahmoa tai nimeä, ei
   # nimeä myöskään tule näkyviin.
    "Joen varrella on rauhallista kunnes alkaa kuulua kauheaa mekkalaa!"
    " *Rätinää ja rytinää* "
   
    # Piirretään nykyisen taustan päälle aiemmin määritelty kuva naruto
    show naruto

    # Kirjain n vastaa hahmoa nimeltä Naruto, joten tämän tekstin eteen tulee nimi
    # Naruto
    n "Voi ei. Morso jahtaa minua!"
   
    # Poistetaan Naruto kuvasta
    hide naruto

    # Näytetään toinen hahmo
    show morso
    n "Örglrh!"

    # Piilotetaan hahmo
    hide morso

    # Laitetaan vielä naakka sanomaan Ahoo! Jos keksii hahmoja lennosta, niiden nimet laitetaan myös lainausmerkkeihin.
    # Nimen sijasta siinä voi olla vaikka "kaapuun pukeutunut mies"  "ääni kadulta"  "kaiutin" tai mitä tahansa
    #
    "naakka" "Ahoo!"

    # Peli loppuu tähän. Taikasana on:
    return


Ja hurraa, skriptasimme ensimmäisen pelimme. Siinä ei ole vielä valintoja, mutta niihinkin päästään vielä. Teen kaikista eri skriptausjutuista mieluummin oman tutoriaalin.

Tässä vielä koko skripti yhdessä pötkössä ilman kommentteja:

Koodi: Valitse kaikki

init:
    image bg mansion1 = "Taustat/mansion1.png"
    image bg joki = "Taustat/joki.png"
    image joki = "Taustat/joki.png"
    image naruto = "Hahmot/naruto.png"
    image ch naruto normal = "Hahmot/naruto.png"
    define n = Character('Naruto', color="#009900")
    define m = Character('Morso', color="#223322")

label start:
    jump kappale1

label kappale1:
   
   
    scene bg joki
    "Joen varrella on rauhallista kunnes alkaa kuulua kauheaa mekkalaa!"
    " *Rätinää ja rytinää* "
   
    show naruto
    n "Voi ei. Morso jahtaa minua!"
    hide naruto

    show morso
    n "Örglrh!"
    hide morso

    naakka "Ahoo!"

    return



Hahmojen tulemista ja menemistä sekä kohtauksien vaihtumista voi säätää erilaisilla määreillä. Myös perusanimaatioita on Renpyssä valmiina. Niitä löytyy Renpyn dokumentaatiosta täältä: http://www.renpy.org/wiki/renpy/doc/tutorials/Quickstart#Transitions. Käyn niitäkin tarkemmin läpi erillisessä skriptausoppaassa myöhemmin.

Peli pysähtyy aina vuorosanoihin ja odottaa kunnes pelaaja menee eteenpäin.

Skriptin voi testata painamalla "Check Script (Lint)" jolloin Renpy käy skriptin läpi ja nalkuttaa virheistä. Useimmat virheet tulevat kirjoitusvirheistä, tabin käytöstä tai sisennyksen virheistä.

Sisennykset ovat tärkeitä! Ne pitää tehdä juuri niinkuin esimerkeissä näkyy, muuten peli ei tiedä mikä kuuluu mihinkin. Normaali sisennys on neljä välilyöntiä, mutta ainakin jEdit osaa automaattisesti muuttaa tabin painalluksen neljäksi välilyönniksi. Toinen nyrkkisääntö on että kaksoispisteen jälkeen seuraava rivi alkaa aina sisennyksellä.

Kun virheet on saatu korjattua voi painaa "Launch" jolloin peli lähtee käyntiin. Jess. Päästään seuraavaan vaiheeseen.

Testaus

Testaus on yksinkertaisesti sitä että pelataan peliä ja tarkistetaan että kaikki jutut ovat oikeilla paikoillaan. Lisäksi on hyvä eläytyä pelaajan asemaan ja koittaa unohtaa mitä on tulossa. Onko juoni jännittävä? Saako pelaaja tarpeeksi tietoa? Ovatko kuvaukset riittäviä? Tietääkö pelaaja missä ollaan? Onko se tarkoituksellista?

Itselleen voi esittää kysymyksiä ja antaa peliä muiden pelattavaksi. Tärkein juttu on kuitenkin että onko peliä mielenkiintoista pelata. Jos testaamiseen kyllästyy, niin todennäköisesti valmiskin peli on melko tylsä.

Testauksesta en osaa tässä vaiheessa sanoa paljon enempää ^^;


Päivittäminen

Tässä vaiheessa listataan testauksen perusteella löytyneet puutteet tai sen kautta mieleen tulleet parannusehdotukset. Tarvittavat muutokset tehdään käsikirjoitukseen, kuviin ja skriptiin ja sitten taas testataan. Testauksen jälkeen päivitetään ja sitten taas testataan.

Tätä jatketaan kunnes peli on valmis. (Tai aika, rahat tai kiinnostus loppuu :P) Valmiin pelin määritelmästä on hyvä sopia etukäteen muiden kanssa. Tai kirjoittaa itselleen ylös milloin peli on tarpeeksi hyvä. Lyhyys ei ole huono asia, varsinkaan ensimmäisissä projekteissa.

Kun peli sitten lopulta on saatu miellyttävään kuntoon voidaan siirtyä seuraavaan vaiheeseen eli julkaisemiseen.


Palaa sivulle “Pelinteko”

Paikallaolijat

Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 1 vierailija