Viime keväänä päädyin kuitenkin tekemään leikkimielistä kokeilua asian suhteen hyvällä menestyksellä:
Tavoitteena oli saada tämä efekti pyörimään uudessa runtimessa näin aluksi ja tähän pisteeseen pääsemiseen vierähti muutama päivä. Vasemmanpuolimmaisessa neliössä pyörii siis winetettynä alkuperäistä CB:n runtimea käyttävä efekti ja oikealla tämän projektin uudelleenkirjoitettua runtimea käyttävä efekti. Pientä eroavaisuutta on nähtävissä ClanLibin hassujen piirtokomentojen takia, mutta pääpiirteittäin tulos on sama, joskin nopeampi.
Projekti kaipaisikin hieman lisää miesvoimaa kirjoittelemaan komennoille täytettä ja tämän lisäksi muutama suurempi kokonaisuus (tilekartat ja objektit) vaatisivat kirjoittamista. Kielenä on C++, joten jonkinlainen kokemus C:stä tai C++:sta on suotavaa, jokseenkaan ei pakollista. Jos kiinnostusta kieltä kohtaan löytyy niin tämä voi olla myös erinomainen oppimistilaisuus, sillä asioita oppii todella nopeasti jos on valmista ohjelmointikokemusta esimerkiksi CB:n saralla. (Itsekin opiskelin C++:n hyvin pitkälle erään open source -projektin kautta, johon päädyin lähinnä mielenkiinnon vuoksi.)
Tämä projekti ei tule kuitenkaan olemaan open sourcea (ainakaan täysin), sillä tulkkiosan julkaiseminen avoimeksi saattaisi herättää pelkoa koodin varastamisessa joidenkin käyttäjien kohdalla, mutta mahdollisesti projektista voisi erotaa läjän CB-komentoja helpottamaan siirtymistä C++:n maailmaan.
Tällä hetkellä projekti pyörii siis ClanLibin päällä, mutta tässä vaiheessa grafiikkakirjaston vaihtaminen on vielä lähes ongelmatonta. SDL voisi olla parempi ja helpompi vaihtoehto, tosin ikävällä lisenssillä varustettuna. Ehdotuksia tämän suhteen otan kyllä mielelläni myös vastaan. Kuitenki joku cross-platform kirjasto sen tulee olla, jotta Linux-tuki, jota varten tätä alun alkaen aloin tekemään säilyy, mutta projekti olisi tarkoitus tarjota myös windows-käyttäjille.
Projekti oli alun perin toteutettu ClanLibin avulla, mutta siitä siirryttiin pikaisesti SFML:ään, joka oli niin buginen, että kirjastoa päätettiin vaihtaa vielä kertaalleen ja alla jyllää nykyään allegro.
Mitä tällä hetkellä on tehtynä:
Valmis
Osittain valmis
Pahasti kesken
- CB:n tavukoodin jauhanta
- Muuttujien käsittely
- Loopit
- Taulukot
- Tyypit
- Funktiot
- Piirtokomennot
- Matematiikkakomennot
- Järjestelmäkomennot
- Objektit
- Kartat
- Partikkelit