-
-
Launch Website - Main Page 1
-
Launch Website - Main Page 2
-
Track your NFTs.
-
Compete with other anglers and try to top the community leaderboards.
-
Track your catches on the My Records page of the website.
-
GIF
NFT Creation
-
Inventory Concepting
-
GIF
Initial Website Layout
-
Inventory Concepting
-
GIF
Dynamic Split Screen
-
GIF
Player Animated
-
GIF
Test Cast
-
First Scene
-
Reference Sheet
-
Art Concepting
Inspiration
Our team was inspired by fishing minigames from titles such as Stardew Valley, New World, and Black Desert Online, but we wanted to take them a step further by allowing the user to take the equipment and catches you earned and turn them into fun and unique generative NFTs, which was also inspired from Pineapple Society in how they generate NFTs.
What it does
In Extreme Fishing you play as your friendly neighborhood otter Ned with a goal to catch all the fish in the sea. Here's the basics of how it works:
- You have to make sure you have all your fishing gear equipped!
- Cast out your line and wait for a bite
- REEL EM IN!
- Check out your new catch and decide whether or not to convert it into an NFT using Sand Dollar TNT20 tokens.
You can sign up and play for yourself at the website here extremefishing.turbolift.io!
How we built it
Extreme Fishing is built upon a combination of Unity WebGL and a web-based framework (Symfony) that, in addition to managing the primary database via an API, acts as a bridge between the game and the Theta Network. We wanted to put a huge emphasis on security of the NFT generation while also making sure it was a fun and level playing field for everyone!
TNT20 Token Sand Dollars We wanted the game to feel more immersive so we decided to create our own TNT20 token called the Sand Dollar. Currently Sand Dollars are used when converting your equipment and catches into NFTs. We have plans to expand on the usage of Sand Dollars in the future by adding more opportunities to spend (item shops) and earn (marketplace, salvaging NFTs).
Contract Address: 0x1400184e14ffceee3179ef108ac2c55344da6868
Generative NFTs At first we set out to create plain-old NFTs of in-game items. However, after seeing all the cool Pineapple Society NFTs on Thetadrop, we were inspired to create our own set of generative NFTs. When a user converts their in-game item our system uses the base-image of the item and augments it by adding backgrounds, patterns, colors, etc. We have plans to expand on this by adding even more variety soon.
Contract Address: 0x679b9425f58ea1e61de24fb984ee1da700767190
NFT Metadata When a user converts their fishing equipment into an NFT they are given a special quest. The quest progress is tracked in the NFT metadata and when completed will add additional bonus stats.
More Info For more information on this and how it all works, our lead blockchain developer Matt created a tutorial video here!
Challenges we ran into
- Theta Wallet Browser Extension I ran into an issue integrating the module into the Symfony framework. In the end I ended up digging much deeper than needed, but I learned a lot more about Javascript that I didn't already know. - Matthew R.
- Debugging Debugging all the database connection issues related to grabbing from a remote resource as this was our first time hosting player items on a remote source rather than on the players system. - Jacob P.
- Art Uniqueness It takes a while to find a style that is both visually appealing and yet not overly complicated, so you can create all the art you need in a reasonable timeline. Animation takes a while, and sometimes you gotta sleep a little less so your animations don't feel cheap and lazy. - Evan W.
Accomplishments that we're proud of
- Successfully storing user data securely on a remote database
- Creating generative NFTs on the theta blockchain
- Creating our own Sand Dollar token for users to use in creating NFTs from in game
- Creating a fun minigame around catching fish that involves a little bit of patience and skill to be the best fisher!
What we learned
- Connecting Unity to a remote database. We learned a lot about creating an API to communicate between the game and the web server / database. We also ran into quite a few issues with CORs that we had to manage in order to get the API working properly. - Matthew R.
- Smart Contracts. This was my first real dev experience with Smart Contracts. This project really pushed me to learn as much as I could in order to get an in-game currency and NFT items working properly. I'm excited to extend what I have learned on this project in future smart contract development. - Matthew R.
- NFTs.
- Fishing Mechanics Creating fishing mechanics is not as simple as it would seem and I definitely underestimated the complexity going into this, but we learned a lot about how that all worked! - Jacob P.
What's next for Extreme Fishing
Our roadmap can also be found on our website here extremefishing.turbolift.io! You can also follow progress better at our discord!
Roadmap:
- SALVAGING & CRAFTING We are already hard at work on setting up a complete crafting system. Players will be able to salvage their catches into items that they can then use to craft more powerful equipment.
- ANIMATIONS AND ENVIRONMENTS More 2D art animations will be added for the player and the environment.
- NFT MARKETPLACE Players will be able to buy and sell their Extreme Fishing NFTs with other players.
- NPCS AND QUESTS Non-player Characters will be added to the game. Questlines will be introduced through these NPCs
- ADD MORE FISHING ZONES Fishing doesn't only happen on sandy beaches. Maybe there's a secret fishing spot in the forest, the mountains, or who knows, maybe even somewhere like Mars!?
Built With
- c#
- javascript
- php
- theta
- unity
Log in or sign up for Devpost to join the conversation.