Hello everyone,
We hope you’re enjoying taking care of your little buddies as much as we are. Working on Crypto Petz (aka Toadagotchi, aka CryptoGotchi, aka Toadzgotchi… aka don’t worry we’ll have another name soon) has been nothing less of an enriching experience.
When I really decided to take on this project last October I had no idea what I was getting myself into. And when I say really take it on, I mean really - Not just fantasizing about it in my head or making fake promises to people on Discord that I was going to do it, but really doing it.
It all started when fellow NFT degen burgah#4851 sent this message in a shared Discord channel on September 29th, 2021:
The idea excited me. We exchanged ideas back and forth for a couple weeks about it, gauging it’s viability. Once we started trying to figure out the logistics of it, things changed. Burgah decided to move on and pursue more professional ventures - I can’t fault him for that. This silly project wasn’t going to make him a living and he knew it. With his blessing he passed the torch on to me.
The tough thing about starting back then was I had zero knowledge or experience shipping a software product. I had no clue how to set up an IDE, how to run basic git commands, how to establish a database, how talk to a server (let alone what a server even was), how to host a website - NOTHING. I was hoping to rely on burgah to help guide me through a lot of it. The only thing I knew for sure was there were free resources out there for me to learn it all. It was a pretty big undertaking and thought I was stupid for even wanting to try. But I kept going and I’m glad I did.
This was the first ever update I managed to pull together on October 13th (exactly 1 year ago today!)
10/13/2021 - Napkin sketch
It wasn’t much at the time, but hey - it was something. And I was proud of that. It was just a single html page with some buttons. When one was clicked it replenished the progress bars a bit. So now that I had a little fuel in my tank, I decided to take it one step further.
11/01/2021 - Dress-up the napkin
Ok now we’re getting somewhere! There’s a toad on the screen, that’s good. And a swamp, nice. Buttons… gotta have buttons. Even still, there’s a lot left to be desired here, let’s try putting this on Rinkeby test net and adding transactions.
12/13/2021 - The Great Blockchain Debate
Ok - we got over that gigantic hurdle. It doesn’t feel like a game though… more like visiting a sketchy website in the early 2000s with dozens of ad pop-ups. Speaking in hindsight, I can’t believe I thought it was a good idea that players would have to pay to execute any action. Scrap it.
1/15/2022 - Rennaissance period
Fast forward into the new year, we’re heading into a bear market that we’re not aware of yet - but I’m laser-focused on trying to learn and improve Toadzgotchi. After many discord discussions later and with the help of some amazing people, we’ve got something starting to take shape. A new skin, even more buttons, and animations!
2/10/2022 - Wallet interactions
February was a month of significant technical improvements. The game can now read your Eth wallet, see what NFTs you own, and display them on screen. I’ve got the skeleton of a database set up. We’re close to having a minimum viable product, or so I thought.
4/05/2022 - The hiring of @PixelFowl
At this point, we’ve hired on @PixelFowel for a change in artistic direction. Things are getting fancier, the tech stack is increasing, and we’ve got people interested. To get to this point, there were dozens of sketches, back-and-forth tests, and eventually a lot of ideas we’ve since had to put on the backburner.
I have dozens more examples, but it’s too much to include here. A LOT happened between February and April.
6/12/2022 - The Longest Winter (in the middle of summer) - Alpha Release
Between April and June, I faced my hardest challenges yet. Not much has changed on the front end, but the back end is a hot mess. The website hosting service isn’t behaving as expected, communications to the database are unreliable, and some of the core gameplay functionality isn’t working.
I endlessly scoured different support forums and Stack Overflow articles trying to find answers to the problems I was having. I tried switching a bunch of the services to new ones, then switched the new ones back to the old ones. Three week-long email exchanges with customer service teams were uneventful. It came to the point where I was even cold DMing lead developers of the products I was using on Twitter asking how to get their services working only to get left on read.
Progress gradually slowed as I kept trudging along. Feelings of wanting to give up became real. “Maybe this was a dumb idea after all”, I thought to myself. I felt especially bad for @PixelFowl, who I had just recently brought on and promised so much work to… I was seriously contemplating how I was going to let him know we wouldn’t be working on this anymore.
I decided to clear my head and take a much needed vacation. Upon my return from the East Coast, I got back to work with a fresh mindset. After banging my head against the wall for another couple weeks (and with the help of several motivational youtube videos), I began having small wins.
My momentum began picking up and before I knew it I had a working product even though it felt as if it was held together with sticks.
We were two months behind the planned date, but an alpha was live on June 16th, 2022. The feedback was unanimously positive which really made me feel like the pain I went through was worthwhile. And while that high lasted for a little bit, I soon realized that while I spent so much time trying to get the damn thing to work, I lost sight of trying to make it fun.
It was time to get back to work.
8/01/2022 - Let the Fun Times Roll
Leaderboard, items, randomized events - I began banging out update after update.
I quickly became obsessed with how I can retain players, studying academic articles on leveling mechanisms and playing older video games trying to pinpoint what it was that made them fun.
I’m still learning to this day. It’s not easy process by any means, and I certainly don’t expect to get things right all the time. All I know is that I get excited thinking about new ways to make the game fun and that’s simply why I keep at it.
At the same time, too, we rolled out the merch drop event, which really pushed things into high gear. A massive thank you to @MotivateMe by the way, who’s been nothing but supportive and helpful throughout this entire process. This would not have been possible without his help.
While this was a blessing for us, it was also humbling too. There was simply no way we could keep up with the influx of new players. Remember, at this point adding new toadz to the game was a manual process led by @PixelFowl:
- Players would reach out via Discord to have their toad animated to be playable in game
- I would relay this information to @PixelFowl, who would then begin animating
- Once each toad was complete, he’d upload them to a Google Drive
- I would then download those animations, add them to the project’s img folder, then push an update containing the new animations to the website hosting service
This was a painstaking process that lasted months, and in all honesty, I was starting to feel the burnout.
We utilized this process because it simply didn’t make sense to make all the toad animations manually before releasing the game. Even if @PixelFowl hit a stride and could animate 15 toadz/day, that’s over a year (464.6 days to be exact) of continuous toad-making to complete all 6,969.
Even though he loves toadz, I’m not sure if even Gremplin himself would sign up for that. If we wanted to scale the game for all 6,969 CrypToadz and beyond, we knew we’d have to think of a better solution.
August 2022 - Present Day
I was really starting to get discouraged thinking about how we’d never be able to animate NFTs as fast as we needed them. With all the hype around Dalle-2 circulating around this time, I maybe thought there might be an AI tool that, given an image and a text prompt, could somehow generate an animation using that initial image based on what you entered. No such tool exists as far as I’m aware, the tech simply isn’t there yet. But on August 12th, 2022, I received this message from @PixelFowl:
He had mentioned to me previously that he had learned some Python back in school and that he was slowly getting back into learning it. And really when you think about it, it makes sense. If the individual traits are all animated, all you would need to do is run a program that can identify, based on the token ID, what traits should be combined together to produce the desired result.
It gave us a sliver of hope that maybe soon we could achieve what once seemed insurmountable. After some time and many iterations later, he came up with a piece of code that produced some results.
It wasn’t perfect - tall toadz would come out short and short toadz would come out tall, but it was something… he was getting close.
Suddenly, on September 16th, 2022, @PixelFowl struck gold:
This toad above is the first auto-generated toad produced solely using Python! It became evident that soon we’d be in business running an automatic, full-blown toad factory:
Shoutout to sannz#2346 for this legendary gif
Now all we needed to do was feed the script all the metadata for each toad ID and voila, the flood gates were open:
How f***** cool is that!?! 75,691 files. 7.6 GB of raw data. All automatically generated in about 2 days time. However, we needed a way to move away from Vercel file storage dependency, which has a 15,000 file limit per project. Luckily, this is cake for Amazon S3 buckets, which literally have no limits on the amount of files you can store in the cloud. The upload process was a bit of a pain, considering the speed was capped at a sluggish 50 KB/s. But once that was done after a few days, all that was left to do was hook up code to talk to the bucket. And just like that, we have a game that can scale infinitely to as many NFT projects as we want.
And that’s where we are today. Pretty powerful stuff.
It’s quite amazing to me how many successes, failures, moments of euphoria & dread, hopelessness & hopefulness - and everything in between - this project has shown me. If there’s anything I’d take away from this ongoing journey, it’s that you should pursue things that excite you and not to give up on them. Do things that bring out your inner kid.
Crypto Petz is far from a perfect game that needs tons of work - but it’s my game. One that I can keep working on to share with the world. One that I’m lucky I get to work on simply because it’s fun for me to bring my creative ideas to reality and share them with like-minded people. When people tell me they love playing with their toad, it motivates me to keep building.
With all that said, a few words about the future of Crypto Petz - I’ll keep it short.
A lot has changed since our initial proposal, which you can conveniently scroll up to read more about if you are interested. Going forward, we’re pivoting slightly to what we believe players want, see below.
Tons of exciting ideas are in the works, such as:
- Customization - players can decorate their swamp with NFTs in their wallet
- Social updates - players can visit their friends’ customized houses and see their NFTs on display, view their achievements, and more
- UI/UX and bug fixes - I promise I’ll get to these
- Expanding to more NFT collections - Punks, DickButts, Moonbirds, and more
- Transition to Phaser 3 framework
- More secret stuff that I can’t disclose just yet…
If you’re interested in the game we’re creating, we humbly ask you to consider supporting us for our past and future developments. If you made it this far, I’d like to personally thank you. Feel reach to reach out to me on discord heyjeff.eth#3954 if you want to chat, ask questions, want to collab - whatever. I am happy to chat these days when I’m not busy working on Crypto Petz
That’s all for now - thank you for reading!
See y’all in the lily pad
-Jeff