a collaborative game development tool

21
A Collaborative Game Development Tool Brian Thorpe

Upload: nerita

Post on 25-Feb-2016

50 views

Category:

Documents


1 download

DESCRIPTION

Brian Thorpe. A Collaborative Game Development Tool. Overview. Introduction Problems Design Screen Shots... Video if time allows Questions. Introduction. Goal: Develop a tool that supports collaborative game content development. Game Content Game World Model Placement - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A Collaborative Game Development Tool

A Collaborative Game Development Tool

Brian Thorpe

Page 2: A Collaborative Game Development Tool

Overview

Introduction Problems Design Screen Shots... Video if time allows Questions

Page 3: A Collaborative Game Development Tool

Introduction

Goal: Develop a tool that supports collaborative game content development.

Game Content Game World Model Placement Terrain Generation Special Effects Etc.

Page 4: A Collaborative Game Development Tool

Terrain Editing

Focus: Developing collaborative Terrain Editing features.

Terrain Editing Create new pieces of Terrain Manipulate Terrain

Raise Lower Flatten Smooth

Page 5: A Collaborative Game Development Tool

Problems

Synchronization Client Data matches Server Data Client synchronizes to the active Server State

Processing Terrain Height editing operations and keeping client and server synchronized

Page 6: A Collaborative Game Development Tool

Design

Client Server Architecture Lidgren Networking Library Synchronization Process Server State Client State Edit Requests

Page 7: A Collaborative Game Development Tool

Client Server Architecture

Client

Client

Client

Client

Collaborative Server

Page 8: A Collaborative Game Development Tool

Networking Library

Lidgren Networking Library for C# Uses UDP Sockets Provides support for four delivery methods...

Unreliable unordered Reliable unordered Unreliable unordered Reliable ordered

Page 9: A Collaborative Game Development Tool

Synchronization

Two Steps: File Synchronization

Client synchronizes files with the Server State Synchronization

Client synchronizes the active data with the Server

Once Synchronized Client can being editing.

Page 10: A Collaborative Game Development Tool

Server State

Holds the terrain height field data Stores a set of terrain height data files Edits effect the height field data

Page 11: A Collaborative Game Development Tool

Client State

Holds the terrain height field data Uses this data to generate Terrain Meshes Uses this data to generate Triangle

Information for collision detection and triangle picking operations

Stores a set of terrain height data files. Edits effect the height field data, the terrain

meshes, and the triangle information.

Page 12: A Collaborative Game Development Tool

Edit Requests

Two types of Terrain Edit Requests Terrain Creation

Location on a flat grid of terrain pieces Terrain Edit

The location of the edit The edit operation Edit strength, range

Server processes these and forwards the requests to all other clients.

Page 13: A Collaborative Game Development Tool

Screen ShotsServer

Page 14: A Collaborative Game Development Tool

Client Screen Shots

Page 15: A Collaborative Game Development Tool
Page 16: A Collaborative Game Development Tool
Page 17: A Collaborative Game Development Tool
Page 18: A Collaborative Game Development Tool
Page 19: A Collaborative Game Development Tool
Page 20: A Collaborative Game Development Tool

Questions?

Page 21: A Collaborative Game Development Tool

References

Lidgren Networking Library http://code.google.com/p/lidgren-network/