Oleksandr Tokarev

Lead portfolio case study · Unity 2022 LTS

2D Asteroids Survival

A complete 2D survival game independently designed and developed from scratch. The project demonstrates custom fixed-step physics, explicit dependency boundaries, pooled runtime entities, validated configuration, and separate desktop/mobile input strategies.

  • Complete playable game
  • Windows + Android
  • Unity 2022 LTS
  • C#
  • Zenject
  • UniTask
  • Object Pooling
2playable target platforms: Windows and Android
4project assemblies with explicit dependency direction
0LINQ and repeated component lookup in centralized hot loops
100%independent full-cycle ownership from architecture to builds

Engineering case

A maintainable game, not a monolithic prototype

The design keeps simulation, Unity views, UI, configuration, and platform integrations independently maintainable while preserving a simple gameplay flow.

Challenge

Responsive toroidal survival gameplay

Acceleration, inertia, world wrapping, bullets, a rechargeable multi-target laser, asteroid fragmentation, pursuing UFOs, scoring, and a three-life loop needed to share one predictable simulation.

Architecture

Explicit dependency direction

Custom physics and gameplay models stay outside MonoBehaviour logic. Assembly Definitions, interfaces, composition roots, factories, SignalBus, and MVVM-style UI keep responsibilities clear.

Performance

Stable runtime behavior

Asteroids, fragments, UFOs, projectiles, logical entities, and collision VFX are pooled. Centralized queries avoid temporary collections, LINQ, and repeated component lookup in hot loops.

Delivery

Playable and reviewable

The result is a complete Windows/Android game with public source, gameplay video, validated JSON balance, responsive UI, Firebase events, and lifecycle-owned platform integrations.

Core simulation
Physics · collisions · coordinates
Application
Factories · registries · use cases
Presentation
Unity views · HUD · MVVM
Platform services
Input · analytics · ads

Implementation evidence

What I built

Gameplay and simulation

  • Custom fixed-step integration, circle/segment intersection, elastic collision response, invulnerability, and logical/view synchronization.
  • Ship acceleration, braking, inertia, rotation, world wrap, projectiles, multi-target laser, asteroid fragmentation, and UFO pursuit.
  • Scoring, recharge state, three-life survival, responsive HUD, and platform-specific controls.

Production engineering

  • Validated JSON configuration and balance loading with clear failure handling.
  • Symmetric subscriptions, owner cancellation, guarded async navigation, SDK cleanup, and explicit pool reset behavior.
  • Desktop and mobile Strategy-based input, Firebase game events, AdMob banner lifecycle, Windows build, and Android APK.

More selected work

Continue with another case study