cbEnchanted - uudelleenkirjoitettu runtime
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
Viime päivien aikana on on puuhailtu objektien, karttojen sekä partikkelien parissa. Nyt cbE pystyy näyttämään ja animoimaan objekteja. Kartat toimivat mukavasti ja myös niiden animointi toimii. Jostain syystä karttojen ulkopuolelle menevät objektit katoavat näkyvistä. Sitä bugia pitää vielä tutkia. Partikkelit sain eilen toimimaan ja ne tuntuvat nyt käyttäytyvän CB:n tapaan. Myös partikkeleiden animointi toimii. Otimme myöskin OpenGL:n glsl shaderit käyttöön kuvien maskausta varten (objektit maskataan ihan korvaamalla tietyn väriset pikselit alphalla ennen tekstuurin siirtämistä näytönohjaimelle) sekä ScreenGammaa varten. Myös GhostObject toimii oikein sekä objekteilla että kartoilla.
Tässä kuva pienestä MaGetzUbin tekemästä partikkeleilla toteutetusta räjähdysefektistä: Kuvassa on zerorun1.bmp animoituna pienellä läpinäkyvyydellä (GhostObject) juoksentelemassa cdm2.til kartalla perus tilesetillä. Vieressä on partikkeleilla tehty räjähdysefekti. Kaikki partikkelit ovat 128*128 kokoisia alphakanavallisia animoituja kuvia. Samaan aikaan partikkeleita pitäisi olla 64 kpl:tta (5 framen välein 4 partikkelia ja partikkelin elinaika 80 framea).
FPS on rajoituttu 60:een. Ilman rajoitusta FPS oli minun koneellani 350.
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
Onko suunnitelmissa, että tällä voisi kääntää linux-ohjelmia?
Juu niinhän tuolla sanotaankin. Luin sen kyllä tarkkaan mutta en vain jostain syystä tajunnu lukea sitä uudestaan viestiä kirjoittaessani .
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
Partikkelit ovat animoituja. (mikä olisi selvinnyt mikäli olisit lukenut edellisen viestini tarkasti )timpe99 wrote:Upealta näyttää verrattuna nyky-cb:hen varsinkin tuo ghostobjectin toimiminen reaaliajassa on hyvä asia. Ovatko nuo partikkelit tuossa räjähdyksessä anmioituja?EDIT:Onko suunnitelmissa, että tällä voisi kääntää linux-ohjelmia?
Itseasiassa KW kehittää cbEnchantedia kokoajan linuksilla, joten hän vastaa toimivuudesta linuxilla. Eli cbEnchantedin pitäisi toimia linuxillakin. (KW:lla on kuitenkin jotain ongelmia SFML:n opengl kontekstin luomisen kanssa, tai jotain sen tapaista)
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
Hyvää työtä!
Sitten 3. luokalla tuli CB. Ja siitä se alkoi.
Blender! TF2! CB! Game Maker! Nokia-mollaus! Kitaransoitto! Breakdance! MadTracker! Minecraft!
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
Kiitos.elmo123 wrote:Jos tämä tulee julkaistuksi ennen classicia, pääsen viimein tekemään räiskintää reaaliaikaisilla liikesumennoksilla ym. efekteillä
Hyvää työtä!
Saa nähdä kuinka kauan tämän valmistumiseen vielä menee. Tällä hetkellä ehkä suurimmat puuttuvat asiat ovat ObjectPick ja CameraPick sekä törmäykset.
Tein hieman testiä perus merkkijonojen yhteenlaskusta, kun tänään olen hieman parannellut merkkijonojen käsittelyä cbE:ssä. Testikoodina toimi tälläinen koodin pätkä:
Code: Select all
start = Timer()
txt$ = ""
For i = 0 To 5000
txt = txt + i + "|"
Next i
endT = Timer()-start
SetWindow "Time:"+endT
WaitKey
Korjasin nuo prosentit. Prosenttilaskut eivät kuulu vahvuuksiini.
Edit2: Jaahah... Ilmeisisti nuo Axunkaan prosenttilaskut eivät pitäneet paikaansa. Viltzulta tällä kertaa tuli korjausta noihin prosentteihin.
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
CbE suorituu tehtävästä 0,121% ajassa alkuperäiseen nähden tai sitten 5 777 678% nopeammin.Latexi95 wrote:Minun koneellani perus CB suoriutuu tuosta 58 sekunnissa(!!!). Ennen tämän aamuista paranteluani cbE suoriutui tuosta 192ms ja nykyinen versio suoriutui tuosta 9ms. Eli siis tuollaisella testillä cbE on noin 99,985% (laskinkohan nyt varmasti oikein) nopeampi merkkijonojen kanssa kuin perus CB.
-
- Devoted Member
- Posts: 718
- Joined: Wed Nov 03, 2010 7:56 pm
- Location: Joku piste pohjoisessa.
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
Mutta uutena valmistuneena ominaisuutena ovat tyypit.
Insert komento on kyllä vielä tekemättä, kun tuli tämä multimediakirjaston vaihto. Samoin tekemättä ovat ConvertToType ja ConvertToInteger. Niiden kohdalla on vielä hieman pohdittavaa, että ne saadaan toimimaan 64bittisillä alustoilla.
-
- Devoted Member
- Posts: 718
- Joined: Wed Nov 03, 2010 7:56 pm
- Location: Joku piste pohjoisessa.
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
No ainakin minusta vielä vähän turhaa laittaa testejä YouTubeen, kun cbE pyrkii tällä hetkellä vastaamaan tavallista cb:tä, joten onnistuneet testit pitäsi näyttää täsmälleen samalta kuin CB:llä. Tietysti tuollaiset pienet efektit on ihan komean näköisiä ja niitä kyllä kelpaa esitelläkkin, mutta tällä hetkellä kehittäjien on ehkä syytä keskittyä efektien teon, sijaan ominaisuuksien tekemiseen.naputtelija wrote:Uppikaa juutuuppiin devtestejä?
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
Miksette suoraan käytä OpenAL-lääLatexi95 wrote:Nyt taas kerran jouduimme vaihtamaan multimediakirjastoa. Tällä kertaa siirryimme käyttämään Allegroa SFML:n sijaan. SFML2.0, kun on vielä kehitysvaiheessa ja on hieman buginen, niin vastaan tuli sen verran paljon ongelmia SFML:stä johtuen (mm. ikkunan uudelleen luonti ongelma linuxilla), että päätimme, että on parasta taas vaihtaa kirjastoa. Tällä kertaa otimme käyttöön Allegron, joka vaikuttaa varsin sopivalta tarkoitukseemme, ja se on ainakin stabiiliversio. Tämän päivän aikana sitten porttasin cbE:n nyt suurimmaksi osaksi Allegrolle, mutta vielä riittää hieman tekemistä ennen kuin cbE:ssä on taas kaikki samat ominaisuudet kuin SFML:n aikana.
Mutta uutena valmistuneena ominaisuutena ovat tyypit.
Insert komento on kyllä vielä tekemättä, kun tuli tämä multimediakirjaston vaihto. Samoin tekemättä ovat ConvertToType ja ConvertToInteger. Niiden kohdalla on vielä hieman pohdittavaa, että ne saadaan toimimaan 64bittisillä alustoilla.
I know not what I know, but I do know that it's not beautiful.
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
OpenAL == Audion toistokirjasto.skorpioni-cb wrote:Miksette suoraan käytä OpenAL-lääLatexi95 wrote:Nyt taas kerran jouduimme vaihtamaan multimediakirjastoa. Tällä kertaa siirryimme käyttämään Allegroa SFML:n sijaan. SFML2.0, kun on vielä kehitysvaiheessa ja on hieman buginen, niin vastaan tuli sen verran paljon ongelmia SFML:stä johtuen (mm. ikkunan uudelleen luonti ongelma linuxilla), että päätimme, että on parasta taas vaihtaa kirjastoa. Tällä kertaa otimme käyttöön Allegron, joka vaikuttaa varsin sopivalta tarkoitukseemme, ja se on ainakin stabiiliversio. Tämän päivän aikana sitten porttasin cbE:n nyt suurimmaksi osaksi Allegrolle, mutta vielä riittää hieman tekemistä ennen kuin cbE:ssä on taas kaikki samat ominaisuudet kuin SFML:n aikana.
Mutta uutena valmistuneena ominaisuutena ovat tyypit.
Insert komento on kyllä vielä tekemättä, kun tuli tämä multimediakirjaston vaihto. Samoin tekemättä ovat ConvertToType ja ConvertToInteger. Niiden kohdalla on vielä hieman pohdittavaa, että ne saadaan toimimaan 64bittisillä alustoilla.
OpenGL == Grafiikanpiirto kirjasto.
Allegro on taas pelien teko kirjasto joka varmaan pohjautuu OpenGL:ään.
Joo Allegro pohjautuu siis OGL:ään niinkuin Latexi tuossa alempana sanoo.
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
Tarkoitan nyt "multimediakirjastolla" muitakin asioita kuin vain ääniä. Eli siis tuossa kirjastossa on äänien lisäksi myös ikkunan luominen ja piirtäminen yms. Päädyimme käyttämään valmista multimediakirjastoa erillisten kirjastojen sijaan ihan yksinkertaisuuden takia. Esimerkiksi, jos käyttäisimme OpenAL:llää ääniä varten tarvitsisimme toisen kirjaston ikkunan luontia varten ( koska emme jaksa kirjoittaa jokaiselle alustalle erikseen omaa koodia). OpenAL:llää varten tarvitsisimme myöskin erilaisia plugineja yms. että saisimme tuen useille ääniformaateille. Käytännössä tekisimme kaiken sen mitä Allegro nyt tekee puolestamme. Ei tarvitse alkaa ruveta keksimään pyörää uudelleen. Me säästämme paljon aikaa ja vaivaa, kun teemme cbE:n hieman korkeamman tason palasten päälle.skorpioni-cb wrote: Miksette suoraan käytä OpenAL-lää
MaGetzUb: Kyllä Allegro käyttää OpenGL:llää.
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
Kai minä nyt tiedän mikä OpenAL on, olen kato tehnyt pientä pelintynkää OpenGL+SDL, mutta en ikinä ääniä, mutta jos olisin, olisin käyttänyt OpenAL:llää.MaGetzUb wrote:OpenAL == Audion toistokirjasto.skorpioni-cb wrote:Miksette suoraan käytä OpenAL-lääLatexi95 wrote:Nyt taas kerran jouduimme vaihtamaan multimediakirjastoa. Tällä kertaa siirryimme käyttämään Allegroa SFML:n sijaan. SFML2.0, kun on vielä kehitysvaiheessa ja on hieman buginen, niin vastaan tuli sen verran paljon ongelmia SFML:stä johtuen (mm. ikkunan uudelleen luonti ongelma linuxilla), että päätimme, että on parasta taas vaihtaa kirjastoa. Tällä kertaa otimme käyttöön Allegron, joka vaikuttaa varsin sopivalta tarkoitukseemme, ja se on ainakin stabiiliversio. Tämän päivän aikana sitten porttasin cbE:n nyt suurimmaksi osaksi Allegrolle, mutta vielä riittää hieman tekemistä ennen kuin cbE:ssä on taas kaikki samat ominaisuudet kuin SFML:n aikana.
Mutta uutena valmistuneena ominaisuutena ovat tyypit.
Insert komento on kyllä vielä tekemättä, kun tuli tämä multimediakirjaston vaihto. Samoin tekemättä ovat ConvertToType ja ConvertToInteger. Niiden kohdalla on vielä hieman pohdittavaa, että ne saadaan toimimaan 64bittisillä alustoilla.
OpenGL == Grafiikanpiirto kirjasto.
Allegro varmaan pohjautuu OpenGL:ään. (Tästä en ole varma, uskoisin näin. Edittaan kun olen tutkinut.)
I know not what I know, but I do know that it's not beautiful.
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
Miksi sitten ehdotit OpenAL:ää, vaikka ei Quoteemassasi Latexin viestissä edes mainita äänistä mitään. Allegrossa on ihan mukava äänituki että OpenAL:ää tuskin tarvitaan mihinkään.skorpioni-cb wrote: Kai minä nyt tiedän mikä OpenAL on, olen kato tehnyt pientä pelintynkää OpenGL+SDL, mutta en ikinä ääniä, mutta jos olisin, olisin käyttänyt OpenAL:llää.
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
Pikselioperaatiot toimivat cbE:ssä nyt varsin hyvin. Lukittuun puskuriin operaatiot ovat CB:n omia nopeampia, mutta lukitsemattomaan puskuriin tehdyissä operaatioissa cbE häviää (reilusti) CB:lle. Tämä johtuu kuvien sijaitsemisesta näytönohjaimen muistilla, joten siihen nopeuteen tuskin tulee muutosta. Eli kannattaa lukita puskuri aina, kun käyttää pikselioperaatioita.
cbE ei tee komennoissa tai funktioissa eroa lukitun ja lukitsemattoman välille, joten sekä PutPixel että PutPixel2 toimivat sekä lukittuihin että lukitsemattomiin puskureihin. Sama pätee myös GetPixeliin sekä PickImageColoriin. Myöskin PickColor hyötyy näytönpuskurin lukitsemisesta.
Törmäykset ovat yhä työvaiheessa, mutta VesQ on lupautunut vilkaisemaan niitä ja ne toivottavasti saadaan ainakin osittain toimintaan lähiaikoina.
Uutena ominaisuutena tuli uusien funktioiden lisäämisen mahdollisuus. Eli nyt pystymme laajentamaan CB:n funktioiden määrää nyt varsin helposti. Tämän toiminto vaatii pienien funktiorunkojen tekemistä CB:n puolelle.
Code: Select all
Function testiFunktio(fa)
group = 1
id = 13
EndFunction
cbE tutkii kaikki funktiot ja mikäli se löytää funktion, joka sisältää ainoastaan kaksi muuttujaansijoitusoperaatiota, niin se koittaa etsiä taulukostaan noihin kahteen muuttujan arvoon sopivaa funktiota. Sitten cbE vaihtaa funktiokutsun kutsumaan haluttua c/c++ funktiota. Tämän ansiosta lisätyt funktioit ovat aivan yhtä nopeita kuin cb:n omat funktiotkin.
Haluamme tietysti tuoda teille mahdollisuuden käyttää samaa tekniikkaa myös luodessanne uusia kirjastoja, niin ei tarvitse enää pyöritellä muistipaloja ja kutsuminen on paljon nopeampaa. KW ilmeisesti (kun se on aiheellista) tekee mahdollisuuden linkittää kirjastoja myös staattisesti suoraan cbE:tä käyttävään ohjelmaan, jolloin DLL:llää ei tarvita, mutta myös mahdollisuus käyttää dynaamista linkitystä kirjastojen kanssa annetaan. CB:llä ohjelmoinnin kannalta kirjastojen linkitystavalla ei ole oikeastaan merkitystä. Dynaamisen linkityksen tapauksessa oletettavasti pitää kutsua jonkinlaista "LoadLib" funktiota (nimeä ei ole vielä päätetty), joka lataa dynaamisen kirjaston. KW osannee kertoa enemmän tuosta staattisen linkityksen käyttämisestä kirjastojen kanssa.
cbE:n tulevista uusista funktioista tästä ensimmäisenä mieleen tulevat ainakin Triangle-funktio kolmioden piirtämistä varten ja mahdollisuus tiedon siirtämiseen netin yli. En ole aivan varma tulemmeko käyttämään suoraan cbNetworkin funktioiden nimiä ja toimintaa (jolloin cbNetworkillä tehdyt ohjelmat toimisivat suoraan) vai teemmekö oman jolloin yhteyksien muodostaminen voisi tulla helpommaksi ja Tcp-tuki sulautuisi paremmin mukaan. (Itse olen ehkä jälkimmäisen kannalla)
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
Pidemmittä puheitta, ladatkaapas tästä cbe_ratasefekti_2012-04-05.7z
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: cbEnchanted - uudelleenkirjoitettu runtime kaipaa kehitt
Graafikko
- Konstaduck
- Advanced Member
- Posts: 267
- Joined: Sat Dec 17, 2011 3:09 pm
- Location: Nurmijärvi, Finland
- Contact: