Re: A few questions about scripting

Douglas Cox <[email protected]>
Newsgroups gmane.games.devel.sweng
Message-ID <[email protected]>
Seven years ago we decided to consolidate our engine and, due largely to the
variety of projects that we worked on, rewrite an engine that was as
game-neutral as we felt was possible.  We have a "scripting" language that
resembles C, but it is basically chained actions implemented in C++.  We
added state machines and a few other things, and ever since *all *of our
gameplay logic has been written in it.  If something was needed for a game,
we added new actions, but made them generic and reusable.  Since then, we
have made 13 games on 8 platforms using this engine and licensed it to
several other companies.

I *highly* doubt that *we* could have done the same thing given our
resources without having some sort of scripting language. Other companies
focusing on a specific genre or with enough people could certainly create
games entirely in C++.  And some of our licensees have moved more of their
gameplay code back to C++ or integrated a different scripting language.  It
generally boils down to what you feel comfortable doing with the people you
have and the work you have to do.

What we have learned though, is that once you make the move to using script
for gameplay you will always be asked to extend it or add some other
feature.  If you try to avoid it, scripters *will* find a way to do what
they want and it *will *be slower.  But it's not always about writing the
fastest code possible, sometimes it's about making it easier to get the job
done.

So as I mentioned in another post, we're now trying to solve both problems
by creating one language that both engine and gameplay programmers will
use.  Gameplay can be implemented quickly and run through the VM for quick
iteration, and if certain classes need to be compiled to machine code for
that boost in speed near the end of a project we can compile it to C++
instead.  But in the end, what we do still boils down to what we feel
comfortable undertaking with the people that will be doing the work (on both
the engine and gameplay sides).

-Doug
Engine Programming Director
Vicious Cycle Software, Inc.


On Wed, Apr 28, 2010 at 9:32 AM, Brandon Van Every <[email protected]>wrote:

> On Tue, Apr 27, 2010 at 9:18 PM, Will Vale <[email protected]>
> wrote:
> >
> > If I'd been smarter we would have kept the old script language, or
> something
> > similar, as a third layer and used it for what it was clearly good at. If
> > I'd been really smart we could have compiled it to the same bytecode so
> we'd
> > only have had to maintain one runtime system.
>
> The past is the past.  But given the languages that are available
> off-the-shelf today, would you still be inclined to roll your own?
> Let alone roll 2 of your own.
>
>
> Cheers,
> Brandon Van Every
> _______________________________________________
> Sweng-Gamedev mailing list
> [email protected]
> http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com
>

_______________________________________________
Sweng-Gamedev mailing list
[email protected]
http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.