Giter Site home page Giter Site logo

iorveth / scrt-poker-joker Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 630 KB

scrt-poker-joker

Home Page: http://pjdao.club/#/main

Shell 4.40% JavaScript 18.03% Makefile 2.61% Rust 74.97%
blockchain cosmos cosmwasm dao game nft rust secret-network

scrt-poker-joker's People

Contributors

blucbo avatar iorveth avatar whalelephant avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

scrt-poker-joker's Issues

Idea: Game Levels

Background

We increase the level of NFT, used in a winning game on 5 xp each time regardless of the game base_bet.
It means that regardless the level your dice NFT set has, your NFT would earn the same amount of xp points in the winning game.

Proposal

To incentivize players to play with higher base_bet's i propose to introduce the concept of game levels, which would be calculated based on the Game base_bet.

Design: Basic gaming functionality

Use https://github.com/iorveth/scrt-poker-joker#poker-joker-rules for the reference and rules explanation

Set up a game

As a Player i would like to:

  1. Get an initial dices NFT set from the gaming contract to be able to start the game.
  2. Create a 1 to 1 private gaming room with a chosen base bet.
  3. Create a 1 to 1 public gaming room with a chosen base bet.
  4. Join the private gaming room via the invite link.
  5. Join an arbitrary (filter and choose) gaming room, suitable for my NFT dices set, based on a predefined condition(s)
  • base bet => x
  • base bet = x
  • base bet <= x
  • clear game mode
  • shielded game mode

Gaming experience

As a Player i would like to:

  1. Roll all 5 dices in the initial roll.
  2. Reroll (optionally) an arbitrary number of dices: r (up to 5) at once.
  3. Get mine and my opponent's score after the each round.

NFT ideas: Additional NFT features for advanced game mechanics

Background

Additional Dices NFT features are meant to incentivize users earn next Dices NFT levels and attract value to the Dices NFT itself.

Examples

Random works in your favor

  • Each NFT Level "increases" the possibility of "good" dices combination on the roll by n%.
  • Each NFT Level "increases" the possibility of "good" dices combination on the reroll by m%.

Degrading NFT xp(Level) on losing game

Description

When you lose the game, your NFT dice set loses some xp points based on the Game Level and used NFT dice set level.

Shielded game (NFT privacy)

Description

After reaching a certain Level, your Dice NFT allows you to create a shielded game room, where players do not see each other score and dices sets before the Game completion.

P.S.

#26 should be tackled first to implement this properly.
May require some work on the frontend side.

Gaming: Randomize `roll_turn`

Background

Each game begins with Player::Host roll.

Proposal

Randomize roll_turn value to add some unpredictability to the game experience.

Advanced game mechanics

This issue is meant to collect and keep track of the status of all related proposals.

  1. Additional NFT features for advanced game mechanics #25
  2. Game levels #24
  3. NFT Game royalties #4
  4. NFT Idea: dices NFT set as collateral for the Game #3
  5. Gaming: Randomize roll_turn #29

Idea: NFT Game royalties

Enable game royalties, allowing NFT dice creator account earn royalties percentage per each winning game.

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.