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

Jump to navigation Jump to search
Try to expand a bit the required skills paragraph in the introduction
(SCI engine needs no tools)
(Try to expand a bit the required skills paragraph in the introduction)
 
(2 intermediate revisions by one other user not shown)
Line 3: Line 3:
We've had a lot of successful student projects as part of Google's Summer of Code in previous years -- we hope to inspire you to work with us and (hopefully) add your own success.
We've had a lot of successful student projects as part of Google's Summer of Code in previous years -- we hope to inspire you to work with us and (hopefully) add your own success.


For any work on ScummVM, you'll probably need to already be comfortable with a basic level of C++. Some of the tasks might need more specialised knowledge (for example, working with ResidualVM may need you to understand some OpenGL and 3D math); we give our thoughts about this alongside each suggested task, below.
We often get asks by students with no experience with ScummVM whether they have the necessary skills to participate with us. The idea of GSoC is to introduce students to open source development, so we are not expecting you to have experience with ScummVM. You will have time during the application and community bonding periods to familiarize yourself with the project. The technical skills required to work with us varies from task to task. For any work on ScummVM, you'll probably need to already be comfortable with a basic level of C++. Some of the tasks might need more specialized knowledge (for example, working with ResidualVM may need you to understand some OpenGL and 3D math, and some engine tasks may require some assembly or reverse engineering knowledge); we give our thoughts about this alongside each suggested task, below.


Most importantly, we'd like you to join our community. There are many previous GSoC participants who are still involved in our project, and whether or not you participate as part of Summer of Code, we'd love for you to get involved too.
Most importantly, we'd like you to join our community. There are many previous GSoC participants who are still involved in our project, and whether or not you participate as part of Summer of Code, we'd love for you to get involved too.
Line 29: Line 29:
== Tasks ==
== Tasks ==


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


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!
Line 43: Line 43:
=== Improve touchscreen GUI ===
=== Improve touchscreen GUI ===


Technical contacts: [[User:Sev|Eugene Sandulenko]].
Technical contacts: [[User:Sev|sev]].


Difficulty level: Easy (code) / medium (architecture). You'll need a touchscreen device which can run ScummVM, to test on.
Difficulty level: Easy (code) / medium (architecture). You'll need a touchscreen device which can run ScummVM, to test on.
Line 56: Line 56:
=== Improve Main GUI ===
=== Improve Main GUI ===


Technical contacts: [[User:Sev|Eugene Sandulenko]].
Technical contacts: [[User:Sev|sev]].


Difficulty level: Easy.
Difficulty level: Easy.
Line 70: Line 70:
== 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]],
Technical contacts: Our IRC channel, our mailing list, or contact [[User:Sev|sev]], [[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.
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.
Line 77: Line 77:


=== Macromedia Director ===
=== Macromedia Director ===
Technical contacts: [[User:Sev|Sev]]
Technical contacts: [[User:Sev|sev]]


Difficulty level: Medium. You'll need a reasonable level of programming experience, and probably some Director games.
Difficulty level: Medium. You'll need a reasonable level of programming experience, and probably some Director games.


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 a WIP engine in ScummVM tree, but it requires much more work in order to implement all hundreds of Lingo commands.
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 a WIP engine in ScummVM tree, but it requires much more work in order to implement all hundreds of Lingo commands.
=== Networking code for Moonbase Commander ===
Technical contacts: [[User:Sev|sev]]
Difficulty level: Medium. You'll need a reasonable level of programming experience, and some network development experience.
[[Moonbase Commander]] is a SCUMM-based strategy game. The original supported up to 4 network players. We have the source code for the original game, but it is based on top of Microsoft DirectPlay. We need to do a clean reimplementation, not necessarily compatible with the original. It may also require some basic server side for discovery. The networking libraries libcurl and SDL_Net are already part of ScummVM.


=== Wintermute 3D ===
=== Wintermute 3D ===
Line 161: Line 169:
=== Game packaging system ===
=== Game packaging system ===


Technical contacts: [[User:Sev|Sev]]
Technical contacts: [[User:Sev|sev]]


ScummVM offers 8 freeware games for download, but they need to be downloaded and installed manually. It would be great to develop a universal system which would let us descibe a game, e.g. provide screenshots, game descriptions, metadata, and package it for different platforms, so we could put them to different applicaiton distribution systems.
ScummVM offers 8 freeware games for download, but they need to be downloaded and installed manually. It would be great to develop a universal system which would let us descibe a game, e.g. provide screenshots, game descriptions, metadata, and package it for different platforms, so we could put them to different applicaiton distribution systems.
Line 169: Line 177:
=== Support for shaders and arbitrary scalers ===
=== Support for shaders and arbitrary scalers ===


Technical contacts: [[User:Sev|Sev]]
Technical contacts: [[User:Sev|sev]]


Difficulty: Medium
Difficulty: Medium
TrustedUser
2,147

edits

Navigation menu