Back to projects

Gameplay project

Vampire Survivors Like

A C++17 top-down survival action game with escalating combat, automatic attacks, four enemy archetypes, power-ups, fixed and seeded infinite maps, and multi-slot save/load.

Project overview

Role
Gameplay / Systems Programmer
Language
C++17
Framework
GamesEngineeringBase (Direct3D 11)
Platform
Windows PC
01

Architecture design

The runtime is layered so the frame loop coordinates systems without depending on their concrete implementations.

  1. 01

    Lifecycle and composition: Main composes long-lived services; GameManager owns Menu, Save List, Playing, Victory, and Defeat transitions; GEGameSession coordinates one run.

  2. 02

    Provider boundaries: MapProvider, PlayerProvider, EnemyProvider, ProjectileProvider, and PowerUpProvider keep session orchestration independent from concrete managers.

  3. 03

    Runtime lifecycle: managers maintain active views while GEObjectPool reuses enemies, projectiles, and power-ups; collision, drops, and cleanup stay with their owning systems.

  4. 04

    Snapshot persistence: versioned state captures the map seed and camera, session timer, player combat and buffs, and every active entity before the repository atomically replaces a save slot.

02

Engineering highlights

  1. 01

    Structured a complete 120-second survival session across menu, gameplay, save, victory, and defeat states, with provider interfaces separating gameplay systems.

  2. 02

    Built nearest-target automatic fire and a player-triggered AOE that prioritizes high-HP enemies, alongside four enemy archetypes and time-based spawn scaling.

  3. 03

    Managed high-churn enemies, projectiles, and power-ups through reusable object pools, active-object views, collision handling, and off-screen cleanup.

  4. 04

    Implemented fixed and seeded infinite tile maps plus a versioned, multi-slot snapshot system that restores the player, world, combat timers, enemies, projectiles, and power-ups.

View all projects