Game Design

國立雲林科技大學
National Yunlin University of Science and Technology
Challenges in Collaborative Game Design
Developing Learning Environments for
Creating Games
Advisor : Dr. Hsu
Presenter : Chih-Ling Wang
Author
: Maic Masuch1 and Michael
Rueger
IEEE 2005
Intelligent Database Systems Lab
Outline
2

Motivation

Objection

Introduction

Teaching Game Design

Creating Games

Conclusion

My opinion
N.Y.U.S.T.
I. M.
Intelligent Database Systems Lab
Motivation

3
N.Y.U.S.T.
I. M.
When teaching game design at university level, lecturers need an
adequate educational environment, a reliable platform or system for
implementing games.
Intelligent Database Systems Lab
Objection

4
N.Y.U.S.T.
I. M.
This paper performs a general analysis of the game design process,
the structure of digital games and investigate the requirements for
the use of OpenCroquet as a platform for collaborative game
design.
Intelligent Database Systems Lab
Introduction


5
N.Y.U.S.T.
I. M.
The challenge arises in balancing two aspects of teaching game
design:
─
On the one hand students should understand the structure of games.
Thus, the game development environment should not show a blackbox-behavior by hiding all internal programming aspects from the
students.
─
On the other hand games are highly complex multimedia software
projects. Thus, the system should not expose every detail to students.
Collaboration is a fundamental property of a system.
Intelligent Database Systems Lab
Teaching Game Design
6
N.Y.U.S.T.
I. M.

In the context of this paper we understand Game Design as the
creative process of developing a game concept, its core elements
and its structure and implementation.

A typical game design process consists of the following steps:
─
Developing the core idea
─
Writing a game concept
─
Producing the artwork
─
Programming the game engine
─
Game content production
─
Playtesting
─
Balancing and bug fixing
Intelligent Database Systems Lab
Teaching Game Design (cont.)
7

Every step in this pipeline requires substantial collaboration of
developers on specific tasks.

A fundamental part in the development process of computer
games is the integrated teamwork of developers and artists on
game assets and software.
Intelligent Database Systems Lab
N.Y.U.S.T.
I. M.
Teaching Game Design-Goals of Teaching
Game Design
8

The goal of teaching game design is to impart a deeper
understanding of what games are, how they are structured, what
their elements are and how they are developed.

Another goal of teaching is to train teamwork ─ often
interdisciplinary teamwork.
Intelligent Database Systems Lab
N.Y.U.S.T.
I. M.
Teaching Game Design-Educational vs.
N.Y.U.S.T.
I. M.
Professional Game Development Environments
9

Game design courses in an educational environment have to face
some severe restrictions in the development process compared to
professional game development.

Obviously, students have to get along with far fewer resources.
─
This implies manpower, development time, and budget.
─
Additionally, they are less experienced and some of them never worked in a
team before, which introduces some extra demands on the collaboration
aspect of the software.
Intelligent Database Systems Lab
Teaching Game Design-Collaborative Game
Design




10
Nowadays computer games are multi-million Dollar projects
implemented by teams of some dozen specialists in about two
years.
Students, even in small teams, cannot compete with this kind of
professional game development.
Therefore it is absolutely necessary to reduce the size and
complexity of the game projects.
This can be done by using the right tools, i.e. by providing a
game development environment in order to help the students to
focus on game creation and not implementation of a complete
game engine from scratch.
Intelligent Database Systems Lab
N.Y.U.S.T.
I. M.
Teaching Game Design-Collaborative Game
N.Y.U.S.T.
I. M.
Design (cont.)


11
Collaboration is needed for
─
Developing the game idea
─
Communicating (in every step of the game design process)
─
Sharing and managing assets
─
Sharing and managing code
─
Playtesting
─
Documentation
Although collaboration is an essential part of each game project
even professional game development tools fail to support teamwork
to its full potential.
Intelligent Database Systems Lab
Teaching Game Design-Environments for
N.Y.U.S.T.
I. M.
Creating Games

We distinguish between game development environments,
modifications of existing games (called MODs), and 3D Engines.
─
12
The latter have proven to be rather inadequate because it is necessary to
implement a whole gaming infrastructure on top.

There are a number of game development environments like
Virtools, game studio, adventure maker, Alice 3D and many more ─
and there are numerous 3D engines.

These however can be neglected, as they do not incorporate any
game mechanisms.
Intelligent Database Systems Lab
Teaching Game Design-Experiences with
N.Y.U.S.T.
I. M.
available Game Creation Tools

Alice 3D
─
─
─
─

Game Maker
─
─
─
13
Alice 3D is an open source tool for creating interactive virtual worlds
provided by Team 3 of Carnegie-Mellon-University(卡內基美隆大學).
It is based on Java and is designed primarily for non-professional users.
It is not really designed for collaboration.
The integration of the work of several team members can lead to
reproducible system crashes.
Game Maker is a well-designed shareware tool for the easy point-and-click
creation of small 2D games.
It has a network-component for multiplayer games, but no 3D functionality.
Besides the import of game assets Game Maker has no support for
collaboration or teamwork.
Intelligent Database Systems Lab
Teaching Game Design-Experiences with
N.Y.U.S.T.
I. M.
available Game Creation Tools (cont.)

14
Gamestudio
─
Gamestudio is a semi-professional game development tool that comes along
with a game engine.
─
It offers rudimentary import/export functions, but has problems with nonnative formats and does not offer special collaboration support.

All these tools have their deficiencies in collaborative development.

The need for an adequate educational environment for teaching
game design finally fostered the cooperation between the university
and Impara in order to develop the Impara game engine.
Intelligent Database Systems Lab
Creating Games

15
N.Y.U.S.T.
I. M.
A game can be seen as a system in which players interact with a
virtual environment governed by the game rules and game
mechanics from which eventually gameplay emerges.
Intelligent Database Systems Lab
Creating Games-The Structure of a Game
Engine
16

Generally speaking a game engine is
an application for the interaction of a
user with a virtual game world.

The user interface, the 2D/3D engine,
the audio engine and the network
module handle the I/O.

The physics engine (responsible for
world objects) and the AI engine
(responsible for the behavior of NonPlayer characters) handle the
simulation of the virtual world.
Intelligent Database Systems Lab
N.Y.U.S.T.
I. M.
Creating Games-The Structure of a Game
N.Y.U.S.T.
I. M.
Engine (cont.)


17
From a software engineering point of view we can speak of
OpenCroquet as a system that is very well prepared as a game
engine.
Impara developed a 2D/3D game engine that makes use of squeak
and tweak likewise and is currently integrated in OpenCroquet.
Intelligent Database Systems Lab
Creating Games-Using a Squeak/Tweak based
N.Y.U.S.T.
I. M.
game engine for game creation

The Impara game engine provides a flexible framework of
components for constructing a wide range of games:
─
─
─
─
─
─
─
─
─
─

18
Single- and multi-player support
2D, 2.5D, 3D
First person, top-down, isometric, tile-based and 3D rendering
Transparent synchronization of multi-player game worlds
Asset management
AI support
Physics engine
Collision detection
Fundamental game mechanics for game objects
Collaboration.
One of the basic design principles and suggested design style is the
use of plugs and adaptors.
Intelligent Database Systems Lab
Creating Games-Using a Squeak/Tweak based
N.Y.U.S.T.
I. M.
game engine for game creation (cont.)


19
Modeling
─
The game world is constructed in 3D space, although the API supports both
3D and 2D coordinates.
─
By keeping all information in a full 3D coordinate system, all renderers can be
used for the same game world.
Asset Management
─
All content is kept in external files and loaded at game start.
─
For deployment the image can be saved with pre-loaded assets.
─
By hooking up the asset folders with a repository system collaboration within
a team is easily supported.
─
Updating from the repository and restarting the game immediately makes use
of the latest assets allowing for short turn around times.
Intelligent Database Systems Lab
Creating Games-Using a Squeak/Tweak based
N.Y.U.S.T.
I. M.
game engine for game creation (cont.)

Single- and multi-player support
─
─
─

20
Most parts of the game engine are completely unaware of the engine’s multiplayer capabilities.
Message sends are intercepted and forwarded where appropriate, taking care
of synchronizing the distributed game worlds.
Synchronization is not strict; deviations from the “true” state are compensated
smoothly on the remote client ends.
AI support
─
Based on one of the central design principles Artificial Intelligence support is
attached to the game objects when needed.
─
This way the same game can easily function as both a single or multi-player
version, adding Non-Player-Characters (NPCs) instead of human players
where needed.
Intelligent Database Systems Lab
Creating Games-Using a Squeak/Tweak based
N.Y.U.S.T.
I. M.
game engine for game creation (cont.)

Physics engine
─

Code management
─

21
The game engine provides a built-in basic physics engine, supporting masses,
acceleration, drag and gravity.
Code management is not done directly through the game engine but rests
within the responsibility of the Squeak/Tweak development environment.
Collision detection
─
Collision detection is another service that is attached to the game.
─
If a collision between two objects is detected, a customizable callback is sent
to the objects involved.
Intelligent Database Systems Lab
Creating Games-Using a Squeak/Tweak based
game engine for game creation (cont.)


22
Fundamental game mechanics for game objects
─
Most games share the same fundamental game mechanics like scores, hit
points, damage levels, playing time etc.
─
Some of them are global some local.
─
The game engine tries to provide default implementations for the global
cases like playtime.
Collaboration
─
As even small games are usually implemented in teamwork, collaboration
between team members is a major issue in game design.
─
The current game engine version still lacks more immediate modes of
collaboration like incremental live updating, awareness and collaborative
editing.
Intelligent Database Systems Lab
N.Y.U.S.T.
I. M.
Creating Games-Usability of Squeak as a
N.Y.U.S.T.
I. M.
programming language for game creation

Squeak ─ not surprisingly ─ is Turing complete.
─

23
Turing complete:能夠計算任何可計算的function
One of the most amazing, or, to be honest, frustrating element of
teaching a course using Squeak is how the students react to having
to learn Squeak/Smalltalk.
─
Squeak:是一個free, open source, 是Smalltalk的程式語言.
─
Smalltalk:是2D的程序設計語言,也是第一個真正的集成開發環境(IDE).

The Squeak (Smalltalk) concept of working within an image
instead of compiling from text files also adds to the learning curve.

Fortunately packaging tools are available for Squeak.
Intelligent Database Systems Lab
Creating Games-Work in Progress
24
N.Y.U.S.T.
I. M.

Our current work aims at implementing a refined generalized game
engine in Squeak/Tweak.

Other projects focus on the implementation of first tools for
OpenCroquet as creative environment for learning and playing.
Intelligent Database Systems Lab
Conclusion
25
N.Y.U.S.T.
I. M.

Game Design requires the right people using the right tools in a
collaborative environment.

We developed a game engine in the Squeak/Tweak environment that
is used for a commercial game as well as for teaching game design
at the university.

Our approach with the Impara game engine is very successful and
undoubtedly by far the most effective approach.

Our next steps are to migrate the existing game engine to
OpenCroquet and enhance the possibilities for collaborative
development.
Intelligent Database Systems Lab
My opinion
26

Advantage: …

Disadvantage: …

Apply: Collaborative game design
N.Y.U.S.T.
I. M.
Intelligent Database Systems Lab