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

Jump to navigation Jump to search
(initial page, everything should be rewritten (almost))
 
Line 66: Line 66:
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.
'''3D Game Engine 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 ===
Line 73: Line 73:
Difficulty level: Medium/hard. You'll need to be able to understand 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
'''3D Game Engine project.''' See [http://wiki.residualvm.org/index.php/GSoC_Ideas#In_Cold_Blood_engine_refactor ICB engine refactor] for more details
 
=== The Immortal ===
 
Technical contacts [[User:dreammaster|dreammaster]] or [[User:Strangerke|Strangerke]]
 
Difficulty level: Hard. Good knowledge of C++ and assembly (x86 or 68K or 6502) is required.
 
The immortal was released in 1990 by Electronic Arts. It's a mix of genres involving RPG elements with action and puzzles.
The gameplay is different one variant to the other, and all variants are written in assembly, making it more difficult to support all the variants.
 
In 2018, a GSoC student picked this task but, due to personal issues, didn't manage to complete the task. The purpose of the task is therefore to implement an engine for a variant of the game, using the original sources and the work of JoeFish as a documentation.
 
[https://www.mobygames.com/game/immortal/screenshots Screenshots on Mobygames]


=== Bring your own Adventure or RPG ===
=== Bring your own Adventure or RPG ===
Line 166: Line 153:


The scope of the project is to design and implement the base system in ScummVM for Windows and Unix (using Named pipes / Unix domain sockets for communication), and to write a high quality companion application for one of the game engines in ScummVM.
The scope of the project is to design and implement the base system in ScummVM for Windows and Unix (using Named pipes / Unix domain sockets for communication), and to write a high quality companion application for one of the game engines in ScummVM.
=== Move Detection Code to the Main Executable ===
Technical contacts: [[User:Sev|sev]], [[User:Criezy|criezy]]
Difficulty: Medium
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.

Navigation menu