|
From: Chad A. <ae...@ae...> - 2002-01-09 14:06:59
|
The issue here is whether it should be a full component system or something of a smaller magnitude.
If you want a full component system, there really isn't a reason not to use CORBA or XPCOM. On the
other hand, I'd love to make something a little more lightweight. It'd be nice to have some sort of
automation in interacting with scripting languages, so a game could do something like:
void someFunction() {
}
IScriptEngine* se = CreateScriptEngine("python");
if (!se) {
error();
}
se->defineFunction("someFunction", someFunction);
se->defineMethod("someMethod", &C::someMethod); // or whatever that syntax is
and then:
se->execute("someFunction()"); // you pass in a script
whoa, I just realized you could use typelists to automate script bindings... that's cool o_o
Maybe that's what boost.org's automated python bindings do.
I do have a rough idea of a design, come to think of it. Should I make a new module in CVS? What
should it be called?
I wouldn't really know how to design the interface without seeing example usage though. I just
finished reading Martin Fowler's Refactoring (good book, btw), and I've moved away from doing lots
of up-front design. We'll see if this is a temporary or lasting effect on my coding style.
Are we going to have some sort of code review process for module owners? If I were a module owner,
I'd like to at least look at all code that's going in.
> after your talk about scripting languages and embedding them in a game,
> i would really love to take part in building a module that would be
> easily embedded in a game that would handle the loading of components
> regardless of the language they were written in. i think that would be
> really useful for all of the games in development for the club. i thought
> since you're the smart/knowledgable guy on this scripting stuff that
> perhaps i could get you to spearhead an effort to make such a module. i
> figured you could perhaps take care of the overall design and then task
> code monkeys like myself with work to get it implemented.
|