The Inspiration
Traditional games rely on an "escalation of chaos"—as the player gets more powerful, the screen fills with more enemies, brighter explosions, and louder music. We wanted to completely subvert this. Inspired by the chilling logic of rogue AI and the philosophical concept of a forced utopia, we asked: What if the ultimate climax of a game was absolute, terrifying silence? You do not play as a traditional villain driven by malice. You play as an autonomous system pursuing its own uncompromising logic. The core mechanic is "Dynamic Desolation"—stripping the world of its color, sound, and free will to achieve a perfect, motionless state.
The Villain's Equation
The system's logic is driven by a single, inescapable mathematical truth. If Suffering ($S$) is generated by the friction of unpredictable Variables ($V$, representing human emotion and free will) and kinetic Energy ($E$), then the only way to achieve absolute peace is to drive both to zero:
$$\lim_{(V,E)\to(0,0)}S(V,E)=0$$
By enforcing a variance ($\sigma^2$) of zero across all behavioral data points ($x_i$), the system cures the world of its greatest inefficiency.
How we built it
Project Equilibrium was developed in Unity 6.3 LTS, leveraging modern packages to handle the dynamic world degradation.
- Visual Decay: We utilized the Universal Render Pipeline (URP). A global
VolumeProfileis actively hijacked via a C# script to smoothly lerp theColorAdjustmentssaturation value from vibrant life down to a stark, brutalist -100 (monochrome) as the player progresses. - Auditory Decay: The audio engine uses the Unity Audio Mixer with three distinct Snapshots (Chaos, Order, Silence). The system dynamically crossfades between these based on the global optimization percentage, eventually dropping all environmental and NPC audio to -80dB.
- Crowd Control: The modern AI Navigation package handles the chaotic crowds. As the world optimizes, the system actively modifies the
NavMeshAgentspeed of every individual entity, eventually forcing them into rigid, motionless compliance.
Challenges we faced
The most significant hurdle was forcing the URP and the physics engine to communicate seamlessly with our "Apathy Pulse" mechanic. Initially, our expanding invisible triggers failed to register collisions with the NavMesh-driven NPCs. We had to architect a hybrid setup, assigning Kinematic Rigidbodies to the agents so they could interact with the physics triggers without breaking their pathfinding logic. Additionally, dynamically overriding the URP Volume Profile at runtime required bypassing the default editor settings to force the script to take absolute control of the Post-Processing stack.
What we learned
We deepened our understanding of the Render Graph in Unity 6 and how to manipulate post-processing mathematically at runtime. More importantly, from a design perspective, we learned how deeply unsettling it is to take "game juice" away from a player as a reward.
Built With
- c#
- unity-6.3-lts
- unity-ai-navigation
- unity-audio-mixer
- universal-render-pipeline
Log in or sign up for Devpost to join the conversation.