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. |