The magazine of the Melbourne PC User Group
Art and Hard Science for Serious Games
Development
- for the bookshelf
Major Keary |
|
Computer games is big business, said to generate more money than Hollywood's
film industry. Creating a worthwhile 3D game requires the application of serious
disciplines: math, physics, and artificial intelligence. Of course, if you have
no artistic talent, none of that will save you; a recent title from Elsevier
looks at games development from an artist's perspective - but doesn't forget the
hard stuff.
Games Development with Director MX
This title has been written from an artist's perspective by someone who has been
in graphic design and animation for some twenty-five years and whose design
skills are matched by his capacity as a technical communicator. This is an
exceptionally lucid description of how to use Macromedia Director for games
development. It is not intended to be an introduction for game-development
novices, but it does contain much useful information for those who may be
approaching design and animation for the first time.
The book is in sections. Following an introductory your-first-game walk-through
the first section addresses creating artwork and animation (the chapter on 'the
walk cycle' is very well presented). Also discussed is the use of
computer-generated imagery programs and the importation of artwork for
backgrounds and other purposes. Section 2 is about scripting. The book contains
extensive examples of code in Lingo with commentary and useful notes on its use.
JavaScript is also discussed as a scripting language. The final chapter of the
scripting section deals with integrating Director with Flash (which is used to
play the animations).
Section 3 contains a series of practical applications, beginning with simple
projects and moving on to "platformers" (control of a sprite character that can
run, jump, and walk, and avoid collisions). The projects are accompanied by the
necessary code (which is also contained on a companion CD). Section 4 takes the
reader on to three-dimensional figures, introducing modelling techniques.
There are also discussions of solid object physics and maths for games
developers. These are brief, but point to an important aspect of games design
that nascent developers need to appreciate. This title is a remarkably
articulate and technically detailed introduction to all aspects of game
development. It assumes the user has, and knows how to use, Director.
This title is available direct from Elsevier Australia Customer Service, Ph:.
1800 263 951, fax 02 9517 2249, or email
service@elsevier.com.au.
Nik Lever: Director MX Games
ISBN 0-240-51949-3
Published by Elsevier,
330 pp. + CD,
RRP $92.40 |
 |
Essential Mathematics for Games
From Morgan Kaufmann, an imprint of Elsevier, Essential Mathematics for Games
and Interactive Applications: A Programmer's Guide is a great introduction to
one of the hard disciplines for programmers ("for programmers" is the operative
term). The book assumes a knowledge of programming - not just a casual
acquaintance - but does not require an in-depth knowledge of mathematics. The
inside front cover has a glossary of notation to help those of us who need to be
reminded.
The book is in parts. Part I covers core mathematics: vectors and points, linear
transformations, affine transformations (includes discussion of manipulation of
games objects and scene graphs), and real-world computer number representation
(includes a discussion of the IEEE floating point standard). Part II deals with
rendering: viewing and projection; geometry, shading, and texturing; lighting;
and rasterisation. Part III is about animation: curves and orientation
representation. Part IV addresses simulation: intersection testing, and rigid
body dynamics.
The authors do not present a purely mathematical introduction, but discuss the
mathematics in a programming context. For those who need some further maths
coaching appendices have been included: reviews of trigonometry and calculus.
A companion CD (Windows, Mac OS X, and Linux compatible) contains source code
for the demos (pre-compiled versions for Windows), and source for the graphics
and math libraries.
A thorough, well-presented text that covers one of the essential elements of
games development. It provides valuable insights into all aspects of animated
3-D programming. An essential resource for professional developers of games. It
should also be of interest to anyone with an interest in computer number
representation.
This title is available direct from Elsevier Australia Customer Service, Ph:.
1800 263 951, fax 02 9517 2249, or email
service@elsevier.com.au.
James Van Verth and Lars Bishop:
Essential Mathematics for Games and Interactive
Applications: A Programmer's Guide
ISBN 1-55860-863-X
Published by Morgan Kaufmann, 676 pp. + CD,
RRP $97.35 incl. GST |
 |
Physics for Games Developers
Realism is an essential element of a successful game program, and to establish
realism one needs to apply the principles of physics. Programmers usually don't
have a strong mechanics or physics background, which is the reason for this
title, Physics for Games Developers. Readers are assumed to have a
professional-level knowledge of programming, at least a secondary school
grounding in physics and calculus, and proficiency in trigonometry, vector
maths, and matrix maths. The book contains 'rust-removal' reviews of those
subjects.
Physics is a broad field of science; the author points out that games developers
are interested in a particular aspect: mechanics - sometimes called real physics
- which "is the study of bodies at rest and in motion and of the effect of
forces on them".
The first part of the book deals with concepts and principles: basic concepts,
kinematics, force, kinetics, and collisions. The following five chapters focus
on "some real-world problems" projectiles, aircraft, ships, hovercraft, and
cars. The next group of seven chapters deal with real-time simulations,
including implementing collision response, rigid body rotation, multiple bodies
in 3D, and particle systems.
The text is well supported with diagrams and there is example C++ code. Even
though a background in programming, maths, and mechanics is assumed, informed
lay readers should find it highly interesting for its insights. One does not
have to be a physics expert to appreciate, and learn from, this book.
Programmers, even if not involved in game development, should find much of
interest.
David Bourg: Physics for Game Developers
ISBN 0-596-00006-5
Published by O'Reilly,
326 pp.,
RRP $79.95 incl. GST |
 |
Artificial Intelligence
The question of what artificial intelligence (AI) is - let alone the definition
of intelligence - attracts much discussion. Lay readers who want an informed,
but plain language commentary on the issue should find AI for Games Developers
interesting and informative. Anyone with an interest in AI - especially how it
is implemented in a programming language - should find this a useful
introduction. The fact that the focus is on games development makes it easier to
grasp concepts and understand how solutions are formulated.
The book assumes a knowledge of the C and C++ programming languages, but readers
are not expected to know anything about AI or games development. In short, if
you are a programmer who wants to explore games development, this is an
important resource. Creating "dazzling and compelling 3D graphics" is no longer
sufficient in itself for a game to be marketable; the presence of apparent
intelligence is an essential element.
There are certain behaviours that games require, such as navigating a maze.
Others discussed in the book are chasing and evading, pattern movement (such as
evasive action taken by a target, or patrolling by a guard), flocking and
swarming, obstacle avoidance, pathfinding, and searching. The coverage is
detailed and supported by illustrations, diagrams, and example code. A chapter
discusses scripted AI and scripting engines.
The second half of the book deals with topics usually found in theoretical
texts: fuzzy logic, rule-based AI, probability, Bayesian techniques, neural
Networks, and genetic algorithms. The authors do a remarkable job of explaining
the concepts and demonstrating their application in a game-world environment
with code examples. If you want a clear, easy-to-follow explanation of these
topics, this is a text well worth reading.
An outstanding example of technical communication. An essential resource for
games developers, and well worth having in any library with holdings on AI.
David Bourg and Glenn Seemann: AI for Games Developers
ISBN 0-596-00555-5
Published by
O'Reilly, 371 pp.,
RRP $79.95
incl. GST
|
 |
Reprinted from the July 2005 issue of PC Update, the magazine of Melbourne PC User Group, Australia
|