An NFT based game

Nick Taylor - Oct 28 '21 - - Dev Community

The project

So this past week I built out my second dApp with the current cohort in the Buildspace community. This time round, the project was to create an NFT based game. The goal was to make a game where you could attack a big boss via a transaction on the blockchain that would use a game smart contract.

So like the previous dApp, this required some knowledge of Solidity to build out our smart contact, Hardhat to help us develop our dApp with ETH, and some frontend skills (React and JavaScript).

The project provides a template for the frontend part, but once again I used my web3 starter project. The benefit of building out with the web3 starter is I'm improving the starter project. 😎

Going off script

Like the first dApp I built, I made it my own. Here's some fun screenshots from the game I made.

Select your player

![Mint your player in Terrible Characters](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n5apna2gthcp2uzp67vd.gif)

Mint your player

![Player being minted](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uh00c3pltuxe2gexjzk3.gif)
### Attack the big boss
![A player with a minted NFT attacking a big boss in Terrible Characters](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n1w4w5ypmaa2bazttn66.gif)

When your player is dead

![When your player is dead](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c5ask849iqilo3r53uw0.png)

If you're interested in how it's all built, I've open sourced it. I’m sure there’s some refactoring to do, but I’m really happy hour it turned out.

GitHub logo nickytonline / terrible-characters

Terrible Characters is a fun NFT based game that I built as part of a Buildspace cohort. Try it out and have some fun!

Terrible Characters

Terrible Characters is a fun NFT based game that I built as part of a Buildspace cohort. Try it out and have some fun!

Select your player

Mint your player in Terrible Characters

Mint your player

Player being minted

Attack the big boss

A player with a minted NFT attacking a big boss in Terrible Characters

When your player is dead

When your player is dead

Contributing

If you are interested in contributing to the project, first read our contributing guidelines. Take a look at our existing issues, or if you come across an issue, create an issue. For feature requests, start a discussion first.

Getting Started (Local Development)

  1. Install the dependencies

    npm install
    # or
    yarn
    Enter fullscreen mode Exit fullscreen mode
  2. Start the project

    npm run dev
    # or
    yarn dev
    Enter fullscreen mode Exit fullscreen mode

Open http://localhost:3000 with your browser to see the result.

Getting Started (Gitpod)

The project can be run in Gitpod. Navigate to https://gitpod.io/#https://github.com/nickytonline/hello-edge-and-node. If you wish to load it in Gitpod as an external contributor, you will need to fork the project first, then open…

If you want to just check out the game, head on over to nftgame.iamdeveloper.com. Note that it's only on the Rinkeby test network so no real coin will be used.

Until next time!

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .