Mängumeistrid
AllegroMaker? - Printerisõbralik versioon

+- Mängumeistrid (http://www.suvaline.org/MM)
+-- Foorum: Mängumeistrid (/forumdisplay.php?fid=3)
+--- Foorum: Ise tehtud mängud (/forumdisplay.php?fid=4)
+--- Teema: AllegroMaker? (/showthread.php?tid=180)



AllegroMaker? - Hyena - 15.10.2011 18:36

Pmst olen viimase paari aastaga universaalseid 2d mängu mootoreid teinud umbes 4 tükki, aga miski pole nii kaugele arenenud, et sellest midagi kasu oleks ja rohkem ideetasandile jäänud. Nüüd olen juba kuskil kuu aega arendanud Lua+Allegro mootorit ning üha enam hakkab see välja nägema nagu GameMaker.

Praegu näiteks võtsin juba konkreetselt GM manuali lahti ja kirjutan ds_list funktsioone omale ümber. Sellist ülesehitust sihilikult jätkates oleks võimalik 90% ulatuses GM analoog teha.

Mis on selle eelised? Open source, multi platform, fast as hell ning vastavalt vajadusele võimalus ka mootorit C++'is ringi ehitada.

GM-is on objektid ja instance'id, selles mootoris on sarnane lähenemine. Tahad uut objekti tekitada, siis Main.lua failist paari reaga:
Vormindatud kood:
register_object("CP","Cp.lua"); 

Tahad, et sellel objektil oleks create event jms, siis Cp.lua faili:
Kood:
function metadata(id)
    register_event(id,"CREATE",               "ev_create");
    register_event(id,"DRAW",                 "ev_draw");
    register_event(id,"STEP",                 "ev_step");
    register_event(id,"DESTROY",              "ev_destroy");
    register_event(id,"KEYBOARD_KEY_PRESSED", "ev_key_pressed");
end

function ev_create(id)
    -- siia siis sama stuff mis GM-is tuleks Create eventisse
end

Ühesõnaga kes GM-is drag-and-dropis kaugemale on jõudnud, sellel võiks sellisest leiutisest kasu olla. Drag-and-drop võimaluste lisamine oleks samuti käkitegu, vajaks lihtsalt spets IDE-t nagu GM.

Kui sellele ideele huvilisi on, siis võin mingi hetk esimese release'i teha sellest raamistikust. C++ oskused pole vajalikud ning kuna Lua scriptikeel on peaaegu sama lihtne nagu GML, siis võiks asjast kellelegi kasu olla küll. Any takers?


RE: AllegroMaker? - fred7162 - 15.10.2011 19:06

Tundub huvitav. Prooviks kindlasti.


RE: AllegroMaker? - icedude - 15.10.2011 21:00

Selline asi on juba olemas
http://love2d.org/


RE: AllegroMaker? - Hyena - 15.10.2011 21:53

loll jääkuubik, hullult sarnane on see ikka gamemakerile tõesti. see on mingi täiesti suvaline 2d mängu mootor mis lihtsalt juhtumisi kasutab KA Luat. mis see gamemaker'isse puutub?


RE: AllegroMaker? - InCreator - 15.10.2011 22:12

(15.10.2011 18:36)Hyena Kirjutas:  C++ oskused pole vajalikud ning kuna Lua scriptikeel on peaaegu sama lihtne nagu GML, siis võiks asjast kellelegi kasu olla küll. Any takers?

Võib-olla. Kuidas graafikapool on? Mingi library või--?


RE: AllegroMaker? - Hyena - 16.10.2011 00:17

Allegro5 kasutab täielikult raudvara kiirendust juba, spritede joonistamiseks on siis Lua-sse porditud funktsioonid, mis näevad sellised välja siis Lua koodis:
draw_sprite(sprite,pose,img,x-spr_w/2,y-spr_h,scale,(fade/255)*opaque);

spritede laadimise/tekitamine:
Vormindatud kood:
load_gfx("zedak.png","img_zedak");
register_sprite("spr_zedak","S",      "img_zedak"0,   0,  80,  8044.0);
register_sprite("spr_zedak","SW",     "img_zedak"0,  80,  80,  804);
register_sprite("spr_zedak","W",      "img_zedak"0160,  80,  804);
register_sprite("spr_zedak","NW",     "img_zedak"0240,  80,  804);
register_sprite("spr_zedak","N",      "img_zedak"0320,  80,  804);
register_sprite("spr_zedak","NE",     "img_zedak"0400,  80,  804);
register_sprite("spr_zedak","E",      "img_zedak"0480,  80,  804);
register_sprite("spr_zedak","SE",     "img_zedak"0560,  80,  804); 
Ja mängus töötab asi nii:
http://www.youtube.com/watch?v=rjXjTpi0Lg0


RE: AllegroMaker? - Normann - 16.10.2011 15:43

Tsitaat:register_object("CP","Cp.lua");
[Pilt: chrishansenwatchingyou.gif]