Quixotic Ring

October 2018 - November 2018

A newcomer approaches a clandestine arena of eternal strife. Here, the exhilaration of the fight and the energy of combatants’ personal frictions matter far more than the desire to simply conquer over all opposition. Without pause, the denizens of this fantastical ring clash and bond through the heat of combat, vying to become lifelong rivals.

Quixotic Ring is an exploration of cultivated rivalries in the form of an agent-driven social simulation game. It was designed with the scholarly objective of creating a thematically driven artificial intelligence model, and studies the role UI/UX design plays in augmenting such a system. It truly begs the question of what it takes to construct complex, autonomous entities in a heavily established, yet ever-shifting world.

Solo project, self-managed through the waterfall process in a fast-paced development period, 1 month.
Developed in Unity (C#), art assets crafted in Adobe Photoshop CC.

This project begins with the desire to bring social simulation to a world I‘ve conceptualized in advance. The Ring is a stadium where champions, seeking a myriad of wishes, come to prove themselves through fights against other champions. Combatants face off against one another for superiority, but inexplicably establish unbreakable bonds with one another in the process. Adversaries grow fond through respect and familiarity. Forces in opposition transform into rivals in admiration.

This is the overarching concept I want to get through in the simulation, which lends itself as a solid foundation for my design questions. With the worldbuilding established, and the project goals in place, my considerations begin with how I would like the characters in the game to be represented through AI. At its core, the Quixotic Ring is an agent-driven simulation, everything else falls into place after answering this question. I tackle things from the perspective of the game’s character creator, and decide on four stats that will be relevant to the battles and rivalries expressed through the game: Hostility, Savvy, Interest, Grudge.

Half of the player’s stats are determined through random choice and become their zodiac. This is the temperament that a person is born with. The other half, the player’s archetype, is determined either through a quiz modeled after the Big Five and Enneagram personality tests or by selection. This is the personality that a person grows into. These two aspects come together to create every single entity’s stat spread, which is used to drive their behavior in the simulation.


Hostility affects readiness to throw hands and aggression in fights.
Savvy determines difficulty of combat and how quickly the player can challenge others.
Interest determines how many rivals an agent can keep track of at a time, and how winning a fight affects their relationships.
Grudge determines residual desire to fight after combat, and how losing a fight affects their relationships.

Agents are driven into fights after accumulating enough frustration as a function of their Hostility and Grudge stats. Once their frustration reaches a threshold, the agent will become angry and storm about bumping into everyone, choosing whether or not they want to square off based on how high their rivalry level is with the individual. Between NPCs, victor is decided through a function of random chance, and agents’ Hostility and Savvy stats. If the player is fought, both agents’ Hostility and Savvy stats instead play a part in the fighting mechanic’s difficulty. Upon conclusion, the victor’s Interest stat affects how much the combatants’ rivalry grows, and also how much their rivalry level with every other agent decays. For the loser, their Grudge stat also affects how much the combatants’ rivalry grows, in addition with how much residual frustration they will leave the encounter with. And thus, the cycle begins anew.

As a final touch, when the player maxes out a rivalry with someone, that agent’s zodiac, archetype, and stat breakdown by aspect before visible on their summary card.
After all, true rivals come to reach a deeper understanding with one another.


This project presented an interesting exercise into UI/UX design. Between designing a serviceable interface for the character creator and properly representing the information a player would need to understand the nuances of their rivalries and how they evolve over time, the menus and visual feedback used throughout the simulation needed to be carefully constructed to account for all its purposes.

As with all things, I strive to make my UI beyond just functional, but allow it to bleed into the aesthetic and overall world of my game. That meant keeping a consistent art style, for starters, but also making deliberate motions to incorporate the same architectural shapes, character design motifs, and handwritten qualities into my info boxes, system text, and beyond. I had a good time stylizing this project.