Game Development Reference
In-Depth Information
room for them has to be subtracted from the part of the screen that is available for
playing. This also means you have to use artwork that can be easily scaled or that
can be shown partially without taking anything away from the design.”
When you design games that work on a variety of devices, you can't always use all of the device's
available features. For example, if your game relies heavily on the player tilting the device, then the
game isn't playable on a desktop machine. Desktop machines obviously don't have sensors to detect
tilt (although that would be fun!). Furthermore, you often depend on versions of browsers and what has
been implemented. Audio is a good example. Different browsers play back audio in different formats
(or not at all). As a result, you shouldn't design a game that uses audio as a crucial part of its design.
Games such as Guitar Hero are difficult to port to JavaScript because they rely on having precise
control over the audio and measuring the synchrony between the audio and what the player is doing.
If you produce a game, you need to make a trade-off between creating the game for the lowest
common denominator (in other words, the device with the fewest capabilities) and thus not using a
lot of the features of more modern devices, versus creating a game that uses those features but isn't
playable on older devices. If you want to sell your game to a game-playing portal (a web site that
hosts many different games), the portal will have a list of devices that your game needs to support.
So, in many cases, you simply have no choice if you want to publish your game through a portal.
Mark: “One of the most important aspects of game design is the level design. We
spend a lot of time tweaking levels in such a way that the difficulty of each level
progresses nicely. All parameters that influence the game play are stored in settings
files. A designer can then modify these settings files, push new versions of those files
to the server, and immediately play the game using the new settings.”
Developing Games
If you want to develop games, you need to know how to program, but you also need to know
common solutions or approaches for solving programming problems. On top of that, some of those
solutions may be more generic than others, and some of the solutions may be more efficient than
others. In this sense, programming often is a trade-off between solving a specific problem fast or
taking the time to solve a whole class of problems at once. Especially in the game industry, there
often is little time to solve classes of problems because of pressing deadlines. So as a developer
in the game industry, you need to think very carefully about the approach you choose for solving
a problem. On the other hand, writing nice, reusable code doesn't always take more time than
writing quick-and-dirty code. As you gain more programming experience, you'll notice that you start
developing a mindset that lets you quickly gauge the kind of solution that is required for a certain
programming problem. Let's consider a couple of aspects of deciding on a solution.
Third-Party Libraries
Many games and applications rely on code written by different developers. That is why it's so
important that when you write code, you do it in such a way that the code is structured logically and
is easy for other developers to understand. Often, developers group related code in libraries. For
example, a developer may create classes for dealing with physics in games and release that code
in a library, to be used in any game that needs physics. Developers have created many libraries in
 
Search WWH ::




Custom Search