31.7.2013

Lentelyn kannalta oleellisin

Valintojen maailma

Jotkut lupaukset on tehty pidettäviksi. Ei-yllättävänä ratkaisuna siirryin siis lentävän koneeni tulevan aseistuksen pariin. Projektin alkuvaiheessa mainostetut lisäkomponentit eivät kaikki olleet mahtumassa siipien alle, joten ensin oli suoritettava raakaa arvontaa. Lisätankit eivät varmaan yllättäneet ketään poisputoamisellaan, niiden kaveriksi kentälle jäivät peruspommit. Rynnäkkötehtävään lähtenyt kone varusteltiin siis kahdella UB-32M-57 -rakettikasetilla, kahdella raskaammanpuoleisella yksittäispakatulla S-25 OFM -raketilla ja ihan kaiken varalta parilla R-60 lyhyen matkan ilmataisteluohjuksia.

Kamat kasaan

Yllälistattujen kasaaminen oli sangen pikainen aliprojekti, kuten olettaa saattaa. Siivoilin valujälkiä sieltä täältä ja mietin, että uskallanko viilailla noita erinäisiä kanardeja ja siivekkeitä siistimmiksi. Vielä en uskaltanut, mutta ehkä myöhemmin.


Pommiräkit

Johonkin nuo vehkeet pitäisi saada roikkumaankin, mutta rangassa oli vain kaksi laukaisukiskoa. Epänäppäränä ja täytenä tumpelona arastelin seuraavaa askelta lievästi, mutta kun mietin, että nuo kiskot ovat aika pienet, siipien alapinnoissa ja muutenkin ehkä hyvin ei-huomiotaherättäviä osasia kokonaisuudessa, saattaisin selvitä ehjin nahoin.

Napsin siis millisestä muovilevystä muutaman sopivankokoisen suunnilleen suorakulmaisen palasen alkuperäispaloja mallina käyttäen. Seuraavaksi väkersin ensimmäisen koepalan suunnilleen mallikuvan muotoon - "tarpeeksi sinne päin" oli päätökseni ja jatkoin seuraavien kanssa.



Ihan kaikkia pintaruntuja en aikonutkaan lähteä jäljittelemään ilman kunnollista kaiverrustyökalua. Tyydyin siis tuohon etupäässä jotenkuten näkyvään pystysuoraan uraan. Tiedän kyllä, kaikki noista läpysköistä ovat vähän eri mallisia ja mitä vielä, mutta kuten aiemmin totesin, ihan tarpeeksi sinne päin palikoiksi, jotka vain töröttävät siiven alapinnan ja huomattavasti mielenkiintoisemman kaluston välissä jemmassa.

Jostain syystä keksin tehdä vain kahteen palaan asetustapin virkaa toimittavat väkäset. Taisin olla niin touhuissani kahden ensimmäisen kanssa, etten edes ajatellut koko asiaa. Ai tekisin uudet erikseen? Eivätköhän nuo kaksi pysy kiinni ihan noinkin.

25.7.2013

Sitä sun tätä

Nokkapyörän teline

Rätvelsin tuon toisen lisähärpäkkeen kiinni nokan laskutelineeseen. Tällä kertaa, sen sijaan, että olisin jättänyt koko vipstaakin silmämääräisesti tyystin oman onnensa nojaan liiman kuivuessa, asettelin kokonaisuuden paikoilleen ennen liimausta. Tietenkään koko vekotin ei ole vielä kiinni rungossa, ihan vaan maalausprosessia oletettavasti helpottaakseni. Voi olla, että taas vaihteeksi saan todeta olleeni ihan väärässä. Voi myös olla, että ideani oli vaihtelun vuoksi peräti nerokas.




Tötteröitä

Moottorisuuttimet maalasin ensin Vallejon Oily Steelillä ja niputin vasta sitten yhteen. Tämän järjestyksen valitsin luonnollisestikin välttääkseni aina yhtä ärsyttäviä (ja kameran armottomasti paljastamia) maalittomia laikkuja juuri ja juuri näköalueen laidoilla. Päälle vetäisin testimielessä Vallejon mustaa litkua ja pyyhin ylimääräiset pois. Nämäkin saavat odotella keskenään, että saan koneen rungon maalattua ja liitän ne vasta sitten muuhun koneeseen.



Tilpehööriä

Kauniiksi lopuksi pistin jättimäisen pitot-putken paikalleen. Yritin siivota palasta parhaani mukaan, mutta jotenkin tuosta jäi vähän sellainen jälkitunnelma, että oma reisiluunikin olisi sirompi koneen kyljessä. Jonkunlainen hinta on näköjään maksettava siitä, ettei ole scratchbuilderi rautaisella ammattitaidolla.
Lisäksi paikkansa löysivät koneen "niskasta" töröttävä vipstaaki, pitot-putken vierellä möllöttävä mokkula ja nokan lokinseivästyspeitsi. Viimeinen jopa näyttäisi olevan kutakuinkin suorassa, mutta sekin on vähän kolhon näköinen siivoiluyrityksistäni huolimatta.



Joko seuraavaksi riehutaan?

Luulen, että vastaukseni on vihdoinkin kyllä. Aseet voisivat olla seuraavana vuorossa, kun ehdin istahtaa mallini ääreen. Räkit niille on ainakin tehtävä, mutta luulen olevan parasta, että väkerrän aseisiin nähden sopivat palat sitten, kun ko. osat ovat kasassa.

18.7.2013

NOP

0x00

Kuten otsikko sanoo, no operation eli mitään oleellista en saanut aikaan koko viikon aikana. Koetan korjata tilanteen viikon sisään.


10.7.2013

Pyrstöpuoli rantakuntoon

Vakaa vanha...

Tarmokkaan asentelun seuraava kohde oli lentopelin takapuoli. Sivuvakaajat ja kaverinsa vaakatasossa (ei, en ikinä muista kaikkia lentokoneiden eri osien virallisia nimiä, koettakaa kestää) eivät kaivanneet samanlaista vakaata paikallaanpitelyä asettumisensa ajaksi, mikä on aina plussaa. Tuohan rupesi jopa näyttämään joltain!




Oleellinen puute

Kuvia ihastellessa silmiin saattoi pistää takaosassa ammottava reikä tuossa puuttuvien moottorisuuttimien välissä. Ilmeisesti samalla vaivalla kun aseistus jätettiin pois, jätettiin myös ilmajarruviritelmän välistä jarruvarjopaketti. Viipaloin valuranganpätkästä pienen kalotin tuohon tilaan ja onnittelin itseäni. Ruma ratkaisu? Ehkä, mutta on se aina parempi kuin tyhjä ontelo, sanon minä.


Kauniiksi lopuksi tarjoan kuvatuksen keskeneräisestä etulaskutelineestä. Toinen noista vipstaakeista jäi odottelemaan ensimmäisen liimauksen kuivumista ja letkut puolestaan myöhempää ajankohtaa. Edistystä tapahtuu, vaikkakin hitaasti.
Niin ja minähän vasta palasin lomalta maanantaiyönä, ei tässä ajassa ihan mitä tahansa ehdi. En edes minä, vaikka ripeä olenkin sille päälle sattuessani.


3.7.2013

Oma koodailuprojekti, osa VI

Toisesta suunnasta lähestyen

Aiemmin aloitin suoraan peliolioiden ja niiden kontrolloinnin parissa. Koetin jossain välissä tehdä välistä jäänyttä muuta osuutta, mutta jotenkin tuon .py-filun sörkkiminen ei oikein tuntunut hyvältä ratkaisulta. Olemassaoleva koodi oli kokonsa puolesta vähän ikävää käpälöitävää IDLEllä (enkä ole laiskana käyttänyt muuta), joten aloitin sivussa sivuprojektin sille kaikelle muulle. Myöhemmin voisin sitten yhdistää tekemäni viritelmät ja nauttia/kärsiä lopputuloksesta.

Tilasta toiseen

Päätin aloittaa määrittelemällä tekeleelleni muutaman eri tilan, jossa se voi olla. Näiden mukaan eventtien (tapahtumien) käpälöinti olisi jaoteltavissa aika siististi erikseen:
  • päävalikossa
  • kartassa
  • pelissä
  • taukotilassa (ihmisten kielellä ihan vaan pause)
Näin. Päävalikkoidea lienee peräisin jostain Apogeen tasohyppelypeleistä sun muista, tai niitä muistellessani minä tuota hahmottelin. Oleellista on, että pelin voi aloittaa ja siitä voidaan poistua - muut vaihtoehdot, kuten tallenna, lataa/jatka (riippuen siitä, onko mitään tallennusviritelmiä olemassa) ja asetukset voidaan toteuttaa sitten joskus mutta ruudulle ne voitaisiin silti syöstä.



Kun peli aloitetaan, pelimaailma alustetaan annettujen ja tässä vaiheessa täysin kovakoodattujen parametrien mukaisesti. Java-taustani voi vaikuttaa siihen, että olin alusta alkaen takomassa paisuvaa määrää luokkia ja perintää sinne tänne.

Maailmojen rakentaja

Mietiskelin, mitä kaikkea oleellista tähän voitaisiin tarvita. Game luonnollisesti sisältää ja pyörittää peliin itseensä yleisesti liittyviä asioita, kuten tilansa, asetuksensa ja erinäköisten näkymien renderöinnin. Gameen sisältyy sitä varten luotu World, pelimaailma, jossa taas pyöritellään Osapuolia (Faction), niiden asioita ja pelimaailman kokoa (testivaiheessa 3x3 -maailma). Maailma koostuu Sektoreista eli loppujen lopuksi niistä "tasoista", joissa pelaaja avaruuslaivallaan koheltaa. Sektorilla on tässä vaiheessa lähinnä koko (pelialueen x,y  -koko) ja omistaja (joko ei ketään tai jokin Osapuoli). Jatkossa sillä on lista romusta, jota se sisältää.

"Politiikka"

Osapuolilla taas on nykyhetkellä nimi, tunnusväri, rotu, politiikka ja nollasta useampaan laivastoa. Rotuoppina on hatusta vedetty humanoidi / insektoidi  / robotoidi tai sekalainen - en ollut kovinkaan innovatiivisella tuulella noita raapustaessani. Rotujen ainoa vaikutus tulee politiikan kautta, yleispoliittisia maailmankatsontoja on kolme: neutraali, ksenofobi ja aggressiivinen. Ideana on, että neutraaleja ei kiinnosta, mikä olet, ksenofobit suuttuvat oitis, jos olet erirotuinen ja viimeistä ryhmää ei sitäkään kiinnosta, kuka ja miksi olet, kunhan et ole kauaa.

Ehkä typeränä ideana raapustelin vielä osapuolien välisiä suhteita varten listan asetuksia. Liittolaiset, ystävällismieliset, neutraalit, epäystävälliset ja viholliset - siinä viisi tapaa, jolla kaksi eri osapuolta voivat toisiinsa suhtautua, jos suinkaan kykenevät.

Politiikan jatke

Kukkien jakaminen kanssaolioille ei varmaan kiinnosta ketään, joten sotaa tulee käymän. Sodankäyntiin mietin Laivastoja (Fleet) eri Osapuolille. Laivasto voisi koostua yhdestä tai useammasta emoaluksesta (Capital Ship), joilla voi tai ei voi olla uumenissaan hävittäjäkokoluokan (Fighter) aluksia sun muita rotteloita.
Testimielessä ajettava alustin rakentaa pelaajan kaveriksi muutaman Osapuolen, joista tasan yksi on nimetty: Subspace Pirates (rotu: sekalainen, politiikka: valitaan aina satunnaisesti) ja sillä on aloitussektorissa Laivasto "Hammer of the gods" kolmella aluksellaan ("Thunder", "Wind", "Rain"). Riemukasta. Loput nimet avain kaikelle ja kaikille on tarkoitus kaivaa jostain puppugeneraattorista, epämääräisellä lopputuloksella. Satunnaisuus on hieno asia ja tekee mm. testaamisesta huomattavasti mielenkiintoisempaa, kun kaikki ei tapahdu aina 1:1 samassa järjestykessä.
Laivastoille voi antaa kohdesektorin eli mikään niistä ei olisi sidottu tiettyyn sektoriin, vaan voisi siirtyä tarpeen vaatiessa kiusaamaan pelaajaa tai toista Osapuolta. Noin ainakin ideatasolla sen pitäisi toimia. Tekoälyttömyyden arpominen onkin sitten ihan oma lukunsa, joka pelottaa lievästi jo nyt.

Kartalla vai kujalla?

Pelin aloitettuaan ja maailman alustajaa ehkä odoteltuaan peluuttelija pääsee ihastelemaan karttanäkymää. Nollasektorissa näkyvä rastiympyrä osoittaa pelaajan purtilon suhteellisen paikan maailmassa. Samaa kuviota meinasin harkita käyttäväni minikartassa, jos sellainen tuntuu tulevaisuudessa tarpeelliselta.

3x3

5x5


Tässä vaiheessa, kun kartasta poistuu, ei olekaan sitten mitään tekemistä. Ruudulle jää tyhjä näkymä ja pois pääsee joko karttaan tai välimenuun (jatka/asetukset/poistu), jollaisen väkästelin kasaan tuossa pari päivää sitten. Niin ja k-näppäintä hivelemällä kuolee ja pääsee kuolemanäkymään, josta taas jatketaan päävalikkoon. Oleellista sekin.

Seuraavaksi varmaan koetan saada vanhat luokkani käyttöön ja toimintaa ruudulle. Yksi iso mietittävä asia on vielä tuo peliolion nopeus... haluanko pitää sen entisellään (x- ja y-nopeudet) vaiko nopeus ja kulma -arvot erillisinä muuttujina. Joka tapauksessa joudun sörkkimään asioita, eli ihan helpolla en pääsisi missään nimessä.