Set of game engine recreations
Script Creation Utility for Maniac Mansion Virtual Machine (ScummVM) is a set of game engine recreations. Originally designed to play LucasArts adventure games that use the SCUMM system, it also supports a variety of non-SCUMM games by companies like Revolution Software and Adventure Soft. It was originally written by Ludvig Strigeus. ScummVM is free software that is released under the terms of the GNU General Public License.
ScummVM is a re-implementation of the part of the software used to interpret the scripting languages such games used to describe the game world rather than emulating the hardware the games ran on; as such, ScummVM allows the games it supports to be played on platforms other than those for which they were originally released with little or no overhead (due to not emulating the hardware), and without the bugs that might exist in the original software.
The team behind it also add improvements such as bug-fixes and translations and works with commercial companies such as GOG.com about re-releases.
Features.
ScummVM is a program that supports numerous adventure game engines via virtual machines, allowing the user to play supported adventure games on their platform of choice. ScummVM provides none of the original assets for the games it supports, and expects the user to properly own the original game's media so as to use the software legally. The official project website offers games that are freeware that work directly with ScummVM. Atop reimplementing the game executables in portable form, ScummVM enables players to save and load the state of the game at any time, enabling a save system atop whatever the reimplemented game may provide. It has also begun to work at providing alternate controls for newer devices, such as mobile devices with touch screens, which work atop the original games.
While ScummVM appears to function equivalently as a game emulator, the ScummVM team does not consider it as such. Outside of some subsystems like audio engines which they are forced to rely on emulation, ScummVM recreates game engines from older languages into more portable C++ code, so that the high-level opcodes in a game's assets will execute in the same manner as their original release, while improving the portability of ScummVM to numerous platforms. The ScummVM team consider this an improvement over simply running the older games and their executables through an operating system emulator, such as DOSBox, since ScummVM's implements are more lightweight and require less processing power and memory, allowing use on more limited processing environments like mobile devices.
Ports.
Portability is a design goal of the project. Ports of ScummVM are available for Microsoft Windows, macOS and a variety of Unix-like systems including Linux (based on RPM, Debian, or source), members of the BSD family (FreeBSD, NetBSD, OpenBSD, DragonFly BSD) and Solaris. It has also been ported to console systems. Less mainstream personal computer ports include those to Amiga, Atari-FreeMiNT, Haiku-BeOS-ZETA, RISC OS, and OS/2 (including derivatives such as ArcaOS).
A variety of game consoles have official ports. ScummVM has been ported to gaming machines such as the PlayStation 2, PlayStation 3, Dreamcast, Nintendo 64, GameCube, and Wii, and to handheld consoles including the GCW Zero, GP2X, Nintendo DS, Pandora, PlayStation Portable and the PS Vita. Handheld computer platforms supported include Palm OS Tapwave Zodiac, Symbian (UIQ platform, Nokia 60, 80, and Nokia 7710 90 phone series), Nokia's Internet Tablet OS (used by the Nokia 770, N800 and N810), Apple's iPhone, MotoMAGX, MotoEZX phones and Windows Mobile. Platforms supported by unofficial ScummVM ports include the Microsoft's Xbox gaming console, BlackBerry PlayBook, Zaurus, Gizmondo and GP32 portable device platforms. Mobile phones running Android, webOS or unofficial Samsung's bada OS are also supported.
History.
Work on ScummVM started in September 2001 (with the first public release at October and a site launch at November) by computer science student Ludvig Strigeus. Looking to write his own adventure game, he looked to see how the mechanics of an existing game engine, specifically working to create a way to play "Monkey Island 2" on his Linux machine. At about the same time, Vincent Hamm was also looking to implement a SCUMM system player, and though he had done deeper research into understanding how the SCUMM engine worked, found that Strigeus was much further along, and the two joined to craft the project. While Strigeus finished the required implementation for "Monkey Island 2", Hamm worked separately to prepare the engine for "Indiana Jones and the Fate of Atlantis", and once completed, the two found some dis-coordination on their efforts but eventually got the project working for both games.
News of ScummVM was picked up by the tech news website "Slashdot" in November 2001, drawing a large interest to the project, and several other developers became part of the project to help support other games. These developers often turned to the creators of the original games to obtain information in informal ways, to help create the reimplementation. Further developers helped to support games that did not use SCUMM, such as Adventure Soft's "Simon the Sorcerer"; there was some debate about changing the name of the program at this point, but they ultimately kept the ScummVM title, believing that SCUMM was the most well-recognized adventure game engine. Strigeus had built support for iMUSE, the sound software used by many LucasArts games, but feared including it due to potential backlash from LucasArts. Other developers on the project advised him that there should be no legal issues and it was eventually included. Though Strigeus and Hamm would leave the project in 2002, by then it had a large enough development team to allow it to grow, led by James "Ender" Brown. Following this shift, the engine's source code was changed from C to C++, and a graphical user interface (GUI) was added.
With increased awareness of the project, LucasArts sent a cease &amp; desist letter to the project, believing they were using some of LucasArts' proprietary code. Brown worked over the next four years with LucasArts' legal representatives to explain the nature of the project and the source of their information to demonstrate that what they had created was legal. Brown considered that LucasArts was trying to be accommodating as ScummVM helped to raise interest in these titles. They ultimately came to a legal agreement to allow ScummVM to continue to be developed.
The project would also incorporate other parallel efforts to make game reimplementations for other adventure games. Games from Sierra Online were of high demand for the project, requiring them to implement the Adventure Game Interpreter (AGI) and the more advanced Sierra's Creative Interpreter (SCI) engines. AGI support was added in 2006 by incorporating efforts from the Sarien project, but efforts for SCI support were hampered by the parallel project, FreeSCI. Though both ScummVM and FreeSCI aimed to reverse engineer the workings of SCI, FreeSCI had stated that they took a more clean-room approach to avoid any legal question about their reverse engineering, and believed the ScummVM project had run afoul of some of Sierra's approaches and thus were hesitant to work together. However, FreeSCI began to languish in interest compared to ScummVM; after a developer took it upon themselves to make the FreeSCI engine work in ScummVM, the FreeSCI saw more participation in their project, and they agreed to merge their efforts into ScummVM. Initial SCI support was subsequently released in a 2010 version of ScummVM.
ScummVM continues to add new games or game engines, though the process to create these is relatively slow. According to the team's project lead Eugene Sandulenko (as of 2017), game engines are chosen for inclusion into ScummVM either if they are given the source code that makes it easy to port into the software's architecture, or if one or more of the team members are passionate about bringing a game engine into the program to do the difficult task of reconstructing the game's code from the compiled versions. Initially ScummVM only included 2D game engines, leaving 3D games to be handled by the sister project "ResidualVM", but in 2021 the two projects merged, lifting that restriction. The 2.0 version of ScummVM was released in December 2017, adding support for several full motion video games and some very obscure titles, such as "Full Pipe" and "Plumbers Don't Wear Ties". With this release, ScummVM has support for 64 different game engines.
Since around December 2017, ScummVM had been working support for Macromedia Director in coordination with some of the original developers. Macromedia Director was used for many mid-1990s video games such as "The Journeyman Project". By August 2021, the first versions of ScummVM with Director support were released, with the team continuing to work on improving performance.
An attempt to bring in "Another World" by Éric Chahi brought some internal stress within the project in 2004. "Another World" was not a point-and-click adventure game, and used polygon-based graphics instead of pixel-based ones most adventure games employ, and thus was considered a serious departure from the focus of ScummVM. Though the project was scrapped in a few days after Chahi requested its removal as he was preparing a 15th anniversary remastered for sale, the current leads of the project had to refocus the group and define the ideals that ScummVM should meet.
ScummVM has also had difficulty in bringing games using the Adventure Game Studio (AGS), which is used frequently in indie adventure games, such as the "Blackwell" series. While the source code for AGS had been put into the open by its developer Chris Jones in 2010, the ScummVM team was met with a large backlash of complaints from developers using the AGS engine for their games, stating that they did not want to see their games run in ScummVM. Yet eventually a couple of years later AGS was tested in the development build, with a request to the public to beta test thousands of newly supported games, until all AGS v2.5+ games were officially added to the program, coinciding with its 20th anniversary in October 2021.
ScummVM has been a participant in the Google Summer of Code every year since 2007 except for 2015. A sister project, "ResidualVM", was started to implement engines for three-dimensional adventure games, such as "Grim Fandango" and "", named as such as these games reflect the residual of those not already covered by ScummVM. By late 2020, ResidualVM officially merged with ScummVM. This was completed with the version 2.5 release, coinciding with the program's 20th anniversary in October 2021.
Developer support.
According to Sandulenko "there is no typical process" when it comes to collaboration with developers: "Everything is ad-hoc. What we do, we try to search for contact info of people who were working on the titles some developer is interested in, and we're inquiring access to their original source code, if it still exists somewhere. Then we start working on it at our own pace".
With increased attention, ScummVM has entered into favorable agreements with adventure game developers to help bring their titles into the engine, or in some cases, being given source code and other assets to work from. Revolution Software helped the developers with source code and technical advice for its games, and once ScummVM supported the company's Virtual Theatre engine, Revolution released "Lure of the Temptress" and "Beneath a Steel Sky" as freeware and provided assets from its first two "Broken Sword" games in an open media format. The renewed interest in these games from younger players enabled Revolution to work on two more "Broken Sword" games. Other developers that have worked closely with ScummVM include:
The digital storefront GOG.com which specializes in selling digital copies of older games, provides support to ScummVM, and sells titles that include the ScummVM engine as part of their distribution. Disney, which owns the rights to LucasArts adventure games, released "Maniac Mansion" on Steam running off ScummVM.
Development.
"Operation Stealth" and "Future Wars" support was added by integrating another stand-alone recreation of their engine: cinE. TrollVM has also been integrated into ScummVM adding support for three pre-AGI games: "Mickey's Space Adventure", "Troll's Tale", and "Winnie the Pooh in the Hundred Acre Wood".
Mistic's GPL violations.
ScummVM is distributed as free software under the GPL-2.0-or-later license, enabling anyone to use the project as an engine for a game. For example, Revolution Software repackaged their "Broken Sword" games for a DVD release, using ScummVM with the included "sword1" and "sword2" engines to support modern computers.
In December 2008, the ScummVM