Giter Site home page Giter Site logo

bakasable's Introduction

Bakasable

Bakasable is a attempt to create a decentralized multiplayer game using NDN.

The project will focus on the following points:

  • distributing the game objects to the peers equally;
  • performing action on local or remote game objects;
  • broadcasting objects updates to peers that need them;
  • distributing the game logic between peers (computer controlled entities, reacting to player action);
  • prefetching of potential needed objects by a peer.

However the following points will not be covered:

  • preventing cheating;
  • reacting to unplanned peer disconnection (network fault or application killed).

The logic of the protocol used for this game has been inspired by the following papers :

  • B. Knutsson, Honghui Lu, Wei Xu and B. Hopkins, "Peer-to-peer support for massively multiplayer games," IEEE INFOCOM 2004, 2004, pp. 107.
  • Christophe Diot and Laurent Gautier, "A Distributed Architecture for Multiplayer Interactive Applications on the Internet", IEEE Networks magazine vol. 13, 1999, pp. 6-15.
  • Ashwin R. Bharambe and Jeff Pang and Srinivasan Seshan, "A Distributed Architecture for Interactive Multiplayer Games", 2005.

Installation

To install the game run python setup.py install. The game can now be launch using the command bakasable.

For help with command line argument run bakasable -h.

The parameters can also be passed to the program via a configuration file (located in ~/.config/Bakasable on Linux).
Example of configuration :

[main]
host = localhost
game_id = 9167703031163671367
peer_id = 15659081325889787534
pseudo = toto
graphics = yes
debug_tool = no
log_verbosity = 3

Development

To install the project in a development environment, run python setup.py develop.

The command works the same as for a normal installation.

The project documentation can be built using pdflatex main.tex in the doc directory.

bakasable's People

Contributors

hannaeko avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.