project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Forge World

🌋 Forge World: Dive into a mobile multiplayer adventure! Create characters, gather resources, explore diverse worlds, and level up your abilities. Your journey to forge legends begins now!

Forge World

Created At

ETHGlobal London

Project Description

Forge World offers an immersive mobile gaming experience without the typical crypto complexities (thanks to account abstraction). In this game, players embark on a unique journey, choosing a character whose initial abilities—strength, intellect, agility, and stamina—are determined by their selection. This choice sets the stage for a strategic adventure across various worlds.

As players dwell in each world, such as the Forrest World, they accumulate resources unique to that realm, with a captivating twist: the resources gained each "decade" (an hour in real-time) depend on the world's player population. This mechanic introduces a strategic multiplayer element, encouraging players to navigate between worlds not just for exploration but also to optimize resource collection based on player density.

The game's core revolves around using these resources to enhance character abilities, facilitating easier travel, resource trading at the marketplace, and even the creation of new worlds with distinct resources. This progression system is intricately designed to reward strategic planning and resource management.

Forge World stands out by offering a blockchain-powered gaming experience that's indistinguishable from traditional mobile games. Players engage with a rich, interactive world without ever needing to worry about wallets, keys, or the underlying blockchain technology. It's a game where strategy, exploration, and character development come together in a beautifully abstracted blockchain environment, making it accessible and enjoyable for gamers of all backgrounds.

How it's Made

Game mechanics and Engine: Solidity using foundry. General - Of particular interest is that we used a mapping pattern such that new worlds and abilities in the game can be created dynamically which in future can allow a rich expansion of the world. ENS - We leveraged the ETHRegistrarController and NameWrapper contracts to allow us to programatically issue subdomains for users as they joined the game. The end result was when you joined, "coolperson.forgeworld.eth" was registered and wrapped for the user. While we wanted to abstract away crypto completely from the user, we thought this would be a cool username for them and allow richer interactions in future. We used the setSubnodeOwner method on the NameWrapper contract to achieve this with default fuses and a sensible expiry to start. We'd like to iterate on this in future. UniswapV4 - We used the bleeding edge univ4 branch in a PR in order to create a "custom curve" so swapping between in-game resources would not be based on pool amounts but based on user abilities. Building off this PR had some errors which meant we need to slim complexity and to start simply seed and deploy a more vanilla univ4 pool for game swapping.

The experience of signing transactions today using hardware wallets & seed phrases will not take us to the next billion users. With the release of Passkeys, It can drastically change the UX of signing transactions.

With this in mind we utilised Stackup's Userop & eth-infinitism's AA stack to create the transactions https://github.com/eth-infinitism/account-abstraction

A ERC4337 account signing schema was extended to work with passkeys (biometric signing) and paymaster implemented for improved UX. Transactions on this wallet can ONLY be signed using your fingerprint or face ID.

background image mobile

Join the mailing list

Get the latest news and updates