Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Auttakaa alkavaa

Sivun loppuun

Kisakuski [04.05.2004 10:57:37]

#

Olen aloitteleva ohjelmoija, 24vuotias mies. Mahdollisia kieliä ovat VisualBasic 6.0SP6, VisualC++ ja QBasic. Näistä osaan hieman QBasic ja VisualBasic -kieliä. Tietokoneeni on 233MHz Pentium Pro jossa 48mb muistia ja win98se.

Tavoitteeni on tehdä roolipeli peli. Pelin on tarkoitus olla tekstipohjainen eli ei tarvitse grafiikkaa ja toimia kuten pöytäroolipelit. Pelaaja luo itselleen hahmon ja pelaa sillä seikkailuita. Tietokone kertoo muutamalla sanalla mitä pelaaja näkee ja hoitaa taistelut vertaamalla luodun hahmon tietoja vihollisen hahmon tietoihin ja käyttää noppaa luomaan hieman jännitystä taisteluun. Vuorovaikutus maailman muihin henkilöihin on tarkoitus toetuttaa antamalla pelaajalle lista mahdollisista vastauksista. Vastauslistaan voisi vaikuttaa myös pelaajan määrittelemä luonne ja ominaisuudet.

Ajattelin käyttää Runequest tai Cyberpunk roolipelin sääntöjä ja/tai maailmaa.

Pelissä ei tarvitse olla hahmon kehitys systeemiä.

Tahtoisin tehdä pelistä sellaisen että siihen voisi liittää uusia seikkailuita ilman että alkuperäiseen koodiin tarvitsisi kajota.

En ole tekemässä ohjelmaa kaupallisiin tarkoituksiin vaan se on ollut henkilökohtainen haaveeni jo pitkän aikaa.

KYSYMYKSET

Onko tavoitteeni liioiteltu?

Mitä kieltä minun kannattaisi käyttää?

Mistä saisin tavoitteenikannalta näppäriä ohjeita ja oppaita?

Onko joku muu tehnyt vastaavaa?

Grey [04.05.2004 13:03:04]

#

Kisakuski kirjoitti:

Pelissä ei tarvitse olla hahmon kehitys systeemiä.

Miksei tarvitse olla? Hahmojen kehittyminenhän on eräs roolipelien hauskuus.

Kisakuski kirjoitti:

Tahtoisin tehdä pelistä sellaisen että siihen voisi liittää uusia seikkailuita ilman että alkuperäiseen koodiin tarvitsisi kajota.

Simppeliä, älä tee aivan kaikkea ohjelmaan, vaan osa tiedostoihin. Esim. esineet, viholliset, NPC, kartat, seikkailut, ym. erillisissä tiedostoissa. Ohjelma sitten vain lukee noita tiedostoja ja tulkitsee siellä olevaa tietoa. Asia, jonka saa joku selittää miten se käy helpoiten.

Kisakuski kirjoitti:

Onko tavoitteeni liioiteltu?

Ei ole, ainakaan minun tavoitteisiin verrattuna..

Kisakuski kirjoitti:

Mitä kieltä minun kannattaisi käyttää?

Qbasic lienee tuollaiseen kaikkein helpoin. DOS-ohjelmat eivät kyllä nykyisistä Windowseista tykkää, mutta onhan niitä DOS-emulaattoreja olemassa Windowsille.

Kisakuski kirjoitti:

Mistä saisin tavoitteenikannalta näppäriä ohjeita ja oppaita?

Täältä! :-D

-Grey-

hunajavohveli [04.05.2004 16:38:30]

#

Kisakuski kirjoitti:

Onko tavoitteeni liioiteltu?

Mikäli todella olet aloittelija ohjelmoinnissa, toteutus voi koitua hankalaksi. Mutta ohjelmoimalla sitä taitoa kertyy lisää, ja täältä saat tietenkin apua jokaiseen pulmaan. Kannattaa yrittää, mutta kokemusta olisi syytä olla, tai muuten tekee virheitä, joita pitäisi ehdottomasti välttää tällaisissa suuremmissa projekteissa.

Kisakuski kirjoitti:

Mitä kieltä minun kannattaisi käyttää?

Jos kyseessä siis on tekstipohjainen peli, suosittelisin oikeastaan kahta vaihtoehtoa. Mikäli peli ei vaadi nopeutta, vaan kaikki on lähinnä tekstin näyttämistä tms., kannattanee käyttää QBasicia, jos kerran lisäksi osaatkin sitä jo. Mikäli peli käyttäisi pitkiä silmukoita yms., on syytä käyttää C:tä ja C++:saa. Nämä ovat vaativampia kieliä, mutta pidemmän päälle niiden osaaminen koituu suureksi hyödyksi. Grafiikan teon alkuun pääseminen voi olla C-kielellä vaikeaa, mutta jos et sitä tähän tarvitse, kieli sopisi hyvin.

Kisakuski kirjoitti:

Mistä saisin tavoitteenikannalta näppäriä ohjeita ja oppaita?

Googlen haulla löytyy yleensä se, mikä yleensä on löytyäkseen. Ja tietysti tältä sivulta. Täällä käy säännöllisesti paljon kokeneita ohjelmoijia.

Kisakuski kirjoitti:

Onko joku muu tehnyt vastaavaa?

Roolipelit ovat yleensä isomman luokan projektia, johon helposti lopahtaa innostus. Olen itse erilaisia kokeiluja tehnyt ja saanut moitteettomasti toimimaan, mutta en ole koskaan kehittänyt niitä kunnolliseksi peliksi. Varmasti täältä löytyy niitäkin, jotka ovat vieneet tavoitteensa aivan loppuun.

Heikki [04.05.2004 17:02:20]

#

Jos et paljoa ohjelmointia osaa, ei ehkä kannata heti aloittaa suurta peliprojektia. Mieti mitä asioita haluat peliin, ja osaatko toteuttaa ne. Esimerkiksi taistelusysteemmi, hahmon ja vihollisten liikkuminen (oletan liikkumisen tapahtuvan samalla tavalla kuin esim. Nethackissa). Osaatko tehdä ne? Jos osaat, kokeile tehdä "engineä", joka lataa tiedostoista tiedot maailmasta, aseista jne. ja antaa pelaajan toimia ks. alueella.

Kielenä QBasic riittänee projektiisi.

(Tuli aika sekava viesti... no onnea projektiisi!)

Antti Laaksonen [04.05.2004 17:16:10]

#

Kisakuski kirjoitti:

Tahtoisin tehdä pelistä sellaisen että siihen voisi liittää uusia seikkailuita ilman että alkuperäiseen koodiin tarvitsisi kajota.

Tällöin sinun kannattaa tallentaa seikkailut erillisiin tiedostoihin, jotka ovat pelin ymmärtämässä muodossa. Pelissä itsessään on vain runko, joka toimii tiedostosta tulevien käskyjen mukaan. Tiedostojen tallennusmuoto taas riippuu täysin siitä, miten sen itse suunnittelet.

Kisakuski kirjoitti:

Mistä saisin tavoitteenikannalta näppäriä ohjeita ja oppaita?

Juuri kuvaamasi kaltaisen pelin tekoon tuskin on olemassa erillisiä ohjeita, mutta jos osaat ohjelmoida hyvin valitsemallasi ohjelmointikielellä, pystyt myös tekemään tuollaisen pelin. Jos et ole ohjelmoinut juurikaan aikaisemmin, sinun kannattaa kuitenkin todennäköisesti aloittaa ensin jostain helpommasta projektista.

Onnea projektiin joka tapauksessa!

Sami [04.05.2004 17:29:50]

#

Jos osaat lukea C++ -kielistä koodia ja olet tekemässä jonkin verran rogue-tyyppistä peliä, niin QHackista saattaa olla apua (pieni alku rogue-tyyppiselle pelille)
QHackin lähdekoodi ja hieman tietoa siitä on saatavilla osoitteesta http://www.adom.de/misc/qhack.php3

Grey [04.05.2004 17:45:56]

#

Luulen että Kisakuski ei tarkoittanut mitään rogue-like tyylistä roolipeliä. Lukekaa tämä kohta uudelleen.

Kisakuski kirjoitti:

Vuorovaikutus maailman muihin henkilöihin on tarkoitus toetuttaa antamalla pelaajalle lista mahdollisista vastauksista. Vastauslistaan voisi vaikuttaa myös pelaajan määrittelemä luonne ja ominaisuudet.

Niin, vastauslista. Eli minun käsityksen mukaan A ,B ,C ja D - valinnat (taikka 1, 2, 3 ja 4).

-Grey-

Bill Keltanen [04.05.2004 17:58:17]

#

Hmmm, jos teet 3D-peliä, voi tulla hieman ongelmia 233 mhz prossun kanssa.. Vanhassa koneessa oli 350 mhz, 3d pelit pätki nuun hullusti, että.. :D

Sami [04.05.2004 18:05:15]

#

Bill Keltainen: siitä vain rauhassa piirtelemään grafiikatonta 3D-grafiikkaa :)

Ja onko tästä pelistä siis tulossa enemmän tekstiseikkailun tyyppinen, kuin rogue-tyyppinen?

hunajavohveli [04.05.2004 18:20:30]

#

Minun käsitys ainakin korjautui ja vaikuttaa siltä, ettei tässä ehkä olisikaan merkkipohjaisia hahmoja, jotka liikkuvat kartalla, vaan ainoastaan joku valikko, minne mennä, mitä tehdä, lista varusteista jne.

jcd3nton [04.05.2004 21:08:12]

#

Hmm...Miksi kaikille tulee aina tekstipohjaisesta roolipelistä ekana mieleen QBasic? Eikö joku voisi hiukan tehdä kunniaa Visual Basicille, sillähän saa tehtyä helposti mukavan interfacen (Lisää muutaman pictureboxin sinne tekemään pelaamisesta edes hiukan hauskempaa, ja muuta tällaista pientä...), josta voisi helposti nappuloilla tehdä mukavan systeemin pelille...

Alkaa vaan jotenkin kyllästyttää QBasic ja se ettei lähes ikinä törmää hyvään roolipeliin joka olisi tehty VB:llä... tylsä tuijotella DOS grafiikkaa (jos ei sitäkään) tai ylipäätänsä tehdä kaikki näppäimistöllä dosissa... Mukava olis välillä naksutella VB:n nippeleitä.

remontti-reiska [04.05.2004 21:14:04]

#

Windows ympäristö ei ainakaan minun mielestäni oikein sovi tekstiroolipelille. Dos on kyllä se miellyttävämpi järjestelmä siihen tarkoitukseen. QBasic tai C++ olisivat ne kielet joilla tekisin. Tässä tapauksessa suositelisin Qbasicia.

tuomas [04.05.2004 21:39:27]

#

Kisakuski kirjoitti:

Onko tavoitteeni liioiteltu?

Ei ainakaan minun mielestäni.

Kisakuski kirjoitti:

Mitä kieltä minun kannattaisi käyttää?

Visual Basic on helppo kieli oppia mutta jos et omista versiota jolla voi kääntää ohjelmia en suosittele sen valintaa.
Visual basicin 6.0 versiota on vaikea saada vaikka
sellaisen haluaisikin ostaa.
Tosin jos haluat voit käydä latamaassa osoitteesta http://www.maxcode.com ilmaisen visual basic 3.0:n
Käsittääkseni täällä koodataan eniten visual basicillä joten
apua luulisi silloin riittävän.

Qbasicistä ja visual c++ en osaa sanoa mitään koska minulla ei niistä ole pahemmin kokemusta.

Kisakuski kirjoitti:

Mistä saisin tavoitteenikannalta näppäriä ohjeita ja oppaita?

Täältä, kysyminen kannattaa!
Myös googlesta on usein hyötyä..

Aruviel [05.05.2004 07:23:47]

#

Vähän kommenttia täältä suunnalta. Olen siis aikalailla ehta nyyppä tässä hommassa. Itsekin olen juuri tuon tyylistä peliä tekemässä. Sattumanvaraisia tapahtumia, taisteluja ja hahmon kehittymistä. Vielä pitäisi tuo tiedostosta seikkailuiden lukeminen hoitaa siihen.

Eihän se helppoa ole ollut, mutta haastavaa ja hauskaa. On tullut paljon opittua, että mikä meni väärin jne. Itse käytän tuossa C/C++:aa ja C++:aa ilman mitään olio-ohjelmointia. En vain tajua sitä ;P. En oikein ole mitään hyviä oppaita tuon tekemiseen löytänyt.

Tuossa vielä kuva siitä mitä olen itse saanut aikaiseksi:
http://koti.mbnet.fi/antsac/screenshot002.png

hunajavohveli kirjoitti:

Minun käsitys ainakin korjautui ja vaikuttaa siltä, ettei tässä ehkä olisikaan merkkipohjaisia hahmoja, jotka liikkuvat kartalla, vaan ainoastaan joku valikko, minne mennä, mitä tehdä, lista varusteista jne.

Näin minäkin ymmärsin Kisakuskin tarkoittavan.

Niin, ja tavoitteesi ei ole mitenkään liioiteltu. Tutustut vain vähän kielen perusteisiin niin pääset jo pitkälle. :)

Gaxx [05.05.2004 15:45:57]

#

Jos minun mielipidettäni kysytään, niin roolipeli ei ole mikään vaativa koodauksen osalta. Suuri työ siinä kyllä on, mutta suosittelisin tekemään merkkigrafiikalla, sillä tuollainen paikan ja tilanteen kuvaus on mielestäni monta kertaa monimutkasempaa koodata ja huomattavasti työläämpää(tai sitten en vain ole keksinyt yksinkertaista menetelmää). Taistelut on mielestäni vaikeinta koodata.

Tee kuitenkin niin kuin itse haluat ja parhaaksi näet :)

Kisakuski [11.05.2004 12:22:14]

#

Lopullinen tavoitteeni on tehdä siis tekstiseikkailu. Sain juuri tietää että niitä kutsutaan sellaisiksi.

Minulla on käytössäni VisualStudio 6.0 Professional päivitettynä SP6:teen.

Visual C++ on tuntunut älyttömän mutkikkalta enkä oikein tahdo saada edes helloworld tekstiä aikaiseksi.

Visual Basic taas tuntuu kivalta kun siihen voi laittaa kaikkia painikkeita, scrollattavia listoja ja ehkäpä kuvia peliä elävöittämään. Tahtoisin siis alkaa tekemään projektia sillä.

Se Engine minua kiinnostaa! miten minun kannattaisi suunnitella se? Se kai voisi toimia niin että se kommunikoisi monien tekstitiedostojen kanssa ja ehkä tallettaisi tietoja johonkin.

Lopputulos olisi parhaimmillaan jos se olisi kuin runequest tai Cyberpunk. Hahmo täytyy pystyä luomaan.

hunajavohveli [11.05.2004 15:14:42]

#

Enginen suunnittelussa on otettava huomioon monia asioita. Ensinnäkin olisi varmaan syytä opetella aliohjelmien käyttö. Kaikkea koodia ei kannata kirjoittaa pääohjelmalistaukseen, vaan pääohjelmasta käsin voidaan kutsua pienempiä aliohjelmia, jotka suorittavat jonkin tietyn osan enginessä.

Kisakuski [13.05.2004 11:37:48]

#

Onko mahdollista että joku kertoisi enginen rakenteen ja ehkä tekisi minulle hyödyllisiä koodi esimerkkejä jonnekkin imuroitavaksi tai katsottavaksi.

Myös Visual C++ opas olisi hyvä tuonne oppaat osioon.

Myös yksinkertainen opas tekstiseikkailun tekemiseen visual basicilla olisi hyvä. www.gametutorials.com sivuilla on tekstiseikkailuntekoon ohje mutta C++ ohjelmalla.

Oppaiden tekijät!

vastaavan lyhyen, esim. 3 osaisen, oppaan tekeminen ei ole varmaan vaikeaa. Siitä saisi varmasti monet hyötyä ja näkökulmia mutta minulle se olisi aarre.

www.gametutorials.com oli siis osoite jossa tekstiseikkailu opas on englanniksi ja c++ tehtynä. Se tänne suomeksi, VB:llä ja samalla suomalaisen läheisellä huumorilla höystettynä kuin muutkin teidän huippu oppaat.


Lainasin kirjastosta Visual Basic 6.0 oppaan mutta siitä on vaikea poimia tarkoituksen mukaisia ohjeita. Tahtoisin opetella ohjelmoimaan näin tekstiseikkailun ja pelien näkökulmasta. Kirjoissa kaikki tehtävät ovat hyötyohjelma näkökulmasta ja niitä on vaikea soveltaa.

hunajavohveli [13.05.2004 15:39:46]

#

Voitko hieman tarkentaa tuota osoitetta, mistä opas löytyy?

mamaze [13.05.2004 15:46:52]

#

onpas iso keskustelu yhdestä tekstiseikkailusta. Käytät vain Visual Basicin Labeleja ja niiden Caption - ominaisuutta.

tuomas [13.05.2004 16:05:41]

#

Kerro nyt vaikka kaikki ne asiat joita et ole saanut peliisi tehtyä / olet tehnyt jonkinlaisen mutta ei toimi kunnolla / haluaisit muuten vaan tietää miten jonkin asian saa toimimaan.
Voit myös lähettää minulle vaikka sähköpostia ja voin auttaa sinua sillä tavalla(osoite löytyy profiilista).
Vaikka huonoahan tuossa olisi se että joku muu voisi osata tehdä asian helpommin / paremmin.

Sami M [13.05.2004 16:33:57]

#

Suosittelen tekemään tekstiseikkailu QB:llä, koska sillä sellaiset on helppoja tehdä.

Kisakuski [14.05.2004 14:00:02]

#

http://www.gametutorials.com/Tutorials/GT/GT_Pg1.htm
on sivu jolla ohje on.

Vastaava mutta Visual Basicilla ja liikkumiseen voisi käyttää neljää painiketta käskyjen sijaan.

Ehkä suurin ongelma minulla on ohjelman rakenteen kanssa.
Olen tehnyt jo sen verran että pystyn liikkumaan muutaman huoneen välillä mutta minun tapani on tosi mutkikas ja epäkäytännöllinen.
siinä on globaali muuttuja nimeltä sijainti ja jokaisessa huoneessa on input kysymys joka suunnalle ja valittu suunta antaa arvon muuttujalle sijainti.

tätäkin on kokeiltu vasta QB:llä.

mamaze [14.05.2004 17:12:13]

#

hei jos laittaisit kuule inputin roskakoriin ja käyttäisit näppäinkoodeja? eivät ole hankalia aloittelijoillekaan ja sitäpaitsi se menisi askeleen pidemmälle pelkästä tekstiseikkailusta!

hunajavohveli [14.05.2004 21:40:35]

#

Jos voisit lähettää minulle pätkän koodistasi, voisin tehdä sen rakenteeseen tarpeelliset muutokset ja lähetää sen takaisin kommenttien kera, jotta ymmärrät, miten koodi kannattaa toteuttaa.

teksturi [16.05.2004 20:30:24]

#

Itsekin tein ensin tekstiseikkailun c++ jos haluat tekstisikkailuun pohjan voin lähetää sähköpostilla.

Jyri [16.05.2004 22:30:36]

#

Mä oon harjotellu 2pv PHP ja nyt oon alottanu oman foorumin teon...
"Onko tavoitteeni liioitelut?" :DDDDDDDD ;DDDDDDDD

teksturi [17.05.2004 14:35:23]

#

Jos jatkat harjoittelua vielä jonkin aikaa niin ei ollenkaan

Linkku [17.05.2004 17:49:55]

#

Jyri kirjoitti:

Mä oon harjotellu 2pv PHP ja nyt oon alottanu oman foorumin teon...
"Onko tavoitteeni liioitelut?" :DDDDDDDD ;DDDDDDDD

Empä nyt tiedä, php:n alkeet oppii nopeasti ja se on kohtuullisen helppoa toteuttaa foorumi tekstitietokannalla... Riippuu tietenkin siit mitä lisukkeita aiot foorumiisi lisätä (esim. rekisteröityminen)

Jyri [17.05.2004 18:43:39]

#

Rekisteröityminene? :D ei vainenkaa..... Mitäs ne funktiot taas olikaa?

Kisakuski [18.05.2004 08:15:50]

#

Kaikki apu on tervetullutta!

hunajavohveli [18.05.2004 12:44:41]

#

Kisakuski, jos vain viitsit lähettää sitä koodiasi, niin voin ihan hyvin tehdä siihen tarpeellisia parannuksia, ja kommentoida niin, että ymmärrät, mitä olen muuttanut, ja miten koodi vastedes kannattaa suunnitella. Vai pitäisikö kirjoittaa suoraan asiaa käsittelevä opas? Koodistasi olisi kyllä hyötyä siihenkin, jotta osaisin ottaa oppaassa huomioon mahdollisimman paljon asioita, joita kokematon ohjelmoija tekee toisin kuin kokenut. Vaikka et kai kuitenkaan ihan kokematon ole?

Kisakuski [31.05.2004 10:04:51]

#

Opas olisi kullan arvoinen.

Kirjoittamani koodi on ollut sellaista että olen tehnyt qbasicilla loopin joka on määritellyt globaalit muuttujat "maailma" ja "sijainti". ensimmäisenä konsijainti on 0. kutsutaan aliohjelmaa call maailma ja siellä if sijainti = 0 then print "kuvausta kuvausta vaihtoehtoja" sitten tulee kysymys input "(a)pohjoiseen (b)maanrakoseen" ja sitten tulee taas ehtolauseita if (muuttuja) = a then sijainti = 2 else sijainti = 1
sitten palataan alkuohjelmaa joka taas kutsuu maailmaa ja siellä on sitten mahdollisuuksia if sijainti = 1 then juttuja if sijainti = 2 then juttuja if sijainti = 3 then juttuja jne...

tämä saattaa olla ehkä typerin tapa tehdä tekstiseikkailua mutta keksin sen itse.

Nyt yritän lukea ja sisäistää VisualBasic oppaita että keksisin jonkin fiksun tavan tehdä seikkailun sillä.

CCDA [01.06.2004 21:41:44]

#

Aloitin itsekin ohjelmoinnin tekstiseikkailulla. Yllätys yllätys, suurin ongelma olikin se että en ollut suunnitellut sisältöä ennen ohjelmointia -> homma levisi käsiin vaihtoehtojen haarautuessa uudelleen ja uudelleen... Ei siis kannata tehdä niinkuin minä tein, vaan kartoittaa vaihtoehdot kunnolla ennen koodausta.


Sivun alkuun

Vastaus

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

Tietoa sivustosta