Genre : VR Arcade Shooter
Development Tools : Unity, PlasticSCM
Team Size : Sole Developer
Development Time : ~ 1 day
Vampire’s Demise is a short and sweet arcade experience where players will fend off zombies and eye demons with a crossbow in a VR simulator.
Contextually this is a final project I made solo for the 7 week course ISTA424, Intro To Virtual Reality. Initially I had an assigned partner to work with, but due to some mishaps they were unable to work with me on it. Due to it being around finals week and some overlapping schedules, I had to code this in 1 day.

Design Process
Coming up with the idea was relatively simple. After all, the intense time crunch at the time caused me to want to keep the scope of this project small. Thus I thought of something arcade-y, quick and easy to play, and that brought me to a shooter game. The vampire aesthetic was something my former partner and I decided on, making it a bit horror-ish in concept.
Following that vein of thought, I envisioned the scene: a dark forest sets the scene as a lone vampire hunter fends off a horde of otherworldly creatures. In that scene, I thought of one extremely iconic vampire slaying weapon, wooden bolts and a crossbow to shoot it straight through the heart. So I wanted to play off of that weapon in order to give a seemingly simple game some flair. That came in through with the reload mechanic. Physically reload of the bolt is mechanically satisfying to myself. That cock-back of the bolt by winding the string tightly.
This ended being the core idea I focused on. In VR, it would be simple, that player would physically pull back one arm to replicate that action. However, since I was making a VR simulator, as I didn’t have a system to actually playtest a full VR system, I needed to find a way to keep that same physical feel for mouse and keyboard players, my main audience. So I decided to use an unconventional control in the mouse wheel. The wheel was perfect for replicating that real-life mechanic, and testing found it to be really satisfying, especially when you are firing on all cylinders. I also added the simple option to reload after every shot with the R button, in case the player is on a trackpad.
Implementation
Since this was a solo project pulled over an all-nighter, I had to move quick. The idea was simple, sit as a stationary target, and shoot enemies that move at you. The biggest systems were not too complex, and I broke them down like so. In order to avoid any complications with art, I pulled some free assets from the Unity Marketplace to give some visuals, which is why I didn’t actually end up with any vampires visually.
Enemy Spawn System:
- Wanted them to spawn in a circle around them.
- Limited X+Z’s total value so it’d spawn within a predictable arc.
- So I split the circle in 4 different quadrants. X, Z values each used a random number generator to determine if they were negative/positive.
- Y value was a simple range, if they were above ground level it would spawn a flying vampire.
Enemy Behavior System:
- Enemies simply spawn and beeline towards the player
- Global difficulty variable that scales with time
- Increases number of shots to kill enemies, ground enemies always take one more hit than flying enemies
- Enemy spawn rate increases with difficulty factor
Player System:
- Gave player HP for multiple hits
- Gave player a crossbow laser for aiming
- Wanted the PC emulation to have a physical component to mimic VR, so I added an option to reload either via button or by scrolling back mouse wheel to “notch” the arrow
Aside from that, it was mostly a matter of assigning UI that floats similarly to VR games, ensuring interactions between objects worked, and so on.