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

Jump to navigation Jump to search
→‎Smaller Tasks: added keymapper task
m (Fix formatting)
(→‎Smaller Tasks: added keymapper task)
 
(4 intermediate revisions by the same user not shown)
Line 7: Line 7:
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.


You should come to our [[Discord Server]] and introduce yourself! We're friendly, and it's often the easiest way to ask questions about the tasks and the code in general. The channel is the main form of everyday communication for the project, and there will almost always be developers there who can discuss your project ideas, answer questions and help out.
You should come to our [[Discord Server]] and introduce yourself in the #scummvm-gsoc channel! We're friendly, and it's often the easiest way to ask questions about the tasks and the code in general. The channel is the main form of everyday communication for the project, and there will almost always be developers there who can discuss your project ideas, answer questions and help out.


You can find more information about what we expect from you before you apply at [[GSoC Application]].
You can find more information about what we expect from you before you apply at [[GSoC Application]].
Line 50: Line 50:
[[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.
[[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.


=== Enhance SAGA engine ===
=== Enhance SAGA engine for supporting Amiga Inherit the Earth ===
Technical contacts: [[User:Sev|sev]]
Technical contacts: [[User:Sev|sev]]


Line 56: Line 56:


We have been supporting the [[Inherit the Earth]] game for a long while. However, Amiga versions are not yet supported by this target. We have the original source codes, and the main difference is the data bundles format.
We have been supporting the [[Inherit the Earth]] game for a long while. However, Amiga versions are not yet supported by this target. We have the original source codes, and the main difference is the data bundles format.
An additional target is to support Chinese version of ITE, that would require reverse engineering with Ghidra, in order to understand how the game does rendering of CJK glyphs.


=== SAGA2 engine ===
=== SAGA2 engine ===
Technical contacts: [[User:Sev|sev]]
Technical contacts: [[User:Sev|sev]]


Difficulty level: Medium.
Difficulty level: High.
 
We have full sources for [[Halls of the_Dead: Faery Tale Adventure II]] game. This needs to be refactored and brought to ScummVM's OSystem framework. This task requires a decent knowledge of C++.


We have full sources for [[Halls of the_Dead: Faery Tale Adventure II]] game. This needs to be refactored and brought to ScummVM's OSystem framework. This task requires a decent knowledge of C++ and some x86 assembly (relatively little).


Beware, that the task is ''very'' big, you will have to deal with 90k lines of code and must make the game at least playable. If there is not enough time within GSoC, you would need to spend some time after the program and reach the milestone of playability.
=== Bring your own Adventure or RPG ===
=== Bring your own Adventure or RPG ===


Line 111: Line 109:


ScummVM includes text-to-speech capabilities that are currently used to improve accessibility in the GUI, and to add speech to a few games. More games could benefit from it and the task will be to add text-to-speech to those.
ScummVM includes text-to-speech capabilities that are currently used to improve accessibility in the GUI, and to add speech to a few games. More games could benefit from it and the task will be to add text-to-speech to those.
=== Add Keymapper to more games ===
Technical contacts: sev
Difficulty: Easy
ScummVM includes a global fully configurable keymapper, but this requires engines to be adapted to use it. The feature documentation: [[Keymapper]], some reference implementations: Wintermute has [https://github.com/scummvm/scummvm/blob/master/engines/wintermute/keymapper_tables.h per-game keymaps]; [https://github.com/scummvm/scummvm/pull/2428 a pull request] with adding keymapper to HDB engine; [https://github.com/scummvm/scummvm/commit/cce713ee4c73504e97eba8b0ca9190e47d279e69 a commit] with adding Keymapper to a simpler engine, Griffon.




Navigation menu