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

Jump to navigation Jump to search
 
(21 intermediate revisions by 5 users not shown)
Line 99: Line 99:
In 2012, support for games using the Wintermute engine was merged into ScummVM, but it still lacks support for games which use 3D graphics. It would be great to be able to play these games in ResidualVM!
In 2012, support for games using the Wintermute engine was merged into ScummVM, but it still lacks support for games which use 3D graphics. It would be great to be able to play these games in ResidualVM!


See [http://wiki.residualvm.org/index.php/GSoC_Ideas#Wintermute_3D_port Wintermute 3D] for more details.
'''ResidualVM project.''' See [http://wiki.residualvm.org/index.php/GSoC_Ideas#Wintermute_3D_port Wintermute 3D] for more details.


=== In Cold Blood engine refactor ===
=== In Cold Blood engine refactor ===
Technical contacts: [[User:somaen|Einar Johan Trøan Sømåen]], [[User:aquadran|Paweł Kołodziejski]], [[User:joostp|Joost Peters]]
Technical contacts: [[User:somaen|Einar Johan Trøan Sømåen]], [[User:aquadran|Paweł Kołodziejski]], [[User:joostp|Joost Peters]]


Difficulty level: Medium/hard. You'll need to be able to understand rearchitecture/design the relevant parts of the engine.
Difficulty level: Medium/hard. You'll need to be able to understand the relevant parts of the engine.


ResidualVM project. See [http://wiki.residualvm.org/index.php/GSoC_Ideas#In_Cold_Blood_engine_refactor ICB engine refactor] for more details
'''ResidualVM project.''' See [http://wiki.residualvm.org/index.php/GSoC_Ideas#In_Cold_Blood_engine_refactor ICB engine refactor] for more details


=== Improve SCI support ===
=== Improve SCI support ===


Technical contacts: TBD (talk to us on IRC, or send an e-mail)
Technical contacts: Our SCI team; talk to us on IRC, or send an e-mail.


Difficulty level: Hard. Good C++ knowledge and some knowledge of x86 assembly.
Difficulty level: Hard. Good C++ knowledge and some knowledge of x86 assembly.


ScummVM has stable support for the older Sierra SCI games, but the newer ones -- such as Space Quest 6, Quest for Glory 4, Gabriel Knight 1 -- still need extensive work. As this is also something we are very actively working on ourselves, please come talk to us if you would be interested in helping out with reverse engineering and re-implementation.
ScummVM has stable support for the older Sierra SCI games, but the newer ones -- such as Space Quest 6, Quest for Glory 4, Gabriel Knight 1 -- still need extensive work. As this is also something we are very actively working on ourselves, please come talk to us if you would be interested in helping out with reverse engineering and re-implementation.
=== Dink Smallwood engine (Cancelled) ===
Technical contacts: [[user:strangerke|strangerke]], [[User:dreammaster|dreammaster]]
Difficulty level: Medium. Good C++ knowledge.
<strike>Dink Smallwood is an action RPG video game, developed by Robinson Technologies, at the time consisting of Seth Robinson, Justin Martin, and Greg Smith. It was first released in 1998 before being released as freeware on October 17, 1999. The game has a small but constant fan following that continues to develop add-ons for the game more than 15 years after its release. The game is also notable for its humorous dialogue and surrealistic themes in various scenes between the gameplay.</strike>
<strike>The purpose of the task is to port the available sources of Dink Smallwood on top of ScummVM's OSystem framework and to make sure it also have a good support of fan's MOD. (about 350 games currently)</strike>
'''''This task has been cancelled due to the existence of the very good and active project [http://www.gnu.org/software/freedink FreeDink]. The scope of this project has been misunderstood when the task was added. All our apologies.'''''
=== Dungeon Master engine ===
Technical contacts: [[user:strangerke|strangerke]], [[User:dreammaster|dreammaster]]
Difficulty level: Medium. Good C++ knowledge.
Dungeon Master was released on 15 December 1987 on the Atari ST, and by early 1988 was a strong seller, becoming the best-selling game for the computer of all time.
It then was ported to Amiga, PC DOS and many other platforms, with the same success. It's considered nowadays to be a reference in RPG game, possibly the title who made the genre popular.
The purpose of the task is to port Dungeon Master's engine and implement it on top of ScummVM's OSystem framework and to make sure it also have a good support of fan's MOD.
=== Bring your own Adventure or RPG ===
Technical contacts: Talk to us on IRC, or send us an email.
Difficulty: Hard. You'll need good knowledge of C++, as well as knowledge of (reading) assembly.
Our project consists of re-implementations of classic games, and we have listed
a number of potential new game engines that you could work on here on our ideas
page. However, you may have a classic 2D Adventure game or Role Playing Game
(RPG) you are interested in yourself that is suitable for ScummVM that you
would like to reverse engineer and re-implement. If so, great!
Adding a completely new game engine is not easy, and you will have to convince
us that you are aware of the challenges involved, that the game you are
interested in is feasible, and that you have the necessary skills. Preferably,
you will already have done some preliminary investigation, into for example
data file formats, disassembly, etc.
Please come talk to us to see if we have a mentor who would be interested in
working with you on such a game. We'd be happy to help out.


== Infrastructure Tasks ==
== Infrastructure Tasks ==
Line 182: Line 226:
=== Cloud integration ===
=== Cloud integration ===


Technical contacts: TBD (talk to us on IRC, or send an e-mail)
Technical contacts: [[User:Sev|Eugene Sandulenko]], [[User:uruk|Peter Bozso]] or talk to us on IRC or send an e-mail
 
Difficulty: Medium. You'll need knowledge of C++, and learn or know about APIs of selected cloud services.
 
Cloud integration would make it possible to transparently share savegame and game data files between devices. The more providers (Google Drive/Dropbox/OneDrive/OwnCloud/etc...) we could support, the better. ScummVM supports many platforms (Windows, Mac OS X, Linux, iOS, Android, and many others), so any solution would also need to be sufficiently portable.
It would be also nice to have an option for users who don't want to use a cloud service or can't access their device's file system fully (for example on iOS), where they can configure their own server as the data provider.
 
=== SCI tools ===


Difficulty: Medium. You'll need to know some C++ to be able to tweak with our launcher and you'll eventually have to pick up knowledge about the API/SDK of the selected cloud service(s).
Technical contacts: our SCI team; talk to us on IRC, or send an e-mail


The idea is to have cloud integration in our launcher, so the user doesn't have to manually copy his/her save files between his/her devices. The more providers (Dropbox/OneDrive/Google Drive/etc.) we support, the better. The implementation would look something like this on the UI: The user clicks on the Options button in the launcher and goes to the 'Cloud' tab, where he/she can configure his/her accounts. Then he/she does it in all of his/her devices, and ScummVM (and the selected cloud service) should handle the rest without any user interaction.
Difficulty: Medium. You'll need to know or learn about SCI internals.


You will need to add an extra tab to the Options menu where the user can configure his/her cloud account and specify a path where ScummVM should look for saved games. You will have to come up with all the implementation details since they will heavily depend on the cloud service(s) you choose to support (preferably at least two).
We're in the process of reverse engineering modern SCI games (SCI32 games, from the generation of Gabriel Knight 1, Quest for Glory 4, Space Quest 6, etc.). For testing and debugging purposes, having access to good tools to study data files, resources, scripts, and run-time behaviour can be very useful. A number of such tools already exist, including some of our own tools, tools from FreeSCI which need porting to ScummVM, and a few external tools. You may identify gaps in the currently available tools, and in discussion with our SCI development team, propose ways of improving or integrating these tools, with the goal of making it easier to develop support in ScummVM for SCI32 games.
81

edits

Navigation menu