top of page

Sphere Grid Simulation

Shaders, Lighting, Programing (Unity, C#)


Movement: [WASD]

Interaction: [SPACE]

Back: [ESCAPE]

Activating Spheres is currently not possible

Textures by Chatachrism


This is an attempt to replicate the structure of the Sphere Grid from the HD version of Final Fantasy X using Unity.

Its development attempted to create a flexible structure that would enable replicating the original Sphere Grid, as well as create entirely new ones. I also attempted to replicate the original lighting and visual effects using URP and ShaderGraph.


This sphere grid is structured in such a way that each Node is placed within a Core. Nodes are addressed within cores using an adaptation of the polar coordinate system, using a radius (distance from center) and an angle, as shown in the scheme below


Once placed in a Core, two adjacent nodes can be connected, as long as they have the same radius or same angle. Center nodes can be connected to any node of a superior radius.

Lighting and visuals

The lighting and visual effects were replicated using Unity's URP, namely the 2D Lighting system, as well as ShaderGraph.

The system uses different types of glows to indicate interactivity:

  • The Target marker controlled by the player glows white around the selected node;

  • The Character marker indicates the current node position of the character and glows in their own specific color; it also illuminates neighboring nodes;

  • When attempting to move, nodes within movable range also glow in the same color as character and opposite frequency.

The lines connecting nodes are also rendered using a shader. Lines have an inherent watter ripple effect.

  • Inactive lines are colored gray;

  • Active lines are colored in the character's color.

  • A line's filling is defined from 0 (inactive) to 1 (active) and is animated accordingly when selected.

bottom of page