Open main menu

Difference between revisions of "GSoC Ideas"

16 bytes removed ,  20:33, 5 March 2012
reorder (alphabetically)
(squish DOS Port)
(reorder (alphabetically))
Line 41: Line 41:
* '''Timezone''' - Where do you live.
* '''Timezone''' - Where do you live.
* '''Bio''' - Who are you? What makes you the best person to work on this project?
* '''Bio''' - Who are you? What makes you the best person to work on this project?
== Integrating the Wintermute Engine ==
Technical contacts: [[User:Strangerke|Arnaud Boutonné]], [[User:Sev|Eugene Sandulenko]].
The Wintermute Engine (WME) is a set of tools for creating and running graphical adventure games. This idea involves integrating the game runtime engine into ScummVM - this would make the games far more portable. Since there is a free SDK, it would allow people to directly develop 2D games that would run in ScummVM, which is a regular request from ScummVM users.
While the original runtime itself is LGPL, there is also a portable version of the runtime called ''WME Lite'', which already runs on Windows, iOS and MacOS. It only supports the 2D games, but since the 2.5D/3D games are outside the scope of ScummVM, that is ideal.
The important part of the task would be the actual integration; using ScummVM subsystems for graphics, audio, input, etc, and reworking the code to follow our portability/style guidelines. If there's enough time, it would also be possible to add some missing WME Lite features: for example, video support (which is probably most important) and sprite frame mirroring, rotations and blending modes.
See [[OpenTasks/Engine/Wintermute]] for more details.


== Audio Output Configuration ==
== Audio Output Configuration ==
Line 63: Line 51:


See [[OpenTasks/Audio/Audio Output Selection]] for more discussion and some technical details.
See [[OpenTasks/Audio/Audio Output Selection]] for more discussion and some technical details.
== DOS Port ==
Technical contact: [[User:Digitall|David Turner]].
ScummVM has already been ported to most common Operating Systems and devices, and quite a few uncommon ones. However, one major exception is DOS.
See [[OpenTasks/Generic/DOS Port]] for more details.


== MIDI Device Configuration ==
== MIDI Device Configuration ==
Line 73: Line 69:


See [[OpenTasks/Audio/MIDI Device Configuration]] for more discussion and some technical details.
See [[OpenTasks/Audio/MIDI Device Configuration]] for more discussion and some technical details.
== Scalers ==
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.
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).


== Saving anywhere ==
== Saving anywhere ==
Line 95: Line 81:
Since saving is something that every engine implements separately, a GSoC project might consist of implementing this for a number of engines.
Since saving is something that every engine implements separately, a GSoC project might consist of implementing this for a number of engines.


== New game engines ==
== Scalers ==


If you already have reverse engineering experience, you could consider working on one of the external in-development game engines, or even on support for a new game. However, doing this kind of work is very difficult and time-consuming - you would have to convince us that you have the necessary skills to actually be sufficiently productive, probably by demonstrating some actual progress first.
Technical contact: [[User:Sev|Eugene Sandulenko]], [[User:LordHoto|Johannes Schickel]].


== DOS Port ==
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.


Technical contact: [[User:Digitall|David Turner]].
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.


ScummVM has already been ported to most common Operating Systems and devices, and quite a few uncommon ones. However, one major exception is DOS.
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/DOS Port]] for more details.


== Security Audit ==
== Security Audit ==
Line 116: Line 100:


See [[OpenTasks/Engine/Security Audit]] for more details.
See [[OpenTasks/Engine/Security Audit]] for more details.
== Wintermute Engine ==
Technical contacts: [[User:Strangerke|Arnaud Boutonné]], [[User:Sev|Eugene Sandulenko]].
The Wintermute Engine (WME) is a set of tools for creating and running graphical adventure games. This idea involves integrating the game runtime engine into ScummVM - this would make the games far more portable. Since there is a free SDK, it would allow people to directly develop 2D games that would run in ScummVM, which is a regular request from ScummVM users.
While the original runtime itself is LGPL, there is also a portable version of the runtime called ''WME Lite'', which already runs on Windows, iOS and MacOS. It only supports the 2D games, but since the 2.5D/3D games are outside the scope of ScummVM, that is ideal.
The important part of the task would be the actual integration; using ScummVM subsystems for graphics, audio, input, etc, and reworking the code to follow our portability/style guidelines. If there's enough time, it would also be possible to add some missing WME Lite features: for example, video support (which is probably most important) and sprite frame mirroring, rotations and blending modes.
See [[OpenTasks/Engine/Wintermute]] for more details.
== New game engines ==
If you already have reverse engineering experience, you could consider working on one of the external in-development game engines, or even on support for a new game. However, doing this kind of work is very difficult and time-consuming - you would have to convince us that you have the necessary skills to actually be sufficiently productive, probably by demonstrating some actual progress first.
193

edits