Slip & Frag for iOS is now available for free on the App Store!
https://itunes.apple.com/us/app/slip-frag/id1133244429
You can see it in action here (well, at least 6 minutes of it) :
It all started as an experiment. In order to understand a bit better how Apple OSes do 3D rendering, I decided to port vanilla Quake – that is, the original Quake v. 1.09 3D engine as it was uploaded by id Software to GitHub – to MacOS (previously OSX) and tvOS.
The experiment was a success, and I was going to leave it at that, but then something happened: Microsoft announced the general availability of their HoloLens SDK and dev hardware. All of a sudden, the VR world was abuzz with news about all kinds of VR devices. And then I remembered about Google Cardboard, a project that was announced one year before, and I said to myself: “Hey myself, there is a store two blocks from here selling Cardboard, why don’t you give it a try?”
That was my first time attempting to do anything VR, and to be honest, my first experience was simply amazing. I checked the Cardboard app on my iPhone, created a (extremely simple) demo for my friends to see, and everybody was impressed – not many people at work knew about Cardboard. Later, I found two videos about Quake being ported to Android, played using Cardboard and a controller. Only then, it hit me: Quake VR? I tried to find out if somebody else had done the job of porting it to iOS for VR; since I found nothing – either that, or my google fu skills are meh – I decided to do it myself.
The MacOS and tvOS ports are both software rendered (but presented using Metal). So, the code I had would not do for this port – I had to re-add and re-write the GL code of the engine by using OpenGL ES 3. That was an intense learning experience, believe me, but in the end I managed to do it at a decent framerate, and stable enough for everybody to use on their iPhones.
So there it is. Go get it from the App store, give it a try and let me know how you liked it.
In order to get the best experience out of the game, please remember the following:
- You will need a Google Cardboard-based VR case (obviously 🙂 , and have it attached to your head, since you will need your hands free for the controller. Do a search in Amazon for “vr case cardboard”, you will find lots of options. Either that, or you can do what I did with my case (essentially, attach it a velcro tape to it):
- You will also need an extended-profile gaming controller (please notice the “extended” in that phrase). As of this writing, Apple recommends using the SteelSeries Nimbus controller, useful for all Apple OS devices (even MacOS!).
- Slip & Frag includes currently the Shareware episode of Quake. However, if you have the full game, and/or the Mission Packs and other mods (Dopa works just fine in it), feel free to copy the game folders to the app by using iTunes File Sharing. Just one thing: the iOS filesystem is case sensitive , and the engine expect lowercase filenames and folders.
Thank you for your time! Expecting to hear from you in the comments 😀 .
Fantastic work.
requires ios 9, couldn’t test.
FTE has an Android port, FTEDroid
@Mushi: that is correct, the app requires iOS 9 to run. Now, when you said you couldn’t test it, is it because you cannot update your device to iOS 9? What device are you using?
For those wondering, yes there is a VR port for Android too, called QVR which is actually the Darkplaces engine and it works great (including awesome 3D sound).
See: http://www.quakevr.com/ (for Cardboard and GearVR)
Please consider buying the app, but for those that want to have a look at the code, I extracted and mirrored it here: https://github.com/poVoq/Quake-1-Cardboard-Port-QVR
The general Darkplaces Android port is here: https://github.com/poVoq/Quake-1-Android-Port-QI4A