BraveHearts

From EQUIS Lab Wiki

Revision as of 15:38, 8 March 2011 by 130.15.155.152 (Talk)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Name of the group

EQUITES

People in the group

  • Ameer Hamza
  • Hamilton Hernandez

Title of the project

Interest Management on the Server Side of a Distributed Multiplayer Game

Name of the Game

  • Option 1: Brave Hearts
  • Option 2: Brave Cavemen

Goals of the project

  • To design and develop an Interest Management system at the server side of a distributed multiplayer game for delivering only the most 'interesting' (i.e. relevant to context) information to each client. The aim is to minimize network bandwidth consumption without affecting the game rendering at client side.
  • Design and Build a (playable) distributed multiplayer game which can test the effectiveness of the interest management system developed.

The Game

Game Story
It’s the age of dinosaurs. The tribe of cavemen is in hunger. It has been told that some dinosaurs have laid eggs somewhere in the vast dinosaurs world but it’s also known that they are being kept by wild pterosaurs. These eggs represent the only hope for the tribe’s survival but the risk is too high. Only a group of brave cavemen capable of riding tamed pterosaurs can get into this deadly adventure and risk their lives to save the tribe.

Gameplay
Players will control an avatar representing a caveman riding a tamed pterodactyl, these we will call hunters. All the hunters are from the same clan, making the game a collaborative one. The environment of the game will be a big side scroller world representing the dinosaurs’ world. There will be nests with dinosaur eggs spread all over the world. Every nest will be guarded by a group of wild pterosaurs (the enemy) who will get mad when hunters get close to them and will start chasing them until they are out of their view range or until the hunter is bitten by a pterosaur. When a pterosaur bites a hunter, the hunter will lose some health and will get numb for a couple of seconds which will make him lose some height. The same will happen if two hunters collide. Hunters will be able to hit the enemies by hitting them with a club. When this happens, enemies will die. The goal of the game is to collect some amount of dinosaur eggs and fulfill the clan’s hunger.


Splash Screen Sketch

SplashScreenSketch.jpg
Actually is just the background.

Technological problem to solve in the project

When there are many players in a distributed multiplayer game (client-server in this case) too many changes are made to the state of the game and these states have to be updated in every player’s side. The same happens when there are many objects with some behaviour in the game. Broadcasting all the state changes to every player is not always a viable solution.

It’s very common in commercial games that the logic of the game and the most crucial decisions are computed in the server side and then informed to the clients. As the number of players or number of “active” objects grows in the game, the server faces the need to send lots of information to the clients, which is not always necessary.

Interest Management algorithms try to reduce the cost of communication in a distributed game by identifying what information is interesting for every client, so that only this information is sent over the network. This offers some savings in the network bandwidth consumption, and in general, gives a better performance of the game.

Interest Management algorithms base their decisions (identify what is interesting and what is not) on different aspects, such as proximity, visibility, obstacles and path prediction [1].

Our goal is to design and develop an Interest Management system at the server side of our distributed multiplayer game, so that clients are only informed with the information needed by the client.

Our early idea about how this is going to work is that the server will take the position of the player in the world and consider as interesting the objects that are inside the player's interest zone, defined by a circular area a little bigger than his screen. Some other considerations could be defined on the road.

Tools and technologies to use

  • XNA 4.0[2]: Game engine.
  • Janus Toolkit[3]: Game Consistency Toolkit that deals with Network Communication issues. Created by Cheryl Savery.
  • Paint.net [4]
  • Farseer Physics Engine[5]
  • Ink Scape: Vector graphics edition tool.

References

[1] Jean-Sébastien Boulanger, Jörg Kienzle, and Clark Verbrugge. 2006. Comparing interest management algorithms for massively multiplayer games. In Proceedings of 5th ACM SIGCOMM workshop on Network and system support for games (NetGames '06). ACM, New York, NY, USA, Article 6.
Available for free at [1]
[2] APP HUB, XNA Studio download page. [2]. Visited on 2011-01-23.
[3] Cheryl Savery - Research. [3]. Visited on 2011-01-23.
[4] Paint.net – Free Software for Digital Photo Editing. [4]/. Visited on 2011-01-23.
[5] Farseer Physics Engine. [5] Visited on 2011-01-25.

Mid-Term Report

Download the Presentation

Download the Document