GSoC/GCI Archive
Google Summer of Code 2009

ScummVM

Web Page: http://wiki.scummvm.org/index.php/OpenTasks

Mailing List: https://lists.sourceforge.net/lists/listinfo/scummvm-devel

ScummVM is a collection of Virtual Machines for playing classic graphical point-and-click adventure games on modern hardware. Supported games include favorites such as Monkey Island, Simon the Sorcerer, Space Quest, and many more. To this end, the Virtual Machines (called Engines) are complete reimplementations in C++ of the engines used in the original games. The development team works either by reverse engineering game executables (usually with the permission of creators of the game), or by using the original source code of the games provided by the creators. The number of engines is constantly growing thanks to a very agile and diversified development team.

The VM approach followed by ScummVM results in efficient code, which has been ported to numerous Operating Systems. Besides running on all mainstream desktop environments, namely Windows, Mac OS X and most Unix variants (Linux, *BSD, Solaris), ScummVM also runs on popular game consoles (Wii, Nintendo DS, PlayStation 2, PlayStation Portable and more), smart phones and PDAs (WinCE, PalmOS, iPhone or Symbian based), and even on many not-so-mainstream systems (like BeOS, AmigaOS or OS/2).

ScummVM has a highly productive team of about 45 currently active developers (out of an all-time pool of over 65), working together on a codebase almost 800,000 lines of code. In addition ScummVM has many non-developer contributors, and a huge and highly active community. ScummVM is among the top ranking projects hosted on sourceforge.net with well over 100,000 monthly downloads and ~10 million project web hits per month.

Projects

  • 16 bit graphic support for game engines Will correct display errors in later Humongous Entertainment games utilizing the Scumm engine with a combination of 8 and 16 bit graphical resources, in accordance with outline provided on the Summer of Code '09 ideas page.
  • Add support for Amiga MOD formats ScummVM is a Virtual Machine for several old games. While compatibility is quite good, not all versions are fully supported - particulary support for special sound-formats is missing. My work would be to implement those missing sound-formats to improve the experience playing those games.
  • GUI Frontend for ScummVM De/compression tools Create a cross-platform frontend for the audio extraction and decompression tools used by ScummVM, and improvement the command line interface. If time allows and if it's possible, also improve the tools themselves to provide extended functionality.
  • Reimplementing Dragon's History engine in ScummVM Dragon's History is a Czech adventure game implemented in Pascal. The aim of this project is to reimplement its engine from scratch inside the ScummVM framework in order to make it playable over a wide variety of systems.