Difference between revisions of "Summer of Code/Application/2007"

Jump to navigation Jump to search
Rearrange application
(Rearrange application)
Line 1: Line 1:
'''Draft Outline'''
== The Application ==


TODO: Answer the questions/points listed on http://code.google.com/support/bin/answer.py?answer=60303&topic=10727
=== Introduction & overview ===
 
This is the application of the [http://www.scummvm.org ScummVM] project for the [http://code.google.com/soc Google Summer of Code]. Let's start with a quick overviw of the facts before turning to the more elaborate parts of this document


== Abstract ==
{| cellpadding="3"
|Project: || [http://www.scummvm.org ScummVM]
|-
|Participation in prior SoCs: || None
|-
|Applications for prior SoCs: || None
|-
|Organization administrator: || fingolfin (max AT quendi.de)
|-
|Backup administrator: || sev (sev.mail AT gmail.com)
|-
|Project License: || GPL
|-
|Ideas page: || [[OpenTasks]]
|-
|IRC channel: || #scummvm on irc.freenode.net
|-
|Development mailing list: || https://lists.sourceforge.net/lists/listinfo/scummvm-devel
|-
|Mentors: ||
* [[User:Fingolfin|Max Horn]], Google Account: max AT quendi.de
* [[User:Jubanka|Kostas Nakos]], Google Account: knakos AT gmail.com
* [[User:Sev|Eugene Sandulenko]], Google Account: sev.mail AT gmail.com
|}


== Introduction ==
=== About ScummVM ===
* scummvm description and purpose (Q1)
* scummvm hierachy
proper team structure, subteams for engines, ports, infrastructure.
* scummvm in facts.
LoC, # devs (active & all time), # ports, downloads (Q1)


=== Draft Intro ===
The ScummVM project aims to allow users to run many old (and not so old) commercial graphical point-and-click adventure games (e.g. Monkey Island, Simon the Sorcerer, Space Quest, and many more), provided you already own their data files. To this end, the team works by either 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 of the games, after negotiations with the team). The number of engines is constantly growing thanks to a very agile and diversified development team.
ScummVM is a program which allows users to run certain commercial graphical point-and-click adventure games (e.g. Monkey Island, Simon the Sorcerer, Space Quest, and many more), provided you already own their data files. To this end, the team works by either 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 of the games, after negotiations with the team). The number of engines is constantly growing thanks to a very agile and diversified development team.


One of the corner stones of ScummVM's success is its extreme portability. Besides running on all main stream desktop environments, be it Windows, Mac OS X or most Unix variants (Linux, *BSD, Solaris, ...), it works on 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).
One of the corner stones of ScummVM's success is its extreme portability. Besides running on all main stream desktop environments, be it Windows, Mac OS X or most Unix variants (Linux, *BSD, Solaris, ...), it works on 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).


This high portability is possible thanks to the flexible and modular structure of the ScummVM internals. Everything can be grouped into roughly three categories:  
This high portability is made possible by the flexible and modular structure of the ScummVM internals. Everything can be grouped into roughly three categories:  
# Backends (responsible for support of specific target devices, like PalmOS or WinCE, etc.)
# Backends (responsible for support of specific target devices, like PalmOS or WinCE, etc.)
# Engines (sometimes dubbed front ends) containing the actual game specific code
# Engines (sometimes dubbed front ends) containing the actual game specific code
# Infrastructure code, providing portable access to audio (including MIDI), graphics, user input, data access , a custom graphical user interface, and more
# Infrastructure code, providing portable access to audio (including MIDI), graphics, user input, data access , a custom graphical user interface, and more


The structure of the team reflects this structure, in so far as developers can be roughly grouped into the following categories (with some people being in more than one, or being multiple times in a single category):
The structure of the team reflects this structure, in so far as developers can be roughly grouped into the following categories (with some people being in more than one, or being multiple times in a single category):
Line 33: Line 51:


This structure 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 -- well over 100,000 monthly downloads and ~9 millions project web hits per month speak for themselves, we think.
This structure 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 -- well over 100,000 monthly downloads and ~9 millions project web hits per month speak for themselves, we think.
== Draft Outline ==
TODO: Answer the questions/points listed on http://code.google.com/support/bin/answer.py?answer=60303&topic=10727
== Abstract ==
== Introduction ==
* scummvm description and purpose (Q1)
* scummvm hierachy
proper team structure, subteams for engines, ports, infrastructure.
* scummvm in facts.
LoC, # devs (active & all time), # ports, downloads (Q1)
=== Draft Intro ===


== SoC Participation Application ==
== SoC Participation Application ==
Line 85: Line 121:
The students can always turn to the very active irc channel for both general and specific inquiries.
The students can always turn to the very active irc channel for both general and specific inquiries.
Mentors will internally update their status, so no students get left alone if a mentor drops out.
Mentors will internally update their status, so no students get left alone if a mentor drops out.
== Data ==
{| cellpadding="3"
|Organization administrator: || fingolfin (max AT quendi.de)
|-
|Backup administrator: || sev (sev.mail AT gmail.com)
|-
|Project License: || GPL
|-
|Ideas page: || [[OpenTasks]]
|-
|IRC channel: || #scummvm on irc.freenode.net
|-
|Development mailing list: || https://lists.sourceforge.net/lists/listinfo/scummvm-devel
|-
|Mentors: ||
* [[User:Fingolfin|Max Horn]], Google Account: max AT quendi.de
* [[User:Jubanka|Kostas Nakos]], Google Account: knakos AT gmail.com
* [[User:Sev|Eugene Sandulenko]], Google Account: sev.mail AT gmail.com
|}


== Student application template ==
== Student application template ==
1,079

edits

Navigation menu