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 Collaborative Server Client Client 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 State Synchronization Client synchronizes files with the Server 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 Terrain Edit Location on a flat grid of terrain pieces The location of the edit The edit operation Edit strength, range Server processes these and forwards the requests to all other clients. Screen Shots Server Client Screen Shots Questions? References Lidgren Networking Library http://code.google.com/p/lidgren-network/
© Copyright 2026 Paperzz