RUSLAN LEONTEV / RUSLEO


Gameplay systems. Graphics. Optimization.

I build gameplay systems in C#, graphics in URP and tools for Unity. I develop my own games independently and bring code, graphics and content together in a team.

Ruslan Leontev
Unity / C# / URP
01 / Selected work

Games, from rules to feedback.

01 / UNITY · ANDROID · WEBGL

Fireline: Zombies

Personal project · Solo developer

Build a defense. Hold the line.

A first-person defense game: prepare your position, hold off zombie waves and build up your arsenal between missions.

Gameplay systems
I developed the shooting, enemy waves, construction and progression, connecting them into a complete game loop.
Economy & balance
Currency unlocks weapons and upgrades. A separate mission budget limits how much defense the player can place.
Fireline: first-person combat with electrical hits against a zombie wave
Fireline: placing defenses inside the mission's construction zone
Defense setup
Fireline: weapon selection, attachments and stats in the arsenal
Weapons & attachments
View all 6 screenshots

02 / UNITY · C# · 2D puzzle

Chromble

Personal project · Solo developer

Simple moves. Cascading consequences.

An 8 × 8 color puzzle: place a piece, connect six matching blocks and let gravity trigger the next cascade.

Game logic
Game rules live in a separate C# core. Animation, sound and UI receive the results through events.
Adaptive generation
The generator considers both occupied cells and valid placements, favoring useful pieces when space runs short.
Inside the game logic

BoardModel handles placement, gravity and connected color groups. BoardResolver computes the cascade sequence; effects and sound follow its events.

  1. Evaluate the board
  2. Choose a shape and color
  3. Resolve the cascade

When space runs short, SpawnDirector favors pieces with more valid placements or searches for a shape, color and position that clears more blocks. Piece selection responds to the shape of the free space, not just its area.

The next piece can be picked up during a cascade, but placement waits until the board settles. Preview calculations do not change the live board.

02 / Commercial experience

Where disciplines meet.

UNITY DEVELOPER

Bulltraffic

Mobile game · team development

I owned the technical implementation of graphics in Unity: integrating the work of artists and animators, developing rendering effects and optimizing scenes for mobile devices.

  • Built a custom URP pass for localized brightening and darkening, then reduced its rendering cost by processing the effect at a lower resolution.
  • Created procedural materials using noise and vertex colors to blend textures, alongside shaders and VFX. Integrated content and maintained the Unity project structure.
  • Tested scenes on iPhone and Android, investigating bottlenecks with Profiler, Memory Profiler and Frame Debugger.

Selected real-time effects

ArtStation

The project is on hold. These effects are shared with permission.

03 / Engineering notes

A closer look at the systems.

01 / Spatial algorithms

Voxel
Pathfinding

Source on GitHub

An adaptive voxel grid for 3D navigation. Cells intersecting geometry are subdivided; free cells form a graph for route search.

  1. Subdivide space
  2. Build the graph
  3. Refine the route
Representation and trade-offs

Subdivision creates eight child cells with face-based adjacency. Route processing uses intersections with cell faces before the demo agent follows a smoothed path.

Cell size trades geometric precision against graph size. The current search keeps open nodes in a list and sorts it at each step.

02 / Network states

Socket.IO
Networking

Source on GitHub

A Unity synchronization layer with RPCs, network variables and transform snapshots. Updates are batched into ticks; buffered states let remote objects move between network updates.

  1. Collect changes
  2. Send on a tick
  3. Interpolate states
Synchronization & interpolation

Attributes register RPCs; generic network variables define state. HostToClient, ClientToHost and Both control update direction, while Calm and Forced distinguish sending modes.

Interpolation plays back states with a short delay, keeping neighboring snapshots in the buffer to calculate the position between them. Smoother motion comes at the cost of that delay.

The client requires the paid Best Socket.IO transport and a separate server, which is not included in the repository. Prediction and reconciliation are outside the implemented feature set.

04 / Working approach

How I work.

Independent development

In my own games, I connect rules, gameplay systems, UI and visual feedback. In a team, I coordinate technical implementation with artists and animators.

Testing on devices

I check graphics and performance on iOS and Android. Profiling helps me find the cause of slowdowns and decide what to optimize.

AI in development

I use AI tools to prototype, explore solutions and automate routine work. I review generated code, make architectural decisions and take responsibility for the final implementation.

05 / WHAT’S NEXT

Let’s build something worth playing.

I’m looking for a team where I can take ownership of gameplay systems and tackle challenging problems alongside programmers, artists and game designers.

Russian — native · English — B2