← Back to projects

My Neighbor Alice

A 3D MMO game made in Unity with a distributed server back-end and PostgreSQL database. All running in your web browser.

C# Unity MVP WebGPU Networking Addressables Analytics PostgreSQL Blockchain Jenkins CI/CD GitHub CI/CD AWS Terraform Grafana
My Neighbor Alice

Building an MMO and a community

This project is an MMO game with a full blockchain back-end. Next to the blockchain, there is a scalable network solution that assigns players different servers based on location.

The game is packed with features like harvesting, fishing, farming, crafting, trading, landscaping, building, social features, land ownership and much, much more. Reaching more than 100k users with a super loyal and tight core community, hosting events and being involved in the development of the game.

I have worked on this project for 3.5 years starting as a Senior Developer but I quickly took the role of Lead Unity Developer to guide a team of up to 10 developers to efficiently turn a prototype into a functional and performant game.

What I built

A look at some of the systems and features I worked on while working on this project.

Networking
01

Networking

We used terraform to deploy multiple servers on AWS. There is a dapp coordinating the servers and their assigned in-game regions. When a player would travel to a specific region, it would use the coordinator to find the correct server to connect to, this system allows horizontal scaling to accomodate as many players as possible.

The networking servers acted as relay servers, relaying networking messages between players, allowing players to see and interact with each other. Due to the game also running in the web browser, we used webRTC to mimic UDP for unreliable messages like movement.

Landscaping
02

Procedural Landscaping

Each player could own a "plot" which is a virtual piece of land on which they can farm, decorate and landscape to their heart's desire.

Landscaping allows changing every cell's height, texture and foliage placed on top of it, all rendered using a custom GPU instancer to stay performant.

All of the terrain is procedurally generated with different theme's based on the region, textures and heightmap.

Quests
03

Quest System

We built a designer focused quest system and configuration tools. Allowing designers to add quests and other content without needing a developer. They used the system to make 100+ unique quests, with unique dialogs for all npc's.

The quests and dialogs use a localization system that narrative could easily use without touching Unity. We even made in-game features so players could later use the same tools to create their own quest lines.

We supply the tools, the designers let their imagination go wild.

Community
04

Community

There was a heavy focus on community, building and expanding it. I was regularly active on discord, talking with users to get feedback and fix bugs for them.

Players were spread over the world, so we added an AI powered chat that automatically translates all messages to your prefered language, allowing everyone to talk to each other seamlessly

The community made incredible builds using the tools we made for them.

Problems I had to solve

Prediction

Since a blockchain is notiously slow, we had to build the game with a lot of prediction since we wanted it to feel responsive. This meant a lot of client side prediction and batching, and reconciliation when something was wrong.

WebGPU

Since WebGPU was still in an experimental stage, it was a challenge to get the entire game to run smoothly on many browsers. Web is limited to a single thread, very limited RAM and the game size also needed to be as small as possible.

Development Flow

When I joined, the entire dev team was complaining that making anything took too long. After I became lead, I spend many months heavily improving the code base, developer flows and communication so that the Unity department was always ahead of all other departments.

Interested in the game?

You can find the live game to try for yourself here.

To My Neighbor Alice