Damiano Tagliaferri

OOODLE

Oct 18, 2023
Cover art
Shield ImageShield ImageShield Image

PoC for a mobile multiplayer roguelite game that runs as a widget inside a Flutter instant messaging app. It automatically creates matches based on the users inside the chat-room, showing their avatars interacting in the game and progressing in sponsored biomes.
The characters leveling is based on the actions taken in the chat (e.g. amount of messages, message length, media content), and the system awards NFTs for winning fights and progressing in new areas. This proof of concept (PoC) helped the company secure $300,000 in investments from businesses interested in integrating custom sponsored content.

Role: Unity Developer
Company: OOO Labs
Platforms: Android - iOS
Work time: 4 months


My contributions

  1. Multiplayer client/server
  2. Tile-based procgen
  3. Unity - Flutter integration
  4. Spline-based navigation
  5. Scalable AI system
  6. Realtime weather

Multiplayer

  • Netcode for GameObjects: Syncronization of character location and shared rewards.
  • Game Server Hosting: Server configuration and Unity backend development
  • Matchmaker: Automatic match creation based on the id of the current chatroom (Shared through Flutter integration)

Level generation

Developed the procedural generation system, following (and contributing to) design specifications. It is achieved defining sockets on tiles for each unique connection and chosing a (weighted) random connection from a pool of available tiles.

AI systems

Created a flexible AI system that allows composition and sharing of behaviors. It is based on a hierarchical state machine pattern, with the twist that every submachine is a pluggable and reusable component. The top-level machine is customizable for each character, making it powerful but also easy to use.

Realtime weather

Implemented API calls to geolocalize the user through IP address (if GPS is unavailable) and fetch local weather conditions from OpenWeatherMap. The current weather is then used to load and apply the corresponding camera filters and/or particle systems.

© 2024 Damiano Tagliaferri