[Feedback wanted] PirateShower 2021

Introduction

Pirate Shower is a game implemented in Decentraland with the following goals:

  • Bring traffic to Decentraland (2000 active monthly users with 20% replay)
  • Become self funded

Previous iterations draw some attention but did not met the goals. But thanks to all your feedback I learned a lot! And I’m working on improving on previous iterations.

What was working

  • Allow people to change the environment in a multiplayer way
  • Zero fees using Layer 2
  • Free to play

What wasn’t working

  • The need of a centralized server
  • Decentraland is not optimized for games relaying in control skills
  • People couldn’t add value to it
  • Was hard to prevent boting

To solve this issues I’ve designed a new game that

  • Works in a decentralized way
  • Keeps as much as possible on-chain
  • Its open source
  • Designed around current blockchain and Decentraland capabilities
  • Allows players to add value
  • Only requires to have an ETH address
  • Allow boting

In fact the game has changed so much that will need a new name, for now the code name is PS2021.

Description

On PS2021 you can create robot pet drones and train them. You can participate in competitions, play party games or just have fun customizing their drone.

Drones can fly, and use physics simulation to interact with the environment, and other drones.

Players get their first basic drone for free, and immediately start participating in different events.

The drones are autonomous, you only need to send them to the competition (for example a race) and they will do all the work.
Before the competition you can train them by creating practice tracks to fine tune the drone’s AI.

You can also improve the drone by purchasing parts, like weapons and engines.

To purchase the elements you use $SOAP, and you can get this coin by “sending your drones on a mission” (essentially staking them) for a few hours.

You can also earn $SOAP in competitions, or you can also buy it.

How it works?

Drone

Each drone is a NFT ERC721 or ERC1155 storing all the characteristics (body structure, stats, AI) on-chain, every time the player makes a change, it should be submitted to the Blockchain.

Some changes are free (AI), other changes cost $SOAP (body structure, stats)

The specific way the information is stored is not yet determined

SOAP

SOAP is a ERC20 or an ERC1155, I’m not sure yet. ERC20 could bring some trouble if its categorized as a security.

To stabilize the price of the coin maybe a faucet will set in place allowing players to buy using stablecoins at a fixed price.

Game items

Everyone is able to mint parts for the drone (most probably in GLTF format), and set some stats. For advanced stats the creator must pay some SOAP.

Maybe creators can create collections, all using a single contract (like OpenSea)

Interoperability

Should be easy to create a “bridge” contract allowing to add PS2021 metadata to any NFT. The contract could read the metadata, for example, of CryptoPunks, map it to PS2021 metadata, and allow players to use it as a game item!

At the same time anyone will be able to use PS2021 assets that will be available on a Creative Commons licence.

Game Client

The client is open source / free software. Anyone is free to contribute (for example to translate the content!), copy, change, and publish a copy of it.

Game Server

Servers are not required to keep the game running, are only used to perform gas free meta transactions and host metadata. Will be also open source / free software.
Servers are also used to allow all players see each other actions, and create a multiplayer experience.

Competitions

A contract organizes competitions in a regular basis (for example every 30 minutes), players need to register their drones for each competition.
The contract stores all the parameters for each drone on every competition in a “Manifesto”, so every client can access the information and run the competition locally.

The physics simulation and AI are deterministic, therefore all clients will arrive to the same result. Given the same parameters for the competition will have exactly the same events.

This allows the tokenization of each event. The contract will perform a Dutch Auction of the event so players can purchase it (the value will go to the other competitors of that event).

Current Status

  • There is a Smart contract deployed on Ethereum and Matic, but it needs to be upgraded or even replace it (keeping the current owners of NFTs).
  • VRGlitch is designing the drones and the UI :smiley:
  • I’ve started to test the physics simulation on Decentraland.

Funding

I can work full time on the project for a few months thanks to your support on Decentraland and the Matic Grant. But is critical (no surprise here) to get more funding on release time, either from players or external.

Timeline

  • April 2021: Partial release
  • June 2021: Complete release

Let me know what you think, if you have

2 Likes

@Eibriel this looks great and super fun!

I have one question regarding the AI. How can owners update the AI? Can they program it? Will there be pre-defined AIs?

1 Like

Thanks! Good question

The idea is to use a simple “Genetic Algorithm” to tune some parameters governing how the drone responds to the environment.

The user will be able to set up an environment, and activate a “training” mode that will update the parameters to maximize the performance.

To simplify the goal of the drone will be always the same: to hit a target in the 3D space. This simple goal can be used to perform almost any task. For example a race is just a list of targets that the drone must follow one before the other.

I will need to perform some tests to find the right balance between AI complexity and gameplay. Most probably the parameters, sensors and actuator will need to be simplified.

The project is inspired by the amazing Karl Sims’ Evolved Virtual Creatures: Karl Sims' Evolved Virtual Creatures compilation - YouTube

2 Likes

This sounds super fun!!

Can’t wait to have it in Decentraland :slight_smile:

1 Like

Part 2

Moving further into the actual implementation here are some details regarding PS2021

Customization

Each drone have 5 types of parts:

  • The Core: the main body, mostly spherical
  • The Face: an animation in the front section used to emote and convey information
  • Cosmetics: additional elements that can be attached to the body, without functionality
  • Actuators and sensors: invisible items that allow the drone to interact with the world, only visible through the VFX generated when used (for example smoke from an engine). They have functionality, without body.

Artificial intelligence

The AI is divided in different modules:

  • Navigation: its about how to use the sensors and actuators to move around the world. Uses the NEAT algorithm (How to move?).
  • Planning: its about designing a plan of action to achieve a goal. It allows complex behaviours, like playing football. Uses the Goal Oriented Action Planing algorithm (Where to move?)
  • Personality: each drone have personality and emotions, affecting how the navigate and plan. To allow for diversity of behaviours. Also determines what the Drone should do when is not doing anything. Uses Behaviour Tree algorithm (How to behave?).

Roadmap

I designed this roadmap to allow an organic growth of the project

  • Stage 1: Allow users to customize a drone, the drone is just Cryptoart at this stage
  • Stage 2: Drones can be used as Pets in Decentraland, following the user around.
  • Stage 3: Users can train and compete with their drones on races and simple tasks, using Navigation.
  • Stage 4: Drones can perform more complex tasks thanks to the planning module.

Portable experiences in Decentraland, work in progress:

Drone design by VRGlitch, work in progress:

Feedback welcomed!