Gamduel is an online, cryptocurrency based crash and roulette game. A crash game is a game in which a number gets incremented with a random speed from 0 until it reaches a determined end-point, which is called a crash.
Because the crash point is randomly generated by an algorithm (thus being unknown to everyone), the bettors goal is to opt into a bet and manage to cash out before the game reaches the crash point, the incremented number representing a multiplier of the potential earnings.
Example game scenarios:
“User enters the game with 100, crash point is a 3x, but user does not cash out so he loses 100”
“User enters the game with 100, and caches out at 1,5x, having a total win of 50” (1,5x times 100= 150)
The solution consists of an Angular reactive SPA that interacts with a Java Spring backed API for performing the betting operations using cryptocurrencies. For rendering the crash game, we mad euse of d3.js which is a pretty useful library for manipulating svg elements in an optimal way.
The roulette game is based on animations for creating the impression of a spinning wheel
Angular 8 reactive SPA as the UI solution
Spring MVC is used to create a RESTful API that the SPA consumes
d3.js is used as a library for creating the dynamic crash game
We've used sockets as a means of notifying the clients
The blockchain API is used as a means to use cryptocurrencies as betting currency