Review: ScummVM

ScummVM is not a single game. Neither is it an emulator and does not come with the usual problems (both technical and legal) that these things usually bring (in fact some game developers actively support ScummVM). Instead, it is a rewrite of a few dozen different game engines so that they can quickly be ported to different platforms.

A lot of the entertainment value that ScummVM provides depends on the games you play and how familiar you were with them before. So if you’re new to all of these games, you may want to take this review with a grain of salt: These are old games, and whether you can enjoy them in short bursts depends on how familiar you are with them and how quickly you can adjust to their way of thinking.

As ScummVM depends on game-data, but does not come with any, any good review of the game will also inevitably turn into a bit of a how-to, since the reader would otherwise not be able to replicate the experience leading to the conclusion.

ScummVM for Android is, in different incarnations, available in a lot of places. However, not all versions are the same and the version on the Android Market in particular is outdated and a lot different from the official version available at , which is what this review is based on. If you already have ScummVM and/or know how to use it, you can safely skip the next three paragraphs (the stuff in italics).

To get this version, enable "Unknown sources" under the "Settings"’ "Application settings" panel, then point your browser to and select the "Downloads" page in "Main Menu" at the top-right. If available, you’ll find the Android version of the current version (currently 1.3.1) under "Release binaries", labeled "x.x.x Android Binary (xM .apk)", where x depends on the current version . However, at the time of this writing version 1.3.1 is not yet available for Android, which is nothing out of the ordinary, but means that you’ll have to look under "Older versions (unsupported)". After downloading the APK (you will be redirected to SourceForge for that), just tap the "Download Complete" message in your notification area to start the installation.

Once installed, you can launch the main menu, a nightmare in orange with a strange font, but it will not do you any good without any games. Three working games are available for free on the ScummVM homepage (a few game developers actively support the ScummVM project and have donated these games), namely Beneath a Steel Sky, Flight of the Amazon Queen & Lure of the Temptress; you can download them from the same page where you downloaded ScummVM itself. Since these come as ZIP it’s usually more comfortable doing it on a desktop computer, but if you want you can do it from your Android phone too, just be aware that you need a decompressor like AndroZip, as ScummVM won’t accept the games unless they have been extracted from the ZIP. For Beneath a Steel Sky, you’ll want the Freeware CD Version, for Flight of the Amazon Queen the Freeware CD Version (mp3 compressed sfx/speech) and the Freeware Version (English) for Lure of the Temptress. Just extract them anywhere on your SD card, ScummVM will not autodetect them anyway, requiring you to locate them manually instead (just don’t put them in the same folder).

After opening ScummVM, click the "Add Game …" button and locate the folder where you extracted the first game. For Lure of the Temptress, the first non-README.TXT file in the directory should be disk1.ega, sky.cpt for Beneath a Steel Sky and queen.1c for Flight of the Amazon Queen. Be aware that you’ll navigate the folders using a double-click, not a normal tap. After you’ve navigated to the correct directory hit "Choose" and ScummVM will present you with a dialog allowing you to chose the version of the game. Except for Lure of the Temptress (where you’ll be asked to choose between VGA and EGA, with VGA being the better choice for normal users) there will only be one option, so just hit "Choose" and confirm the default settings with "OK". Repeat this for all three games. Once added, ScummVM will remember each game, so this procedure only has to be completed once. To get better visual quality, you may also want to set "Options"/"Graphic"/"Graphics Mode" to "Linear Filtering".

Now ScummVM is installed & ready and we can finally begin the actual review. While the installation may be painfull, it is a one time procedure.

UPDATE: I have since tested some Hi-Resolution games, namely Toonstruck, Curse of Monkey Island, Broken Sword & The Feeble Files. There is the occasional stuttering during cutscenes, but aside from that the games work remarkably well. However, both Toonstruck and Curse of Monkey Island require you to hold down the mouse button, which requires you to double-tap the screen.

Every application that deals with games that were initially written for a different platform has to emulate the controls of the original platform, in this case a full blown PC with mouse and keyboard. ScummVM does a wonderful job of making these games playable with the limited precision of a touchscreen by not mapping touch coordinates directly to mouse coordinates, instead letting you push a virtual mouse cursor across the screen.

While this may initially seem like a rather cumbersome method to emulate a mouse that’s not in line with normal Android user-interface conventions, the benefit quickly becomes apparent while you’re playing. The games ScummVM runs were designed for a mouse that can accurately select objects as small as a single game pixel. On your standard screen we can relatively well hit one of the ten keys in each row of the keyboard, but not much more, meaning that our chance of hitting a single game pixel would be somewhere around 1 to 200. The push system on the other hand allows for nearly perfect precision, and is not nearly as disruptive as the usual way of providing a zoom function. Plus, your finger won’t cover the cursor.

Clicking is performed by quickly tapping the screen and should not pose any major problems, but the right click appears less well integrated without any obvious benefit for the majority of games. Instead of a long-tap, as is the norm on Android, you have to press the Search key or touch the screen with two fingers, the reason being that some of the games compatible with ScummVM use the right mouse button as a secondary button instead of a context-button. For example Sam and Max uses it to cycle between all available actions and the delay for a long press would mean that cycling all actions takes an eternity. Still, I see little reason not to include both long-press methods, but it’s not the end of the world.

Additional controls are a bit more problematic: ScummVM provides shortcuts to F5 (the ScummVM ingame menu, bound to the Menu key) and ESCAPE (skip cutscene, bound to the Back key) only, all other other functions have to be accessed via the onscreen keyboard, which is available by long-pressing the menu key. Sadly it doesn’t provide Ctrl/Alt, which are needed to access some of the more esoteric features of ScummVM. A way to access these would be very welcome, but the bigger problem is that the on-screen keyboard is the only way to access the period key, which is needed in Scumm games to skip a line of dialog. In summary, a way to set up more complex key bindings is sorely needed.

Sound quality is excellent with great MIDI quality, meaning that the games will sound like they are supposed to. Thankfully, the official ScummVM version doesn’t block the standard Android volume controls, which is important since different games sometimes have radically different default volume.

On the graphics front things don’t look quite as good. While all games I tried performed very well, even on my little 600Mhz ARMv6 processor, it wasn’t possible to enable any additional filters, meaning that the games ran at their native resolution, just stretched using a bilinear filter to fill the screen. The high quality modes of the PC version, which are able to scale games up without blurring them, were nowhere to be found.

Integration-wise there’s virtually no integration with Android. There’s no way to use native file select dialogs instead of the built-in ones and while it can be pushed to the background with the "Home" key (use the menu to exit entirely), it doesn’t communicate whether it’s still running with a notification-bar item or the like and if asked by the system to shut down will not auto-save. The closest thing you can get is setting the auto-save timer in the ScummVM options menu to 5 minutes.

I won’t give the usual kind of rating here since it doesn’t really apply to an application that only hosts games and is frankly without alternative, but I’ll say this much: given the fact that an Android phone just isn’t like a PC, it’s remarkable how playable these games are, even if ScummVM has to break with many Android conventions to get there.


This entry was posted in Reviews. Bookmark the permalink.

Leave a Reply