Procedurally Generated Firearms

Project Description

We wanted to create a tool that generates procedural projectile-style firearms.


We studied a variety of different shooters that have projectile-style weapons, and defined a set of criteria of weapons. Overwatch served as a useful touchstone, since each character has distinct mechanics for their weapon. For example, in Overwatch, we looked at what features firearms have that changes the way users interact with them. One comparison that we analyzed was the difference between characters Symmetra and Junkrat. Both fire projectiles which cause high damage on impact, but because of the difference in projectile speed (low for Symmetra and high for Junkrat) and gravity (none for Symmetra and high for Junkrat), the two heroes have very different play styles.

Projectile Firearm Characteristics

  • Bolt / Semi-automatic / Burst / Auto
  • Damage, Damage falloff
  • Range
  • Velocity
  • Rate of Fire
  • Reload, Ammo Capacity, Time of Reload
  • Charge Time
  • Random Spread
  • Projectile Count
  • Area of Effect
  • Damage on Impact
  • Bullet Drop
  • Crowd Control / Push-back



Developed by Elliot Winch, Carlos-Michael Rodriguez, Kevin Yang, Christy Welch