Kad ir kaip man patinka programuoti, bet kartais maloniau piešti ar daryti dar ką nors, ko rezultatai pasirodo greitai. Štai ir dabar beveik kiekvieną dieną pavyksta nuveikti ką nors naujo žaidimo labui. Naujas pasiekimas - nupiešti tolygūs perėjimai tarp plytelių. Nepaisant to, kad jų net 112 (14 tipų po 8), darbas vyko labai greitai - dabar nereikėjo šokinėti tarp GIMP, Blender ir GraphicsGale, o viską dariau pixel'ių lygmenyje, t.y. GraphicsGale redaktoriuje. Be to, naikinti (trinti tam tikras vietas), lengviau nei kurti (piešti kiekvieną plytelę).
Parašiau nedidelę programėlę, kuri demonstruoja, kaip neapmokytas menininkas (kompiuteris) nupiešia tokį "pusę velnio" žemėlapiuką. Vaizdas daugmaž toks:
Darbo su perėjimais aš dar nebaigiau - reikia jiems suteikti šiek tiek tūrio, bet rezultatu jau dabar esu patenkintas. Be to, gražesnį vaizdelį jau dabar galima būtų gauti, jei būtų parašytas rimtesnis generavimo kodas, o ne "metam monetą ir nusprendžiam, kokia danga bus šitame taške";). Kadangi žaidime tą darys labirinto generatorius, galvos sau nesuku. Parsisiųsti programėlę galima iš čia:
http://www.mediafire.com/file/agcvh57ew87scwj/wang_tiles_v003.rar
Čia išeities kodas ir .exe.
yay pirmas paveiksliukas bloge :)
AtsakytiPanaikintiBet aš kažko nesupratau, kas ten per rožiniai backgroundai ? Kodėl nenaudoji alpha kanalo ? Su alpha perėjimas tarp smėlio ir plytelių atrodytų jėgiškai. Jei dėl kažkurios priežasties to nenori daryt, gali ties smėlio pakraščiais, kas antra pikselį užspalvinti tą rožine spalvą, šachmatukais, turėtų būt geresnis efektas. Dabar tai lyg su kastuvu smėli kas būtų gražiai sustumdęs :)
Jei gerai suprantu, Allegro (ta versija, kurią naudoju) nepalaiko hardware alpha blendingo, viskas daroma software ir dėl to labai lėtai. Įmanoma padaryti tai, ką siūlai, bet nemažai programuoti reikės, kad negaištum veltui brangaus laiko. Kai žaidimas artės link pabaigos ir jei bus laisvų fps, galvosiu, ką pagražinti. Dithering (nežinau, kaip čia lt), mano manymu, čia netiktų, nes į 24 bitų paveikslėlį neįsipaišo palaidi pixeliai.
AtsakytiPanaikintiP.S. Rožiniai backgroundai allegro nurodo, kad tie pixeliai permatomi. Žinau, bjauriai atrodo.
AtsakytiPanaikintiNu viskas aišku. Žinau aš tuos 255 0 255 backgroundus, pats tokius naudojau kai žaidžiau su DirectDraw.
AtsakytiPanaikintiAbejoju ar metodas "užspalvinti kas antrą pikselį, kad sufeikinti permatomumą" vadinasi "dithering".
Dėl gražumo tai klysti, visų pirma, pikseliai nebūtų palaidi, o antra NIEKS net nepastebėtų, kad ten pikseliai, nebent naudotų 320x240 ar mažesne ekrano skiriamą gebą :D
Tu geriau pasižėk Diablo I, Baldurs Gate, ar kad ir Ultima 8, oj kaip ten visi mėgsta tuos "palaidus" pikselius :) Aišku tie geimai, išskyrus BG eina ant 256 spalvų, nu bet ką padarysi, kad negali alpha kanalo naudoti, negi paliksi tokius "blynus". :)
Siūlau paeksperimentuoti su smelio tailais ir pažėti kas gausis.
Kitas variantas su Alegro jungti OpenGL ir vietoj ten kažkokių akmens amžiaus directdraw bezobraziju naudoti teksturuotus quadus. Nežinau kaip Allegro, bet tiek SDL 1.3 tiek ir D3DX turi spraitų endžynus, kuriuos galima naudoti su minimalio 3D grafikos žiniom. Nemanau kad perėjimas užtruks ilgiau nei dieną ar dvi. Kas gali pasikeisti tai tik tavo spraitu piešimo funkcijos pavadinimas ar parametrai :D
Visą laiką stumi mane progreso link.:) Bijau, kad visko nespėsiu. Tu teisus, dithering'u vadinasi pixelių užspalvinimas tam tikra tvarka (nebūtinai kas antrą), kad perėjimas tarp spalvų atrodytų tolygesnis.
AtsakytiPanaikintiIšbandžiau tokį alpha blendingo būdą ir man pixeliai labai matosi. Pasidomėsiu, kas ten paminėtuose žaidimuose...
Blynus paliksiu, bet tik kol kas.
Dar variantas, padaryt tailus smėlis_vs_plytos, smėlis_vs_žolė .... smėlis_vs_kažkas. Tada kiekvienai kombinacijai reikės atskiro tailseto, bet išsispręs problema ir nereiks nei pikseliuot, nei alpha kanalo.
AtsakytiPanaikinti