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

Jump to navigation Jump to search
m
(→‎What we hope to gain: re-jig some grammar)
 
(6 intermediate revisions by one other user not shown)
Line 30: Line 30:
== About ScummVM ==
== About ScummVM ==


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 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 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. 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).
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 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:  
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:  
Line 47: Line 47:
* 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.
* 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.
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 over 60), who work together on a codebase exceeding 600,000 lines of code. 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 million project web hits per month.


== What we hope to gain ==
== What we hope to gain ==
For one thing, we hope to attract new blood: we hope to gain some new active developers via these projects. While we already have several very active contributors, these people are already mostly busy in specific subprojects and tasks. New people mean new ideas, new energy, and new ways of thinking. Therefore, a longer lasting engagement of our student contributors would be our highest hope.
For one thing, we hope to attract new blood: we hope to gain some new active developers via these projects. While we already have several very active contributors, these people are already mostly busy in specific subprojects and tasks. New people mean new ideas, new energy, and new ways of thinking. Therefore, a longer lasting engagement of our student contributors would be our highest hope.


Furthermore, all of our developers work on ScummVM in their spare time. But for certain tasks, it's simply best if you can spend a certain time working on this task more or less exclusively -- i.e., just what we would get via the SoC.
Furthermore, all of our developers work on ScummVM in their spare time. But for some tasks, it's most effective if you can spend a certain block of time working on this task exclusively; just what we would get via the SoC.
Hence, we hope to gain some nice shiny new code providing useful new functionality to our users and developers. Even if the authors don't stick around, this will benefit all of the ScummVM community.
Hence, we hope to gain some nice shiny new code providing useful new functionality to our users and developers. Even if the authors don't stick around, this will benefit all of the ScummVM community.


Lastly, we also believe that we can learn a lot from this whole event in terms of interaction with prospective new team members, how to motivate students to participate in our projects etc.; knowledge that may turn out to be very valuable outside of the SoC, too.
Lastly, we also believe that we can learn a lot from this whole event in terms of interaction with prospective new team members, how to motivate students to participate in our projects, and so forth: knowledge that may turn out to be very valuable outside of the SoC, too.


== Our mentors ==
== Our mentors ==
Line 74: Line 74:
Our community uses forums, IRC, a Wiki and our mailing list for a vivid exchange of thoughts all the time. We will urge the students to participate in all of them; especially on IRC can they directly talk to many nice and helpful team and community members. The mentors will introduce the students to the rest of the team (making sure everybody knows who the students are). There are people active in the IRC channel virtually 24/7, thanks to the international nature of the project.
Our community uses forums, IRC, a Wiki and our mailing list for a vivid exchange of thoughts all the time. We will urge the students to participate in all of them; especially on IRC can they directly talk to many nice and helpful team and community members. The mentors will introduce the students to the rest of the team (making sure everybody knows who the students are). There are people active in the IRC channel virtually 24/7, thanks to the international nature of the project.


We also expect the students to talk to non-mentor team members on a regular basis about parts of ScummVM for which these team members are experts (at least if these parts happen to be relevant for the student's project). To achieve that, the mentors will specifically introduce them to each other, and will try to incite them to work together.
We also expect the students to talk to non-mentor team members on a regular basis about parts of ScummVM for which these team members are experts (if these parts happen to be relevant for the student's project). To achieve that, the mentors will specifically introduce them to each other, and will try to encourage them to work together.


== Student application template ==
== Student application template ==

Navigation menu