Giter VIP home page Giter VIP logo

proyecto26 / thecryptopurge Goto Github PK

View Code? Open in Web Editor NEW
58.0 4.0 36.0 19.84 MB

A crypto shooter-survival real-time NFT-based game inspired by The Purge πŸ’Έ

Home Page: https://bio.link/thecryptopurge

License: MIT License

HTML 1.61% CSS 0.57% JavaScript 54.44% Solidity 43.31% Shell 0.07%
chainlink blockchain chainlink-vrf chainlink-hackathon-2021 smart-contracts nfts nft-marketplace alchemyapi crypto cryptocurrency

thecryptopurge's Introduction

The Crypto Purge πŸ’Έ

The most revolutionary crypto shooter-survival real-time NFT-based game on Binance Smart Chain.

The Crypto Purge

The system controls the prize pool redistribution between winners of each game. The game runs on WebGL with a real-time connection using WebSockets and a Server side shooting authority connected to web3.js API to send transactions to smart contracts and back.

Inspiration

The Crypto Purge is a crypto shooter-survival real-time NFT-based game inspired by The Purge (an American dystopian action horror film).

What it does

Players will have multiple modes to play the game, single and multiplayer. Single mode includes killing zombies and social ranking with friends for earn prizes, the top scorers on the leaderboard will split the prize pool grant. Multiplayer mode allows players to contribute a certain amount of tokens to the prize pool before each game and the prize pool is split by Smart Contracts and a Server Side authority between the winners of the game.

The Crypto Purge has a crypto integrated backend that runs on Binance Smart Chain. Smart contracts are responsible for prize pool redistribution and web3.js (Metamask, etc) takes care of the wallet connection.

The game allow users to mint custom skins with NFTs to be used in the game (Chainlink VRF and Oracles to assign provably rare traits). Player will differ in appearance and style, but they will have no effect on the game mode. All players will have an equal change of winning the game.

Challenges we ran into

Creating a decentralized real-time game that requires a back-end connection using WebSockets is the most challenging part of the project, additionally because "don’t trust the player. Always assume the worst – that players will try to cheat", so it requires an authority server to create a cheat-proof architecture as cheating players tends to drive the players away from the game, therefore the core problems are human nature and physics.

Developing an authoritative server architecture introduce a whole new class of challenges; Client-Side Prediction, Server Reconciliation, Entity Interpolation, Lag Compensation dealing with networks and scaling the system itself.

Accomplishments that we're proud of

We're proud to have created the real-time connection of the game, creating the smart contracts of the platform and the base architecture of the project; front-end, back-end and the smart contracts development using Hardhat.

What we learned

We learned about Blockchain, Smart Contracts, Chainlink Oracles, 2D Games with WebGL/Canvas using Frameworks like PhaserJS, NFTs, Physics, Real-time connections with WebSockets, Crypto wallets and much more!

What's next for The Crypto Purge

  • Define a System Design for Cloud platforms like AWS that can scale easily.
  • Apply to Y Combinator to get funding.
  • Migrate the back-end to use a microservices architecture and use a language like Go with better benchmarks in terms of scalability as required by the system.
  • Allow users to have an inventory.
  • Allow users to take inventory of dead users.
  • Allow players to edit their profile.
  • Allow players to select their gender (female, male).
  • Allow players to mint weapons.
  • Open Marketplace to buy or mint their own skins.
  • Ranking for rounds.
  • Support Internationalization and localization (i18n).

Intructions to run the projects

  • FrontEnd:
cd app
yarn start
  • BackEnd:
cd server
yarn start
  • Blockchain:
cd smartcontracts
yarn start
yarn start:portal
yarn test
yarn deploy
yarn deploy:portal

Contributing ✨

When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated ❀️.
You can learn more about how you can contribute to this project in the contribution guide.

Supporting 🍻

I believe in Unicorns πŸ¦„ Support me, if you do too.

Donate ETHER, ADA, BNB, USDT, PING:

Wallet address

Wallet address: 0x3F9fA8021B43ACe578C2352861Cf335449F33427

Please let us know your contributions! πŸ™

License βš–οΈ

This repository is available under the MIT License.

Happy coding πŸ’―

Made with ❀️

thecryptopurge's People

Contributors

jdnichollsc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

thecryptopurge's Issues

How to deploy smartcontracts?

Hello,
I'm newbie
I'm install for localhost
The app website run
http://localhost:3000
Server listenting on 8081
But cannot know
How to deploy smartcontracts? for testnet
The metamask addon was installed
Please make some guide
Thank and regards

https://pasteboard.co/XVvYKktD0RNw.png
https://pasteboard.co/uYX5HwQkenHQ.png
https://pasteboard.co/zmtFjGtfSmta.png
https://pasteboard.co/tqBEJwSfEmWL.png

Player-specific functions

  • Characters can coin "weapons" that players use in the game, such as a katana, a machine gun or an assault rifle.

  • Add unusual weapons/items usually used to save yourself in a Purge.
    For example:
    fork, frying pan, fire extinguisher, bottle, homemade knife

  • Each weapon will have a different Attack Damage

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.