Gå til innhold

erfaringer om skript motorer


Anbefalte innlegg

Videoannonse
Annonse

for tiden holder jeg på med et veldig langtids prosjekt som går ut på å lage en 3d motor, for tiden holder jeg på med et plug-in som brukes til å eksportere alt av 3d data som jeg måtte trenge. Planen min var da å legge skripte direkte inn i filene. Jeg tenker å bruke skript til enkle oppgaver som fks jeg-trykte-på-knapp handlinger.

Så det jeg lurer på er :1 er dette veldig uklokt

2 finnes det bedre løsninger

takker for alle innlegg

Lenke til kommentar

Du kan jo bruke C/C++ moduler for dette, men det betyr jo at de som programmerer må kunne C/C++...

 

3D Studio MAX har et ganske unikt/genialt plug-in system på denne måten.

 

Men stort sett høres løsningen din ganske bra ut, forutsatt at grunnarbeidet er ordentlig gjennomført, personlig er jeg ikke noen fan av windows sin select case/swicth løsning på event systemet, hvis du har en funksjon pointer burde jo det gå glimrende.

 

Jeg har løst det ved å lage det slik:

struct _undefined 
{
public:
 // ingen variabler satt foreløpig
}*undefined;

struct _painteventargs : _undefined
{
public:
 HDC hdc;
 RECT draw_rect;
}*painteventargs;

typedef void (*event) (undefined param);

#define RAISE(EVENT, PARAMETER) EVENT((undefined)PARAMETER)

 

Dette er bare en skisse av hvordan jeg har laget det i gloom.

Deretter kan dette bindes til en C funksjon (en stdcall funksjon)

Lenke til kommentar

planen min hitil! er å bruke skript som små programmer som legger til enkle keyframes til objektene fks. hvis jeg trykker på heis knappen så legges en keyframe nå på heisens pos. og en keyframe på t-30 sek. 30m oppe, selve interpoleringen skal et hardkodet system ta seg av. På den måten tror jeg ikke at switch måten å gjøre det på vil ha store invirkingen.

Så jeg føler c/c++ er litt overdrevet, men det gir jo et helt nytt nivå av frihet ala Unreal2. Så det er abselutt fristende :hmm:

 

og som GeirGrusom sa

det betyr jo at de som programmerer må kunne C/C++...

 

Rent teknisk

Jeg er ikke helt med på hvordan du konverterer fra c++ kode til kjørbare kode.

har du en egen kompilator?

 

Takker for innlegget og kilde koden

Lenke til kommentar

Som tidligere sagt mistenker jeg at Lua eller Python ville være veien å gå. Lua er et såkalt metaspråk så vidt jeg vet, dvs. at du selv kan endre svært mye av måten det virker på f.eks hvordan det allokeres minne. På den annen side er det lett å integrere Python med C++ vha. Boost.Python. Civ. IV og Battlefield (svjv.) eksponerer et Python-grensesnitt for modding.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...