Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Tehtävät ja puhuminen

Sivun loppuun

petrinm [29.05.2005 20:10:46]

#

Miten tehdä roolipeliin(Erkki tyylin peli) tehtäviä ja puhumisosioita ilman ehtolausevuoria eli taulukko muodossa ja siten että niitä on helppo muokata ja lisätä?

temu92 [29.05.2005 21:05:50]

#

Teet vaan sitte niitä taulukoita

Aruviel [29.05.2005 21:17:21]

#

temu92 kirjoitti:

Teet vaan sitte niitä taulukoita

Gee, joskus tulee vain tunne, että olisi parempi olla kirjoittamatta, jos ei ole muuta sanomista, kuin että "Emmie tiiä joteki vaa :))))."

Keskusteluista siis. Itse olen HoV:n kanssa tehnyt niin, että keskustelu muodostuu kahdesta peruspalikasta: topicista ja answereista.

Jokaisella topicilla ja answerille on id. Saman id:n alaiset niputetaan yhteen; eli jos topicilla on id 10 ja tiedostosta löytyy 3 vastausta, joiden id on 10, ne ilmestyvät vastausvaihtoehtoina. Jokaisella answerilla on myös seuraavan topicin id. Näin keskustelu pyörii, kunnes tullaan kohtaan, jossa answerin id on 0, jolloin keskustelu loppuu. Näin siis karkeasti. Kysäse vain, jos et tajunnut. Mieleni on jo ihan tiltissä. Topicit ja answerit tietoineen ovat siis tiedostossa omassa muodossaan, josta ne sitten luetaan käyttöä varten.

Edit: Ja tämmöinen keskustelu on siis tämän tyylinen:

"Mitä sää sönkkäät?"

1. Emt
2. Nappia ottaani
3. Ammun siut

Edit2: Ja jos oikeasti haluat tuhota aivosolusi (eikä vähiten hirveän englantini takia), tekemäni koodi on nähtävissä täältä:

http://cvs.sourceforge.net/viewcvs.py/valhalla/valhalla/src/dialogue.cpp?rev=1.6&view=markup

Antti Laaksonen [29.05.2005 21:23:36]

#

Sinun kannattaa ehkä suunnitella jonkinlainen yksinkertainen skriptikieli, jonka avulla pelin tapahtumia voi esittää. Kielen toteuttaminen ei ole aivan helppoa, mutta sen jälkeen pelin tapahtumien kirjoittaminen on mukavaa. Kielen rakenteen voit tietenkin päättää kokonaan itse. Minä tekisin varmaan jotain tällaista:

jos rahat alle 10
    tietäjä: "Sinulla on vain %rahat% kolikkoa. Se ei riitä."
    tietäjä: "Tule uudestaan myöhemmin."
muuten
    vähennä rahat 10
    lisää taikayrtti
    tietäjä: "Tästä saat yrtin, jolla kuningas parantuu."
    tietäjä: "Se pitää syödä ennen seuraavaa kuunpimennystä."

Metabolix [29.05.2005 21:29:45]

#

Mitään tuon kummempaa oikotietä onneen tuskin löytyy. Tehtävät ovat varmasti vielä hieman mutkikkaampia kuin keskustelu. Riippuu täysin tehtävien laadusta (ja pelin toteutuksesta), millaisia toteutusvaihtoehtoja on käytössä, mutta luonnollisesti on järkevintä tehdä jokin oma tiedostotyyppi ja hieman alkeellista skriptin tapaista.

Suoralta kädeltä tulee mieleen tällaisia ideoita:

Jokainen keskustelun vastausvaihtoehto voisi sisältää tiedon siitä, liittyykö siihen jokin tapahtuma, ja jos liittyy, ladataan tiedostosta myös tämän tapahtuman data. Tapahtumalla voi sitten olla muutamia erilaisia tyyppejä, kuten tehtävän saanti tai se, että NPC vie / antaa jonkin esineen.

Tehtävä sisältäisi tiedot suorittamisen vaatimuksista: Mikä otus pitää olla tapettuna, mitä tavaroita pitää omistaa, missä kartassa pitää olla, mitkä keskustelut pitää suorittaa. Jokaiseen merkittävään asiaan liitettäisiin oma lippu, joka merkittäisiin pelaajan tietoihin, kun hän tekee ko. asian. (Liput voitaisiin poistaa tilaa viemästä heti, kun kaikki niihin liittyvät asiat on tehty eikä niitä enää tarvita.)

Tässä kaikessa on vielä paljon kehitettävää, mutta tärkeintähän on heittää ilmaan toteutuskelpoisia ajatuksia, niin että jokin edes tulee toteutumaan.

petrinm [30.05.2005 18:23:01]

#

Kokeilen toteuttaa ensin tätä Aruvielin kertomaa systeemiä ja olisi nyt siitä pari kysymystä?
1.Mitä toi lopussa oleva aktivaattori numero tarkottaa ja mitä se määrää?
2.Mitä nämä sotkut tarkottaa alussa?

001ttttopic
001tttopic
001ttopic
001topic

Otettu goodfgy.txt tiedostosta.

Edit:Tiedoston nimi väärin.

Aruviel [30.05.2005 18:58:47]

#

Pahoittelen, tuo goodfgy.txt tiedosto ei taida näkyä oikein esmes windows notepadilla ja / tai wordpadilla. Johtuu jostain merkistöeroista Linuxini kanssa. Voin pistää tähän sen tiedoston sisällön.

#
topic
001|"The orcs! They have invaded the castle!"|
002|"They have somehow gotten themself into castle! This is terrible... They are many!"|
004|"I'm not moving anywhere...!"|
endtopic
# id|answer|next_id|new_start_id|
answer
001|"Mmh... What?", you ask slowly.|002|004|
002|"Come, quickly. We have to escape!"|004|004|
004|"Fine then, coward..."|000|004|
endanswer

Unohda se aktivaattori. Se ei pahemmin liity dialogin eteenpäin kulkemiseen. Aktivaattori on tavallaan tarkoitettu eräänlaisten skriptitiedostojen kytkemiseen keskusteluun. 0.0.5 versiossa sitä ei ole edes tungettu ohjelmaan mukaan, jos 0.0.5:n satuit ottamaan.

Edit: Älkää hirttäkö huonon englannin takia.. :)

petrinm [31.05.2005 15:49:55]

#

Kiitos! Sain toimimaan ton Aruvielin systeemin.

Aruviel [31.05.2005 16:10:31]

#

Vautsi :)! Saitko toimimaan ihan copy&pastella? Vai rakensitko täysin oman systeemin tuota varten?

Koodini on GPL:n alaista, kuten käy ilmi. Jos kopioit, niin toivoisin, että kyseistä lisenssiä kunnioitetaan.

petrinm [31.05.2005 16:36:15]

#

Teen aluksi pelimoottoria VB:llä, joten pienen C tietämyksen avulla arvailin koodin toiminnan ja käänsin sitä vb:lle.
Rakenne eroja on jonkun verran, mutta toiminta on täysin sama.


Sivun alkuun

Vastaus

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

Tietoa sivustosta