Game Development Reference
In-Depth Information
The point here is that game mechanics need to be developed through
scripting; there's no way around it. Large studios (and even smaller
multiperson studios) usually departmentalize the responsibilities of a
game. The artists are the artists and produce the nonscripting assets, and
the scripters/software engineers do the scripting. There is little need for all
the artists to do a lot of scripting (or any, really) and the same goes for the
scripters. Here at the Los Alamos National Laboratory, in our team, we have
scripters and artists; and while the artists may mock up a game with a bit of
basic scripting, before that game goes out to the client, the software engineer
rebuilds the mechanics using more efficient and elegant code. However, for
most indie developers or game developers getting started it's one person
doing everything, and thus, even if you're coming from an art background,
scripting is necessary to get working.
Now after you sell that first million copies of your game and are ramping up
for the next, it might be worth it to hire a scripting specialist; it's probably
just a better use of your time if you're not a scripting maestro. But even then,
being able to speak a bit of the scripting language becomes an important
part of the team dynamic. So here we go.
Unity's Scripting Languages
Technically speaking, when scripting we aren't programming. That is, we
really need not know a great deal about the nuts and bolts of the game
engine source code to start taking advantage of it. Unity does this through a
collection of instructions or behaviors (called classes ) that are accessible via a
few scripting languages. Through these scripts, these classes can be accessed
and utilized. Of further power, by writing scripts, new classes can be created
that can further access functionality deep down in the game engine
source code.
Unity uses three scripting languages, JavaScript (UnityScript), C#, and Boo.
These three scripting languages are really multiple ways of accessing the
same game engine core functionality; three tools with the same goal. One
caveat though: It would seem that Unity—since it supports all three scripting
languages—would be happy digesting all three within a project. And in fact,
there are times (check out the iTween package at http://itween.pixelplacement
.com ) that a C# script can define classes that other scripting languages can't
access. Generally, once you pick your poison (scripting language), the entire
project should be built in that language. C# scripts and JavaScripts don't
communicate well with each other.
Boo Script
Boo is a type of Python, so if you've been using Maya's new Python mechanism,
you may find this is the way to go since it will be most analogous to your
knowledge set; however, Boo is the least used of the scripting languages within
the community, and in fact it can be a bit difficult to find help with it. A Boo
Search WWH ::




Custom Search