Olen tekemässä pientä räiskintäpeliä (tai ehkä vähän isompaakin) ikään kuin harjoituksena. Ajattelin tehdä tästä hieman TKta edistyneemmän ja lisätä jonkinlaisen skriptikielen. Tietenkin haluan tehdä sen itse, joten älkääpä kukaan ehdottako valmiita kirjastoja.
Kiinnostaisi tietää:
Tarkoitus on tehdä skriptikieli mahdollisimman täysin Pascaliksi; enintään muutoksia tulee johonkin hyvin pieneen.
Kieli on C++, mutta jos on vinkkejä, saa toki muillakin kielillä auttaa. (Mieluiten pitäydytään kuitenkin CP-linjalla, siis C & Pascal)
Niin ja vielä: Kun joskus sadan vuoden kuluttua saan pelini valmiiksi, onko joku kiinnostunut sitä testaamaan? Laitetaanpa tähänkin nuo hyvät ehdot:
lainaus:
- - on kiinnostunut testaamaan peliä kunnolla ja antamaan siitä palautetta, on kirjoittanut Ohjelmointiputkan keskusteluun ainakin 50 viestiä ja jonka koneessa on Windows 95 tai uudempi sekä DirectX 8 tai uudempi.
En ole Windows95:stä aivan varma, saattaa kyllä vaatia jopa Win98:n
Oman skriptikielen kehittämisessä on melkoinen urakka. Skriptikielistä mm. Pythonilla voi skriptata omaa peliään, jolloin ei tarvitse kehittää koko kieltä alusta alkaen. Gamedevistä löytyy skriptausta koskevia artikkeleja ihan mukavasti, osoitteesta http://www.gamedev.net/reference/list.asp?
Ainakin merkkijonojen käsittelyn on oltava hyvin hallusa.
Ei kannata tässä vaiheessa vaivata päätään sillä, mitä tekee kun projekti on valmis. Kyllä sitä ehtii sitten miettiä kun homma tulee (jos tulee) valmiiksi. Ei millään pahalla mutta vie vähän uskottavuutta kun heti kysytään testaajia.
En ole tuota skriptikieltä aivan heti vääntämässäkään, ja voin sanoa suoraan, että tästä projektista tulee valmis. Olen jo hakannut päätäni seinään pari kertaa haukattuani liian ison projektin, ja nyt tiedän, mihin pystyn (siksipä en teekkään 3D-peliä).
firebug: Enkös sanonut, etten halua käyttää valmista systeemiä?
Heikki: Mainitsinhan tuossa testauskohdassa, että projektin valmistuminen tulee kestämään vielä hetkisen, pitkälti siksi, että tämä on ensimmäinen kunnollinen DirectX-ohjelmani. On vaikea sanoa, miten pitkällä olen, mutta en nyt ihan heikoillakaan. Sittenpä katsotaan, mikä on uskottavaa, kun saan tämän tehtyä :)
Oho, en lukenut viestiä tarpeeksi tarkasti. Tuohon testaukseen voisin ihan mielelläni osallistua, joten ilmoitele joko ircissä, täällä tai Messengerin kautta jos tarvitset testaajaa(sähköposti löytyy profiilista). Onnea projektiin!
Milloin mahtaa projektisivu taas olla käytössä? Näyttäisi siltä, että tämä sopisi ihan hyvin sinnekin, siis koko peli. Tiedä sitten, mitä skriptikielestä tulee; saattaa tulla aika raskas pyörittää. Tulee tukemaan näillä näkymin lähinnä lukuja muuttujina, omia structeja ei ainakaan voi kukaan tehdä. Tiedä sitten mitä hyötyä kenellekkään olisi merkkijonoista...
Voisin testata, ilmottele sähköpostilla tai irkissä.
Pistän projekteihin jos voin tai teen uuden aiheen sitten kun saan pelin pelattavaan kuntoon. Mutta tuosta skriptauksesta saa vielä ehdotella jos on jotakin ideoita. Toistaiseksi olen saanut aikaan systeemin, joka lukee tiedostosta, poistaa kommentit (sekä C, C++ että Pascal-tyyliset) ja sen jälkeen poistaa rivinvaihdot ja turhat spacet, muuttaa UpperCaseksi, jolloin koodista tulee erittäin lystikkään näköistä kun kaikki on samalla rivillä. Tämän jälkeen sitten alkaakin itse työskentely.
Edit: Ja nimeäkin saa ehdottaa. Peliin ei tule minkään laista juonta, joten se ei ole rajana. Jotain tyyliin "Tapan Kaikki", "MegamättöMillenium"
Nimiehdotus: (lievästi seko, mutta menkööt. :)) Maisteri Tuska ja yläosaton ase
?!?
Metabolix kirjoitti:
?!?
En kyllä tiedä mistä tuo tuli mieleen... Ainiin toinen ehdotus: Me kaksi ja (puhallettava)pumppuhaulikko... Kahvi ja energiajuomat eivät taida sopia minulle... :)
No huh huh. Tuo jälkimmäinen kyllä olisi muuten ihan hyvä, mutta pelistä olisi tarkoitus tulla aivan mieletön mättö isolla porukalla (4 - jopa 16 pl), jos vain riittää innostus tehdä verkkosysteemejä. Mikäli joku ei anna aivan erityisen hyvää ehdotusta, päädyn ainakin toistaiseksi MegaMättöMilleniumiin, kun sain jo kivan M-logonkin piirrettyä (saanut vähän vaikutteita Unrealista).
Tai vaikka Tulta Monille englanniksi: Fire For All... Ehkä olisi parasta painella nukkumaan...
Voit käyttää apunasi esim. flexiä ja yaccia: http://dinosaur.compilertools.net/
Koodivinkeistä löytyy mm. https://www.ohjelmointiputka.net/koodivinkit/
Metabolix kirjoitti:
Onko muita hyviä tapoja tehdä muuttujajärjestelmä kuin linkitetty lista? Sisällyttäisin sen luokkaan, joka hoitaisi oikean muuttujan etsimisen nimen tai ID:n perusteella.
Linkitetty lista ei ole hyvä tapa. Suosittelisin hajautustaulua.
Mitä vikaa linkitetyssä listassa on?
Ja kuinka tässä tapauksessa kannattaisi järjestää hajautustaulu?
Tarkoituksena on käyttää vain funktion sisäisiä muuttujia ja parametrejä ja järjestelmä tulisi toistaiseksi olemaan hyvin suppea, jolloin linkitetyn listan hitaus ei olisi este.
Nykyiset myllyt pyörittää ihan kivasti linkitettyäkin listaa. Itse olen pari scriptikieltä tehnyt, eikä se niin kovin iso urakka ole, jos luistaa virheilmoituksista ja dokumentoinnista. Tein skriptikielet pascalilla ja Delphillä.
Delphissä muuttujat iskin kolmeen ListBoxiin (Nimet, Arvot ja tyypit), kun en jaksanut kehitellä kauniimpaa (ja sitä paitsi listBoxeista näki, mikä meni pieleen suorituksen aikana). Muuttujat etsin IndexOf:lla.
Koodista etsin varattuja sanoja strpos-funktiolla (strpos-tai vastaava, jos nyt muistan Delphin käskyjä).
Täydellistä purkkakoodiahan se oli, mutta sain tehdyksi haluamani.
Aihe on jo aika vanha, joten et voi enää vastata siihen.