This is my port of Quake III: Arena for iOS, running in modern resolutions including the full width of the iPhone X. I have also made a target and version for tvOS to run on Apple TV.
Features
- Tested and builds without warnings on Xcode 9.4.1.
- Runs single player campaigns at full screen and full speed on iOS
- Multiplayer support, including server browser
- MFi controller support (reccomended) and on-screen control options
- Second project target for tvOS that takes advantage of focus model and removes on-screen controls.
- Limited support for native menus of original game
This commit does not need any placeholder resources as it is not an update of an existing id Software port.
You will need to provide your own copies of the baseq3
directory from an existing instalation of Quake III: Arena. You can grab the whole thing with expansions on GOG or Steam.
You will need to drag your directories into the project and select "Create Folder References" and add them to both the Quake3-iOS and Quake-tvOS targets. The folders will be blue if you've done it right:
You can read a lengthy blog article on how I did all this here.
This repo was based on the code from Beben III by Ronny Stiftel (more info here), ultimately derived from ioquake3. On-screen joystick code came from this repo by Brad Howe. Quake font DpQuake by Dead Pete available here. Code to query servers came from Q3ServerBrowser on GitHub by Andrea Giavatto.
I have now modified the code to use SDL for iOS, employing OpenGL ES work from Zack Middleton. The original, GLKit-based version is available on the legacy branch.
Video of Quake III: Arena running on an iPhone X
Video of Quake III: Arena running on an Apple TV
I have also made apps for Wolfenstein 3-D, DOOM, DOOM II and Final DOOM, Quake, Quake II, Return to Castle Wolfenstein and DOOM 3.
Have fun. For any questions I can be reached at tomkidd@gmail.com