Zombie Citizen

Development Update

Rebuilding Zombie Citizen’s Combat Around Projectiles

Rebuilding Zombie Citizen’s Combat Around Projectiles

Rebuilding Zombie Citizen’s Combat Around Projectiles

How moving player and ranged-enemy attacks to projectiles made combat easier to read and gave each weapon room to behave differently.

PUBLISHED

SEPTEMBER 21, 2026

DEVELOPMENT MILESTONE

OCTOBER 25, 2025

Zombie Citizen current alpha combat with the player firing projectiles at approaching zombies

Why the early combat model needed to change

Image context: The combat screenshot above comes from a later alpha build. The article looks back at the October 2025 projectile refactor that helped make this version possible.

In Zombie Citizen’s early build, ranged attacks were resolved through distance calculations. That was enough to test whether the basic combat loop worked, but it left little room for the shot itself to communicate what was happening.

On October 25, 2025, we completed a group of related tasks that moved player combat and ranged-enemy attacks toward projectiles. Instead of treating a shot only as a calculation between attacker and target, the game could represent it as something moving through the arena.

Making attacks part of the battlefield

A projectile gives a ranged attack a visible path. That matters in a top-down action game, where the player is reading movement, enemies, and incoming danger at the same time.

The refactor established the same broad idea on both sides of combat:

  • player shots could travel through the arena as projectiles;

  • ranged enemies could use projectile-based attacks; and

  • melee enemies could retain the closer-range approach that suited their role.

This was an engineering milestone rather than a final effects pass. Models, firing presentation, collision behaviour, and weapon tuning continued to develop afterward.

Giving each gun its own data

The projectile work happened alongside another structural change. Gun behaviour had been managed inside the player-combat system, which made it harder to treat weapons as distinct objects with their own statistics.

We split that responsibility into dedicated gun data and management. That created a clearer place for each weapon’s statistics and crafted bonuses instead of asking one combat class to control every gun.

For the player, the goal was straightforward: changing weapons should eventually mean more than changing an icon. Damage, firing behaviour, and upgrades needed room to produce different decisions during a run.

What this milestone unlocked

These changes did not finish Zombie Citizen’s combat. They created a foundation that later work could refine through animation, effects, collision fixes, projectile pooling, balance, and clearer weapon feedback.

That distinction is important when looking back at an early build. The milestone was not “combat complete.” It was the point where ranged attacks became visible parts of the arena and weapons gained a structure that could support different identities.

You can follow the current game on the Zombie Citizen page.