lauantai 18. huhtikuuta 2009

Projektin päätös

Terve,

Pahoittelen tätä viivästymistä. Päätin että en todellakaan jaksa tuhlata aikaani tämän surkean koodin paikkaamiseen ja juonen kehittelyyn.
Pelissähän on siis jossain määrin toimivina ominaisuuksina:
Tilepohjainen grafiikka ( uusien tilejen lisääminen helppoa )
Kartan luku tiedostosta ( Helppo ja visuaalinen kartta muoto )
Questit ( Ei niiiin helppo lisätä uusia, mutta onnistuu )
Aseet ( Sama kuin questeissa )

Blaa blaa.. Kaiken näköstä siellä on, mutta jos jotain olen oppinut tästä projektista ( sen lisäksi että opin julmetusti xna:sta ), niin se on kyllä ollut suunnittelun tärkeys. Seuraavan projektin tulen kyllä suunnittelemaan kunnolla, jotta oppisin luomaan fiksumpaa koodia.

Pistän huomenissa tulee Lähdekoodia, jos se ketään kiinnostaa.

tiistai 7. huhtikuuta 2009

18. ja 19 Tunti

Nyt on viikonloppu vietetty ja maanantaikin meni ilman mitään päivityksiä. Tänään kuitenkin väsäsin alkeellisen kaupan ja questin. Homma on kuitenkin siten tehty, että periaatteessa tavaroita ja questeja on helppo lisätä, mutta se jää nähtäväks.

Uusimman version pelistä voi ladata täältä! Muistathan, että sinun koneellasi tulee olla asennettuna ainakin .Net framework 2.0, ehkä jopa 3.5 ja Xna Redistributable härpäkkä.

Peli on nyt siinä vaiheessa, että enempää en ominaisuuksia oikeastaan voi laittaa, koska aika loppuu kesken.
Viimeiset tunnit käytän grafiikoihin, uusiin mappeihin ja juoneen :P
Koitan saada vielä sen tehtyä, että mappia voi vaihtaa tuosta noin vain.. ehkä lisään muutaman tavaran, mutta katotaan mihin aika riittää.
Veikkaisin, että huomenna on peli valmis.

perjantai 3. huhtikuuta 2009

Pieni tauko

Moro,

aattelin pitää viikonlopun vapaata koodaamisesta, koska meille tuli vieraita, joten ei oikein pysty koodailemaan. Mutta sunnuntaina tai sit maanantaina jatketaan.

-Riku

keskiviikko 1. huhtikuuta 2009

14. ja 15 Tunti

Nyt alkaa näyttämään hyvältä. Taisteleminen toimii, joskin alkeellisesti, mutta toimii. Mobit kuolee ja tappelee vastaan. En voinut vielä tehdä hirveän monimutkaista taistelusta, koska tavaroita ei ole luotu. Esim yhdenkäden miekka lyö nopeampaa, mutta vahingoittaa vähemmän. Tällä hetkellä kaikki lyö 1/2s ja damage on 2d6 ( eli 2x random 1-6 ).

Pelissä on nyt taustamusiikkia, jonka löysin soundboard.com:ista. Kyseessä on 70 luvun pornofilmistä napattu mahtava biisi :)
Samalta sivulta kaivoin esiin myös askel äänet ja miekan kalinat.
Askelista siis kuuluu ääni ja taistelusta myös.
Aikaa kului tuohon taistelun ajoittamiseen, että saan säädettyä, koska on kenenkin vuoro lyödä, siten että jos toinen on nopea, se voi lyödä useammin kuin se hidas kaveri.

Seuraavaksi käyn tavaroiden kimppuun. Luon joitakin perus tavaroita, kuten potionit, miekat, kirveet, armorit. Sitten voin tehdä lootti systeemin ja sen jälkeen NPC:n jolta saa questeja jne.

Tämmöstä tänään. Peli etenee siis ihan hyvää vauhtia, huolimatta että kirjoitin lähes kaiken uudelleen. Huomenna tai ylihuomenna luultavasti päättyy tämä projekti.

13. Tunti

Kello on 01:18..
Tein ukon ja mobin testikuvasta 4 kuvaa ( ylös,alas,vasen ja oikea ), muutin piirtämistä siten, että riippuen suunnasta, niin piirretään eri kuva.
Lisäsin ääniä, jotka oli todella helppo lisätä. Tausta musiikki soi ja askelista kuuluu äänet. Olin oikeasti yllättynyt, kuinka helppoa äänien lisääminen oli.
Koodi on jotain tän tapaista:

SoundEffect omaEfekti;
omaEfecti = Content.Load("EfectinNimi");
omaEfecti.Play();

Ei ollut paha homma.
Ja %&¤#? sentään.. huomaa että kello on paljon. Ihmettelin, että minkä takia, aika simppeli functio, ( joka käy kartan läpi ja luo tarvittavan määrän mobeja ja antaa niille koordinaatit, jotta engine osaa sit piirtää ne tarvittaessa), sijoitti mobit päin persettä..
Käytin niiden luomiseen normaalia 2x for looppia ja sijoitin for-muuttujat suoraan x/y koordinaateiksi juuri luodulle mobille.. However.. Ne muuttujat oli väärin päin. Etin ja ihmettelin vikaa, kun mobit spawnaa ruudulle kohtalaisen hassuun järjestykseen ja ratkaisu ongelmaan oli muuttujat jotka oli vaihtaneet vahingossa paikkaa.. Pikkasen sapettaa.

Mutta mutta, huomenna sit taistelun ja questien? kimppuun.

tiistai 31. maaliskuuta 2009

Tunnit 8-12

Tulihan sitten käytettyä nekin tunnit.
Kirjoitin suurimman osan ( 95%) koodista uusiksi. Koodi on nyt paremmin järjestetty ja muutenkin loogisempi. Huolimatta että siinä meni monta tuntia, niin olen tyytyväinen tän hetkiseen toimintaan. Sain jopa "saumattoman scrollauksen" toimimaan. Eli huolimatta siitä, että liikutaan tile kerrallaan, niin liikkuminen tapahtuu nykimättä, liukuen siis.

Törmäyksen tunnistuksen kanssa oli vähän ongelmia ja joudun muuttamaan kartan muotoa, jotta hommat saa nopeammin toimimaan, niin kuin haluan.

Lisäsin myös ensimmäisen vihollisen ja törmäystarkistuksen siihen. Taistelu funktioita olen jo kirjoitellut, mutta ei tähän rumbaan kerennyt nyt. Huomenna luulisin saavani taistelut ja viholliset toimimaan. Itse asiassa, päätän nyt, että se on seuraava minkä kimppuun käyn.


Puoliaika, niin se aika vain hupenee. Peli on vielä kaukana pelattavasta, mutta toivoa on. Nyt pitäis kaiken olla helppoa lisätä, koska uskokaa pois, koodi oli aivan hirveetä :)
Seuraavina tunteina aion luoda vihollis interaktiivisuuden, sitten lootti ja inventory järjestelmä.
Ehkä sitten tulisi hyvin npc joka myy/ostaa kamaa/antaa questeja. Questi järjestelmä, varmaan jokin simppeli esim. .txt jossa on questin nimi, jokin tyyppi ( kerää, tapa ) ja määrä. En usko että on vaikeata, mutta katsotaan.

En ole vielä kokeillut, mutta luulisin, että "Engine" kykenee useaan mappiin, eli voin lisätä karttaan merkin, jonka päälle astuttaessa siirtyy toiseen karttaan. Näkis vaan :D

Mutta joo,
Uusi testi versio on taas upattu ja voitte sitä näppäillä jos siltä tuntuu.
Tarvitset .NET Framework 3.5 Jotta se toimii ( luulisin )

maanantai 30. maaliskuuta 2009

7. Tunti

Nyt on vihollisiakin. Nyt alkaa tuntumaan jo "suunnittelemattomuuden taakka" harteilla.. Koodi on täynnä virityksiä, kaikki on kirjoitettu suoraan koodiin. Enään en alusta aloita tätä projektia. Ehkä tällaisen voisi pistää uudestaan pystyyn, koska seuraavalla kerralla voisi sitten suunnitellakin jotain.

Mutta niin, loin muutaman uuden luokan. BaseCreature, player ja mob. Bases on kaikki yhteiset ominaisuudet, esim. voima, ketteryys, miekankäyttö, nimi jne.

Ominaisuuksien lisääminen tähän koodiin, on vähintäänkin mielenkiintoista.. Koodi on täynnä käyttämättömiä muuttujia ja funktioita, sekä ihmeellisiä listoja ja olioita.

Mutta kyllä mä tästä pelin saan vielä :)