Difference between revisions of "Summer of Code/GSoC2020"

From ScummVM :: Wiki
Jump to navigation Jump to search
(fix organization archive link)
(fix broken ResidualVM link)
 
Line 68: Line 68:
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!


'''ResidualVM project.''' See [http://wiki.residualvm.org/index.php/GSoC_Ideas#Wintermute_3D_port Wintermute 3D] for more details.
'''ResidualVM project.''' See [https://wiki.scummvm.org/index.php?title=Summer_of_Code/GSoC_Ideas_2020#Wintermute_3D Wintermute 3D] for more details.

Latest revision as of 18:11, 20 August 2021

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
Mentors:
DJWillis, sev
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
Mentors:
somaen, aquadran
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.