Playing Evidence: the Last Ritual
Table of Contents
I recently wanted to replay a game named In Memoriam (also known as Missing: Since January). It was an interactive thriller game created by Lexis Numerique, where the player was tracking a serial killer based on the clues he hid in weird pictures and filmed footage. While playing you were supposed to receive mails from characters in the game, and search for clues on the web (on both fake and real websites). Sadly, in June 2014 Lexis Numerique filed for bankruptcy, and the servers were shut down in the following months. This meant that no new account could be created, and thus the game became unplayable.
Fortunately, someone made a partial backup, rebuilt most of the sites and hosted them on a server, and restored an account and mails system. More info, and the installer for the hosts modification are available on the site of the In Memoriam Revival project.
But this project only covers the first In Memoriam, and not its sequel which faces the same issues. Thus I decided to see how I could set up some kind of local server to be able to replay this one too.
First, install the hosts modification provided by the In Memoriam Revival project. Even for the second game they will be useful. Then, we need to set up our local server and redirect to it. You can download the files from here.
The easy way
- In your
/etc/hostsfile, find the line containing
www.inmemoriamdev.com. Replace the IP adress with
127.0.0.1(localhost). You might have to copy the hosts files first to be able to modify it, then move it back. Or use a hosts preference pane .
- Install MAMP.
- Locate the root directory used by MAMP (defaults to
- Put the unzipped
scriptIM2folder inside this directory.
- Launch MAMP
- In the Preferences pane, select the Ports tab, and click Set to Default Apache and MySQL ports: this will set the Apache port to 80.
- Start the MAMP servers (you might have to authenticate)
- You can check that everything works by opening www.inmemoriamdev.com in your browser, this should show the content of the htdocs directory.
The manual way
All we need is a HTTP server with PHP and MySQL enabled. The address
www.inmemoriamdev.com/scriptIM2 should link to a local directory containing the files you downloaded. Good luck!
Each time you want to play, the local server has to be running.
At first launch, follow the instructions given by the game. When you register your account, it will be saved in local instead of being sent to the game servers. When asked for your password, switch to your browser and go to the local webmail page at www.inmemoriamdev.com/scriptIM2/webmail/. Enter the username you just registered in the game, and you'll see a first mail containing the password.
The local webmail
As described just above, when your local server is running you can access your webmail at the adress www.inmemoriamdev.com/scriptIM2/webmail/, where you will be able to see the messages you received from the game protagonists.
Basically I launched the game while monitoring my connection with Wireshark. Each time the game stalled (because it was awaiting a answer from the server), I checked the latest messages sent. Based on the work from the In Memoriam Revival project for the first game, and with lots of trial-and-error, I wrote the expected REST answers (using the CocoaRest client and a few PHP scripts on my local server).
An interesting part is the mail scheduling. During the game, the player usually receives emails from in-game characters in its 'real life' inbox. When scheduling one such message, the game basically sends a request with the content of the mail in the correct language, and a timestamp for the time at which the mail should be sent. Thus, the server doesn't have to handle localization or anything apart from sending the mail at the right time.
For instance (for a french email):
This is an interesting trick, but if the user plays offline, new mails won't be registered until the next connection to the Internet. In my implementation, all mails are saved in a local MySQL database. The webmail page only displays the messages with the correct timestamp.
For the websites the player was supposed to browse looking for clues, some are still alive thanks to the In Memoriam Revival project (this is the reason why you nee to install their hosts modification) , others are not. They might be hosted on the Internet Archive but some are, I fear, definitely lost.
If someone is interested in pushing my solution to the next level, feel free to do so! If you have any question, contact me (adress on my website).