ChaosBasic [version 0.0.2.4]
Posted: Sat Sep 01, 2007 7:54 pm
Eli jotkut ehkä muistavat silloin ajat sitten vanhoilla foorumeilla aloittamani topicin ChaosBasicista. ChaosBasic (lyhennetään ChB) on siis BASIC-syntaksinen ohjelmointikieli, johon liitetään monipuoliset olio-ominaisuudet (tarkoituksissa olisi tehdä ainakin privaatit ja julkiset jäsenmuuttujat sekä -funktiot, periytyminen, sekä mahdollisuutta polymorfismiin ja moniperintään harkitaan, operaattorien ylikuormituskaan ei ole pois suljettu ajatus ).
Alun perin tarkoitushan oli saada jatkaja jo kuolleelta näyttävälle CB:lle. Nyt Zero on kuitenkin palannut takaisin, mutta ChaosBasicin kehitys ei lopu tähän. Projekti on elänyt hyvin pitkään hiljaiselossa, mutta on kuitenkin kytenyt koko ajan ajoittaisten koodausvimmojen saattelemana. Nyt Zeron paluu iski minussakin sellaisen mukavan koodausinnon, joten ChB on saanut taas uutta tuulta siipiensä alle. Toivottavasti pieni kilpailu edesauttaa myös CB:n kehitystä... Alun perin suurena kompastuskivenä oli tulkin teko. Erityisesti kääntäjä tuotti suurta päänvaivaa, sillä se on hyvin hyvin monimutkainen ja monipuolinen värkki. Myös operaattorit olivat ylipääsemätön asia.
Olen viimenkin saanut nyt kääntäjän pohjan siihen kuntoon, että uusien ominaisuuksien lisäys on helppoa! Jokainen uusi ominaisuus (oli se sitten For-looppi tahi If-lause) voidaan lisätä helposti rekisteröimällä se avainsanamanageriin ja lisäämällä sen parsintaan tarvittavat funktiot omaan moduuliinsa (eli siis For:n parsinta on omassa tiedostossaan ja If:n omassaan ja näitä tiedostoja on helppo hallinnoida). Myös operaattoripulmat on ratkaistu ja tämän hetken operaattorit ovat noin 3-4 kertaa CB:n tämänhetkisiä operaattoreita nopeampia. Olen myös hieman tutkinut grafiikkarajapintoja ja OpenGL vaikuttaisi erittäin hyvältä valinnalta grafiikan piirtoon (olenkin tehnyt pienen koedemon venyvästä kartasta, jonka fps oli koneellani ~2200 luokkaa (tosin siitä puuttuivat ne putoilevat meteoriitit yms, mutta suunta on hyvä)). OpenGL mahdollistaisi myös hyvän portattavuuden Linux-ympäristöön.
En ilmoittele tästä projektista siksi, että haluaisin kehuskella kielen tulevilla ominaisuuksilla. Päin vastoin, suurin osa ominaisuuksista on vielä tekemättä, ja aikaa kuluu vielä jonkin verran ennenkuin mitään näyttämisen tai kokeilemisen arvoista saadaan aikaan. Syy tälle postille on se, että tarvitsisin muutaman koodaustaitoisen henkilön avittamaan minua kielen teossa. Mitään kovin vaikeita hommia näiden ei tarvitse tehdä, mutta erinäiset toiminnan kannalta hyvinkin tärkeät tehtävät lankeaisivat heidän vastuulleen. Ohjelmointikielenä toimii siis (maaginen) C++, joten jos kiinnostusta löytyy, ota yhteyttä tässä viestiketjussa tai sitten privalla! Tulen myös ilmoittelemaan jatkossa tässä viestiketjussa projektin etenemistä yms. pikkujuttuja.
Huom! Tähän topicciin on itse Zeron lupa, joten ei tarvitse tehdä turhia viestejä tämän topicin luvallisuudesta.
12.11.2007 - techdemo02
http://koti.mbnet.fi/masa_89/koodaus/techdemo02.zip
- Tuhat lehmää reaaliaikaisella skaalauksella ja rotaatiolla
- Venyvä kartta
- reaaliaikainen fps (tekstiä)
- kaikkien edellisten läpinäkyvyyden säätö näppäimillä!
1.12.2007 - version 0.0.1.0
Ensimmäistä, hyvin alpha-asteella olevaa kääntäjäntynkää lykkää. Kääntäjä ei ole mikään erikoinen: siinä on hyvin vähän toimintoja, jotka on selitetty paketin mukana tulevassa README.txt:ssä. Virheilmoituksetkin ovat välillä mitä sattuu ja on hyvin todennäköistä että niissä on kielioppi- ja logiikkavirheitä. Huomioikaa, että kuten readme:ssä mainitaan, käytätte kääntäjää omalla vastuullanne. Tämä sen vuoksi, etten voi 100% varmasti taata raakileen turvallisuutta. mitään kriittistä (kaatuilut poisluettuna) ei kuitenkaan ole tapahtunut. Kääntäjässä ei ole havaittu suurempia muistivuotoja, kuten ei myöskään suoritettavassa exe:ssä.
Ohjeet löytyvät paketista.
Lataa ChaosBasic 0.0.1.0
Jos kääntäjä ei tuota mitään, asenna tämä paketti: http://www.microsoft.com/downloads/deta ... laylang=en
Testikoneella paketin asennuksen jälkeen kääntäjä rupesi toimimaan. Ajonaikainen exe toimii ilman em. pakettia.
10.12.2007 - version 0.0.1.8
Toinen versio Kaaoksesta.
Lataa ChaosBasic 0.0.1.8
13.12.2007 - version 0.0.1.9
ChaosBasic 0.0.1.9 ulkona!
Eli tämä on tälläinen hotfix-tyylinen julkaisu. Korjattu muun muassa bugi Vistassa (ihme parametriongelma), lisätty tuki tiedostopoluille välilyöntien kanssa (huom! komentoriviltä käynnistäjille: polun ympärille pitää laittaa heittomerkit, tyyliin "C:\ohjelmat\minun chb\chaosrun.exe"), sekä lisätty trigonometriset funktiot Sin, Tan, Cos, ASin, ATan, ACos. Lisäksi korjattu muita pikku bugeja, jahka niitä on havaittu. Eipä tässä enempää:
Lataa ChaosBasic 0.0.1.9
24.12.2007 - version 0.0.2.4
HYVÄÄ JOULUA!
ChaosBasic 0.0.2.4 julkaistu!
Eli tässä viime hetken lahja pukinkonttiin! Bugeja on taas karsittu ja kaikkea pyritty hiomaan parempaan suuntaan. Teenpä pikakertauksen uusista ominaisuuksista:
- Omat funktiot
- Omat dll-funktiot
- Break ja Continue
- lisää funkkareita ja toimintoja (ajastinluokka, -funktio, primitiivit!, ruudun reson asetus, suhteelliset koordinaatit...)
Kaaos käyttää siis directX:ää, joten sellainen tulee koneestä löytyä. Huomasin viimeisimmissä testeissä, ettei äänet pelitä oikein, vaan exe jää taustalle pyörimään. Siispä älkää käyttäkö ääniä tai kääntäkö esimerkki 9:iä!Eipä tässä sen enempää. Sen verran ilmoittelen, että jätän koodausjutut nyt loppuvuodeksi, joten uuteen julkaisuun voi mennä jonkun aikaa. Kieli kuitenkin kehittyy koko ajan! Jäätymisvaarassa tämä projekti ei ole! Eipä sen enempää. Hyvää Joulua Ja Onnellista Uutta Vuotta!
Lataa ChaosBasic 0.0.2.4
Alun perin tarkoitushan oli saada jatkaja jo kuolleelta näyttävälle CB:lle. Nyt Zero on kuitenkin palannut takaisin, mutta ChaosBasicin kehitys ei lopu tähän. Projekti on elänyt hyvin pitkään hiljaiselossa, mutta on kuitenkin kytenyt koko ajan ajoittaisten koodausvimmojen saattelemana. Nyt Zeron paluu iski minussakin sellaisen mukavan koodausinnon, joten ChB on saanut taas uutta tuulta siipiensä alle. Toivottavasti pieni kilpailu edesauttaa myös CB:n kehitystä... Alun perin suurena kompastuskivenä oli tulkin teko. Erityisesti kääntäjä tuotti suurta päänvaivaa, sillä se on hyvin hyvin monimutkainen ja monipuolinen värkki. Myös operaattorit olivat ylipääsemätön asia.
Olen viimenkin saanut nyt kääntäjän pohjan siihen kuntoon, että uusien ominaisuuksien lisäys on helppoa! Jokainen uusi ominaisuus (oli se sitten For-looppi tahi If-lause) voidaan lisätä helposti rekisteröimällä se avainsanamanageriin ja lisäämällä sen parsintaan tarvittavat funktiot omaan moduuliinsa (eli siis For:n parsinta on omassa tiedostossaan ja If:n omassaan ja näitä tiedostoja on helppo hallinnoida). Myös operaattoripulmat on ratkaistu ja tämän hetken operaattorit ovat noin 3-4 kertaa CB:n tämänhetkisiä operaattoreita nopeampia. Olen myös hieman tutkinut grafiikkarajapintoja ja OpenGL vaikuttaisi erittäin hyvältä valinnalta grafiikan piirtoon (olenkin tehnyt pienen koedemon venyvästä kartasta, jonka fps oli koneellani ~2200 luokkaa (tosin siitä puuttuivat ne putoilevat meteoriitit yms, mutta suunta on hyvä)). OpenGL mahdollistaisi myös hyvän portattavuuden Linux-ympäristöön.
En ilmoittele tästä projektista siksi, että haluaisin kehuskella kielen tulevilla ominaisuuksilla. Päin vastoin, suurin osa ominaisuuksista on vielä tekemättä, ja aikaa kuluu vielä jonkin verran ennenkuin mitään näyttämisen tai kokeilemisen arvoista saadaan aikaan. Syy tälle postille on se, että tarvitsisin muutaman koodaustaitoisen henkilön avittamaan minua kielen teossa. Mitään kovin vaikeita hommia näiden ei tarvitse tehdä, mutta erinäiset toiminnan kannalta hyvinkin tärkeät tehtävät lankeaisivat heidän vastuulleen. Ohjelmointikielenä toimii siis (maaginen) C++, joten jos kiinnostusta löytyy, ota yhteyttä tässä viestiketjussa tai sitten privalla! Tulen myös ilmoittelemaan jatkossa tässä viestiketjussa projektin etenemistä yms. pikkujuttuja.
Huom! Tähän topicciin on itse Zeron lupa, joten ei tarvitse tehdä turhia viestejä tämän topicin luvallisuudesta.
12.11.2007 - techdemo02
http://koti.mbnet.fi/masa_89/koodaus/techdemo02.zip
- Tuhat lehmää reaaliaikaisella skaalauksella ja rotaatiolla
- Venyvä kartta
- reaaliaikainen fps (tekstiä)
- kaikkien edellisten läpinäkyvyyden säätö näppäimillä!
1.12.2007 - version 0.0.1.0
Ensimmäistä, hyvin alpha-asteella olevaa kääntäjäntynkää lykkää. Kääntäjä ei ole mikään erikoinen: siinä on hyvin vähän toimintoja, jotka on selitetty paketin mukana tulevassa README.txt:ssä. Virheilmoituksetkin ovat välillä mitä sattuu ja on hyvin todennäköistä että niissä on kielioppi- ja logiikkavirheitä. Huomioikaa, että kuten readme:ssä mainitaan, käytätte kääntäjää omalla vastuullanne. Tämä sen vuoksi, etten voi 100% varmasti taata raakileen turvallisuutta. mitään kriittistä (kaatuilut poisluettuna) ei kuitenkaan ole tapahtunut. Kääntäjässä ei ole havaittu suurempia muistivuotoja, kuten ei myöskään suoritettavassa exe:ssä.
Ohjeet löytyvät paketista.
Lataa ChaosBasic 0.0.1.0
Jos kääntäjä ei tuota mitään, asenna tämä paketti: http://www.microsoft.com/downloads/deta ... laylang=en
Testikoneella paketin asennuksen jälkeen kääntäjä rupesi toimimaan. Ajonaikainen exe toimii ilman em. pakettia.
10.12.2007 - version 0.0.1.8
Toinen versio Kaaoksesta.
Lataa ChaosBasic 0.0.1.8
13.12.2007 - version 0.0.1.9
ChaosBasic 0.0.1.9 ulkona!
Eli tämä on tälläinen hotfix-tyylinen julkaisu. Korjattu muun muassa bugi Vistassa (ihme parametriongelma), lisätty tuki tiedostopoluille välilyöntien kanssa (huom! komentoriviltä käynnistäjille: polun ympärille pitää laittaa heittomerkit, tyyliin "C:\ohjelmat\minun chb\chaosrun.exe"), sekä lisätty trigonometriset funktiot Sin, Tan, Cos, ASin, ATan, ACos. Lisäksi korjattu muita pikku bugeja, jahka niitä on havaittu. Eipä tässä enempää:
Lataa ChaosBasic 0.0.1.9
24.12.2007 - version 0.0.2.4
HYVÄÄ JOULUA!
ChaosBasic 0.0.2.4 julkaistu!
Eli tässä viime hetken lahja pukinkonttiin! Bugeja on taas karsittu ja kaikkea pyritty hiomaan parempaan suuntaan. Teenpä pikakertauksen uusista ominaisuuksista:
- Omat funktiot
- Omat dll-funktiot
- Break ja Continue
- lisää funkkareita ja toimintoja (ajastinluokka, -funktio, primitiivit!, ruudun reson asetus, suhteelliset koordinaatit...)
Kaaos käyttää siis directX:ää, joten sellainen tulee koneestä löytyä. Huomasin viimeisimmissä testeissä, ettei äänet pelitä oikein, vaan exe jää taustalle pyörimään. Siispä älkää käyttäkö ääniä tai kääntäkö esimerkki 9:iä!Eipä tässä sen enempää. Sen verran ilmoittelen, että jätän koodausjutut nyt loppuvuodeksi, joten uuteen julkaisuun voi mennä jonkun aikaa. Kieli kuitenkin kehittyy koko ajan! Jäätymisvaarassa tämä projekti ei ole! Eipä sen enempää. Hyvää Joulua Ja Onnellista Uutta Vuotta!
Lataa ChaosBasic 0.0.2.4