Xconq language thoughts

Stan Shebs shebs@apple.com
Thu Nov 20 02:16:00 GMT 2003


In all the discussion of extension languages for Xconq, the one thing I look
for is "what is it for". It's always lots of fun to talk about languages and
their good/bad points, but what do the game players and designers get 
for it?

For instance, many of the games in Xconq are based on a randomly generated
world, the purpose being to provide a new and different experience each 
time.
This is completely opposite to 95% of commercial game design, where 
everything
is so predetermined that you can buy a printed walkthrough at the bookstore.
Random generation is harder; you can't just write a script for AI 
behavior, the
AI actually has to be able to do its own analysis. In return, you get a game
where you can't win by knowing to send a full transport to 34,45 after 
turn 30;
transports may even be the totally wrong strategy. Now if people want to 
write
scripted scenarios for Xconq, that would be an interesting addition; but I
haven't seen very many requests for that.

Another consideration is that there is a tension between generality and
specificity; if you generalize everything a lot, you get more flexibility,
but you also have to do more work to get something working.  In the most
extreme case, you end up with one of those generic "game engines" that
amounts to little more than a poor reimplementation of event loop and
memory manager. Xconq is consciously designed to support only a very
specific class of games; in return you get lots of functionality that "just
works". For instance, there has long been an ability to write AIs customized
for a particular game design, but so far everybody has preferred to just
sponge off the generic AI instead. (Not too surprising, since AI writing
is hard, and there is no possible API that can help you with the hard 
parts.)

So when thinking about language integration, don't think about resumes
or user familiarity or whatever; think about how much Xconq machinery you
want to use as-is, vs how much you want to change.

Stan




More information about the Xconq7 mailing list