Difference between revisions of "Summer of Code/GSoC2012"

From ScummVM :: Wiki
Jump to navigation Jump to search
(Add the first two GSoC 2012 tasks)
 
(Add WME and testing framework, remove some reference to 2011, update some links)
Line 1: Line 1:
This pages lists students and projects for the [http://socghop.appspot.com/gsoc/program/home/google/gsoc2011 Google Summer of Code 2011]. See also Google's [http://socghop.appspot.com/gsoc/org/home/google/gsoc2011/scummvm ScummVM organization info] page.
This pages lists students and projects for the [http://www.google-melange.com/gsoc/org/google/gsoc2012/scummvm Google Summer of Code 2012].


== Saving anywhere ==
== Saving anywhere ==
Line 18: Line 18:


== Scaler Plugin System ==
== Scaler Plugin System ==
;Student: [[User:Singron|Singron]]
;Student: [[User:Singron|Eric Culp]]
;Mentors: [[User:LordHoto|Johannes Schickel]]
;Mentors: [[User:LordHoto|Johannes Schickel]]
;Code: (TBD)
;Code: (TBD)
;Outcome: (partial) Success. The code is still being polished
;Outcome: (partial) Success. The code is still being polished
;Technical Contacts: [[User:Sev|Eugene Sandulenko]], [[User:LordHoto|Johannes Schickel]]
;Original task description:
;Original task description:
''Technical Contact'': [[User:Sev|Eugene Sandulenko]], [[User:LordHoto|Johannes Schickel]]


Our SDL-based backends (a backend is roughly equivalent to a 'port'), such as the one used by default on desktop machines, use 2D scaler functions to 'scale up' the game screen to a larger size, such as plain 2x/3x scalers and HQ2x/HQ3x.
Our SDL-based backends (a backend is roughly equivalent to a 'port'), such as the one used by default on desktop machines, use 2D scaler functions to 'scale up' the game screen to a larger size, such as plain 2x/3x scalers and HQ2x/HQ3x.
Line 33: Line 33:


See [[OpenTasks/Generic/Scalers]] for more details
See [[OpenTasks/Generic/Scalers]] for more details
== Testing Framework for ScummVM ==
;Student: [[User:Jakimushka|Danil Ishkov]]
;Mentors: [[User:Sev|Eugene Sandulenko]]
;Code: (TBD)
;Outcome: (partial) Success. The code is still being polished
;Original task description:
The number of ScummVM supported games grows with each release. Since 0.8.0 we are performing extensive prerelease testing. Basically, it is game replaying to find regressions. This becomes a somewhat tiresome process and takes up a lot of time.
In fact there should be no changes in the gameplay in most cases, so event recording and proper replaying should be enough. There is some code for that based on the action recorder patch, but the recordings are not played consistently. The main problem is that there is no guarantee of the events to be in sync with other engine parts, so the playback may deviate, depending on the machine speed.
See [[OpenTasks/Generic/Add_Testing_Framework_Engines]] for more details
== Wintermute integration in ScummVM ==
;Student: [[User:Somaen|Einar Johan Trøan Sømåen]]
;Mentors: [[User:Strangerke|Arnaud Boutonné]]
;Code: (TBD)
;Outcome: (partial) Success. Code has been merged in Master.
;Technical contacts: [[User:Strangerke|Arnaud Boutonné]], [[User:Sev|Eugene Sandulenko]]
;Original task description:
The Wintermute Engine (WME) is a set of tools for creating and running graphical adventure games. It's originally MS-Windows oriented, and lets the user create 2D, 2.5D (using 3D characters in a 2D environment) and 3D games for free. During the first semester of 2011, a WME developer, Mnemonic, created WME Lite in a move to make WME more portable. WME Lite runs "only" WME 2D and 1rst person games with a sub-set of available features, and runs on Windows, iOS and MacOS.
After some discussion with Mnemonic, it appears that the engine should be backward compatible, and that development since the last version (v1.9.1, on 1/1/2010) has been slow, so it's a good time to work on the integration of the Wintermute Engine (2D) into ScummVM. This will be based on WME Lite sources, available on Google Code.
See [[OpenTasks/Engine/Wintermute]] for more details

Revision as of 14:48, 13 March 2013

This pages lists students and projects for the Google Summer of Code 2012.

Saving anywhere

Student
Upthorn
Mentors
Alyssa Milburn
Code
N/A
Outcome
Failed mid-term
Original task description

On phones and other mobile devices, ScummVM may need to be shut down abruptly - for example, due to memory pressure caused by an incoming call, or another background task.

It would be very nice to be able to (automatically) save at any point when you have to shut down ScummVM suddenly - including in cutscenes, conversations, etc... at the moment, most engines don't allow this.

Since saving is something that every engine implements separately, a GSoC project might consist of implementing this for a number of engines.

See OpenTasks/Generic/Saving Everywhere for more details.

Scaler Plugin System

Student
Eric Culp
Mentors
Johannes Schickel
Code
(TBD)
Outcome
(partial) Success. The code is still being polished
Technical Contacts
Eugene Sandulenko, Johannes Schickel
Original task description

Our SDL-based backends (a backend is roughly equivalent to a 'port'), such as the one used by default on desktop machines, use 2D scaler functions to 'scale up' the game screen to a larger size, such as plain 2x/3x scalers and HQ2x/HQ3x.

Right now, they are all hardcoded into the build, which means that adding new scalers is inconvenient, especially since they all have to be built into ScummVM. This means that, at the moment, we have stopped adding new scalers to the code. If our plugin system could be extended to allow for scalers to be provided as plugins, then these problems would be solved.

Once this is done, and the existing scalers changed to be plugins, then support could be added for scalers supporting higher bit depths (32bpp) - which would allow us to use a 32bpp overlay for the GUI. And finally, new scalers could be added (there have been several patches submitted already).

See OpenTasks/Generic/Scalers for more details

Testing Framework for ScummVM

Student
Danil Ishkov
Mentors
Eugene Sandulenko
Code
(TBD)
Outcome
(partial) Success. The code is still being polished
Original task description

The number of ScummVM supported games grows with each release. Since 0.8.0 we are performing extensive prerelease testing. Basically, it is game replaying to find regressions. This becomes a somewhat tiresome process and takes up a lot of time.

In fact there should be no changes in the gameplay in most cases, so event recording and proper replaying should be enough. There is some code for that based on the action recorder patch, but the recordings are not played consistently. The main problem is that there is no guarantee of the events to be in sync with other engine parts, so the playback may deviate, depending on the machine speed.

See OpenTasks/Generic/Add_Testing_Framework_Engines for more details

Wintermute integration in ScummVM

Student
Einar Johan Trøan Sømåen
Mentors
Arnaud Boutonné
Code
(TBD)
Outcome
(partial) Success. Code has been merged in Master.
Technical contacts
Arnaud Boutonné, Eugene Sandulenko
Original task description

The Wintermute Engine (WME) is a set of tools for creating and running graphical adventure games. It's originally MS-Windows oriented, and lets the user create 2D, 2.5D (using 3D characters in a 2D environment) and 3D games for free. During the first semester of 2011, a WME developer, Mnemonic, created WME Lite in a move to make WME more portable. WME Lite runs "only" WME 2D and 1rst person games with a sub-set of available features, and runs on Windows, iOS and MacOS.

After some discussion with Mnemonic, it appears that the engine should be backward compatible, and that development since the last version (v1.9.1, on 1/1/2010) has been slow, so it's a good time to work on the integration of the Wintermute Engine (2D) into ScummVM. This will be based on WME Lite sources, available on Google Code.

See OpenTasks/Engine/Wintermute for more details