PocketPals — From humble beginnings, to a game for everyone.

PocketPals
12 min readMay 20, 2022

--

Pictured: Elliot VS Talia in the 1st PocketPal Championship Finals

PocketPals is a retro NFT-based game where players personalize, train, and interact with their Tamagotchi-esque PocketPals NFT, and battle each-other for glory and prizes. We’re currently in open Beta at www.pocketpals.io/game.

Pictured: A Robot PocketPal in a Custom Skin by Fantom artist Teens On Acid

Anyone who has come across the PocketPals discord, or any of the AMA’s we’ve attended will know our team like to play our cards close to our chest. We haven’t published a roadmap and we don’t vomit a list of ideas or gamefi buzzwords at people to make them think we have a plan. We build, we deliver, then we engage our players on how they feel about what we’ve built and what they’d like to see next. We like this model, it works for us — particularly when we’re able to drop features and improvements at a high frequency.

We currently have a few larger pieces of work underway that mean our players won’t be getting their weekly surprise of new feature or UI improvement when they log in. For that reason, we think its appropriate to break with our norms, and share what we’re up to. And to understand why we’re doing some of the things we’re doing, we need to start with what we’ve learned. Buckle up, this will be a long one, but its sectioned for those of you who like to graze.

Our beginnings.

The PocketPals Beta has been running for almost 3 months, during which our players have enjoyed over 4,500 hours of fluid, uninterrupted play, won 4,750 FTM (most of which when the price of FTM was over $2), and actively contributed to the future direction of the game with their ideas and feedback.

These numbers sound great for a small, bootstrapped project launched by a team of two and run by a team of four (they are!), but we’d be lying if we claimed that it was all per our original design or that we didn’t have a ton of learnings and face-smack moments along the way. A lot of these learnings have shaped what we have to come, so in order to put the next section in context here are some of the bigger ones:

Pictured: Elliott Character Design

Hybrid is a spectrum

We’ve received a lot of praise for what we call our ‘hybrid’ approach. Pals are an NFT that you own, their metadata is stored on-chain, and their image(s) stored on IPFS. We have Smart Contracts that contain logic and rules for how in-game activity can change a Pals image and metadata. But between those contracts and our players sits a layer of Web2 functionality. Players play the game, the game interacts with our server (or in our case a set of Firebase Functions), and our server posts transactions to the chain. It works great — our players play a fluid game, uninterrupted by transaction approvals and processing, even during high congestion periods (and we’ve been through a few!).

The idea isn’t new, we’re not overly clever for using the approach, and in all honesty we only went that way because ChainLink hadn’t yet brought VRF to Fantom and we didn’t like the alternatives. Processing battles (which require a lot of random numbers) at our server and posting the outcome to the chain isn’t as ‘pure’ as putting the processing on-chain, but it was a reasonable solution from our perspective, and sat nicely with our philosophy of the chain being our database, not necessarily our logic. Our dev still stressed that he’d be shunned for taking a ‘shortcut’, but we went with it. It was only after a couple of weeks of gameplay and feedback that we realised the true benefits of the model, and what more we could do if we took it further.

I bet you like multi-chain!

From our first day planning PocketPals, delivering a multi-chain game that we could use as a vehicle to attract new people to Fantom was a priority for us. We built it into our contracts, and even prefixed our token ids with the chain id so that tokens could move across chains and keep their id.

Another feature from early in our planning was Wagers. Players can place a bet in FTM when challenging eachother, with the winner taking the purse. Wagers have been very popular — almost 4,000FTM has been won from nearly 1,500 wagers — but it was only when one of our players commented about how ‘interesting’ a cross-chain wager would be that we realised we had two features that wouldn’t work so well without us having to deal with the whole drama of price movements between our supported currencies. D’oh!

Something Something Mobile…

Our long-term vision for PocketPals has always included a Mobile App, and physical PocketPals devices running a modified version of it. Given our long list of features we wanted to deliver early, we prioritized this down the list and took a mobile-first approach to the design of our web-based game so that it looks and works well on the Metamask mobile browser. We’ve had great response from the 61% of our players that play on mobile, but we now see that we can reach a better level of immersion and convenience with our own app, and probably reach a wider market — more on this in the next section.

When not doing > doing

We’ve always intended to release a token. Not a ponzinomic token to speculate on and create mad price swings like the current fad, the token was to simply be a proxy for gas (astute readers will have worked out that while we’re posting transactions on our players behalf, we’re also paying for them!) — we sell the token, players use the token to ‘charge the batteries’ in their PocketPals, and we use the proceeds from the sale of the token to cover our gas costs. As the game developed and players shared their ideas with us, we prioritized other features over the token and just decided to wear the gas bill for now. In retrospect, this was fortunate — our intentions for our token have changed substantially since launch.

A Game For Everyone.

The work we have underway at present is hoped to bring to life our vision of an NFT-based game that anyone can play from anywhere, with their Pals based on the chain of their choice, or even without necessarily knowing they ARE on-chain. Its a hefty goal, but the rewards make it worth it: a bigger community of players increases activity, making the game more engaging for everyone. And a mobile app that abstracts away the complication of setting up and funding an on-chain wallet might provide a solid on-ramp to some of the crypto-curious millions that we all want to take the plunge. We’re not yet ready to commit to timelines, but here is what is in active development, in the likely sequence of delivery:

A new evolution

No, not evolved PocketPals (although yes, Pals can evolve, and our earliest players are nearing the level for their first evolution), but new smart contracts. The current PocketPals contract extends OpenZeppelin’s ERC721 (NFT) contract and also stores the metadata for each Pal. This will be replaced by 2 contracts.

One contract will be a close-to-pure ERC721 contract, and will be deployed onto every chain we launch on. This contract will track your ownership of the PocketPal token, and will be the thing you trade on marketplaces and move from chain-to-chain if you wish.

The second contract will be our metadata contract. This will sit on Fantom (or another EVM compatible chain that is cheap and fast) and will store the metadata for every Pal in existence. This is not dissimilar to how most NFTs today point to a metadata file on IPFS, we’re just using another blockchain instead of IPFS so that we can write more smart contracts that can read and modify the metadata.

The outcome: ownership sits on your chain of choice, metadata and our on-chain logic sits on the chain that is the most efficient to do the level of processing and data-updates we need to make for an engaging game. Keeping the metadata on one chain also offers orders of magnitude less complexity for our dev than deploying our existing single-contract setup to every chain. He tells us less complexity = less bugs, and we like that!

Big NRG

Our upcoming NRG token will be our ‘in-game’ currency. NRG will be priced against the base currency of the chain our metadata contract sits on, but its purpose will extend beyond covering our cost of gas. Wagers will be placed in NRG, and certain in-game items will be tradeable for NRG. Players will have opportunities to earn or win NRG, starting with random NRG drops in training and battles. NRG will be purchasable at a consistent(ish) price on all of our supported chains. Players will be able to cash-out their NRG for their chain’s native currency. This will allow us to base wagers and all other currency-based elements in our own currency, while giving players certainty as to the value those elements have.

NRG is not meant to be a speculative asset. Its price will move in tandem with the price of our base currency (likely FTM) with infrequent adjustments as average gas costs change over time. There is no ponzi-like mechanism promising returns that require the latest fool to spend so the previous fool can earn, nor will there be an opportunity to corner the supply. Its our tool to denominate everything in a single currency, and allow players to slide in and out of that currency as they need (we’ll even look to zap certain purchases if a player chooses to pay in a convertible currency).

Everything in its place, and a place for everything.

Crypto wallets are cool. You put tokens in, and protocols can do things with them as long as you approve them. This all works great if you are the originator of every transaction that interacts with these tokens, but a little less so in our world.

A consequence of our architectural design is that transactions don’t always hit the chain as soon as you perform the action that triggers them. This can lead to issues if a player performs an action on a token we have approval for, then moves that token or changes the approval before our transaction hits the chain. We have checks and balances in our contracts to handle these situations, but a failed transaction occurring a minute after something looked like it worked is not a great player experience and we’d like to do better.

The PocketPals Wallet is a smart contract providing each player an in-game wallet in which to deposit game-related assets. Players who deposit NRG into their wallet will be able to choose to ‘auto-charge’ their Pals with that NRG so their Pals’ batteries never go flat. Players will place wagers using the NRG in their wallets, and winnings and prizes will be credited back to their wallet. Players will be able to withdraw from these wallets, but withdrawals will first be checked against pending transactions in our queue to ensure the assets are truly available. Players will also be able to send assets to other players wallets in-game, and the recipient will receive the asset immediately (even during times of congestion) — a feature we suspect will get a lot of use when guilds and team events kick off!

Most importantly, the PocketPals Wallet allows us to remove all approvals and owner-originated transactions from our game. Players will enjoy fluid play without ever seeing a metamask popup, and we can deliver a fully functional mobile app as we no longer need access to the players metamask wallet.

Fight Club

Battling Pals is a cornerstone of our game play, and we have some great work underway to take this to the next level.

The Arena will provide an entirely new approach to our challenge system. Players will be able to enter their Pal into the Arena at any time, and be matched with a suitable opponent to battle then and there! We expect the number of battles fought in the Arena to dwarf that of our asynchronous challenge system as players enjoy the immediate action.

Our long promised Tournament system is in its finishing touches and is looking epic! Pals will battle against equally matched opponents to move up and down a game-wide leaderboard, with place-getters in each division winning healthy prizes. Tournaments will run at a regular frequency, with players having an opportunity to battle their way up into a higher division between tournaments.

Go Mobile Or Go Home

PocketPals Mobile has us very excited. Sure, it will be cool when our existing players can unlock the game using FaceId, get push notifications to remind them they can train or they have a new challenge waiting, or interact with location-based events. Yep, the extra ~3,500 pixels we save from getting out of the browser give us a LOT more options for UI design. And uhuh, mobile apps are cool.

But what we are most excited about is the noobs. We’ve had anecdotes from our players where strangers have seen them playing PocketPals in public and asked how to get involved. How easy is it to tell someone who doesn’t know his Peter Schiff from his Peter McCormack how to set up an on-chain wallet, let alone buy an NFT from a marketplace with it?! But what if you could share with them a QR code that opens the App Store on the install page for PocketPals Mobile? What if, once installed, that player can mint a PocketPal as an in-app purchase from their credit card, and go straight in to play the game alongside you? (side-note: what if you earned NRG for referring that player?!). Crypto gaming is growing, but its still a fraction of the Mobile Gaming space. If PocketPals Mobile could give a tiny percent of 1% of those players ownership of their first NFT, their first NFT gaming experience, and an engaging way to earn or win cryptocurrency, and that becomes a gateway drug to educating themselves deeper on the entire crypto space, then all those late nights slinging pixels and wrangling ones and zeroes will have been worth it. This is what we’re about.

More Pals, More Skins, More Stuff!

With the launch of PocketPals Mobile, our existing mint approach will need to change. We’ve been blown away by the social media posts we’ve seen about our Meteor Shower and Search mint experiences, and we don’t want to leave these completely. However, we also can’t make a player who has just installed our mobile app wait for 6 weeks for a meteor shower before they can start playing.

We have some cool lore-based concepts that will tie in with an opening of a PocketPals shop, where players will be able to purchase a PocketPal at any time. Pals will still be released in series, but each series will be available until the next one is launched. Shop-bought Pals will differ slightly from meteor-shower Pals, and we’ll share more details on these as we get closer.

We’ll also continue to work with the amazing artists on each chain we launch on to bring you new Custom Skins for your Pals. Our early editions of Custom Skins have proven extremely popular amongst collectors and artists alike. We love how artists and creators can use Custom Skins to get their work into our world and get paid for it, and our game is richer for the variety they bring. Look out for more packs going on sale at Clint’s soon!

Along with more Pals and more Skins, we have some other really cool drops coming in the near future. You’ve got a rare Reaper Pal wearing a sick FTMDead Skin and it intimidates all in battle, but who are you? Our customizable PFPs will give you a chance to rock your own personal style alongside your Pal(s). You love our music, but what if you could own your own piece, and have that piece play when you battle other Pals? We’re on it!

Pictured: “Celebrating Artists #1 — NZ/AUS” Collaborative Skin Pack

Its all just a rug!

Nah! Just kidding! We’re just checking that you’re still with us (we told you it’d be a long one!). We lost zero players when we swapped out our PocketPals images for an animated rug on April Fools, so we have at least a little bit of confidence to use that term in jest.

In reality, we feel molecularly incapable (made up term) of rugging our players, our family. PocketPals is our baby, and we hope that what we’ve delivered already gives you all confidence in our ability to continue delivering, not just what we have listed above, but for a long time after that too. We’ve barely scratched the surface of our plans here!

If you are already part of our family, thank you from the bottom of our hearts for trusting us, for playing with us, and for sharing your ideas and feedback to help us build a game we all love to play. If you haven’t yet joined us, you are always welcome. Aside from a sassy bot that insults everyone, our discord is a safe and friendly place where our team and our player-family are all very happy to share information and advice.

--

--