Mechanics and programming
Systems behind the pressure
I programmed the arena as a set of interacting systems rather than scripted encounters. Viruses choose targets, pursue nearby cells, attach on contact, slow the nanobot, and turn destroyed or corrupted cells into new threats. Rigidbody movement, collision detection, overlap checks, penetration correction, boundary handling, and force-based push attacks keep the crowded arena responsive.
A secondary orthographic camera renders the full playfield as a minimap while the main camera follows the action. Particle systems communicate shots, detonations, infections, and destroyed targets; gameplay events trigger distinct firing, pushing, corruption, splat, victory, and loss sounds. The HUD coordinates pausing, spawning, timed corruption, live cell and virus counts, scoring, and the complete win/lose state flow.
Language and modernization
From UnityScript to C# and Unity 6
The original class project was programmed in UnityScript, Unity's former JavaScript-like scripting language. That version established the game loop, physics behaviors, enemy and cell logic, controls, HUD, audio, and effects, but it depended on an obsolete language and an older Unity runtime.
In 2026, I ported the project to C# and Unity 6 with help from Codex. The migration preserved the original scene, prefabs, artwork, serialized gameplay tuning, and design while replacing the UnityScript components with maintainable C# equivalents. The port was necessary to make the game playable online again: its original browser release depended on the Unity Web Player plug-in, which browsers stopped supporting. I also adapted legacy physics, input, rendering, particle, camera, and build behavior for a modern Unity 6 WebGL release that runs directly in supported browsers without the old plug-in.