Summer of Code/GSoC2020
This page lists students and projects for the Google Summer of Code 2020. See also Google's ScummVM organization info page.
ScummVM
Macromedia Director
- Student:
- Nathanael Gentry
- Mentors:
- sev, Strangerke
- Code:
- Work in Progress
- Outcome:
- Success. The code has been merged into master.
- Technical contacts:
- Original task description:
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.
Macromedia Director
- Student:
- Dylan Servilla
- Mentors:
- sev, Strangerke
- Code:
- Work in Progress
- Outcome:
- Success. The code has been merged into master.
- Technical contacts:
- Original task description:
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.
Unicode and BiDi support for GUI & Move Detection features to the main executable
- Student:
- Aryan Rawlani
- Code:
- Work in Progress
- Outcome:
- Success. The code has been merged into master.
- Technical contacts:
- Original task description:
ScummVM GUI is based on char size strings, so we have to rely on code pages. With this task, you would need to switch our GUI to usage of Common::U32String, thus making it Unicode-friendly.
Along the way, we would need support for right-to-left languages, and basically flip the widgets horizontally.
ScummVM grows every year, and for decreasing the executable size, we have dynamic plugins system in-place. During detection, we are loading every plugin and try to detect files. The relevant code interface is called MetaEngine. This is not effective and quite slow.
What is needed in this task, is changing our plugin system, so detection-related part of MetaEngine goes straight into the main ScummVM executable, and the engines are not required to load for detection.
Benefits would be faster game detection as well as the ability to detect games even if the corresponding plugin is missing, and let the user know which plugin is missing and needed to play that game.
You need a medium knowledge of C++ for this task. Some bash shell knowledge is a plus.
Wintermute 3D
- Student:
- Gunnar Birke
- Code:
- Work in Progress
- Outcome:
- Success. The code has been merged into master.
- Technical contacts:
- Original task description:
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!
ResidualVM project. See Wintermute 3D for more details.