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

Jump to navigation Jump to search
m
no edit summary
(→‎Porting qdEngine to ScummVM: Added link to the public repo)
m
(One intermediate revision by the same user not shown)
Line 51: Line 51:
[[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.
[[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.


These days, due to the relatively high compatibility our approach is taking an interesting Director title, trying to play it and fix any issues along the way, thus making the process pretty fun. During playback, we often compare the titles and behaviours with the original.
These days, due to the relatively high compatibility our approach is taking an interesting Director title, trying to play it and fix any issues along the way, thus making the process pretty fun. During playback, we often compare the titles and behaviors with the original.


For this year, it would be great to have Total Distortion fully working and Meet MediaBand. The latter will require working with QuickTime playback code.
For this year, it would be great to have Total Distortion fully working and Meet MediaBand. The latter will require working with QuickTime playback code.
Line 57: Line 57:
Often we implement stubs for XObjects which are extensions for Director functionality.
Often we implement stubs for XObjects which are extensions for Director functionality.


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


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


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
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 of code respectively, but we already have experience from working on Penumbra.  
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.
 
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''.  


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 ===
=== YAGA engine ===
Line 80: Line 78:


The goal is to bring cyx's code to ScummVM and use the original code as a reference later.
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 88: Line 85:
* Size: 175 hours or 350 hours
* Size: 175 hours or 350 hours


ScummVM currently has a number of engines which are very close to completion. Many of them were parts of previous GSoCs. For them, we need a playthrough and slight bugfixing, or additional portability fixes.
ScummVM currently has a number of engines which are very close to completion. Many of them were parts of previous GSoCs. For them, we need a playthrough and slight bug fixing, or additional portability fixes.


Some of the engines are:
Some of the engines are:
Line 122: Line 119:


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 ===
=== Porting ALIS engine to ScummVM ===
Line 133: Line 129:


The purpose of this task is to port this engine to ScummVM as a separate engine 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 146: Line 141:


The purpose of this task is to port this engine to ScummVM as a separate engine engine.
The purpose of this task is to port this engine to ScummVM as a separate engine engine.


=== Porting Ambermoon/Amberstar engine to ScummVM ===
=== Porting Ambermoon/Amberstar engine to ScummVM ===
Line 157: Line 151:


The task will require learning or knowledge of the beautiful Motorola Assembly language and some knowledge on how Amiga worked with graphics and sound.
The task will require learning or knowledge of the beautiful Motorola Assembly language and some knowledge on how Amiga worked with graphics and sound.


=== Porting FITD (Alone in the Dark) engine to ScummVM ===
=== Porting FITD (Alone in the Dark) engine to ScummVM ===
Line 168: Line 161:


The goal of this project is porting the engine code to ScummVM's OSystem framework.
The goal of this project is porting the engine code to ScummVM's OSystem framework.


=== Add support for Edna & Harvey: The Breakout to ScummVM ===
=== Add support for Edna & Harvey: The Breakout to ScummVM ===
* Technical contacts: [[User:Sev|sev]]
* Technical contacts: [[User:Sev|sev]]
* Difficulty level: Medium/Hard
* Difficulty level: Medium/Hard
Line 187: Line 177:
* Size: 350 hours
* Size: 350 hours


Our project consists of re-implementations of classic games, and we have listed
Our project consists of re-implementations of classic games, and we have listed a number of potential new game engines that you could work on here on our ideas page. However, you may have a classic 2D Adventure game or Role Playing Game
a number of potential new game engines that you could work on here on our ideas
page. However, you may have a classic 2D Adventure game or Role Playing Game
(RPG) you are interested in yourself that is suitable for ScummVM that you
(RPG) you are interested in yourself that is suitable for ScummVM that you
would like to reverse engineer and re-implement. If so, great!
would like to reverse engineer and re-implement. If so, great!


Adding a completely new game engine is not easy, and you will have to convince
Adding a completely new game engine is not easy, and you will have to convince us that you are aware of the challenges involved, that the game you are interested in is feasible, and that you have the necessary skills. Preferably, you will already have done some preliminary investigation, into for example data file formats, disassembly, etc.
us that you are aware of the challenges involved, that the game you are
interested in is feasible, and that you have the necessary skills. Preferably,
you will already have done some preliminary investigation, into for example
data file formats, disassembly, etc.


Please come talk to us to see if we have a mentor who would be interested in
Please come talk to us to see if we have a mentor who would be interested in working with you on such a game. We'd be happy to help out.
working with you on such a game. We'd be happy to help out.


== Smaller Tasks ==
== Smaller Tasks ==
1,489

edits

Navigation menu