Vandor, the Flying Nightmare Leading the Vargoyles

Expirado
Vandor, the Flying Nightmare Leading the Vargoyles

Hey everyone! Welcome back to another Ghoulstorm DevLog entry.

Game development on Ghoulstorm for Meta Quest 3 is moving fast, and today I’m excited to introduce an enemy specifically designed to test your reflexes and force you to empty entire magazines. I want to share how I transformed a massive stone demon with bat wings from a predictable target into a terrifying airborne threat: Vandor the Stone Gargoyle, leader of the Vargoyles.

The Challenge: Giving a Boss Its Own Unique Identity

Until recently, the core AI system I designed worked great for Quest 3 performance. It was simple, minimalist, effective, and straight to the point. I used a NavMesh, a script named EnemyAI.cs, and a clean Animator Controller with three basic states: Run, Attack, and Hurt.

The lifecycle of a standard enemy works smoothly like this:

  1. Detects the player's position.

  2. Runs in a straight line, navigating around obstacles to go in for the strike.

  3. Takes bullet impacts while playing the hurt animation.

  4. On death, triggers a Ragdoll effect and fades away after 5 seconds.

For standard hordes and lesser minions, this direct approach is ideal—it keeps frame rates rock-solid on Meta Quest 3 and maintains constant pressure. However, Vandor isn't just another minion: he is the boss leading the Vargoyles. Seeing an imposing winged demon act identically to a ground zombie without making use of its wings didn't do the model justice or convey the unique sense of dread a boss fight demands.

The Solution: Unpredictability & Vertical Panic in VR

By leveraging the full set of 3D animations while strictly avoiding any performance impact on the Quest 3 mobile processor, I implemented an efficient phase-based system:

  1. The Initial Charge: Vandor starts his assault on foot, rushing toward you like any other threat.

  2. Impact Reaction: Upon taking 2 or more bullet hits, Vandor immediately halts his charge and shifts tactics.

  3. Airborne Stalking Phase: He triggers the Fly animation, detaches from the NavMesh, and ascends several meters into the sky. Once airborne, he adjusts speed and begins orbiting around you. In VR, this completely disrupts your comfort zone—forcing you to look up into the sky in pure panic while trying to reload without losing sight of him.

  4. The Dive-Bomb: When you least expect it, he dives down at top speed. A simple height check ($Y$-axis) detects ground contact, smoothly swapping from Fly back to Run with zero visual jitter... and going in for a brutal close-quarters strike.

Solo Dev Philosophy for Meta Quest 3

In standalone VR development, optimization is everything. Over-engineering AI logic with bloated behavior trees causes frame drops, which immediately ruins the immersion.

The strength of this architecture lies in its technical simplicity:

  • Builds directly upon the core structure of the existing script.

  • Manages air-to-ground transitions via direct height checks.

  • Only requires adding one single extra animation (Fly) to the Animator along with a few state controls in code.

The end result is a fast, dynamic, and unpredictable boss encounter that stays locked at a smooth 90 FPS.

Ready to aim for the sky as you run out of ammo? Stay tuned—I'll be sharing gameplay video footage very soon!

Image

An independent VR horror shooter for Meta Quest. Developed by Iniciocreativo. © 2026 GhoulStorm. All rights reserved.

Image
Image