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

Jump to navigation Jump to search
Reorder to group the smallest task in their own category
(Reorder to group the smallest task in their own category)
Line 66: Line 66:


The purpose of this project is to port the HPL2 engine to ScummVM, with the goal of supporting ''Amnesia: The Dark Descent'' and ''Amnesia: A Machine for Pigs''.  
The purpose of this project is to port the HPL2 engine to ScummVM, with the goal of supporting ''Amnesia: The Dark Descent'' and ''Amnesia: A Machine for Pigs''.  
=== YAGA engine ===
* Technical contacts: [[User:Sev|sev]] or [[User:Strangerke|strangerke]]
* Difficulty level: Medium.
* Size: 175 hours
This engine was used for two later [[Humongous Entertainment]] games, [[Pajama Sam: Life is Rough When You Lose Your Stuff]] and [[Putt-Putt: Pep's Birthday Surprise]]. The engine is basically an extension of Python 2.2. There exists an almost complete reimplementation by cyx [https://github.com/cyxx/linyaga on GitHub] (which we have permission to use) that can be used as a base, and we also have the complete source code for the original game.
The task is relatively straightforward, the only difficulty with it is adding Python as an external dependency, but a mentor is there to help. Implementing the missing "Lip Sync" feature will be the main part of this task.
The goal is to bring cyx's code to ScummVM and use the original code as a reference later.


=== Finishing implementation of incomplete engines ===
=== Finishing implementation of incomplete engines ===
Line 93: Line 81:
* [[DM]]
* [[DM]]
* [[Comprehend]], finishing support for Transylvania (V2), and adding support for the 16-color Apple IIgs versions
* [[Comprehend]], finishing support for Transylvania (V2), and adding support for the 16-color Apple IIgs versions
=== Implementing minigame interface in qdEngine ===
* Technical contacts: [[User:Sev|sev]]
* Difficulty level: Medium
* Size: 175 hours
Last year, we successfully ported qdEngine to ScummVM. However, there are a few smaller tasks left:
* Implementing interface for advanced mini-games
* Fixing pathfinding
* Fixing actor lighting in some circumstances
* Adding more features to the debugger, written in ImGui
This could be a good introductory task into general engine development for a well-established engine codebase.
If you can understand Russian, you may also help with playtesting the rest of the games and perhaps fixing any issues that we discover.


=== Porting ADL to ScummVM ===
=== Porting ADL to ScummVM ===
Line 122: Line 93:


The purpose of this task is to port this engine to ScummVM's Glk engine.
The purpose of this task is to port this engine to ScummVM's Glk engine.
=== Porting ALIS engine to ScummVM ===
* Technical contacts: [[User:Sev|sev]]
* Difficulty level: Medium
* Size: 175 hours
ALIS (Actor Language Integrated System) is an engine that was used by [https://en.wikipedia.org/wiki/Silmarils_(company) Simlarils] for most of their games and about 17 of them are expected to work on this engine. There is an engine that is almost complete, it is pretty small, less than 10k lines of code and is distributed under MIT license. [https://github.com/maestun/alis Engline] and we also have Ghidra projects for the engine.
The purpose of this task is to port this engine to ScummVM as a separate engine engine.


=== Porting ACK engine to ScummVM ===
=== Porting ACK engine to ScummVM ===
Line 157: Line 118:
=== Porting FITD (Alone in the Dark) engine to ScummVM ===
=== Porting FITD (Alone in the Dark) engine to ScummVM ===


* Technical contacts: [[User:Sev|sev]]
* Technical contacts: [[User:Sev|sev]], [[User:somaen|somaen]]
* Difficulty level: Hard
* Difficulty level: Hard
* Size: 350 hours
* Size: 350 hours
Line 211: Line 172:
# Define GUI options for triggering the option
# Define GUI options for triggering the option


== Infrastructure Tasks ==
=== Implementing minigame interface in qdEngine ===
 
* Technical contacts: [[User:Sev|sev]]
* Difficulty level: Medium
* Size: 175 hours
 
Last year, we successfully ported qdEngine to ScummVM. However, there are a few smaller tasks left:
 
* Implementing interface for advanced mini-games
* Fixing pathfinding
* Fixing actor lighting in some circumstances
* Adding more features to the debugger, written in ImGui
 
This could be a good introductory task into general engine development for a well-established engine codebase.
 
If you can understand Russian, you may also help with playtesting the rest of the games and perhaps fixing any issues that we discover.
 
=== Porting ALIS engine to ScummVM ===
 
* Technical contacts: [[User:Sev|sev]]
* Difficulty level: Medium
* Size: 175 hours
 
ALIS (Actor Language Integrated System) is an engine that was used by [https://en.wikipedia.org/wiki/Silmarils_(company) Simlarils] for most of their games and about 17 of them are expected to work on this engine. There is an engine that is almost complete, it is pretty small, less than 10k lines of code and is distributed under MIT license. [https://github.com/maestun/alis Engline] and we also have Ghidra projects for the engine.
 
The purpose of this task is to port this engine to ScummVM as a separate engine engine.
 
=== YAGA engine ===
 
* Technical contacts: [[User:Sev|sev]] or [[User:Strangerke|strangerke]]
* Difficulty level: Medium.
* Size: 175 hours
 
This engine was used for two later [[Humongous Entertainment]] games, [[Pajama Sam: Life is Rough When You Lose Your Stuff]] and [[Putt-Putt: Pep's Birthday Surprise]]. The engine is basically an extension of Python 2.2. There exists an almost complete reimplementation by cyx [https://github.com/cyxx/linyaga on GitHub] (which we have permission to use) that can be used as a base, and we also have the complete source code for the original game.


Finally, there are always plenty of other practical tasks on our wishlist!
The task is relatively straightforward, the only difficulty with it is adding Python as an external dependency, but a mentor is there to help. Implementing the missing "Lip Sync" feature will be the main part of this task.


The goal is to bring cyx's code to ScummVM and use the original code as a reference later.


=== System for checking the game files integrity ===
=== System for checking the game files integrity ===
Line 230: Line 225:


We need to complete this task and make it fully functional.
We need to complete this task and make it fully functional.
== Infrastructure Tasks ==
Finally, there are always plenty of other practical tasks on our wishlist!

Navigation menu