On Dec 26, 2007 3:14 PM, Dennis Schridde <[EMAIL PROTECTED]> wrote: > Am Mittwoch, 26. Dezember 2007 21:59:40 schrieb Ariston Johnson: > > On Dec 26, 2007 3:52 PM, Gerard Krol <[EMAIL PROTECTED]> wrote: > > > Hi everybody, > > > > > > You all know we are in the possession of our very own scripting > > > language. From time to time the question has been raised if we'd want to > > > replace the home grown language with something more standard. The > > > advantages would be: > > > > > > * We don't need to maintain the old scripting language anymore > > > * We would gain extra flexibility in the scripts > > > > > > The main disadvantage is however that we would need to convert all > > > existing scripts to the new format. I believe this is possible using a > > > modified version of the script parser that is used in Warzone. > Personally, I am at most interested in Troman's opinion on this, since he was > the one who did most of the scripting work, did some great AIs with it, and > managed to bring the language itself up to current standards while > documenting it all. > > > Even without being able to automate any part of the conversion > > process, I feel that this is a worthwhile project. The less > > proprietary stuff we have to deal with in the long term, the better. > > I say this particularly as the guy who had to convert our file storage > > format loading and saving routines to deal with different endians, a > > problem that still brings up bugs over a year and a half later. > Yeah, that's one part were we currently still have problems with, afaik: > Saving the interpreter state... > > > > For the new scripting language to use the only competition was between > > > Lua and Python. I am fan of Python as a language, but the ease of which > > > Lua can be embedded amazed me. If we are going to switch I'd definitely > > > recommend Lua. I'm currently writing a new sequence system using Lua, > > > and I'm really pleased by the ease of working with Lua & the C API. > > > > Python is too heavy-weight. I don't know much about Lua other than > > that it is popular and easily embedded. GNU Guile (a Scheme > > interpreter) is another option that we could explore. > I'd had to do Scheme in my 1st semester and it was not really something I > would recommend to everyone. It is a nice and logical language, but lots of > brackets and a seemingly lack of standard constructs like arrays (caddr ftw!) > reduced the fun a bit.
Most Scheme implementations, including Guile, have at least hash tables and vectors. Scheme and Lisp are feared only because professors your first semester or thereabouts force you to learn some tiny fraction of the language, which invariably proves to be impossible to use the same way that C would be impossible if you were only taught how to write 'if' statements and not function calls. > > > It may also be worth finding a language that can be > > bytecode-interpreted, possibly even loading bytecode files from disk > > instead of recompiling them each time the scripts are loaded by the > > game. This could improve both runtime performance and loading time. > > (It appears that Lua may have this capability.) > Indeed, Lua can do that. Garbage collection is a real concern. Lua 5.1 claims to have incremental garbage collection, which is probably good enough. _______________________________________________ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev