Zach Baker <zach / zachbaker.com> wrote: : Todd Gillespie wrote: :> Oh ghod, how I wish it were so. The smarter groups in the industry do :> this, for instance id & Unreal takes this approach[...] : Sure, but those two are also creating complete game engines that they : license to other publishers and developers. Those are projects that : demand lots of flexibility and have a significant maintenance stage. : But if you're making, say, a baseball game, general-purpose scripting : like UnrealScript isn't a major priority. That would be entirely correct if it weren't for the small problem that games remain vaguely designed right up until mastering. If you know that the requirements are going to change once a week, you have a strong impetus to add a scripting layer, regardless of your licensing intentions. For example, the hit series 'Crash Bandicoot' is written in LISP on a C graphics engine. (Note: LISP. on a 30Mhz MIPS chip. running fast. just thought that was cool.) I do not recall them selling this engine to anyone, but I do recall the flexibility of their games. There is no reason to suppose your hypothetical baseball game would have firmer design schedules, or would be less receptive to flexibility. : The most common role for scripting languages in games is to facilitate : lightweight programming -- design by scripting. Only games with a very : general architecture tend to use scripting in the more powerful "glue : language" sort of way, because of the time it takes to design, implement : and maintain an appropriate scripting interface. But hey, if you've got : the time, it's a slick way to do things. Component architecture is more than what you are crediting it with -- it is a solid improvement in the stability of programs. It is one of the best ways we have right now of keeping, say, the game script from mucking with the memory management of the collision system. Good design provides for this seperation already -- implementing a scripting system enhances that by moving script code out of the same execution context. I'll put my wizard hat on now and predict the future. The future will have many more component/scripting architectures. All the smartest teams are already doing this; we've seen the pack follow before and they'll follow again. Current resistance is based on a blend of rigidity of current tools, poor education (CS is notoriously poor in teaching the handling of foreign data), and the severe time constraints that game teams work under. "You heard it here first." :) : Zach Baker <zach / zachbaker.com> : Any game can be improved with the introduction of a rocket launcher. Life, too. I like your homepage, btw.