Death from above in Hollow Hills: the Vargoyles, Ghoulstorm's new enemies.

 

Developing a VR game completely solo is a massive journey, and today I’m incredibly excited to share a huge update on GhoulStorm. As Jack ventures deeper into the cemetery looking for Jane and Balto, the danger is no longer just crawling out of the graves. You need to start looking up.

I’m thrilled to introduce a brand-new threat: giant vampiric creatures that rule the night sky.

Making flying enemies feel terrifying and "alive" in VR was a fun technical challenge. In Unity, AI usually follows a path on the ground called a NavMesh. If you just float an enemy above it, they glide toward you in a stiff, robotic straight line. That wasn’t going to cut it.

To make them feel truly dangerous, I developed a custom script for dynamic flight. Now, these winged beasts bob and weave with a natural rhythm as they hunt you, and the moment they get into range, they dive straight for your face!

Because GhoulStorm is a Meta Quest 3 experience, VR comfort is a top priority for me. I programmed strict flight height limits—meaning you’ll never have to strain your neck awkwardly looking at your toes or straight up into the sky to defend yourself. Everything stays right in your natural line of sight.

And the best part? The ragdoll physics. If Jack lands a solid shot with his Beretta while they’re swooping in, they drop out of the sky and crash spectacularly into the tombstones.

I can’t wait for you all to face them. Keep your eyes on the skies, and make sure that magazine is full!

Creating 360° Videos for Meta Quest 3 with Unity, VR Panorama and Blender

As part of the development of Ghoulstorm, I wanted to create 360° promotional videos that could be viewed on Meta Quest 3 and published on DeoVR.

I already had experience creating 360° animation shorts for DeoVR, using VR Panorama 360 PRO Renderer to capture stereoscopic Top-Bottom footage directly from Unity. The challenge was finding a practical post-production workflow that allowed me to edit the captured sequences while maintaining the same image quality.

From Unity to the final video

The capture workflow starts in Unity using VR Panorama. The source material is generated as an image sequence at:

            • 4096 × 4096
            • 30 fps
            • Stereoscopic Top-Bottom
            • JPG, maximum quality
            • 48 kHz stereo audio

 

For editing, I use Blender's Video Sequencer. Using proxies at 25% makes working with these large 4096 × 4096 sequences much smoother without affecting the final output resolution.

The final video is then encoded directly from Blender using H.264.

Comparing the final output

I compared the final Blender output with a video encoded directly by VR Panorama using the same source material.


Video VR Panorama Blender
Resolution 4096 × 4096 4096 × 4096
Frame rate 30 fps 30 fps
Codec H.264 H.264
Color depth 8-bit 8-bit
Bitrate ~40 Mbps ~43.7 Mbps
Audio AAC, 48 kHz AAC, 48 kHz

For Blender, the bitrate was configured at 100,000 kbps, which results in an actual bitrate of approximately 43.7 Mbps in the final file.

The visual result is very close to the original VR Panorama encoding, including in darker areas of the image.

Final Blender settings

For the final export, I use:

          • 4096 × 4096
          • 30 fps
          • H.264
          • 8-bit
          • sRGB / RGB
          • Constant Bitrate
          • 100,000 kbps
          • Minimum: 100,000 kbps
          • Maximum: 100,000 kbps
          • Keyframe interval: 250
          • Maximum B-frames: 3
          • AAC audio, 48 kHz

 

This gives me a simple workflow:

Unity → VR Panorama → Image Sequence + Audio → Blender → H.264 360° Video → DeoVR / Meta Quest 3

For Ghoulstorm, this workflow makes it possible to create promotional 360° videos directly from the game while keeping the final image quality close to the original VR Panorama output.

The Road Back to GhoulStorm: Rebuilding the Project After Two Security Incidents

There are many things I expected to fight while developing GhoulStorm.

Zombies. Ghouls. Broken animations. Bugs that appear for no apparent reason. VR systems that work perfectly one day and mysteriously decide not to work the next.

But there was one enemy I definitely didn't put on the design document:

Hackers.

When I started working on GhoulStorm, I thought the nightmare was going to be waiting for me inside Hollow Hills Cemetery.

I was wrong.

The real nightmare was my website.

And, just to make things more interesting, it happened twice.


WHEN THE WEBSITE BECAME PART OF THE HORROR GAME

GhoulStorm is an independent project, which means that development is not only about creating the game itself.

There is modelling, texturing, animation, programming, VR testing, level design, sound, writing, website development, documentation...

And apparently, cybersecurity.

The first version of the GhoulStorm website was eventually compromised.

At that point, there was only one sensible thing to do:

Take it offline.

The website was removed from the server and the process of rebuilding began.

It was frustrating, but also a valuable lesson.

The game itself was never the problem. Development of GhoulStorm continued.

The website, however, had officially become another boss fight.


AND THEN IT HAPPENED AGAIN

After rebuilding the site, I thought the worst was behind me.

That sentence aged very badly.

The second version of the website was compromised as well.

At that point, I started to wonder whether Hollow Hills Cemetery was actually the safest place in the entire project.

At least the zombies announce themselves.

The hackers didn't.

The second incident made one thing very clear: simply rebuilding the website wasn't enough.

The underlying security and maintenance process needed to change too.

One of the important lessons was the need to keep Joomla, Page Builder and all other extensions properly updated. An outdated component can become a serious security risk, especially when it is exposed through a public website.

So the second rebuild wasn't going to be just another copy of the previous one.

It had to be done differently.


THE THIRD REBUILD

This time, I decided to change the entire approach.

Instead of building the website directly on the live server and hoping everything would behave, I rebuilt the project locally first.

That allowed me to work on the site in a controlled environment, test the structure, check the extensions and make changes without exposing an unfinished installation to the internet.

Only after the new version was ready was it uploaded to the live server.

This became the third GhoulStorm website.

Third time lucky?

Let's hope so.

Although, after two hacks, I'm trying not to tempt fate. 


WHAT CHANGED?

The biggest change wasn't simply the visual design.

The new website was rebuilt with a much stronger focus on maintenance and security.

That means keeping the core software and extensions updated, reducing unnecessary components, making regular backups and testing changes before applying them to the live site.

The project is also backed up so that, if something goes wrong again, there is a way back.

Because discovering that your website has been compromised is already unpleasant.

Discovering that you have no recent backup is the part where the horror soundtrack really starts.


THE GAME NEVER STOPPED

One important thing I want to make clear is that these incidents affected the website, not the development of GhoulStorm itself.

While the website was being rebuilt, the game continued to evolve.

The work on the project continued across its different areas: 3D art, animation, VR systems, gameplay, environments and the overall experience.

The website is simply another part of presenting that work to the outside world.

So although the road to rebuilding the website was longer than expected, GhoulStorm itself never disappeared.

It was just temporarily accompanied by a second, completely unplanned horror story.


LESSONS FROM THE NIGHTMARE

Building an independent game already requires learning a huge number of different skills.

Building and maintaining the website adds another layer of responsibility.

These two incidents taught me several important lessons:

Keep everything updated

Joomla, extensions, templates and page builders all need regular updates.

Security isn't something you configure once and forget about.

Make backups

A backup is not particularly exciting when everything works.

It becomes extremely exciting when something doesn't.

Test before going live

Developing locally provides a safer environment for testing changes before they reach the public website.

Keep the installation as clean as possible

Every additional extension or component adds another element that needs to be maintained.

If something isn't necessary, there is a good reason to question whether it needs to be there.

Don't assume it can't happen

This may be the biggest lesson of all.

A website can look perfectly normal and still have a vulnerability somewhere underneath.

Security has to be treated as an ongoing part of development.


A NEW START FOR GHOULSTORM

After two security incidents and three website builds, the GhoulStorm website is finally back.

The new version represents more than just a redesigned website.

It represents a fresh start.

A cleaner development process.

A stronger focus on maintenance.

Better backup practices.

And, hopefully, fewer unexpected encounters with mysterious creatures hiding inside the server.

The goal now is simple:

Keep building the game.

Keep improving the website.

Keep documenting the journey.

And keep moving forward.

Because there are still plenty of things waiting for us inside Hollow Hills Cemetery.

And after everything that happened with the website, I'm starting to think the cemetery might actually be the easy part.


THE STORM IS STARTING AGAIN

GhoulStorm is still an independent project, still in development and still growing.

There will be more environments to build, more creatures to create, more gameplay systems to develop and plenty of problems to solve along the way.

Hopefully, most of those problems will now be the fun kind.

The kind involving zombies.

Not servers.

Not hacked websites.

And definitely not rebuilding everything for a fourth time.

For now, the website is back.

The development continues.

And the nightmare is waiting.

Welcome back to GhoulStorm.

The storm is starting again.

Why I Chose Virtual Reality for My First Horror Shooter

From 3D Art to Virtual Reality

 

From the beginning, my goal was simple: to bring ideas to life and use 3D art as a way to express creativity. I never wanted to specialize in a single discipline. Modeling, animation, audio, video editing, storytelling… I wanted to understand the entire process. Since this has always been a passion rather than my profession, I learned everything on my own.

Over the years I created 3D videos, TV commercials, and promotional content using Blender. Then one day, while exploring new features, I discovered the possibility of rendering stereoscopic 360° images. Curiosity immediately took over.

I bought a simple Google Cardboard headset, loaded the image onto my smartphone, and experienced my first scene in virtual reality. I was amazed. Suddenly, I wasn't just looking at a picture—I was inside it.

My second experiment was a Halloween cemetery scene filled with pumpkins. I added small horror animations, rendered the sequence in 360°, converted it into a video, and added sound. Rendering only two minutes took more than twenty hours, but the result felt magical.

 

My Early Experiences with VR

 

Before that, I had already uploaded a small 360° project to YouTube. Someone from the VR community discovered it and invited me to publish content on Veer.tv. I uploaded my cemetery experience and something unexpected happened: people loved it.

Within a month, I had over one thousand followers. Encouraged by the response, I decided to create something much more ambitious: a horror story called The Violinist.

Everything was created in Blender, frame by frame, and rendered in 360°. The process was painfully slow. A small mistake could mean hours or even days of additional rendering. But after months of work, I finally finished it and published it.

The audience response exceeded my expectations. My follower count quickly grew beyond five thousand, and Veer's Creator Manager even offered financial support for render farms. Despite upgrading to powerful NVIDIA GPUs, rendering times remained the biggest obstacle.

Searching for alternatives, I discovered Unity.

That discovery changed everything.

Real-time rendering felt almost magical compared to traditional workflows. The visual quality was impressive, it integrated perfectly with Blender assets, and best of all, iteration became incredibly fast.

After more than a year learning Unity, I revisited my horror and science-fiction universe with The Violinist and The Violinist II, stories set in a mysterious subway station outside time itself.

At that point, I knew that horror, mystery, and science fiction were genres perfectly suited for virtual reality.

 

Building Interactive VR Experiences

 

As I improved my cinematic skills, I had the opportunity to collaborate on a project for the 35th anniversary of the Regional Parliament of Extremadura.

Using photographs and architectural plans, I recreated in 3D the original parliamentary chamber, which no longer exists. The experience allowed visitors to explore the building in VR using a smartphone and Cardboard headset, interact with elements, and watch historical videos.

Seeing people visit a place that had disappeared decades earlier convinced me that VR was much more than entertainment. It had the power to create presence.

But, as always, I wanted to go further.

 

Why Meta Quest?

 

Eventually, I decided to move beyond 360° videos and create fully interactive experiences. I purchased my first standalone headset and later upgraded to a Meta Quest 3.

The freedom offered by Meta Quest impressed me immediately. No cables, no external sensors, and a huge user base made it the perfect platform for independent developers like me.

Meta Quest allows players to experience VR anywhere, while providing powerful hardware capable of delivering immersive games. Unity's support for the platform is excellent, and Meta has built a solid ecosystem for developers.

Of course, publishing on Meta's platform means meeting strict quality and performance requirements. Optimization, comfort, frame rate stability, and user experience are essential. These challenges have become part of the development process and are goals I am constantly working toward.

 

What Does Immersion Bring to Horror?

 

Horror has always fascinated me, but virtual reality transforms fear into something completely different.

In traditional games, danger remains behind a screen. In VR, danger surrounds you.

Dark corridors feel claustrophobic. Sounds become unsettling. Looking over your shoulder becomes a natural reaction. Even simple situations can create tension because your brain accepts the environment as if you were physically there.

That's why I believe horror, mystery, and science fiction are among the most powerful genres for virtual reality.

 

The Birth of Ghoulstorm

 

When I put on the Meta Quest 3, one thought immediately came to mind:

"Why not create my own VR horror shooter?"

That question marked the beginning of Ghoulstorm.

The project combines everything I've learned over the years: 3D art, storytelling, animation, sound design, Unity development, and my passion for immersive experiences.

Ghoulstorm is more than my first VR game.

It is the culmination of a journey that started with a simple 360° image rendered in Blender and evolved into the dream of creating a true horror experience where players are not merely spectators, but participants inside the nightmare itself.

Image

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

Image
Image