Game Interpreters Part IV: Snatcher

Posted by Alex Lee on 2 March 2011 | 14 Comments

Tags: Apple IIGS, Snatcher, Hideo Kojima, Interpreter, Konami

Unfortunately, it's that time where the 'what if' switch in my brain goes off again. On this occasion it's around the adventure game Snatcher, although this one's a different kettle of fish from my previous musings of bringing 'new' adventure games to the IIGS for some home-brew treatment.

As I was backpacking throughout Europe in 2010, three months had passed before I realised I hadn't played any video games, let alone emulated an Apple IIGS in all that time. Of course, seeing the sights, tasting local cuisines and experiencing culture kept me busy almost all of the time, but the craving for staring at some sort of screen began to take hold. You need to take time out from having time out you know.

I'm not entirely sure why, but I decided to check out 'Kega Fusion', a combined Sega Master System, Genesis/MegaDrive, 32X and Mega CD emulator. This is how an emulator should be done on Mac OS X: easy to open ROMs and disk images (including cue and bin files), output screen shots, save states, and the smoothest scrolling I've ever seen on a Mac, thanks in part to much of the core of the emulator having been written in Intel assembly.

 

Snatcher Title Adjusted for IIGS Resolution

 

I decided to play Hideo Kojima's Snatcher for Sega CD, as it's the only version of Snatcher that's been officially translated into English, the MSX version having been fan translated to both English and Portuguese.

I had hoped to play the original PC-88 version, with larger scene graphics and better music than the MSX version, however no-one has created an English translation. Anyway, the Sega CD version is probably the best version existing, taking everything from the Japanese PC Engine CD-ROM version and adding some of its own unique content and luckily escaping the unnecessary excesses that came with the Playstation and Sega Saturn versions.

While the Sega Mega CD wasn't a popular format and most of its games were panned, I was immediately impressed with its capabilities - long video cut scenes weren't simply pre-rendered video, playing back with some crappy codec that compromised image quality. Instead, these highly detailed cut scenes are beautiful pixel perfect animations that ran on the fly, thanks to some sort of scripting dictating the action, with excellent redbook audio and music accompanying. Using a IIGS back as a young teenager, this is where I hoped CD-based multimedia was heading.

 

Snatcher Opening Adjusted for IIGS Resolution

 

Back to Snatcher: In the year 2042 Earth's borders and power bases shift in accordance with 'The Catastrophe', a mysterious but cataclysmic bio-chemical event triggered in Russia some 40 years before had claimed half the population of the world. If that wasn't distressing enough, in recent years, the Snatcher menace slowly began to reveal itself. These enigmatic robots were infiltrating society by substituting people with themselves, murdering their hosts and taking their appearance. Little was known about them even after the JUNKER agency was founded to combat the threat.

You are Gillian Seed, a man haunted with empty memories. This is also true of Gillian's wife, Jamie, and unable to reconcile without a shared past they decide to separate. Their mutual amnesia is no accident however and what Gillian does know is that they were found in suspended animation in the Russian wasteland. Now living in Neo Kobe, Japan, where Snatchers were first discovered Gillian instinctively joins the JUNKER agency in the hope of discovering his missing past.

 

Snatcher Talking with Mika Adjusted for IIGS Resolution

 

I had heard good things about Snatcher and for once my expectations weren't dashed. The pixel art maintains a consistent anime style, illustrating scenes in high detail that set the right mood and provide visual clues to help you progress. Hand in hand with the visuals is the brilliant audio effects and even better music. Between these and the excellent well paced story, revealing just enough of the trail you follow to provide twists and revelations you never expect, you'll feel this is a real world with genuine moments of apprehension, tension, horror, laughter and even sympathy for characters you interact with in this skewed future.

 

Snatcher Talking with Mika Adjusted for IIGS Resolution

 

Normally, anyone would simply enjoy this interactive tale, but I soon couldn't help myself from thinking - what a shame this wasn't released on the IIGS. The graphics, animation, interface, sound and music could all be done on the IIGS, with little modification. The Sega CD version includes a lot of audio in the guise of voice acting and I concede this could be done on the IIGS with a CD-ROM drive, however this would greatly limit the already incredibly small amount of people who'd likely play it today on a IIGS. The PC88 and MSX versions were all text based and that would work better for the IIGS - voice acting, though surprisingly good as it is in the English Sega translation, isn't necessary as the story can unfold just as well if read. The graphics convert incredibly well to the IIGS. In a way, so many scenes' colour is distributed into horizontal bands, which is perfect for the multiple colour palette ability of the IIGS. Animation could be handled with Pegasoft's Draw Tools, or Kenrick Mock's SAP, or possibly even the file size behemoths of Paintworks animations. The sound effects and music, usually short but incredibly effective compositions that loop, could playback at 22Khz or less as samples with the ACE toolset on without problem, although it might require a fair bit of RAM for the longer musical arrangements.

 

IIGS Palette Allocation for Selection Screens

 

At any rate, I have all the music and sound effects, hundreds of screen grabs comprising of the graphics from the game, but one trick to producing this on the IIGS is that an interpreter would need to be written from scratch. Snatcher's gameplay is nowhere near as complicated as a Sierra Creative Interpreter game - there is no text parser and no collision detection and bordering of areas where your character can and can't go within a scene. The way you interact in Snatcher is very simple - you predominately choose between the options presented in list form. These actions will lead to dialogue heavy conversations with characters, in depth analysis of crime scenes, new choices arising from exploring existing ones and occasionally there might be some text entry to solve a puzzle or make a video call. This could mean however that a IIGS interpreter could be written with easier, higher level languages like C or Pascal, as most heavy lifting could be left to the toolset.

 

IIGS Palette Allocation for Text & Dialogue Screens

 

The other real trick if Snatcher were produced on the IIGS is the game's content itself. Although the entire script of Snatcher has been extracted from the Sega CD version, it's not in a form that's easily used with an interpreter. Where do scenes begin and end? What defines the image that should be displayed or the music played for a scene? How should selectable options be listed and made distinctive from dialogue? How would inventory management or saved games work? Although the game is mostly linear, there are some variations that can occur if actions are done at different times. I've only played through the game once and I've read that I've missed a lot of video phone numbers and an extra scene in the shopping district with Jamie involving a potential Snatcher.

Additionally, the spoken dialogue would need to be replaced with written dialogue. Using a program like Adobe Premiere Pro, which can automatically transcribe spoken words to written form used for subtitling, might make this process easier, rather than manually writing down the voice acting...there is a hell of a lot of it!

 

Snatcher Talking with Napolean Scene

 

Again, I have to reiterate that I'm not a programmer, but an 'interpreter' I'm most familiar with is a web browser. Using XML style tags, the game's content could be sorted and graphics and audio cues and interaction could be defined with examples like these:

<playsndXXX> cue to play a sound that plays only once
<playmusXX> cue to play music that loops
<red> </red> text will appear red
<blue </blue> text will appear blue
<yellow> </yellow> text will appear yellow (white is the default colour for text)

<option1> for the first listed available selection listed
<option2> for the second listed and so on...

<revealoptionX> reveals another menu option previously hidden until another text is read.
<pause=5> pause text for drama/suspense, in seconds
<looptext> once last text of an option has been displayed, loop the answers back to the beginning again

Perhaps using such tags, a IIGS interpreter could know what to do with it. The tags listed here are not exhaustive by any means and someone with more experience with structuring XML style tags would be greatly appreciated if Snatcher GS would ever be undertaken.

For the meantime though, simply enjoy this slideshow I've prepared:

 

 Snatcher Slideshow (332Kb)

 

I used Brutal Deluxe's Convert 3200, as its batch convert did a marvellous job of converting all 48 images, which I had prepared in Photoshop to account for the change between the Sega Mega CD's resolution and the IIGS' 320x200 super hi-res graphics mode. I even enjoyed making the icon, which was made from a screen shot of the PC88 version, which uses a graphics resolution of 640 by 200 - perfect for the IIGS' usual desktop. Thanks Super Convert 4!

 


Post your comment

Comments

  • OK, I’ve now assembled everything that’s needed for re-creating the first playable scene in Snatcher. Download this:

    http://www.whatisthe2gs.apple2.org.za/files/Snatcher_First_Scene_Breakdown.zip

    (~1.4 meg) which includes:

    1) a PDF (Scene 1 JUNKER HQ.pdf) of a dialogue tree between the characters Gillian (your character) and Mika (JUNKER HQ receptionist).

    2) GIF files that display how the scenes’ compositions should look. It’s a reference to reassemble the separate graphic elements that must be put together on the IIGS using code and specifying palettes across different scan lines.

    3) A 2image 32 meg hard drive image called ‘Snatcher Work Scene01.2mg’. This includes the SHR format graphics for each scene, including animation frames sitting outside the main viewing area for each scene. At the bottom of each is a colour palette that helps maintain the different colours text can be displayed with in game.

    Additionally on the 2image, there is also the music for the first screen in different formats – as a sound resource, ACE compacted or raw audio. I recommend looking at the libsound library (https://github.com/cshepherd/libsoundGS) for playback of these audio files (playback can only work from a fast SCSI or compact flash device). libsound also allows multiple sounds to play at once, which is perfect for keeping the music looping in the background while sound effects play as the story unfolds.

    Great to hear you're committed Jeff! Send me an email via http://www.whatisthe2gs.apple2.org.za/submit-news/

    Posted by Alex Lee, 19/02/2013 4:41am (2 years ago)

  • More research is needed. I've ordered volumes 1 and 2 of the Toolbox reference from Amazon today. Volume 3 seems to be harder to find for a reasonable price. At any rate - right now I am thinking assembly and QuickDraw II may produce the best results. We will see. The only shipping options I had were 4 to 14 days. This may be a slow process, but I am committed to seeing it through. Snatcher IIgs should be a thing.

    Posted by Jeff R, 18/02/2013 8:21pm (2 years ago)

  • Take your time, no rush. I am still working on QuickDraw. I've been busy with work and nursing a sinus cold - so - no rush :)

    Posted by Jeff R, 07/02/2013 5:45pm (2 years ago)

  • Jeff: I'll need a bit of time, but I'll assemble everything I've prepared to recreate scene 01 of the game, including the conversation tree, specific graphics (and animation), as well as music, and a minor redesign of the interface from the SegaCD version that better suits the multiple palette mode of the IIGS across scan lines. I'll try to get that done over the next 3 days.

    Posted by Alex Lee, 04/02/2013 11:27pm (2 years ago)

  • Great. Over the weekend I've been reading up on the IIgs toolbox, specifically QuickDraw II. I've got some hex data from the images in your slideshow. I will work on some basic functionality this week. I have some fundamental knowledge of 6502/65816 assembly so I think I may try to implement there first. The benefit of course is a speed increase and size decrease.

    I think the most difficult part will be writing the engine but the most tedious part may prove to be gathering all the right pieces. You're right that the scripts aren't in a very usable format. Obtaining all the graphic data could prove to be a chore. We'd have to map out all the conversation trees as well. All this and things like animation/sound can come later, of course.

    I am getting away from myself. I'll work on the basic functionality this week and get back to you.

    Posted by Jeff R, 04/02/2013 6:49am (2 years ago)

  • No one is currently undertaking a conversion to the IIGS at this time, as far as I'm aware. I don't think the engine has ever been reverse engineered, but the complete script to the game has been dumped from multiple versions: http://junkerhq.net/dumps.html

    I did start producing a flowchart as to what dialogues follow onto responses after making selections...it was a lot of work, and it's really only the first scene in JUNKR headquarters i 'transscribed'. If you'd like to give a IIGS version a go, let me know and we'll see what we can do!

    Posted by Alex Lee, 02/02/2013 6:41am (2 years ago)

  • Alex - quick question, is anyone currently working on porting this to the Apple IIgs? I think I'd like to give it a go.

    Posted by Jeff R, 01/02/2013 6:58am (2 years ago)

  • Snatcher is pretty darn cool. It's quite similar to the game you guys were building nearly 20 years ago — Opale. It's never been discussed if there's actually any engine as such behind the game.

    Posted by Alex Lee, 18/01/2013 9:09am (2 years ago)

  • Hi Alex,
    Your pics are awesome.
    Frankly, if we had the motor/engine, it would be cool to port it on the IIgs,
    antoine

    Posted by Antoine, 14/01/2013 1:19am (2 years ago)

  • That should have said '...re-create the very FIRST scene of the game...'

    Posted by Alex Lee, 09/03/2011 2:25pm (3 years ago)

RSS feed for comments on this page | RSS feed for all comments