Slip & Frag

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.

 

4866_TWYX_SLFG_i6_start

 

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?”

 

4866_TWYX_SLFG_i6_e1m3Demo

 

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.

 

4866_TWYX_SLFG_i6_e1m4Demo

 

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):

 

GVRWithVelcroAndApp

 

  • 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 😀 .

4 comments

  1. @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?

  2. 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

Comments are closed.