Open main menu

Difference between revisions of "Summer of Code/GSoC Ideas 2016"

no edit summary
Line 24: Line 24:


== Tasks ==
== Tasks ==
General contacts: Our IRC channel, our mailing list, or contact [[User:Sev|Eugene Sandulenko]], [[User:DJWillis|John Willis]], [[User:Strangerke|Arnaud Boutonné]], [[User:LordHoto|Johannes Schickel]]


The ideas here are meant to be just that - '''ideas'''. We hope they help inspire your proposals, but you should also consider suggesting your own completely new project ideas. Pick something you really want to see improved/fixed, and come and talk to us about it!
The ideas here are meant to be just that - '''ideas'''. We hope they help inspire your proposals, but you should also consider suggesting your own completely new project ideas. Pick something you really want to see improved/fixed, and come and talk to us about it!
One good place to start if you're looking for new ideas would be our [[TODO]] page (and the other TODO lists linked from there).
Some other ideas (most of which might be incomplete or outdated, or too difficult for a new developer) can be found on our [[OpenTasks]] page. Again, be sure to talk to us before thinking too much about any idea on these lists, as many things are likely to be outdated or simply wrong.


== GUI Tasks ==
== GUI Tasks ==
Line 33: Line 38:
tasks:
tasks:


==== Improve touchscreen GUI ====
=== Improve touchscreen GUI ===


Technical contacts: [[User:Sev|Eugene Sandulenko]].
Technical contacts: [[User:Sev|Eugene Sandulenko]].
Line 55: Line 60:


== Game Tasks ==
== Game Tasks ==
Technical contacts: Our IRC channel, our mailing list, or contact [[User:Sev|Eugene Sandulenko]], [[User:DJWillis|John Willis]], [[User:Strangerke|Arnaud Boutonné]], [[User:Md5|Filippos Karapetis]],
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.


=== Macromedia Director ===
=== Macromedia Director ===
Line 60: Line 69:


Many 90s-era adventure games were developed using the Macromedia (now Adobe) Director tool. It would be nice to be able to play these games in ScummVM! We have Python code available which can parse and display the contents of Director 2 and Director 3 'movie' files. This should be enough to implement a ScummVM engine to allow some early Director adventures to be played; for example, parsing the movie files, implementing the frame-based playback system, drawing bitmaps and shapes, playing sounds and running some basic (Lingo) scripting.
Many 90s-era adventure games were developed using the Macromedia (now Adobe) Director tool. It would be nice to be able to play these games in ScummVM! We have Python code available which can parse and display the contents of Director 2 and Director 3 'movie' files. This should be enough to implement a ScummVM engine to allow some early Director adventures to be played; for example, parsing the movie files, implementing the frame-based playback system, drawing bitmaps and shapes, playing sounds and running some basic (Lingo) scripting.
=== Port WebVenture engine ===
Technical contacts: [[User:DJWillis|John Willis]], [[User:Md5|Filippos Karapetis]].
The [http://seancode.com/webventure/ WebVenture] [https://github.com/mrkite/webventure engine] by Sean Kasun is a reimplementation of the [https://en.wikipedia.org/wiki/MacVenture MacVenture] engine from ICOM Simulations.
It was used in the late 80s and in the early 90s for 4 games. The MacVenture games are still available for purchase from [http://www.zojoi.com/ Zojoi].
The current code is written in JavaScript, which means it will have to be completely rewritten in C++ and integrated in ScummVM.
'''This task requires C++ and JavaScript knowledge.'''


=== Wintermute 3D ===
=== Wintermute 3D ===
Line 107: Line 127:


See [[OpenTasks/Audio/Audio Output Selection]] and [[OpenTasks/Audio/MIDI Device Configuration]] for more discussion and some technical details.
See [[OpenTasks/Audio/Audio Output Selection]] and [[OpenTasks/Audio/MIDI Device Configuration]] for more discussion and some technical details.
=== Hardware accelerated blitting ===
Technical contacts: Our IRC channel, our mailing list, or contact [[User:somaen|Einar Johan Trøan Sømåen]], [[User:LordHoto|Johannes Schickel]], [[User:Fuzzie|Alyssa Milburn]], [[User:Digitall|David G. Turner]]
Some engines (Wintermute, Broken Sword 2.5) would greatly benefit from hardware acceleration for their graphics code.
Obviously the purpose of this task is not to make it available on all ports. The impacted ports have to be determined in advance.
See [[OpenTasks/Graphics/Hardware Acceleration]] for more details.
=== Native OS X port ===
Technical contacts: [[User:somaen|Einar Johan Trøan Sømåen]], [[User:aquadran|Paweł Kołodziejski]].
ScummVM's current OS X port is SDL 1.2 based, which is a dead project, having been replaced by SDL2, and Apple has a tendency to change and deprecate functionality with each version of their OS, as such, the current state of the OS X port seems to degrade with each new OS X release. Functionality added in newer releases of OS X, such as the new Full-screen modes introduced in 10.7 are also not available for use in ScummVM with the current SDL1.2 port.
One option for solving this, is to create a backend for OS X that doesn't use SDL. This would mean writing replacement code for the parts where SDL currently handles things (i.e. atleast audio/video/input, but possible other details). A major aim of such a project would be to retain backwards compatibility with 10.2 as we have today, while allowing for a good user experience on the very latest OS X versions as well.
'''This task requires C++ and Objective-C/Cocoa knowledge.'''
193

edits