Developer Gabriel O'Flaherty-Chan recently shared a project
where he managed to get a Game Boy emulator he dubbed "Giovanni" running on the second-generation Apple Watch
, allowing it to play Game Boy and Game Boy Color games.
According to O'Flaherty-Chan, it was a challenge finding the right balance "between framerate and performance," but he says the end result is a "surprisingly usable emulator." In GIFs shared in a blog post
, the Apple Watch is displayed running Pokémon Yellow.
The Giovanni emulator, named after the villain in Pokémon Yellow, was built using open source code from Gambatte
, an existing iOS emulator. It uses the Digital Crown and gestures for control purposes.
By allowing the user to pan on screen for directions, rotate the Digital Crown for up and down, and tap the screen for A, I was able to eliminate buttons until I was left with Select, Start, and B.
Touching the screen for movement isn't a great interaction, but being able to use the Crown worked out a lot better than originally anticipated. Scrolling through a list of options is basically what the Crown was made for, and if the framerate was even slightly higher, the interaction could almost be better than a hardware D-pad.
As Ars Technica
points out, Giovanni is not something you should expect to see in the App Store
-- it's more of a proof of concept than anything else. Apple does not allow emulators on the App Store, and O'Flaherty-Chan himself says it is afflicted with bugs due to the "constraints of watchOS," including the lack of support for OpenGL and Metal.
The Giovanni source code is, however, available on Github
for anyone to download, and the blog post
behind the creation of Giovanni is worth reading for anyone interested in the development process.