Pelissä toimit tutkalennonjohtajana, jonka tehtävänä on huolehtia vaaditusta määrästä koneita. Koneille annetaan selvityksiä, joita koneet noudattavat. Pelin runko ja tekniikka on vuosien aikana elänyt omaa elämäänsä.
Kielenä pelissä toimii C++, jota ryyditetään sfml-grafiikkakirjastolla. Lisäksi mukana on tinyxml-kirjasto, sekä sqlite-kirjasto. Pelin ulkoasu on toteutettu pääosin xml-tiedostoilla, sekä tyylittelyt css-taitolla.
Koko koodia ei ole yhtenäistetty pitkään aikaan, joka varmasti näkyy kummallisuuksina tiedostosta toiseen. Osa koodista on pysynyt muuttumattomana tuolta vuodesta 2014 asti. Koodi kääntyy makefilen (PutkaRTS) avulla mukavasti virheittä. Peliä pystyy jo pelaamaan ja peli päättyy hallitusti.
Seuraavia steppejä
Pelin viimeisimmän lähdekoodin voi ladata githubista. Mikäli halua on, niin projektiin voi oikein mielellään osallistua.
Eipä oikein tuntunut toimivan. Koitin windows binäärejä (winellä) sekä käänsin pelin lähdekoodista. Sama tulos. Kun valikosta valitsee pelaa, niin peli sulkeutuu. Myöskin Makefile olisi mukava olla mukana.
Kirjoittiko standargi logivirta std::clog kuitenkin konsoliin jotakin tolkullista pelistä? Pelkän binaarin lisäksi ajokansiossa tulisi olla myös lueminut.txt tiedostossa olevat tiedostot baanat.txt, pisteet.txt, tuloportit.txt ja tunnukset.txt. Näiden puuttumisesta pitäisi tosin heittää keskeytys ja ohjelman suorituksen loppua.
Kyllä konsoliin tulostuu
ohjelma::alku()
ohjelma::lataa_asetukset(asetukset.ini)
valikko::aja(0)
ohjelma::piirra_valikko(tulos, valittu)
ohjelma::piirra_valikko(tulos, valittu)
ohjelma::piirra_valikko(tulos, valittu)
ohjelma::piirra_valikko(tulos, valittu)
ohjelma::loppu()
Ja lueminut.txt:ssä mainitut tiedostot on paikallaan ja niissä on sisältöä. Onkohan vika sitten ympäristössä. Tosin kopioin kyllä oman binäärini alkuperäisen binäärin luo.
Valikossa oletuksena on peli ja sen pitäisi tulostua tumman punaisella tekstillä. Eli painamalla valikossa enter pitäisi pelin käynnistyä normaalisti.
Joo nyt toimii. Oli vain epäselvästi valikossa, että kumpi painike on valittu.
Hauska =)
Miksei muuten korkeutta säädetä F7:sta? Sehän on tyhjä?
Napit perustuvat virtuaaliohjelmaan nimeltä ivac, jolla virtuaalista lentoliikennettä lennonjohdetaan. Siellä noilla napeilla kirjataan annetut selvitykset ns. liuskalle.
Pieni päivitys version 1.0.1 mukana. Laitoin asetukset-rakenteeseen tarkistuksen, että onko pyydettyä asetusta olemassa. Tätä voisi vielä parantaa laittamalla kutsuttavan funktion nimen mukaan keskeytysviestiin.
Toinen parannus on, että jos kone menee rajojen ulkopuolelle, nini se poistetaan vektorista. Lisäksi tästä nostetaan virhe pelaajalle. peli ei kuitenkaan lopu tuohon virheeseen.
Porrastusvirheen tarkistuksessa on vielä pieni virhe, koska ne asettaa kaksi porrastusvirhettä yhdestä virheestä. Tämä on tarkoitus korjata viimeistään versioon 1.2 mennessä.
Jaahas, siinäpäs vierähti aika ihan huomaamatta. Eli omasta mielestäni oikein mukava pelin alku. Yksi lisäominaisuus vois olla saada koneet maahan aikataulussa. Ja jossain vaiheessa nousevat koneet myös sekaan.
WinC kirjoitti:
Jaahas, siinäpäs vierähti aika ihan huomaamatta. Eli omasta mielestäni oikein mukava pelin alku. Yksi lisäominaisuus vois olla saada koneet maahan aikataulussa. Ja jossain vaiheessa nousevat koneet myös sekaan.
Kiitoksia palautteesta ja hauska jos peli miellytää.
Nousevat koneet lisätty versioon 1.2, joka on ladattavissa. Koodin rakenne menee vielä jossakin vaiheessa uusiksi, koska siellä on vielä muutamia inhottavia kiiressä tehtyjä mokia. Osa toiminnoista on näkyy turhan suurelle osalle koodia tarpeettomasti.
Sain valmiiksi version 1.5. Kummallinen bugi vaivaa peliä. Toisinaan konetta valitessa peli sulkeutuu antamatta tolkullista virheilmoitusta. Konsoliin palautuu virhekoodi 3 0x3. En ole onnistunut vielä eristämään ongelmaa mihinkään funktioon. Eli jos keksitte missä ongelma on, niin kertokaa toki.
EDIT: ongelma ratkaistu. Koneiden luontifunktiossa oli pieni bugi. Lähteville koneille ei välttämättä tullut ulosmenopistettä. Tämän pisteen nimi yritettiin kuitenkin kirjoittaa, joten siinä ongelma.
Versio 1.6 valmistui hetki sitten päivityksen yhteydessä saatii suuri osa kiusallisia bugeja korjattuja. Muun muassa koneiden tulee olla oikeassa suunnassa kiitotiehen nähden. Pelin alussa pelaaja joutuu päättämään käytettävät kiitotiet. Alueelta pois joutuminen ei lisää enää hoidettujen koneiden määrää. Koneiden autopilotista saatii myös merkittävä osa kummallisia pieniä muun muassa väärään suuntaan kääntymisiä pois.
Muutin kiitoteiden paikan laskennan riippuvaan kentän paikasta, joten oikeiden kenttien mallintaminen voi alkaa nyt. Tiedostorakenne meni monelta osin aivan uusiksi. Kuitenkin nyt skaalautuminen on nyt jo paljon parempaa.
Siirsin projektin githubiin, jossa projektia voi seurata ja mukana on jopa makefile, jolla sorsista voi kääntää itselleen mieluisan binaarin. Koodiin tullee vielä jonkunlaista refaktorointia suoritettua.
Pitkähkön suunnittelun ja pienen koodailun jälkeen ohjelma muuntui jonkun verran eri suuntaan, kuin olin ajatellut. Nyt koneille voidaan selvittää valmiita reittejä tietylle pisteelle. Kuvien hallintaan tuli valmis kuvavarasto, jonka avulla loputkin muistivuodoista näyttää kadonneen.
En oikein ymmärrä tätä, tai sitten peli ei toimi oikein.
En saa klikattua konetta, tai ainakaan mitään ei tapahdu vaikka klikkailisi mitä tahansa kohtaa. Pitäisikö tässä näkyä jotain muutakin?
käyttiksenä Windows 8.
*edit*
Okei, jäin odottelemaan tuon kolme minuuttia mitä konsoli ilmoitteli seuraavan koneen ilmestymisestä, ja sinne tosiaan lävähti kone ruutuun. sain koneen valittua, mutta mikään ilmoitetuista funktionäppäimistä ei tee mitään. (F5,F6,F8)
Minulla oli samaa ongelmaa useita versioita sitten. Tuollaista ei ole kuitenkaan hetken esiintynyt. Nykyinen versio näyttää tältä. Alussa uusimmalla versiolla 2.0 pitäisi ohjelman generoida 4 konetta alueelle.
Funktionäppäinten tulostus on näköjään pudonnut jossakin vaiheessa pois. Lisätty versioon 2.0.1, joka on ladattavissa.
Tein peliin lataajan, joka osaa ladata uusimman version pelistä. Peli itsessään otti myös askeleen eteenpäin. Koodasin peliin odotuskuvion, jolla koneet saa lentämään vakiokuviota. Tekstien tulostus toimii myös hiukan paremmin. Sain osan tulostuksista poistettua ja hoidettua yhdellä funktiolla.
Projekti lähti uudestaan käyntiin. SDL sai väistyä QT:n tieltä ja nimiavaruudet poistuivat luokkien ja olioiden edestä. Samalla eri osa-alueiden vastuita jaettiin ja oikeastaan rakennettiin uudestaan. Projektiin lähti onneksi vielä toinenkin henkilö mukaan, joten kehitys marraskuusta joulukuun loppuun oli melkoisra höykytystä.
Nyt koodin rakenne on selkeämpi ja periaatteessa käyttöliittymäkirjasto voidaan vaihtaa melko nopeasti.
Paljon on vettä virrannut siitä kun viimeksi olen tämän projektin tietoja päivitellyt. Kieli on pysynyt samana, eli C++ on pohjana, mutta grafiikkapuolella vastuun on ottanut sfml. Noin muutoin projekti on edennyt pienin askelin motivaation ja ajan sanelemin reunaehdoin. Päivitin aloitusviestiin projektin tilan suunilleen ajantasalle.
Peli on siis käännettävissä ja jopa pelattavissakin, joskaan pelikokemus tuskin päätä huimaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.