Jump to content

ScummVM

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Dewritech (talk | contribs) at 15:15, 3 May 2016 (Developer support: clean up, typo(s) fixed: a open → an open using AWB). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

ScummVM
Original author(s)Ludvig Strigeus
Developer(s)ScummVM Team
Initial releaseOctober 5, 2001; 23 years ago (2001-10-05)
Stable release
1.8.0 / March 4, 2016; 8 years ago (2016-03-04)
Repository
Written inC++ and SDL
Operating systemCross-platform
TypeInterpreter
LicenseGNU GPLv2 or later
Websitescummvm.org

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.[1] Released under the terms of the GNU General Public License, ScummVM is free software.

ScummVM is a reimplementation 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.

Features

ScummVM is a game emulator, 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 emulating the games, ScummVM enables players to save and load the state of the emulator at any time, enabling a save system atop whatever the emulated 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.[2]

Ports

Portability is a design goal of the project.[3] Ports of ScummVM are available for Microsoft Windows, OS X 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, and OS/2.

A variety of game consoles have official ports. ScummVM has been ported to gaming machines such as the PlayStation 2, Dreamcast, Nintendo 64, GameCube, and Wii,[4] and to handheld consoles including the GCW Zero, GP2X, Nintendo DS, Pandora, and the PlayStation Portable. 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,[5] MotoMAGX, MotoEZX phones and Windows Mobile. Platforms supported by unofficial ScummVM ports include the Microsoft's Xbox gaming console, BlackBerry PlayBook,[6] Zaurus, Gizmondo and GP32 portable device platforms. Mobile phones running Android,[7] webOS[8] or unofficial Samsung's bada OS are also supported.

History

ScummVM was created in September 2001 by computer science student Ludvig Strigeus. Looking to write his own adventure game, he looked to seeing how the mechanics of an existing game engine, specifically working to create an emulator to play Monkey Island 2.[2] At about the same time, Vincent Hamm was also looking to develop a SCUMM emulator, and though he had done deeper research into understanding how the SCUMM engine worked, found that Strigeus was much farther along, and the two joined together to craft the emulator.[2] While Strigeus finished the required emulation 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 emulator working for both games.[2]

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 emulation.[2] Further developers helped to support games that did not use SCUMM, such as Adventure Soft's Simon the Sorceror; 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.[2] 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.[2] 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.[2] Following this shift, the engine's source code was changed from C to C++, and a graphical user interface (GUI) was added.[2]

With increased awareness of the project, LucasArts sent a cease & 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 emulator 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.[2]

The project would also incorporate other parallel efforts to make game emulators for other adventure games. Games from Sierra Online were of high demand for the project, requiring them to emulate 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 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.[2] 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.[2]

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.[2]

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 Myst III: Exile, named as such as these games reflect the residual of those not already covered by ScummVM.[9]

Developer support

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. Notably, Revolution Software helped the developers with source code and technical advice for their games, and once ScummVM supported their engine, they 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.[2] The renewed interest in these games from younger players enabled Revolution to work on two more Broken Sword games.[2] 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.[2]

Mistic's GPL violations

ScummVM is distributed as open-source software under the GNU General Public License, enabling anyone to use the emulator as an engine for a game. For example, Revolution Software repackageed their Broken Sword games for a DVD release, using the ScummVM engine to support modern computers.[2]

In December 2008, the ScummVM teams learned that three games for the Wii, console, Freddi Fish and the Case of the Missing Kelp Seeds, Pajama Sam: No Need to Hide When It's Dark Outside, and Spy Fox: Dry Cereal had used ScummVM without proper attribution. The games were published on request of Atari through Majesco Entertainment, who turned to Mistic Software to port the games. Mistic had used ScummVM for these, but failed to credit the developers. While the ScummVM team contacted gpl-violations.org for legal advice, Nintendo began to investigate the claims as their license agreements prevent the use of open-source software on the Wii, which led Nintendo to question if the reverse engineering used by ScummVM was legal and threatened legal action. A settlement was made in 2009, in which ScummVM would drop the investigation of the GPL violation, while Mistic was required sell or destroy all GPL-violating copies of the games, make a donation to the Free Software Foundation, and pay the legal fees.[2]

Supported games

GUI of ScummVM 0.8.0 with the "Classic (builtin)" skin

The following games have support built into the current release of ScummVM.[12]

LucasArts SCUMM games

In order of the games' original release dates:

Sierra On-Line games

Coktel Vision games

Adventuresoft-Horrorsoft games

Humongous Entertainment

Various games by Humongous Entertainment use the SCUMM engine, and are therefore playable with ScummVM.

Games by other developers

ScummVM also supports the following non-SCUMM games:

Games in development

The following games have not been supported in an official version of ScummVM but are in progress in the main code repository.[13] The engines may be in various states of operation.

Operation Stealth and Future Wars support was added by integrating another stand-alone recreation of their engine: cinE.[15] 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.[16][17]

See also

References

  1. ^ history of ScummVM on ScummVM Wiki
  2. ^ a b c d e f g h i j k l m n o p q r Moss, Richard (January 16, 2012). "Maniac Tentacle Mindbenders: How ScummVM's unpaid coders kept adventure gaming alive". Ars Technica. Retrieved February 16, 2016.
  3. ^ "ScummVM Portability guidelines". wiki.scummvm.org. 2012-11-26. Retrieved 2013-09-26.
  4. ^ Hinkle, David (2008-09-02). "News on Gamecube/Wii ports". Nintendowiifanboy.com. Retrieved 2013-09-26.
  5. ^ 11/26/07 8:25am 11/26/07 8:25am. "Gizmodo news on iPhone port". Gizmodo.com. Retrieved 2013-09-26.{{cite web}}: CS1 maint: numeric names: authors list (link)
  6. ^ "ScummVM for PlayBook". Forum.kpda.ru. Retrieved 2013-09-26.
  7. ^ "scummvm-android". Sites.google.com. Retrieved 2013-09-26.
  8. ^ "Webos Internals Team Ports ScummVM on WebOS". Webos-internals.org. 2010-01-28. Retrieved 2013-09-26.
  9. ^ O'Conner, Alice (December 27, 2012). "Grim Fandango playable on modern PCs thanks to ResidualVM". Shacknews. Retrieved February 16, 2016.
  10. ^ a b Strangerke (2012-10-21). "Home". ScummVM. Retrieved 2012-12-28.
  11. ^ sev (2008-09-06). "Home". ScummVM. Retrieved 2012-12-28.
  12. ^ Not all games are completable or even playable. Some of them are still very much works-in-progress. For a complete, up-to-date list, see the official ScummVM compatibility chart.
  13. ^ "Engines - ScummVM :: Wiki". wiki.scummvm.org. Retrieved 2013-09-26.
  14. ^ "Where in Time is Carmen Sandiego? - ScummVM :: Wiki". Wiki.scummvm.org. 2011-01-12. Retrieved 2013-09-26.
  15. ^ "cinE - the cinematic Engine". SourceForge.net. Retrieved 2013-09-26.
  16. ^ "Old TrollVM Site". Archived from the original on 2010-03-23.
  17. ^ "#9661 (TrollVM project removal) â€" sourceforge". Sourceforge.net. Retrieved 2012-12-28.