[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Ironic comment RE: cooperative multitasking
- From: "Thatcher Ulrich" <tu@...>
- Date: Sat, 8 Jun 2002 18:01:26 -0400
On Jun 08, 2002 at 12:38 -0400, Sean Middleditch wrote:
> The fact that enough game companies don't find languages like Lua useful
> says that there is something Lua is missing that it shouldn't be. All
> that I can really think of tho is a) *real* multi-tasking, and b) a more
> newbie-friendly syntax.
Eh, IMHO "real" multitasking in a game scripting language is more bug
than feature. Less deterministic, and thus harder to debug than
cooperative multitasking. Thread synchronization is difficult -- no
point in inflicting it on scripters any more than necessary.
Back to the issue of why or why not game companies select Lua, I can
comment briefly on Oddworld's recent decision to roll our own for the
next game. The decision was more or less in the hands of the team
member responsible for scripting & AI, with approval from the lead. I
threw in my 2 cents including Lua advocacy during the selection
process, but the result came out in favor of homemade. The main
1. no equivalent of yield() at the time of evaluation
2. general worries about GC
3. desire to roll-your-own
Reason 3 is pretty endemic in the game industry, populated as it is by
hard core hackers. The first time I embedded a scripting language in
a game, in '97 or '98, I rolled my own and had a great time doing it.
It was certainly educational, but I would have saved a ton of time and
had a better system had I just used Lua (I had heard it mentioned on
Usenet, but never looked into it). I've since wised up (a little),
but I'm an old fart by game industry standards.
I think the days of roll-your-own are numbered though, due to
competitive & economic pressure. Once a few off-the-shelf options are
well known to be good & flexible enough, responsible leads won't
allocate resources to roll-your-own. As Bret points out, this process
is as much marketing & political as technical.