Metapunk Web3 Community

Cover image for An NFT based game
Nick Taylor
Nick Taylor

Posted on • Originally published at iamdeveloper.com

An NFT based game

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

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

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.

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!

Discussion (4)

Collapse
lee profile image
lee

ahah this is brilliant, the art work is hilarious. Were you wrestling there on the right?

Collapse
nickytonline profile image
Nick Taylor Author

Yeah, that was me in uni. I thought it would be fun to use ridiculous pictures of myself lol.

Collapse
lee profile image
lee

Hulkster Wannabe! How did you take to Solidity?

Thread Thread
nickytonline profile image
Nick Taylor Author

I’m enjoying it so far. I’ve worked with C# and TypeScript, so strongly typed languages aren’t new to me. What I think is missing is more built in libraries. For example, I had to pull in a Base64 library.