Ramon Hoffman

CrazyGames VR

A five-level WebXR escape room built as a gift for CrazyGames employees.

01

The Brief

CrazyGames had a strong year and wanted to celebrate with their employees. As a gift, every employee received a Meta Quest 2 headset. The ask: ship a branded VR game alongside it. The game had to run in a browser with no installation required, work in full VR on the Quest 2, and also be playable on a regular desktop for those without a headset. A tight deadline pushed the team to release each level one by one as it was finished, so employees could start playing while the rest was still in development.

Fig. 02 · Video

Level 3, museum: a submission getting green/red feedback on the chosen artifacts.

02

My Approach

The experience is built in PlayCanvas as a WebXR application and framed as a "hacker defense" mission: the CrazyGames world is under attack, servers are offline, and the player is chosen to fix it. A 360-degree animated intro sets the scene before dropping the player into five escalating minigames.

The attack drives the visual style as much as the story. The world starts at very low detail, as if the servers had lost most of what makes it look like anything, and every level the player completes brings more of it back. By the last one the environment is rendered in full. The player's progress is legible in the scenery itself, without a single progress bar.

One of the core challenges was making everything work in both VR and desktop without duplicating logic. I built a central system that detects whether the user is in a headset or on a computer, then routes all input accordingly. Weapons and grabbable objects attach themselves to the VR hand controllers or follow the mouse, so the same game runs cleanly in both contexts.

Each level uses a different interaction model, designed to feel distinct:

  • Shooting gallery: A raycast gun. Enemies peek out at random intervals. Hit a friendly and you lose time.
  • Bat whacking: Physics-based collisions. Capybaras are attacking a server rack. Hitting the CrazyGames mascot, Ziggy, drains your health bar.
  • Museum collection: Pick six correct artifacts from a room full of decoys, then submit for green/red feedback.
  • Puzzle assembly: Drag-and-drop pieces that snap into place using bounding box detection. The puzzle frame slides in before the timer starts.
  • Pipe puzzle (firewall): A 10x10 grid of rotatable tiles that connect in linked pairs. Rotation is checked by tolerance rather than exact angle, so the puzzle stays fair.

To keep the experience running smoothly across six scenes, I tagged all assets per level and unloaded them explicitly when the player moved on. The pause menu repositions itself relative to the player's head each time it opens, so it always appears directly in front of them in VR.

My colleague modeled the environments in Blender. I built and connected everything inside PlayCanvas.

Fig. 04 · Video

Level 2, bat whacking: mid-round, keeping clear of Ziggy while fending off the capybaras.

03

The Result

A five-level WebXR escape room experience, delivered to CrazyGames employees alongside their Meta Quest 2 headsets. Accessible via a URL: playable in full VR on the headset, in desktop VR mode, or with a mouse and keyboard on any computer.

Fig. 06 · Video

Level 4, puzzle assembly: the frame sliding into place before the timer starts.

04

Outcome

The game shipped in stages, with each level going live as it was completed. Employees were already playing the earlier levels while development continued on the later ones. The client was happy with the result. For me, it was the first VR project where I worked with full 3D game mechanics: hand tracking, physical object interactions, teleportation, and memory management across multiple scenes. A significant step up from the 360-degree VR work I had done before.

Stills

01 / 03
PlayCanvas editor view of the museum level. Players pick six correct artifacts from a room full of decoys.
Each level opens with a tutorial screen explaining the mechanics before the timer starts.
Level 1: Shooting gallery. Enemies and decoys pop out from behind crates. Friendly fire costs time.

PlayCanvas editor view of the museum level. Players pick six correct artifacts from a room full of decoys.

Ramon Hoffman, Multimedia Designer / 3D Artist / Web Developer

03 / About

Concept first, medium second

I'm Ramon, a multimedia designer based in Eindhoven. Projects start with a problem: what the thing has to do, and how someone should move through it. The answer has been a 360 film, a VR walkthrough, an explainer animation, a configurator and an AI training platform.

My part is 3D, design and code: modelling and lighting in Blender, interface and motion in XD/Illustrator and After Effects, and the build in PlayCanvas or Next.js.