Scott T: The Blog

Digging into T7G iOS

Posted Tue, Nov 29, 2011 at 8:43pm by Scott
Tagged: games, programming, scummvm

I've been thinking about writing up this post for the last few months now but with the release of ScummVM 1.4.0 a few weeks back (which supports T7G iOS), now seems like a suitable time.

My first iOS game!

The 7th Guest for iPhone and iPad was announced mid last year and then released in December. I read around a bit at the launch and it seemed a mixed bag - three culled puzzles (including the notorious microscope puzzle), high framerates for most videos, but a good large dose of nostalgia for many people.

Back in April I was able to borrow a friends iPhone, and so was finally able to test out the port for myself. Though it played fluidly, it was a little rough around the edges - the music was a little flat (admittedly this is personal preference), the cursor mapping just above the finger was a little awkward for some puzzles, high-speed animations included all the 'teeth' events which took away from the atmosphere (and caused out-of-sync music). Interestingly, the port also suffered the same problem as the Windows interpreter (see ScummVM bug #2831041) though not too surprising given the Windows release source was likely used as the reference. Similarly, the cake puzzle bug also still exists.

After the playthrough, the next step was to obviously look under the hood. After extracting the app archive and digging down into the folder heirarchy, it turns out almost all the original game datafiles were present, completely untouched (including the original introduction and credits - both of which were replaced in the port). Data-wise, the largest change was the removal of XMIDI music in favour of AAC.

AAC powered music!

Work then began on the required changes to support the game - clone2727 mostly worked on the AAC decoder (as part of extending the QuickTime code) while I added the necessary changes to handle and load the music resources as well as a config file option to run the game at faster game speeds (add t7g_speed=tweaked in the ScummVM config file for faster walking/puzzles but normal cutscenes and supernatural events, t7g_speed=im_an_ios for all non-cutscene videos sped up).

Stauf is back for more microscopic action

In the end, it was a relatively straight-forward process to add support for the game. The missing puzzles are also back as the required game scripts were never removed. Best of all - this provides an easy way (if you have an iTunes account) to grab T7G but play it on whatever platform you desire :)

Pointing the Way

Posted Sun, Aug 30, 2009 at 11:20am by Scott
Tagged: games, programming, scummvm

In a combination of getting my mind off of study, and giving clone2727 no reason for not posting Riven videos - see the IRC logs (at around [15:00]) for explanation - you can now see where the mouse is located in 11H (and the other GroovieV2 games).

There still needs to be a little bit of work done though. For some reason that I'm yet to determine, some pixels of the cursors are still missing (more obvious in the full-sized images).

Blending is still not supported, although how to apply the blending has been worked out. Currently I'm assuming the cursor will always be over the top of a black background, which works well when it is (like the above) but not so well for when it isn't.

And as much as the above image doesn't show it, they are animated although the transition between hand direction isn't implemented yet.

Beating JPEG

Posted Wed, Jul 01, 2009 at 11:03pm by Scott
Tagged: games, programming, scummvm

One of the main sticking points for working on The 11th Hour recently (ignoring lack of time) has been the still frames within ROQ files. Although seemingly trivial within T7G, 11H uses more complex/advanced image compression for both video and stills. The video frames have been working for a while with some very minor glitches however the still frames use JPEG, and it's hard to find a decent documentation source. Never-the-less, some work had been done prior to now by clone2727 (for Mohawk) and jvprat which I obtained last week and then became rather obsessed with fixing =P

From rather simple beginnings, there were some rather critical issues to be fixed first (ie, missing functionality) which rapidly pushed towards a greyscale image.

Fiddling here and there resulted in a vast number of -ish improvements until a breakthrough resulted in the following:

All the AC components of the image seemed fine so after fixing an issue with the DC values, success was reached. Five minutes of tinkering to add JPEG to the 16bpp branch and we have the final image, rendered in RGB.

For those interested in the progress shots, the (semi-permanent) gallery has many ways of not to decode a JPEG.

According to Plan

Posted Thu, Mar 12, 2009 at 11:38am by Scott
Tagged: everyday, games, sailing
No comments - Add one!

Isn't it nice when things go according to plan? Considering this was meant to be posted 2 weeks ago, I'm not doing a bad job :P

Not much ended up happening through December other than starting my summer work and Christmas. Fortunately my summer job lasted longer than expected so although I didn't have much spare time off after starting, it was nice to re-fill the bank balance slightly. The arrival of January marked the start of the year, and also (oddly enough) the start of a rather annoying 3-week stretch of hot weather (ignoring 15th-18th of Jan).

This hot weather also coincided with the Mosquito National Titles (held in Wallaroo this year) - somehow the two always seem to start in the exact same week as each-other, regardless of when in the month they actually occur. I didn't end up going but I heard the sand blown by the wind was extremely irritating for the spectators.

January continued without much of interest before turning into February and bringing the second half of the Mozzie State Titles (as continuation from Pt Vincent in late last year). A rather enjoyable weekend was had from our perspective, and I managed to get sunburned yet again (backs of legs and a little bit on the arms this time). Facilities were about the only complaint to be had (the blue tent was the clubhouse):

Uni started early this year due to one topic running from Feb till April rather than in Semester 1, so I moved back down to Adelaide on the 12th instead of 22nd so I had a fairly quiet week or so from then until O Week started. O Week Tuesday afternoon (and Wednesday morning) were taken up by a LAN organised within our engineering year level which provided a nice way to relax before the beginning of a new year.

On a different note, T7G is supported in the new 0.13.0 release of ScummVM :)

t7gre - svn'd

Posted Sat, Nov 15, 2008 at 9:16pm by Scott
Tagged: games, scummvm
No comments - Add one!

As Spookypeanut put it, it's the The End of the Beginning. Starting with simply loading the VDX data files, we've managed to recreate the Groovie engine as a ScummVM plugin, and as of revision 35060 it's now included in ScummVM :)

Obviously things aren't over yet - there's still the full AI for the microscope puzzle remaining. We also want to implement the remaining Groovie games as well - Clandestiny, The 11th Hour, Uncle Henry's Playhouse and Tender Loving Care - although these use a slight variation to that of T7G.

Exciting times ;)

Spam Count 
  • 1906 spam comments
Boring Stuff 

The images shown on this site are ones myself or family members have taken (unless otherwise noted). Don't use them unless you let us know - leave a comment somewhere as I'll usually find it.

Things I write can be used as quotes elsewhere however as long as they are attributed to me (preferably with a link and a comment somewhere that you've used it).