Hi there!

My name is Michael and I am excited for this opportunity to participate in Google Summer of Code this year. The project I will be working on aims to implement an engine for the game The Immortal in ScummVM. This will be a continuation of the partial engine created in a previous GSoC by JoeFish.

My Background

Although I only learned about ScummVM this year when looking into GSoC, I quickly connected with the idea of preserving games through a compatibility layer that would otherwise become more and more difficult to run on modern systems. ScummVM even takes it a step further in that it supports a large variety of different operating systems. This concept resonated with me because I have a love and connection to many games from the 80s and 90s, and it is becoming increasingly hard to find good, legitimate methods of playing those games on modern systems. There is another facet to this however, in that for many years my hobby has been rom hacking. Through my time with that hobby I gained a passion for reverse engineering game code from the era. I am frequently amazed by what many developers were able to accomplish on the hardware of their time, and I love learning more about the way game engines work. Along the way I learned to work in both low and high level programming languages, as well as work with little to no documentation. I enjoy problem solving, and I love the idea of preserving games which might otherwise end up lost to time or through a lack of compatibility, so I am happy to be able to work with ScummVM.

The Game

I had only vaguely heard about The Immortal before GSoC, so I do not have a personal history with the game, but I enjoy adventure games of the era, and The Immortal has many interesting features. The cryptic hints, deadly traps, and by modern standards very strange combat system (depending on the version) are all tied together by a creepy atmosphere and impressive visuals. This game also had many different versions across several platforms at the time. This makes preservation even more important, as small, but for some potentially significant, differences can be lost because only one version ends up being used for re-releases, or compatibility is only addressed in particular versions, etc. With an implementation of the game in ScummVM, compatibility could be preserved across all versions eventually. I am excited to learn more about this game, especially the inner workings of its engine, as I work to provide compatibility for it in ScummVM.


During the community bonding period, I will be getting a handle on the current partial engine, and the game code itself. I will work with my mentor to revise and restructure my timeline as needed, to ensure that I have a solid plan for tackling this project over the summer. As well, since I am new to working with git hub, I will use this time to ensure I can utilize it effectively and without issue.

1 comment

Leave a comment

Your email address will not be published. Required fields are marked *