a collaborative game development tool brian thorpe

21
A Collaborative Game Development Tool Brian Thorpe

Post on 19-Dec-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

A Collaborative Game Development Tool

Brian Thorpe

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 Terrain Generation Special Effects Etc.

Terrain Editing

Focus: Developing collaborative Terrain Editing features.

Terrain Editing Create new pieces of Terrain Manipulate Terrain

Raise Lower Flatten Smooth

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

Design

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

Client Server Architecture

Client

Client

Client

Client

Collaborative Server

Networking Library

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

Unreliable unordered Reliable unordered Unreliable unordered Reliable ordered

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.

Server State

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

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.

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.

Screen ShotsServer

Client Screen Shots

Questions?

References

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