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

Jump to navigation Jump to search
 
(22 intermediate revisions by 2 users not shown)
Line 14: Line 14:
|Organization co-administrator: || sev
|Organization co-administrator: || sev
|-
|-
|Backup administrator: || <span style="color:red">To Be Defined</span>
|Backup administrator: || criezy
|-
|-
|Project License: || GPLv2+
|Project License: || GPLv2+
Line 22: Line 22:
|IRC channel: || #scummvm on irc.freenode.net
|IRC channel: || #scummvm on irc.freenode.net
|-
|-
|Development mailing list: || https://lists.sourceforge.net/lists/listinfo/scummvm-devel
|Development mailing list: || http://lists.scummvm.org/listinfo/scummvm-devel
|-
|-
|}
|}
Line 29: Line 29:
= Part 1 - Application Form =
= Part 1 - Application Form =
=== Why does your org want to participate in Google Summer of Code? (1000 characters) ===
=== Why does your org want to participate in Google Summer of Code? (1000 characters) ===
Every year from 2007 to 2014, the program has given us the opportunity to have talented and motivated students working with us.
In 2016 and every year from 2007 to 2014, the program has given us the opportunity to have talented and motivated students working with us. It also gave us the opportunity in 2016 to broaden our scope to RPG games, which was something we were looking for for years!
 
<span style="color:red">We are particularly enthusiastic to participate this year as we are broadening our scope to include RPG games for the very first time, which brings with it a whole new group of potentially interested developers, students and users, and the opportunity to relive a new genre of classic games.</span>


What we hope to gain is valuable code contributions, and new developers for the project. In previous years, we've had students take up and complete tasks which were on our Ideas page, including for example full new engines ports. But also, some students have come up with new functionality, proposing and finally implementing it. These have been our favorites.
What we hope to gain is valuable code contributions, and new developers for the project. In previous years, we've had students take up and complete tasks which were on our Ideas page, including for example full new engines ports. But also, some students have come up with new functionality, proposing and finally implementing it. These have been our favorites.
Line 39: Line 37:
=== How many potential mentors do you have for this year's program? ===
=== How many potential mentors do you have for this year's program? ===
==== Mentors ====
==== Mentors ====
# <span style="color:red">aquadran</span>
# aquadran
# criezy
# criezy
# <span style="color:red">djwillis</span>
# <span style="color:red">djwillis</span>
# <span style="color:red">dreammaster</span>
# <span style="color:red">dreammaster</span>
# <span style="color:red">joostp</span>
# fuzzie
# joostp
# <span style="color:red">klusark (joelteichroeb)</span>
# <span style="color:red">klusark (joelteichroeb)</span>
# <span style="color:red">md5</span>
# <span style="color:red">md5</span>
# sev
# sev
# <span style="color:red">somaen</span>
# somaen
# strangerke
# strangerke
# <span style="color:red">uruk</span>
==== Backup Mentors ====
# <span style="color:red">botje (dharnie)</span>
# <span style="color:red">fuzzie</span>
# <span style="color:red">wjp</span>
<11-15>


=== How will you keep mentors engaged with their students? (1000 characters) ===
=== How will you keep mentors engaged with their students? (1000 characters) ===
First of all, we have an internal rule that GSoC students have 2 mentors and not only one, for the highest possible availability.
First of all, we have an internal rule that GSoC students have 2 mentors and not just one, for the highest possible availability.


Then, we want our mentors to have the following qualities:
Then, we want our mentors to have the following qualities:
Line 69: Line 60:


=== How will you help your students stay on schedule to complete their projects? ===
=== How will you help your students stay on schedule to complete their projects? ===
<span style="color:red">We ask our student to give regular feedback to their mentors, at least once every 2 days. We also ask them to blog at least once a week about their progress.</span>
First of all we ask that students give a detailed schedule for their project as part of their application for GSoC. We know that this is likely to change after the start of the coding period, but this helps the students in splitting the work into small manageable tasks and organising their work. This also helps to make sure that the project is achievable and realistic.
<span style="color:red">We also strongly encourage the students to ask questions on our IRC channel. As an empirical fact, on IRC any student will be able to get support literally 24/7, as our developers are scattered all over the globe.</span>


<span style="color:red">With those rules in place, it's very easy for the mentors to detect any difficulty a student may experience, and help them to fix it or work around it.</span>
We also ask our students to give regular feedback to their mentors during the coding period, at least once every 2 days. We also ask them to blog at least once a week about their progress.
We also strongly encourage the students to ask questions on our IRC channel. As an empirical fact, on IRC any student will be able to get support literally 24/7, as our developers are scattered all over the globe.


<span style="color:red">In parallel, the mentors regularly check if the plans are achievable and realistic. If the student is ahead of schedule, some extra work may be discussed. At the opposite, if the student is behind schedule, discussions will occur very early among the mentors and then with the student to define what can be put in place so that the student completes the projects nevertheless.</span>
With those rules in place, it's very easy for the mentors and the co-mentors to detect any difficulty a student may experience, and help them to fix it or work around it.
 
In parallel, the mentors regularly check on the progress of the student to make sure that the schedule remains realistic. If the student is ahead of schedule, some extra work may be discussed. At the opposite, if the student is behind schedule, discussions will occur very early among the mentors and then with the student to define what can be put in place so that the student completes the projects nevertheless.


=== How will you get your students involved in your community during GSoC? ===
=== How will you get your students involved in your community during GSoC? ===
<span style="color:red">Before and during GSoC, we'll consider students as special developers, but developers nonetheless.
Before and during GSoC, we'll consider students as special developers, but developers nonetheless.
They will therefore have equivalent rights, privileges and duties. For instance,
They will therefore have equivalent rights, privileges and duties. For instance,
- We first ask our students to write introductory letters to our development list and their blog so everyone is familiar with their background, skills and assigned task.
- We first ask our students to write introductory letters to our development list and their blog so everyone is familiar with their background, skills and assigned task.
Line 83: Line 76:
- They are encouraged to take part in discussions, whatever the medium on which these discussions occur.
- They are encouraged to take part in discussions, whatever the medium on which these discussions occur.
- They will be able to get support from and chat with the team 24/7 on our IRC channels. They are voiced (+v) so that everybody knows who they are.
- They will be able to get support from and chat with the team 24/7 on our IRC channels. They are voiced (+v) so that everybody knows who they are.
- We noticed during previous summers that merging the student code early make them feel more involved, so we plan to do it again this year.</span>
- We noticed during previous summers that merging the student code early make them feel more involved, so we plan to do it again this year.


=== How will you keep students involved with your community after GSoC? ===
=== How will you keep students involved with your community after GSoC? ===
<span style="color:red">The latest two times we participated, we decided to require the GSoC student code to be merged into our Master tree much earlier in the process if possible. Our past experience told us it should be very motivating for students to directly interact with our main repository and that this could potentially make some of them stay after the end of GSoC: it seems we were right as several former students have kept contributing for more than a year afterwards. This is obviously a very positive sign for us and we plan to proceed in the same way this year again.</span>
Since GSoC 2014, we have decided to require the GSoC student code to be merged into our Master tree much earlier in the process if possible. Our past experience told us it is very motivating for students to directly interact with our main repository and that this could potentially make some of them stay after the end of GSoC: it seems we were right as several former students have kept contributing for more than a year afterwards. This is obviously a very positive sign for us and we plan to proceed in the same way this year again.


=== Has your org been accepted as a mentoring org in Google Summer of Code before? ===
=== Has your org been accepted as a mentoring org in Google Summer of Code before? ===
Line 129: Line 122:
Since 2014, ScummVM acts as a GSoC umbrella for game preservation projects, such as its sister project, ResidualVM. The purpose is only to replace the game executable, not to enhance or replace the game assets.
Since 2014, ScummVM acts as a GSoC umbrella for game preservation projects, such as its sister project, ResidualVM. The purpose is only to replace the game executable, not to enhance or replace the game assets.


ScummVM is a collection of game engines for playing classic graphical point-and-click adventure games on modern hardware.
ScummVM is a collection of game engines for playing classic graphical point-and-click adventure games on modern hardware. Recently we have also started adding engines for RPG games.


ResidualVM is a sister project of ScummVM and was created in 2003. ResidualVM shares large blocks of common code with ScummVM, some developers and even a mentor.
ResidualVM is a sister project of ScummVM games and was created in 2003. ResidualVM shares large blocks of common code with ScummVM, some developers and even a mentor.


- ScummVM supports classic 2D adventure games 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 number of engines is constantly growing thanks to a very agile and diversified development team and ScummVM is currently able to run more than 200 games. The VM approach followed by ScummVM results in efficient code, which has been ported to numerous Operating Systems (over 30). ScummVM has a highly productive team of about 45 currently active developers (out of an all-time pool of over 110), working together on a codebase of 2,400,000 lines of code. In addition ScummVM has many non-developer contributors, and a huge and highly active community.  
- ScummVM supports classic 2D adventure games such as Monkey Island, Simon the Sorcerer, Space Quest, and many more. We have also started work to support 2D RPG games such as Dungeon Master. To this end, the Virtual Machines (called Engines) are complete reimplementations in C++ of the engines used in the original games. The number of engines is constantly growing thanks to a very agile and diversified development team and ScummVM is currently able to run more than 200 games. The VM approach followed by ScummVM results in efficient code, which has been ported to numerous Operating Systems (over 30). ScummVM has a highly productive team of about 45 currently active developers (out of an all-time pool of over 130), working together on a codebase of 2,800,000 lines of code. In addition ScummVM has many non-developer contributors, and a huge and highly active community.


- ResidualVM is a cross-platform 3D game interpreter which allows you to play some 3D adventure games, such as Cyan's Myst 3 and LucasArts' Lua-based 3D adventures: Grim Fandango and Escape from Monkey Island, provided you already have their data files. Like ScummVM, ResidualVM replaces the executables shipped with the games, allowing you to play them on systems for which they were never designed.
- ResidualVM is a cross-platform 3D game interpreter which allows you to play some 3D adventure games, such as Cyan's Myst 3 and LucasArts' Lua-based 3D adventures: Grim Fandango and Escape from Monkey Island, provided you already have their data files. Like ScummVM, ResidualVM replaces the executables shipped with the games, allowing you to play them on systems for which they were never designed.
- This year, we will also accept that students propose a task for RPG games, in the scope of our soon to be announced sister project RogueVM, also based on the ScummVM OSystem framework.


=== Application Instructions (1500 char) ===
=== Application Instructions (1500 char) ===
Line 159: Line 150:
=== Links ===
=== Links ===
*Google+: https://plus.google.com/100512255374893262465
*Google+: https://plus.google.com/100512255374893262465
*Facebook: https://www.facebook.com/pages/ScummVM/7328341409
*Twitter: https://twitter.com/scummvm
*Twitter: https://twitter.com/scummvm
*Blog URL: http://planet.scummvm.org/
*Blog URL: http://planet.scummvm.org/

Navigation menu