Skip to content
This repository has been archived by the owner on Jun 12, 2022. It is now read-only.

3,000,000 HYDRO to build a Hydro Snowflake based Battle Card game dApp #267

Open
milvinae opened this issue Mar 12, 2019 · 6 comments
Open
Labels
🔥 Open Request The bounty is available to be claimed Solidity

Comments

@milvinae
Copy link
Contributor

milvinae commented Mar 12, 2019

3,000,000 HYDRO to build a Snowflake based Battle Card game dApp that allows users in to register a virtual card with stats of their choosing from a total of X points (e.g. strength, magic, sneak, speed, stamina). This card, and its associated Identicon, will belong to the user and will be associated with their Snowflake. The cost for creating your card will be in Hydro.

Players must be able to create a 140 character description for their character card.

For ongoing description in this brief the players personal card will be called the “Character card”.

Creation:

  • A new player should be presented with a choice of randomly created identicons.

  • They pick one, choose their stats, and write their description.

  • The player then links their Character Card to their HydroID by carrying out a transaction in HYDRO.

  • This is now their own Character Card and cannot be swapped, sold, or transferred.

  • At this stage the player should be given the option to buy individual cards or a deck of cards if they want. This requires a payment in HYDRO.

  • If they choose to buy cards these will be randomly generated and added to their deck.

Simple Battle Overview

  • Games will be in two rounds:

  • In the first round Player 1 will "attack" with a chosen skill and Player 2 must “defend” with the same skill.

  • In the second round Player 2 can “attack" with a chosen skill and Player 1 must “defend” with the same skill.

  • In certain scenarios a player may play a special attack or defence move (Rain, Snow, Ice, Tide, Mist, or Hail)

Scoring:

The winner is the owner of the card that result with better score after the two rounds.

For example:

  • Player 1: speed:45, strength:30, attacks with Speed.

  • Player 2: speed:20, strength:50, attacks with Strength

  • First round result (Player 1) = 45-20 = 25 points

  • Second round result (Player 2): 50-30 = 20 points

  • The winner over the two rounds = Player 1 (25-20 = 5)

  • In case of tie (same score), nobody wins and cards are returned to their decks.

How to play?

The dApp shows two list of cards:

  • One View with the cards currently in the user's deck

  • Other View, called "battlefield", with the cards currently "available" by other users (at this moment, you don't know what skill they are using on attack!). The cards that the user already won can be disabled in this list, as has no sense try to win it again.

You can make two actions:

a. put one of your cards on the battlefield: you must select a card, and "put in attack mode" selecting the ability to use for the attack.

b. attack to any of the cards showing on the "battlefield" view.First, you select a card of your deck, then select the skill to use for attack, and last, select a card of other user to attack.

  • If a player wins the other player gets a copy of their card to add to their deck. If they lose they keep their card and can play again. You can never lose your own Character card.

  • If they battle with another players card and win they win the opponent's card to add to their deck. If they lose using another player's card than they lose that card.

Levelling

General:

  • To prevent players harvesting lower ranked (new) players you can only battle players at the same level, or above as yourself.

  • Levels are based on number of cards you hold so a player with five cards can only initiate battle with other players with five cards and above.

  • Lower ranked players can initiate battle with higher ranked players.

Character card:

  • As you battle you should be able to gain points. When you reach a certain level of points you can allocate these points across your Snowflake card attributes.

  • These points only attach to your Snowflake card and not any previously won versions of that card.

  • If someone beats you in battle the version of the card they win will have all the bonus points associated with it.

  • You may wish to refer to games such as Runebound or Skyrim for levelling inspiration.

Bonuses

  • Bonus cards can be chosen instead of increasing stats

  • Bonus cards can be bought for a fee in HYDRO

  • Bonuses would be special attack or defence moves (Rain, Snow, Ice, Tide, Mist, or Hail)

  • Example would be every card can cancel a skill or ability of the opponent's card (as weather cards do in The Witcher card game)

  • Bonus cards only last one round

  • Player can only play one card per round

Trading

  • Card trading must be allowed

  • You cannot trade your snowflake card only won cards

  • Trades must be carried out in Hydro with a percentage of the trade going to Project Hydro

Design

  • The dApp creator must work with the person who is awarded the design portion of the task.

The contract could have

  • list of cards by registered EIN

  • list of on-attack cards, forming the battlefield; can be searched to display the battlefield.

  • method putOnAttack(uint cardId,enum skill)

  • method attack(uint cardId,enum skill, uint toCardId)

  • What is the development you want done?*

A smart contract, written in Solidity, that interacts with ERC-1484 and Hydro smart contracts enforcing the rules for the Project Hydro dApp. The dApp must have a React front-end in our dApp store. There is also a requirement for a Javascript package that generates a unique visual representation of every possible card for each user based on the public address (this can be based on the Snowflake Identicon Generator - https://github.com/cyphercodes96/Hydro-Snowflake-Identicon-Generator).

What are the deliverables?

Solidity code in open source format deployed to the Hydro Blockchain GitHub repository, a Javascript package that generates a unique visual representation of every possible card for each user based on the public address, and a React front-end in our dApp store.

The developer should work in conjunction with the designer who has claimed the design portion of this task.

Following completion of this task the developer will have the chance to earn a 1,000,000 hydro skinning bonus to integrate the design portion of the task witht the solidity code.

Timeframe?

We propose 1 month as the timeframe for completion of this task.

Submission process?

First, comment on this issue to declare your willingness to complete the task. Next, fill out the Project Hydro Card Game dApp Claim Form.

Once you have been selected, you will have one month to complete the task. The time frame begins as soon as we award the task to the candidate by communication within this thread. During this time we will be able to provide some support around questions about the workflow on Discord. During this time the candidate needs to update the codebase regularly in a subrepo of our official Github. This will be setup and conveyed to the candidate by the assigned DA.

If the task is not completed within the timeframe we reserve the right to offer an extension, or transfer the task to another candidate. If no extension is granted, then we reserve the right to continue on the codebase committed. The fractional disbursement for it, if any, would be given at our discretion.

Once the task is completed we will test the plug-in for efficiency and whether or not it correctly incorporates the Hydro workflow. If we approve the plug-in, we will then send you 3,000,000 Hydro and you will have the chance to apply for the skinning bonus.

@milvinae milvinae added Open Request The bounty is available to be claimed Solidity 🔥 labels Mar 12, 2019
@milvinae milvinae changed the title 3,000,000 HYDRO, to build the smart contract for a Snowflake based Battle Card game dApp 3,000,000 HYDRO, to build a Hydro Snowflake based Battle Card game dApp Mar 12, 2019
@emekauser
Copy link

I want to participate on this project

@HarshRajat HarshRajat changed the title 3,000,000 HYDRO, to build a Hydro Snowflake based Battle Card game dApp 3,000,000 HYDRO to build a Hydro Snowflake based Battle Card game dApp Mar 14, 2019
@milvinae
Copy link
Contributor Author

I want to participate on this project

Hello @emekauser can you make sure that you fill in the claim form

First, comment on this issue to declare your willingness to complete the task. Next, fill out the Project Hydro Card Game dApp Claim Form.

@emekauser
Copy link

hello @milvinae i have done it (fill claim form)

@niroshn
Copy link

niroshn commented Mar 26, 2019

i have done

@wahyuSriHidayat
Copy link

I want to participate on this project

@merlox
Copy link

merlox commented Aug 13, 2019

Hi @mitdralla is this still open? I'd like to work on this dApp and get it done in 2 weeks with unlimited revisions.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
🔥 Open Request The bounty is available to be claimed Solidity
Projects
None yet
Development

No branches or pull requests

5 participants