challenges in collaborative game design developing learning environments for creating games

26
Intelligent Database Systems Lab 國國國國國國國國 National Yunlin University of Science and T echnology Challenges in Collaborative Game Design Developing Learning Environments for Creating Games Advisor : Dr. Hsu Presenter : Chih-Ling Wang Author : Maic Masuch1 and Mic hael Rueger IEEE 2005

Upload: arama

Post on 17-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

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. Outline. Motivation Objection Introduction Teaching Game Design Creating Games - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

Intelligent Database Systems Lab

國立雲林科技大學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

Page 2: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

2 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.Outline Motivation

Objection

Introduction

Teaching Game Design

Creating Games

Conclusion

My opinion

Page 3: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

3 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.Motivation When teaching game design at university level, lecturers need an

adequate educational environment, a reliable platform or system for implementing games.

Page 4: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

4 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.Objection 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.

Page 5: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

5 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.Introduction 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 black-box-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.

Page 6: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

6 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.Teaching Game Design 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

Page 7: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

7 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.Teaching Game Design (cont.) 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.

Page 8: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

8 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.

Teaching Game Design-Goals of Teaching Game Design 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.

Page 9: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

9 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.

Teaching Game Design-Educational vs. Professional Game Development Environments

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.

Page 10: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

10 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.

Teaching Game Design-Collaborative Game Design 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.

Page 11: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

11 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.

Teaching Game Design-Collaborative Game Design (cont.)

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.

Page 12: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

12 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.

Teaching Game Design-Environments for Creating Games We distinguish between game development environments, modifica

tions of existing games (called MODs), and 3D Engines.

─ 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.

Page 13: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

13 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.

Teaching Game Design-Experiences with available Game Creation Tools

Alice 3D─ Alice 3D is an open source tool for creating interactive virtual worlds provi

ded 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 reproduci

ble system crashes.

Game Maker─ 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 collabor

ation or teamwork.

Page 14: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

14 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.

Teaching Game Design-Experiences with available Game Creation Tools (cont.) 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 non-native 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.

Page 15: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

15 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.Creating Games

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.

Page 16: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

16 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.

Creating Games-The Structure of a Game Engine

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 Non-Player characters) handle the simulation of the virtual world.

Page 17: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

17 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.

Creating Games-The Structure of a Game Engine (cont.)

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.

Page 18: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

18 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.

Creating Games-Using a Squeak/Tweak based game engine for game creation The Impara game engine provides a flexible framework of compon

ents for constructing a wide range of games:─ 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.

Page 19: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

19 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.

Creating Games-Using a Squeak/Tweak based game engine for game creation (cont.) 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.

Page 20: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

20 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.

Creating Games-Using a Squeak/Tweak based game engine for game creation (cont.) Single- and multi-player support

─ Most parts of the game engine are completely unaware of the engine’s multi-player 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.

Page 21: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

21 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.

Creating Games-Using a Squeak/Tweak based game engine for game creation (cont.)

Physics engine

─ The game engine provides a built-in basic physics engine, supporting masses, acceleration, drag and gravity.

Code management

─ 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.

Page 22: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

22 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.

Creating Games-Using a Squeak/Tweak based game engine for game creation (cont.)

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.

Page 23: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

23 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.

Creating Games-Usability of Squeak as a programming language for game creation

Squeak ─ not surprisingly ─ is Turing complete.

─ 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.

Page 24: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

24 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.Creating Games-Work in Progress

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.

Page 25: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

25 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.Conclusion Game Design requires the right people using the right tools in a coll

aborative 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.

Page 26: Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

26 Intelligent Database Systems Lab

N.Y.U.S.T.

I. M.My opinion Advantage: …

Disadvantage: …

Apply: Collaborative game design