GithubHelp home page GithubHelp logo

axrami / elovation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from elovation/elovation

0.0 2.0 0.0 453 KB

Simple rails app to track your game results with elo and trueskill ratings

License: MIT License

Ruby 82.04% JavaScript 0.44% CoffeeScript 0.32% CSS 5.66% HTML 10.48% Shell 1.05%

elovation's Introduction

Elovation

Build Status Code Climate

At Braintree, we play ping pong in the office. We wanted a way to track results and assign ratings to players. Elovation was born. It's a simple rails app that tracks the results of any two player game and assigns ratings to the players using the Elo rating system.

This also supports individual player rankings within multi-player teams, using the Trueskill ranking system

Quick Start with Heroku

The fastest way to get started with Elovation is to click the deploy to Heroku button below. Elovation can be run on the free tier, so all you will require is a Heroku account to get started with no running costs.

Deploy

If you would like to add a level of authentication security to your app on Heroku, on the setup screen set the "BASIC_AUTH" to "true", and set a username and password in their respective fields. When you try to access your app in future, you will be prompted for your credentials.

You can set the branding on Elovation by defining the "ELOVATION_TITLE" variable in Heroku with your desired name.

The click to deploy button will automatically migrate your database.

Game Options

There are two types of "Games" that Elovation allows for: Trueskill & Elo

Trueskill

Trueskill allows for teams of multiple players, to play other teams - yet still calculate each individual player's ranking.

When creating a new game you may set the maximum numbers of teams in a result, and the maximum number of players per team in a result. You can record a result in any combination up to the maximum.

The default is set to 2 players per team, and 2 teams per result (like playing a game of doubles Table Tennis / Foosball). The minimum allowed players per team is 1, and the minimum allowed teams per result is 2.

If you increase the allowed number of teams per result, this will allow scenarios where a team can defeat multiple other teams in a single match at the same time. A possible example of this is a Paint Ball / Nerf War with multiple teams that is "last team standing" - All other teams are the losers and the remaining team is the winner.

Suitable for:

  • Table Tennis
  • Foosball
  • Paint Ball / Nerf Wars

Elo

Elo is a simpler method devised for Player versus player games only and does not support teams. It also increments and decrements by a set value which makes a win/loss amount more predictable.

Suitable for:

  • Chess
  • Table Tennis
  • Foosball

Caution

If you intend to use this software commercially, you must remove the Trueskill implementation as it is patented by Microsoft.

elovation's People

Contributors

drewolson avatar christoshrousis avatar dbz avatar phillc avatar axrami avatar miharekar avatar dan-manges avatar bdejesus avatar zombor avatar shelbyd avatar lauranjansen avatar bobo333 avatar dragosv avatar fbernier avatar jacobmovingfwd avatar jtdowney avatar milnertime avatar

Watchers

James Cloos avatar  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.