Native VR port · Meta Quest 2 & 3

Magic Carpet,
Rebuilt for VR.

Bullfrog's flying-carpet trilogy — Magic Carpet, Magic Carpet: Hidden Worlds, and Magic Carpet 2 — running natively in stereo on a Meta Quest. No PC stream, no flat screen in a headset: real roomscale flight, spells in your hands, and the original worlds all around you.

Download See the games

Port by NathanaelA  ·  @Congocart

A night scene looking up at the houses, rendered in stereo on a Meta Quest 3.

Captured straight from the headset. Real stereo, real framerate.

The games

Three games, one VR build

The same engine core powers all three. Pick a campaign, and step onto the carpet. The original levels, spells, and creatures play as they always did.
Both Magic Carpet 1 & Magic Carpet 2 won best game of the year from several magazines. Fully 6DOF, fully stereo.

Base game

Magic Carpet

The 1994 original. Fly almost 50 worlds, collect mana, build your castle, and duel rival wizards. Every spell, every creature, every deformation of the terrain is preserved.

  • Full original campaign
  • Dynamic terrain in stereo
  • All creatures and spells
Expansion

Magic Carpet:
Hidden Worlds

The 1995 expansion with all new and harder levels, and new spells. Recommended as a continuation of the first game's campaign.

  • 25 brand new, even harder levels
  • New spells
  • New winter levels
Sequel

Magic Carpet 2

The 1995 sequel and Game of the Year. A new story, reworked graphics, harder levels, and more powerful magic. The same VR controls carry straight across.

  • Full campaign, including the hidden levels!
  • All new night & cave levels
  • More varied objectives

What it is

The carpet is under your feet

This isn't a 3D viewer or a forced perspective hack. This is an all new engine that drives each eye and plays all 3 games.

Real stereo flight

Two separate eye frustums, proper IPD, and depth you can use to judge distances above and below the ground.

Spells from your hands

Fireball, lightning, castle-building, and several dozen other spells are bound to EACH controller. Allowing you to cast TWO spells at the same time.

Fast Pace

The game maintains a fast pace, keeping you engaged and challenged throughout each level.

Optional Enhanced Mode

Faster game play with over double the view distance.

Terrain modification

Other games claim to have terrain modifications, you ain't seen nothing yet! Cast earthquake and watch the world deform for miles. Many spells will modify terrain.

First Person Shooter?

Bah, Magic Carpet LOOSELY fits into the FPS category, but it is a truly UNIQUE experience that needs its very own category!

Screenshots

Straight off the headset

All captured on a Meta Quest 3 over adb. No post-processing beyond a crop.

Get it

Lets Play

This port ships no Magic Carpet assets. You need your own copies of the original games. You can purchase them from GOG at Magic Carpet and Magic Carpet 2

Download APK v0.1.0 · arm64-v8a · Quest 2 & 3 · sideload
HeadsetMeta Quest 2 & 3. Developer mode enabled so you can sideload.
You need to ownMagic Carpet (1994), optionally Magic Carpet: Hidden Worlds (1995), and/or Magic Carpet 2 (1995). Original disc, GOG, or other full install.
You can purchase them from GOG at Magic Carpet and Magic Carpet 2
SpaceA full install is about 1 GB for all games.
ControllersTouch controllers. The carpet is steered with the thumbsticks, and every button is used.
  1. Sideload the APK

    Use SideQuest or adb install -r mc-vr.apk with the headset plugged in.

  2. Create your data folder for processing

    You should install the game(s) you want and then copy the game data to a new folder called gamedata.
    The layout should be like this:

                  gamedata/
                  -- Magic Carpet Plus/
                     -- CARPET.CD/game.gog
                  -- Magic Carpet 2/
                     -- game.gog
                     -- GAME/NETHERW/
               

  3. Pre-process your data files

    You need to run the conversion tool to convert your game data into a format the VR build can read.

    mgc-import bake gamedata/ baked/
  4. Give it your game files

    Copy your Magic Carpet data to the headset.

    adb push baked/ /sdcard/mgcarpet/baked/
  5. Start your game

    The front-end scans the game data folder and shows which games it found. Select Magic Carpet, Hidden Worlds, or Magic Carpet 2 and click "Start".

  6. Fly

    Glide, turn, strafe, and cast spells. The carpet is under your feet, and the world is all around you.

This is a hobby project. It is not a store release, it is a conversion of a game that is over 30 years old. It comes with no support line, and it can do odd things. Back up anything you care about before pointing tools at your headset.

Status

What works now

Want to help? This is a hobby project, and I welcome contributions. If you can code, test, or just want to help with the project, please reach out on @Congocart or at the repo at https://github.com/nathanaela/magic-carpet-vr.


Thanks

To the original developers

This port is built on the shoulders of giants. Thanks to the original Magic Carpet team at Bullfrog, and to the GOG team for keeping these games available.

To the primary desktop engine developer

Thanks to Zdenek Behan for his open source reimplementation of Magic Carpet engine that this VR port is on.

To the open source community

Thanks to the open source community for the many years of game play and coolness that inspired this port. Special thanks to Tomáš Veselý and his Remc2 project and Tim Hobbs and his Magic Carpet 2 HD project.

To other VR developers

Thanks to @GhwstVR for his page design for his release of Unreal Tournament 1999 VR, which whole sale inspired the design of this page.