Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  5 686
Heisann

Tok opp igjen sommerprosjektet mitt fra i fjor å har allerede fått fikset opp i mye rot, men har nå støtt på et lite problem.

For å forklare problem stillingen.

Det er et 2d game engine hvor hvert "GameObject" / "Entity" har attributes og behaviors(Komponentbasert, slik som Unity 3D) for å ikke få et stort/dypt klasse-hirarki.

Problemet er at det er kodet i C++ jeg har lite lyst til å skrive alt av komponenter i C++(Ettersom hver behavior er en klasse) siden dette gir mindre fleksibilitet og man må rekompilere hver gang man skal teste endringer i ét komponent.

Så det jeg ønsker er å ha muligheten til å definere behavior(en klasse) på script siden for å deretter knytte det opp mot "GameObject" / "Entity".
Hver "Entity" har en array med en instance av hvert komponent knyttet mot de.

Så det jeg egentlig lurer på:

1. Hvilke scriptspråk kan bindes mot C++ å definere klasser på scriptsiden som kan brukes på den kompilerte siden?

2. Hva er evt. ytelses-tap, kan ting caches, kjøres om til bytecode, hva kan optimaliseres?
Selv bruker jeg lua. Det kan ikke knyttes direkte til C++ klasser, men de finnes kanskje 'moduler' til lua som hjelper deg med dette.
hayer's Avatar
Trådstarter
Ja, vet at LUA støtter klasser gjennom bruk av tables eller hva de nå kaller det.

Men er ikke det jeg ser etter. Jeg vil definerer klassen i scriptet og bruke den i C++ runtime.
Men du kan jo lage klasser i Lua og lage et grensesnitt til disse i C++.
Selve klassen kan være kodet i C++, mens alle funksjonene tar i bruk Lua funksjoner, er ikke det en grei løsning?
Kan dette være noe du ser etter?
http://docs.python.org/extending/extending.html
hayer's Avatar
Trådstarter
Sitat av boblehest Vis innlegg
Men du kan jo lage klasser i Lua og lage et grensesnitt til disse i C++.
Selve klassen kan være kodet i C++, mens alle funksjonene tar i bruk Lua funksjoner, er ikke det en grei løsning?
Vis hele sitatet...
Prøvde dette etter første tipset ditt og litt googling, men tror nok jeg ikke kjenner Lua godt nok - implementasjonen ble altfor treg og slukte minne.

Foxboron:
Takker, skal ta en titt på det. Ser at Boost.Python har blitt brukt en del. Ihvertfall ifølge boken jeg sitter med.