Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Slides:



Advertisements
Similar presentations
Pontus Boström and Marina Waldén Åbo Akademi University/ TUCS Development of Fault Tolerant Grid Applications Using Distributed B.
Advertisements

Nocturne Requirements (Element14 discussion on UI) Caregiver 1. Essential - Mobile interface 2. Essential - Some form of user interface 3. Essential -
ActiveXperts Network Monitor Monitors servers, workstations and devices for availability Alerts and corrects.
ActiveXperts Network Monitor Monitors servers, workstations and devices for availability Alerts and corrects.
Scalable Content-aware Request Distribution in Cluster-based Network Servers Jianbin Wei 10/4/2001.
On the Impact of Delay on Real-Time Multiplayer Games Authors: Lothar Pantel, Lars C. Wolf Presented by: Bryan Wong.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Task Scheduling and Distribution System Saeed Mahameed, Hani Ayoub Electrical Engineering Department, Technion – Israel Institute of Technology
Seyed Mohammad Ghaffarian ( ) Computer Engineering Department Amirkabir University of Technology Fall 2010.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Team Sparkle Motion Jetris – A multiplayer java based implementation of Tetris Team Member and Roles: Devin Kelly-Sneed, Lead Programmer Tristan Johnson,
The CSE 331 Version By Jeff Golden and Paul Madrid.
Group: RO3 1 MMORPG Networked Game Advised by Prof. David Rossiter Date: 29 April 2006.
ScmBlog Smart Client MobileBlogging System Fatma Elsayed Meawad Russell Beale University of Birmingham Mobile Blogging Blogging is the process of publishing.
Click to add text Introduction to z/OS Basics © 2006 IBM Corporation Chapter 15: WebSphere MQ.
SignalR Real Time with SignalR Jared Rhodes Senior Consultant Magenic.
An Architecture for a Massively Multiplayer Online Role Playing Game Engine.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Batch VIP — A backend system of video processing VIEW Technologies The Chinese University of Hong Kong.
Applying Real-time Simulation to Real-time Collaboration Bart Miller.
Chapter 1 The Challenges of Networked Games. Online Gaming Desire for entertainment has pushed the frontiers of computing and networking technologies.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Client/Server Architectures
Włodzimierz Funika, Filip Szura Automation of decision making for monitoring systems.
Advanced RMI Programming RMI Callbacks © Usman Saleem -
CSE 381 – Advanced Game Programming 3D Game Architecture.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Overview of SpatialAnalyzer
A 2-D, multi-player tank game developed in PLT Scheme ~ ~ ~ Ben VandenBos, Tim Reeves, Justin Hall, and John Ericksen ~ ~ ~ Senior Project - CS496 Spring.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
Mark Nelson What are game engines? Fall 2013
Team ThinkTank. Specifications Ad Hoc networking game. Similar to the Atari Combat! Players control their tank and shoot enemy tanks. Each player gets.
Multiplayer game in Unity using the unityPark suite A gift from NoOpArmy for GGJ
A Distributed Computing System Based on BOINC September - CHEP 2004 Pedro Andrade António Amorim Jaime Villate.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Caravan Business Server a viable alternative development platform niti telecom consultancy april 2002.
SPREAD TOOLKIT High performance messaging middleware Presented by Sayantam Dey Vipin Mehta.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
HERTS Paul Larpenteur Lee Murphy CSE 403 – Sp 2003 Hearts Experimental Remote Transportable System.
Asynchronous Communication Between Components Presented By: Sachin Singh.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Chapter 2: System Models. Objectives To provide students with conceptual models to support their study of distributed systems. To motivate the study of.
Web Controlled of Robot Georgi Chakarov Ivelin Stoyanov.
Ophelia User friendly Network Multi-player game engine Albert Öhrling.
A Space Game By William Sistar. The Problem What is provided:  Most network games are single player  Some do allow team work but not in a common environment.
Mahapatra-A&M-Fall'001 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
PART II OPERATING SYSTEMS LECTURE 8 SO TAXONOMY Ştefan Stăncescu 1.
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
Grid-based Collaboration in Interactive Data Language Applications Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,
Light Cycles Galore Building a Multi-Server Multiplayer Game Architecture By Per Lohmann.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Networked Games Objectives – –Understand the types of human interaction that a network game may provide and how this influences game play. –Understand.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
AMH001 (acmse03.ppt - 03/7/03) REMOTE++: A Script for Automatic Remote Distribution of Programs on Windows Computers Ashley Hopkins Department of Computer.
Group Communication Theresa Nguyen ICS243f Spring 2001.
NetChat Communications Systems Steven Fuqua Barnett Trzcinski Andy Street.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 14 Event-Driven Programming with Graphical User Interfaces.
CS223: Software Engineering
SQL Query Analyzer. Graphical tool that allows you to:  Create queries and other SQL scripts and execute them against SQL Server databases. (Query window)
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Team Portrayals Documentation Team Oct. 23th 2002.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Content: shared objects
DUCKS – Distributed User-mode Chirp-Knowledgeable Server
Presentation transcript:

Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling

Project Goals To create a game engine for networked multiplayer games.

Project Goals To create a game engine for networked multiplayer games. It will be possible to program games as if they were local multiplayer titles.

Project Goals To create a game engine for networked multiplayer games. It will be possible to program games as if they were local multiplayer titles. The engine is accessed from a user-friendly interface.

Requirements A set of basic systems to create games from.

Requirements A set of basic systems to create games from. Object Management

Requirements A set of basic systems to create games from. Object Management Messaging

Requirements A set of basic systems to create games from. Object Management Messaging Graphics

Requirements A set of basic systems to create games from. Object Management Messaging Graphics Input

Requirements A set of basic systems to create games from. Object Management Messaging Graphics Input Movement

Requirements A set of basic systems to create games from. Object Management Messaging Graphics Input Movement Collision Detection

Requirements A set of basic systems to create games from. A suitable test environment

Requirements A set of basic systems to create games from. A suitable test environment A set of useful development tools

Development Tools

Architecture

Event-Driven Design Game modules communicate with events and callbacks.

Event-Driven Design Game modules communicate with events and callbacks. All custom scripts are invoked on events.

Objects Game Objects are modular

Objects Game Objects are modular

Objects Game Objects are modular Game Object are malleable

Objects Game Objects are modular Game Object are malleable Developers can define their own templates

Objects Game Objects are modular Game Object are malleable Developers can define their own templates Developers can define their own feature modules

Synchronization Game state synchronization is invisible

Synchronization Game state synchronization is invisible Achieved with custom setters

Synchronization Game state synchronization is invisible Achieved with custom setters

Synchronization Game state synchronization is invisible Achieved with custom setters Only update game state when the server notifies the client.

Synchronization Game state synchronization is invisible Achieved with custom setters Only update game state when the server notifies the client.

Problem Developers have to pay attention to on which machines their scripts execute.

Solution

Synchronization changes

Solution Synchronization changes

Problem Sending messages at the same time does not guarantee that they arrive simultaneously.

Solution Batch state changes that occur in the same update tick.

Solution Batch state changes that occur in the same update tick. Distribute them to the clients as a single message when the next tick begins.

Project Goals To create a game engine for networked multiplayer games.

Project Goals To create a game engine for networked multiplayer games. Success!

Project Goals To create a game engine for networked multiplayer games. Success! It will be possible to program games as if they were local multiplayer titles.

Project Goals To create a game engine for networked multiplayer games. Success! It will be possible to program games as if they were local multiplayer titles. Success!

Project Goals To create a game engine for networked multiplayer games. Success! It will be possible to program games as if they were local multiplayer titles. Success! The engine is accessed from a user-friendly interface.

Project Goals To create a game engine for networked multiplayer games. Success! It will be possible to program games as if they were local multiplayer titles. Success! The engine is accessed from a user-friendly interface. Success!

Example

Evaluation All design goals were met.

Evaluation All design goals were met. Most importantly; making games with the engine is easy.

Evaluation All design goals were met. Most importantly; making games with the engine is easy. When problems arose I was able to solve them with good tools.

Evaluation All design goals were met. Most importantly; making games with the engine is easy. When problems arose I was able to solve them with good tools. Testing in a real environment would have been nice.

Questions?