1 / 26

Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

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

arama
Download Presentation

Challenges in Collaborative Game Design Developing Learning Environments for Creating Games

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Outline • Motivation • Objection • Introduction • Teaching Game Design • Creating Games • Conclusion • My opinion

  3. Motivation • When teaching game design at university level, lecturers need an adequate educational environment, a reliable platform or system for implementing games.

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

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

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

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

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

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

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

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

  12. Teaching Game Design-Environments for Creating Games • We distinguish between game development environments, modifications 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.

  13. Teaching Game Design-Experiences with available Game Creation Tools • Alice 3D • 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 • 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.

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

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

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

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

  18. Creating Games-Using a Squeak/Tweak based game engine for game creation • The Impara game engine provides a flexible framework of components 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.

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

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

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

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

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

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

  25. Conclusion • 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.

  26. My opinion • Advantage: … • Disadvantage: … • Apply: Collaborative game design

More Related