Open main menu

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

→‎Game Tasks: Updated game tasks with the current situation
(Created page with "If you'd like to get involved in ScummVM, we'd love to help you get started! We've had a lot of successful student projects as part of Google's Summer of Code in previous yea...")
 
(→‎Game Tasks: Updated game tasks with the current situation)
Line 49: Line 49:
* Size: 175 or 350 hours
* Size: 175 or 350 hours


[[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. We added so far support for Director 3 and Director 4, but there is much more work related to the specific Xtras, increasing compatibility and working on Director 5 support.
 
=== Enhance SAGA engine for supporting Amiga Inherit the Earth ===
 
* Technical contacts: [[User:Sev|sev]]
* Difficulty level: Medium.
* Size: 175 hours
 
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.
 
=== The Immortal ===
 
* Technical contacts [[User:dreammaster|dreammaster]] or [[User:Sev|sev]]
* Difficulty level: Hard. Good knowledge of C++ and assembly (x86 or 68K or 6502) is required.
* Size: 350 hours
 
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]
 




 
=== Amnesia: The Dark Descent and A Machine for the Pigs (HPL2 engine) ===
=== Penumbra: Overture (HPL1 engine) ===


* Technical contacts [[User:aquadran|aquadran]] or [[User:Sev|sev]]
* Technical contacts [[User:aquadran|aquadran]] or [[User:Sev|sev]]
Line 81: Line 58:
* Size: 350 hours
* Size: 350 hours


Frictional Games has released full sources for their [https://en.wikipedia.org/wiki/Frictional_Games#HPL_Engine HPL1 engine] under GPLv3 license ([https://github.com/FrictionalGames/HPL1Engine link]), around 100k lines of code. This is accompanied with around 37k lines of game-specific code for ''[https://en.wikipedia.org/wiki/Penumbra:_Overture Penumbra: Overture]'' ([https://github.com/FrictionalGames/PenumbraOverture link]).
Frictional Games has released full sources for their [https://en.wikipedia.org/wiki/Frictional_Games#HPL_Engine HPL2 engine] under GPLv3 license. In 2022 we added HPL1 engine and
 
now we could consider adding HPL2. The size of the task is huge since the engines are 275k and 240k lines od code respectively, but we already have experience from working on Penumbra.  
(Source for ''Amnesia: The Dark Descent'' and ''Amnesia: A Machine for Pigs'' were also released, but they use the HPL2 engine).


The purpose of this project is to port the HPL1 engine to ScummVM, with the goal of supporting ''Penumbra: Overture''. Also determine what additional steps would be needed to support other HPL1 games (''Penumbra: Black Plague'' and ''Penumbra: Requiem'').
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 the Pig''.  




Line 113: Line 89:
* [[Avalanche]], some engine parts like Outro are not finished. Complete list is [[Avalanche#TO-DO|here]]
* [[Avalanche]], some engine parts like Outro are not finished. Complete list is [[Avalanche#TO-DO|here]]
* [[DM]]
* [[DM]]
=== Porting qdEngine to ScummVM ===
K-D Labs, a Russian company has created a qdEngine that was used for number of point-and-click adventure games, primarily in Russian, but they were translated into Lithuanian and Czech.
The rough list of games built on this engine could be found [https://questzone.ru/enzi/engin/QD%20Engine at this link].
The engine itself is mid-size, with around 42k lines of code and is written in C++.
The purpose of this tasks is porting this engine to ScummVM.
* Technical contacts: [[User:Sev|sev]]
* Difficulty level: Medium or High
* Size: 350 hours


=== Bring your own Adventure or RPG Reimplementation (only existing games) ===
=== Bring your own Adventure or RPG Reimplementation (only existing games) ===