Game Development Reference
In-Depth Information
ITS PLC Professional Edition stands out from
the competition not just due to its high quality
simulation but also because it includes some
other very interesting educational features.
Namely: compatibility with any PLC of any brand;
manual or PLC control of the plants; fault simu-
lation and state forcing in sensors and actuators;
total interaction allowing the introduction of
disturbances in the plant; and supporting docu-
mentation easy to read and available in many
version of Visual Studio C# Express Edition and
a ready to use XNA Framework Content Pipeline
that would allow developers and artists to easily
import and process assets into their video games
(Klucher, 2006).
The XNA framework seemed to be a good
option: a framework offering ready to use com-
ponents for video game development that hides
low-level technical details. As such XNA allows
developers to focus more on the development of
the video game rather than solving hard technical
issues that are the base of any game engine.
Even though the XNA Framework offered
a lot, two very important parts required for the
project were missing: an efficient way to present
data to users - graphical user interface - and a tool
to simulate rigid bodies and to perform collision
detection - physics engine. At that moment, XNA
was a very recent technology, and so it was im-
possible to find any robust third party component
that would allow solving this problem. A custom
graphical user interface component was designed
and implemented and an already existent physics
engine was used.
After some testing, Visual Studio C# Express
Edition proved to be valuable tool, even for non-
programmers, for fast prototyping. All of the
development team - even artists - started to use
the “still in development” game engine to quickly
test and fine-tune 3D models, materials, collision
shapes and even to prototype game logic.
Since the target market for ITS PLC Profes-
sional Edition is schools laboratories and training
centers, a major requirement for the graphics
engine was to be compatible with low-end com-
puters while maintaining a good rendering quality.
Yet, the graphics engine would have a minimum
requirement: support for shader model 1.1. This
is because the XNA framework does not support
the traditional fixed function pipeline.
The ITS PLC graphics engine; it is composed
by a scene graph optimized by a frustum culling
technique, a material system that efficiently man-
ages batch of materials, and by a presentation
The Development
Designing and developing ITS PLC Profes-
sional Edition required many technical decisions;
namely, about the selection of the development
tools, engine development, content creation, and
the tradeoff between technology integration and
product functionalities. The goal of this section
is to share the choices, revealing the technical
foundations on which ITS PLC is based.
The Graphics Engine
Choosing the game engine on which ITS PLC
is based was the first decision. Commercial
game engines used to power AAA titles offered
all the technical features required, but their cost
was incompatible with the project. On the other
hand, free game engines were available, some of
them open-source, but none offered what it was
required: a robust, simple to use and highly flex-
ible engine, capable of handling complex small
scenes, and possible to customize and enhance
according to the needs.
At the time Microsoft was announcing the re-
lease of the first version of XNA (Walker, 2007), a
framework that would allow developers to create
games targeting the Windows and Xbox360 plat-
forms seamlessly. The most promising features of
XNA were the concept of a managed framework for
game development using C# as the programming
language, the complete integration with the free
Search Nedrilad ::

Custom Search