Re: [GD-General] Games using off-the-shelf scripting languages other than Python or Lua?
Brought to you by:
vexxed72
From: Zach B. <za...@za...> - 2004-08-19 02:31:10
|
mike wuetherick wrote: > we have used simkin (www.simkin.co.uk) for our scripting language for > several years, it is a c-like language, very nice, simple to use and > easily extensible. > > it is also cross-platform and can be integrated into many languages, > including embedded devices and more. Are you actually using it under the terms of the LGPL? The LGPL is a pretty demanding license to attach to a scripting language and in particular to a language that might otherwise be suitable for being embedded in a commercial game. To give my personal experience, I'm a Ruby fan but it's far too slow and large to consider embedding. JavaScript would be nice but I do console work and even stripped to the bone it is too large. I've evaluated Lua. It's okay, I think, and very good in theory, but the code is really comment-deficient, the invocation overhead is not low enough for me, and the syntax is just different enough from C that bugs like leaving out a "then" after an if statement would seem common. But it is closer than anything else to the kind of language you would typically want to embed in a commercial game, except maybe Small. I've rolled my own scripting languages and the control is worth it. It's always been for "little languages" rather than full-blown scripting languages. The two huge abilities I gain with any scripting language (from Ruby to formatting strings) are representing behavior as data and specifying behavior with problem-specific semantics. An off-the-shelf language that happened to be suitable would be great, but my needs are always too specific. But just gaining those two abilities tends to be enough unless the game needs widespread scripting or deep scripting, which hasn't happened on any games I've worked on. A need for widespread scripting suggests that a more scripty language (Lisp, say) should be at the core of the game architecture in order to minimize inevitable cross-language hangups. A need for deep scripting suggests the use of a scripting language that meets some very specific needs, which may make it difficult to use an off-the-shelf scripting language. So as far as I can see, it all comes down to the more mundane issues -- memory, memory, memory, speed, C/C++ interface, familiar syntax -- rather than language features. I don't foresee anyone embedding a language like Ruby in a commercial game. -- Zach. |