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