Tomas Vymazal Puts Quake on Your Wrist with a High-Performance Port for the Apple Watch
Running at up to 60 frames per second and with gyroscope controls, this wearable Quake port is surprisingly playable.
Developer Tomas Vymazal, seemingly bored of the eternal "will it play Doom" question, has turned his attention to its successor — porting the classic first-person shooter Quake to, of all things, the Apple Watch platform.
"[This] uses [the] Quake SW [software] renderer + blitting to WatchKit surface (~60 fps [frames per second at] 640x480," Vymazal explains. "Larger res[solutions] can run on lower frame rate, tested up until 1024x768. Touch + gyro + digital crown controls."
That Quake can be run on an Apple Watch should come as little surprise: the game, complete with CPU-driven software renderer, launched in 1996 as a true-3D follow-up to the popular Doom franchise with the recommendation that players have a 32-bit Intel Pentium processor running at 75MHz or more, 8MB of RAM, and a VGA-compatible display. 2021's Apple Watch Series 7, meanwhile, has a dual-core 64-bit Arm-based chip running at up to 1,800MHz and 1,024MB of RAM.
Vymazal's work with porting Quake to the Apple Watch platform was assisted by id Software's long-standing agreement to release the source code to earlier game engines as they are replaced. Using the official source and existing macOS and iOS ports as a base, Vymazal added the new control system, a new audio back-end with high-pass audio filter to remove an annoying clicking nose, and enough "glue" to interface the original C-code Quake with Objective C and Watchkit.
"You cannot get the build on App Store, but you can build this yourself, having a Mac and Xcode," Vymazal notes. "This release does not contain any assets as they are copyrighted with non permissive licence (as opposed to the code), but you can use download_shareware_assets.sh
to download and extract pak0.pak
from [a] zip of shareware release of Quake 1."
Vymazal's source code is available on GitHub under the reciprocal GNU General Public License 2.