116
edits
Salty-horse (talk | contribs) m (→What we hope to gain: typo) |
m (→About ScummVM: Modified wording. As this is our intro statement, text should flow with as little hickups as possible (I hope)) |
||
Line 30: | Line 30: | ||
== About ScummVM == | == About ScummVM == | ||
The ScummVM project aims to allow users to run | The ScummVM project aims to allow users to run on modern hardware a variety of commercially available graphical point-and-click adventure games including Monkey Island, Simon the Sorcerer, Space Quest, and many more. To this end, ScummVM features a complete reimplementation of each supported game engine (Virtual Machine - VM) in a structured fashion using the C++ language. 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 or most Unix variants (Linux, *BSD, Solaris, ...), ScummVM works on popular game consoles (Nintendo DS, PlayStation 2, PlayStation Portable and more), smart phones and PDAs (WinCE, PalmOS or Symbian based), and even on many not-so-mainstream systems (like BeOS, AmigaOS or OS/2). | |||
ScummVM's high portability is a direct consequence of the flexible and modular structure of its architecture, which can be roughly divided into the following three major categories: | |||
# Backends, responsible for | # Backends, which are responsible for supporting specific target devices, like PalmOS or WinCE, | ||
# Engines | # Engines, also called front ends internally, contain the actual game specific (VM) code, and | ||
# Infrastructure code, | # Infrastructure code, which provides easy and portable baseline functionality, such as access to audio (including MIDI), graphics, user input, data access, a custom graphical user interface, and more. | ||
The | The large team of developers is split in groups which focus in different aspects of the architecture, in a manner derived from the above mentioned categorization. The team members are often not strictly confined to their respective group. Developers may assume different roles in several teams. Currently, the developers are split in the following subteams: | ||
* Porters | * Porters: Responsible for a specific ScummVM port. | ||
* Engine authors | * Engine authors: Responsible for a specific game engine and its associated bug reports (support). | ||
* Infrastructure development | * Infrastructure development: Includes for example developers working on MIDI code, on the built-in custom GUI, etc. | ||
* Packagers | * Packagers: Not all ports require dedicated backends. For example our SDL backend is highly portable, but it still requires somebody to test and compile it. Packagers execute this function. | ||
* Documentation / web site management | * Documentation / web site management | ||
* Project leads | * Project leads: There are currently three project leads. They all are also represented in one of the above categories, but besides this they organize and coordinate things, make decisions, solve disputes etc. | ||
All of this enables us to be highly productive in a team of about 30 currently active developers (out of an all time pool of well over 60), who work together on a codebase exceeding 600,000 LOC. In addition we have many non-developer contributors, and a huge and highly active community. We are among the most active projects hosted on sourceforge.net with well over 100,000 monthly downloads and ~9 millions project web hits per month. | |||
== What we hope to gain == | == What we hope to gain == |
edits