Built an open-source on-chain RPG and just deployed it on Arbitrum One Mainnet ⚔️

Hi everyone!

After several months of learning Solidity and blockchain development, I finally deployed my biggest personal project to Arbitrum One Mainnet.

The goal was to explore how much gameplay could be implemented directly inside smart contracts while keeping the project completely open source.

Current features

  • ⚔️ PvE battles
  • 🛡️ PvP battles
  • 🏰 Guild system
  • 🏆 Guild rankings
  • 🎖️ ERC-721 Achievement NFTs
  • 📈 Player progression and leveling
  • 💰 On-chain game economy
  • 🌐 Multi-chain support
  • ⚡ Fully written in Solidity with a TypeScript + ethers.js frontend

One interesting challenge was balancing the guild ranking system.

Originally, guilds earned a fixed number of points for every PvP victory, but that allowed high-level players to repeatedly farm beginners. I redesigned the scoring system so that rewards now depend on the level difference between players, making guild rankings much fairer.

The project is mainly a learning experience, but I'd really appreciate feedback from the Arbitrum community.

Some questions I'd love your opinion on:

  • What on-chain game mechanic would you add next?
  • Are there Arbitrum-native features or integrations that you think would fit well?
  • Any suggestions for improving the player experience while keeping most of the game logic on-chain?

The project is fully open source, and I'm happy to share the repository and live demo if anyone is interested.

Thanks!

Live demo: https://ethereum-simple-rpg-game.vercel.app/

GitHub: https://github.com/brunolcarli/simpleRPG

reddit.com
u/__beelzebruno__ — 7 days ago

Built an open-source on-chain RPG and just deployed it on Arbitrum One Mainnet ⚔️

Hi everyone!

After several months of learning Solidity and blockchain development, I finally deployed my biggest personal project to Arbitrum One Mainnet.

The goal was to explore how much gameplay could be implemented directly inside smart contracts while keeping the project completely open source.

Current features

  • ⚔️ PvE battles
  • 🛡️ PvP battles
  • 🏰 Guild system
  • 🏆 Guild rankings
  • 🎖️ ERC-721 Achievement NFTs
  • 📈 Player progression and leveling
  • 💰 On-chain game economy
  • 🌐 Multi-chain support
  • ⚡ Fully written in Solidity with a TypeScript + ethers.js frontend

One interesting challenge was balancing the guild ranking system.

Originally, guilds earned a fixed number of points for every PvP victory, but that allowed high-level players to repeatedly farm beginners. I redesigned the scoring system so that rewards now depend on the level difference between players, making guild rankings much fairer.

The project is mainly a learning experience, but I'd really appreciate feedback from the Arbitrum community.

Some questions I'd love your opinion on:

  • What on-chain game mechanic would you add next?
  • Are there Arbitrum-native features or integrations that you think would fit well?
  • Any suggestions for improving the player experience while keeping most of the game logic on-chain?

The project is fully open source, and I'm happy to share the repository and live demo if anyone is interested.

Thanks!

Live demo: https://ethereum-simple-rpg-game.vercel.app/

GitHub: https://github.com/brunolcarli/simpleRPG

reddit.com
u/__beelzebruno__ — 10 days ago

How would you balance PvP progression to prevent high-level players from farming beginners?

Hi everyone!

I've been designing an RPG combat system recently and ran into an interesting balancing problem that I'd love to get some opinions on.

The game includes:

  • PvE
  • PvP
  • Character levels
  • Guilds
  • Guild rankings

Originally, every PvP victory awarded a fixed amount of guild points.

It worked... until I realized there was a huge exploit.

A high-level player could repeatedly defeat a level 1 player (who could simply revive afterward), allowing guilds to farm ranking points almost risk-free.

To address this, I'm currently considering rules like:

  • Prevent PvP if the level difference is greater than 10.
  • Scale guild points based on both players' levels.
  • Award fewer points for defeating much weaker opponents.
  • Award significantly more points for defeating opponents at a similar or higher level.

For example:

  • Lv.10 defeats Lv.2 → 1 point
  • Lv.10 defeats Lv.8 → 3 points
  • Lv.50 defeats Lv.47 → 10 points
  • Lv.50 defeats Lv.60 → 20 points

The goal is to encourage fair fights while preventing players from farming beginners.

If you were designing this system, how would you solve it?

  • Would you use an Elo-style rating?
  • Should guild points depend only on relative level?
  • Should there be diminishing returns?
  • Would you approach progression differently?

I'm interested in hearing how other designers think about balancing competitive progression systems.

reddit.com
u/__beelzebruno__ — 10 days ago
▲ 14 r/solidity+1 crossposts

Looking for Solidity code review on my fully on-chain RPG

Hi everyone!

I've been studying Solidity for the past several months and decided to build a larger project instead of another DeFi tutorial.

The project includes:

  • PvE
  • PvP
  • Guilds
  • NFT achievements (ERC-721)
  • On-chain player progression
  • Multi-chain deployment
  • Foundry tests

One bug I recently found was a guild point farming exploit where high-level players could repeatedly kill and revive weak opponents to inflate rankings. Fixing that made me rethink how PvP rewards should be balanced based on player levels.

I'm looking for honest feedback regarding:

  • Solidity best practices
  • Security
  • Storage patterns
  • Gas optimization
  • Code organization

Repository:
https://github.com/brunolcarli/simpleRPG

Thanks! I'd love to hear what experienced Solidity developers would change.

u/__beelzebruno__ — 10 days ago