Ghost Smash is a type of whack-a-mole game where you catch ghosts and earn scores! Sometimes these ghosts will cast black magic on you so you can only see a dark screen but just keep catching them!
My entry for js13k, the game size itself is 11kb, except for the NEAR-SDK-JS part ^^
Point and click, catch Back Ghost and Green Ghost, and avoid the red one!
Type of Ghosts:
- Black Ghost: +1 score
- Green Ghost: +1 score & +2 seconds
- Red Ghost: -2 score & -2 seconds
- Wallet Selector
- Login / Logout with NEAR
- Top 6 high scores are stored on NEAR blockchain
NEAR Protocol is a sharded, proof-of-stake, layer-one blockchain that is simple to use for users and developers, secure and scalable. Learn more about NEAR at: https://near.org
Everything created by me with sounds from https://killedbyapixel.github.io/ZzFX/
If you haven't installed dependencies during setup:
npm install
Build and deploy your contract to TestNet with a temporary dev account:
npm run deploy
Test your contract:
npm test
If you have a frontend, run npm start. This will run a dev server.
- The smart-contract code lives in the
/contractfolder. See the README there for more info. In blockchain apps the smart contract is the "backend" of your app. - The frontend code lives in the
/frontendfolder./frontend/index.htmlis a great place to start exploring. Note that it loads in/frontend/index.js, this is your entrypoint to learn how the frontend connects to the NEAR blockchain. - Test your contract:
npm test, this will run the tests inintegration-testsdirectory.
Every smart contract in NEAR has its own associated account.
When you run npm run deploy, your smart contract gets deployed to the live NEAR TestNet with a temporary dev account.
When you're ready to make it permanent, here's how:
near-cli is a command line interface (CLI) for interacting with the NEAR blockchain. It was installed to the local node_modules folder when you ran npm install, but for best ergonomics you may want to install it globally:
npm install --global near-cli
Or, if you'd rather use the locally-installed version, you can prefix all near commands with npx
Ensure that it's installed with near --version (or npx near --version)
Each account on NEAR can have at most one contract deployed to it. If you've already created an account such as your-name.testnet, you can deploy your contract to near-blank-project.your-name.testnet. Assuming you've already created an account on NEAR Wallet, here's how to create near-blank-project.your-name.testnet:
-
Authorize NEAR CLI, following the commands it gives you:
near login
-
Create a subaccount (replace
YOUR-NAMEbelow with your actual account name):near create-account near-blank-project.YOUR-NAME.testnet --masterAccount YOUR-NAME.testnet
Use the CLI to deploy the contract to TestNet with your account ID.
Replace PATH_TO_WASM_FILE with the wasm that was generated in contract build directory.
near deploy --accountId near-blank-project.YOUR-NAME.testnet --wasmFile PATH_TO_WASM_FILE
Modify the line in src/config.js that sets the account name of the contract. Set it to the account id you used above.
const CONTRACT_NAME = process.env.CONTRACT_NAME || 'near-blank-project.YOUR-NAME.testnet'
On Windows, if you're seeing an error containing EPERM it may be related to spaces in your path. Please see this issue for more details.