Giter Club home page Giter Club logo

mwenbwa's Introduction

BTC-Games - Battle Tree

A web-based game of conquests… and trees ... Based on data from https://data.gov.be/en/node/48556), we create a WebApp consisting of a REST-like API (back-end) and a React SPA (front-end). This WebApp will consist be an online IDLE Game, based in Liège.

Live Demo

hosted on VPS

hosted on heroku

Technology used and specification

  • NPM
  • NodeJS
  • MongoDB
  • Docker
  • Leaflet
  • OpenStreetMap

Mwenbwa - game rules

In a map of Liège, there will be trees. Each tree as a value (which is the product of his diameter by his height, rounded to top).

When a player enter the game, he needs to create an account, will receive a random color (can be changed in profile), and will receive three random, free trees (and some bonus leaves, following the formula: [total leaves of players] / [amount of players]).
Every fifteen minutes in real life, each player will receive an amount of leaves equals to the total of each of his trees.
Every hour in real life, each player loose half his leaves.

Whenever he wants, a player can buy a tree.

  • If the tree is free, the value of the tree is its price. When a player buy a free tree, a random name is affected to that tree.

SOON

  • If the tree belongs to another player, the price is computed with the following formula: [value of the targetted tree] + ([value of all the targetted player's trees in 100m radius] × ([amount of trees in 100m radius] / [amount of tree of targetted player in 100m radius])) + [value of all the other players trees in 100m radius] - [value of all your tree in 100m radius].

API done but not implemented /api/trees/geo100/<tree_id>&<username_of_buyer>

SOON Whenever he wants, a player can lock a tree by paying the following formula: [value of the tree] × 10 + ([value of all the trees in 100m radius] × [amount of players in 100m radius]) - ([value of all player's trees in 100m radius] / [amount of players in 100m radius]). A locked tree can't be buy by another player.

At anytime, a player can check the leaderboard, to see each player score, amount of trees, etc.

At anytime, a player can consult the gamelog, which record all actions in the game.

When clicking on a tree, a player can see its value, name, owner, (SOON history of buys), and a link to the relative wikipedia article for this tree's species (if applicable). (SOON: Any player can also leave a comment on a tree).

Screen Shot

alt text

alt text

alt text

alt text


Installation/Deployment


git clone [email protected]:the-botanists/mwenbwa.git

cd mwenbwa

npm install

npm run build

docker-compose build

docker-compose up

open http://localhost/


Contributor

alt text


License

Please see LICENSE file for more details.

mwenbwa's People

Contributors

cedricdebroux avatar emiliepieront avatar freecey avatar ksarkev 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.