Yut Nori
A professor in my computer science graduate program recommended me to program a game for a challenge. I modded Dota 2 several times, and decided to create a game on a more accessible platform.
It’s like Ludo with a few more rules. Players divide into two teams and race their tokens around the stars to return to Earth. On the way, if you land on the same star that the other team is on, you kick them back home. The dice are represented as long, wooden sticks with two sides. You can move your tokens based on how many flat sides are facing up. If all of them face up or down, you get a bonus turn that lets you advance farther towards the finish.
Motivation
Team-based board game web app
Role: Indie Developer
Rules
I design the user interface in Figma.
I used the prototype feature to demonstrate the flow before writing it into code.
I want the game to be playable in both desktop computers and smartphones. I design every page to fit both types of devices. They have to convey the same information while fitting in their respective display constraint.
I traced vector images that I wanted to reference as game pieces so that I could customize their colors and orientation. The left are the inspirations; the right are the traced graphics.
In order to attract players that don’t know the game, I present the game in 3D.
I import the meshes (objects) and animate them using the React Three Fiber and React Spring libraries.
I write particle effects in .glsl to decorate the game scenes.
I script the yut animation in Blender with the physics simulation.
Application Architecture
Users access the app by visiting www.yutnori.app on their browsers. The app is hosted on AWS Amplify.
Heroku hosts my server which relays messages to the database for changes to the game state. The result state is broadcast to all the clients that are connected to the room.
MongoDB stores the game state as documents in mongoDB. Each document tracks users via sub-documents.
I direct freelance digital artists to produce 3D game pieces.
I playtest with my family and friends for quality assurance (and fun).
As an indie developer, I lead all other aspects of production.
I analyze popular online board games to take technical inspirations, like alerting users of their turns or dividing game states into rooms.