You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We want to "eat our own dog food", eg. use the technology we are building on a daily basis in order to:
Test our own stuff
Improve the overall user experience, even though developers can tolerate more complex UIs than the average user
Experience running an app/system
Games where plays are run in a Hydra head with only results/leaderboards being kept on L1 seem a good use case for Hydra Head protocol
Chess being a well-known deterministic game, with simple rules, few players, easy to build interface, is a good candidate
Yet it's also challenging to provide a great UX so that it's fast and easy to setup a game
We want to improve the DX for people wanting to build stuff on top of Hydra, this app will be a "reference DApp", something we can point people at and refer to when improving Hydra
What
The application should be easy to install even for users unfamiliar with cardano-node and hydra-node
Having a short and sweet README.md on a dedicated repository (e.g. hydra-chess) could be a good goal post here.
Users can build the hydra-chess on their machines or download pre-built binaries when/if available
Two users can play a Chess game using Cardano on any public testnet
They run the hydra-chess application locally selecting which public network to run on which provides some command-line interface
Users are guided to through the full life-cycle of the game
The user journey of the this guided chess experience covers:
exchange connectivity information provided by the interface and use that to configure known peers
initialise a new head
start a new game once the head is opened
play game using some simple interface and board display
see the result of the game
start and play one or more other games in the head
close the head once they don't want to play anymore
have the game(s) results be reflected on L1
The UI provided is terminal user interface (TUI) with no specific need for scriptability
Out of scope: Fancy graphical user interfaces or an exposed API
Out of scope: Security is not the main concern at this stage, so non-validating scripts (about game logic or elo rating) are acceptable
Non-functional requirements:
OS support limited to Linux/Mac OS
Users should have a good knowledge on their machine and network configuration (eg. be able to tweak firewall to let other people connect to their node)
How
Provide a wrapping application managing all the tools needed: Hydra node, cardano-node, perhaps even a small wallet
Configuration and data is handled through XDG directories
This could be further improved by packaging the whole set of needed binaries in a single native package to offer users a native installer experience ➡️ Simple installation packages for Hydra node #1107
Player can start playing by minting a token on L1 and consuming it for starting a game
There's a dedicated minting policy which is used to mint a token for some specific pubkeyhash, and is packed with a UTxO holding some ADAs to be able to pay for collateral inside the head
Inside the Head, the token is locked to a script named elo-script with intention this will control changes in ELO ratings following conclusion of a game
Provide a way to configure peers
Write a smart contract ensuring all moves are legal
Separate more cleanly UI code from backend code and expose a proper API
Provide a command-line user interface covering the complete life-cycle of one or more games with another player
Code is available under cardano-scaling organisation with enough instructions to get started
The text was updated successfully, but these errors were encountered:
Why
What
The application should be easy to install even for users unfamiliar with cardano-node and hydra-node
README.md
on a dedicated repository (e.g.hydra-chess
) could be a good goal post here.hydra-chess
on their machines or download pre-built binaries when/if availableTwo users can play a Chess game using Cardano on any public testnet
hydra-chess
application locally selecting which public network to run on which provides some command-line interfaceThe user journey of the this guided chess experience covers:
The UI provided is terminal user interface (TUI) with no specific need for scriptability
Out of scope: Fancy graphical user interfaces or an exposed API
Out of scope: Security is not the main concern at this stage, so non-validating scripts (about game logic or elo rating) are acceptable
Non-functional requirements:
How
elo-script
with intention this will control changes in ELO ratings following conclusion of a gameThe text was updated successfully, but these errors were encountered: