From: Ben S. <bs...@vr...> - 2002-01-09 22:41:02
|
well i guess i'd rather have a more lightweight system. however, i don't particularly think it's worth our time writing bindings for various languages. however ... if you think we can do it with some fancy template meta-programming or reuse existing code out there that does binding to various languages, then i say go for it. now, i'm not familiar with doing scripting, but i would probably want to use the scripting engine along the following lines (ignoring error condidions): ScriptEngineFactory* factory = ScriptEngineFactory::getInstance(); IScriptEngine* se = factory->create( "python" ); se->execute( "myPythonFunction()" ); my point above is that i wouldn't necesarily want to have to define my functions before i can call them. i would hope that the scripting engine would be smart enough to be able to call the correct python function without me having to define it first. perhaps it would be up to the particular scripting engine to define the functions. or better yet, maybe we could dynamically load "plugins" that define functions in an arbitrary language. when loaded, they would register the funtions/classes they provide with the apropriate scripting engine. then when i use the scripting engine using code similar to above. as for a CVS module, here are some ideas: - grok - sanskrit - scribe - ogre - chickenscratch - chicken - pig - orc - goblin code review process ... i'd say that's up to the module owner. please, check in your ideas and UML diagrams ... i'd love to take a look at them and comment on them! cheers, ----- Ben Scott President ISU Game Developers Club Treasurer ISU Ballroom Dance Company bs...@ia... On Wed, 9 Jan 2002, Chad Austin wrote: > 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. > > _______________________________________________ > ISUGameDev-devel mailing list > ISU...@li... > https://lists.sourceforge.net/lists/listinfo/isugamedev-devel > |