Wednesday 17 December 2008

Supported

This post is probably pointless, as probably the ones of you that follow this, also follow ScummVM's news page. But as of yesterday, The 7th Guest is officially supported by ScummVM. This means that it will be included in the next ScummVM release (0.13.0, whenever that may be), and that we're accepting bug reports to the ScummVM bug tracker. And if anyone submits "the microscope puzzle doesn't work like the original" then I won't be impressed :-P (see previous post if you don't know why).

Saturday 22 November 2008

It's not quite what I intended...

The microscope puzzle. As many of you might have predicted, even the non-programmers, it's one of the more difficult bits of the project. In fact, just as it was one of the more difficult bits of the game.
I'm going about it in a way that feels like cheating. Basically, I'm completely ignoring the disassembly for now, and implementing my own algorithm (with inspiration from this tool) play the game (hopefully well). The ideal thing being that once I've done this, and have a really good idea of how the game works, I then look at the disassembly and figure out more easily (though certainly not easily) how it works. But it is possible that this latter step may get... postponed. Depends how well my algorithm works (and how different its playing style is from the original's).

Saturday 15 November 2008

The End of The Beginning

Well, as of ScummVM r35060, the Groovie engine is part of it. Yes, that's right folks, if you download the Daily Snapshot of ScummVM from now on, you'll be able to play The 7th Guest with it.

We're going to keep the google code project going, but the svn repos there might not always have the most recent code: that will be in ScummVM. And this blog will continue indefinitely :-).

Friday 7 November 2008

Completeable!

... kinda. Apparently. As of r328, the game should be completable without the use of the library. However, no-one has played it through from start to finish: if anyone wants to try to play the game all the way through, please let us know if it works! As stated in the last post though, disassembling the AI for the microscope puzzle is going to take quite some time as it is very complicated: at the moment Stauf may seem considerably more stupid than you remember him (in fact, his moves aren't even valid: he basically does nothing the entire game). But still. The game's completeable! Yay!

19/21

Wow.

I leave the project for one day, and come back to find that Jordi has changed four bits in the source code, leading to the fact that at least five more puzzles are now complete. Of the two that are left, one might work (apparently, just about to test it myself :-), and the other is going to be very, very difficult. It's the microscope puzzle, which if you know the game, you'll know is very different to all the others, as it involves an albeit basic form of AI.

Wednesday 5 November 2008

Call for versions...

We're trying to figure out how many different versions of groovie games (particularly t7g) there are, and the differences between them. If you want to help out, you'll need a copy of t7g (or other Groovie game), the ability to create an iso file from it (e.g. one of these pieces of software: http://en.wikipedia.org/wiki/List_of_ISO_image_software), and the ability to generate md5 hashes from the resulting files. Then post the relevant information as a comment on the checksums page. We will also need the executable version number: this can be found by running the executable (v.exe for t7g, v32.exe for 11h) in a command window (or in Dosbox).

Tuesday 4 November 2008

14/21

http://code.google.com/p/t7gre/wiki/Status

Sunday 2 November 2008

But there has been progress!

It has been pointed out to me, that since I last posted any actual news about t7gre, quite a lot has changed. Jordi has been working away since I last posted (about MIDI music working), and we now have a wiki page to keep track of which puzzles are working, and 13 out of the 21 puzzles in the game are working fine. That's an amazing testament to the work that he's put in over the past few months. But now he's getting distracted in other directions... take a look at this!

Trying to get back on a rolling ball

Well, the most hectic time on The Tale of Despereaux is (probably) over, and I have a little more time. Just enough time, in fact to spend a substantial amount of this weekend installing Kubuntu 8.10, and to get pissed off at KDE 4.1 (which, despite its prettiness and everything, seems to have less features than KDE 3.5).
But I have managed to do a little on t7gre, even if it is just to fix a small regression that has been there for goodness knows how long... ever since Jordi revamped the movie player to, y'know, work properly. Shows how often we watch the intro! Well, it is ridiculously long...
And so just as I'm thinking I'll dig back into the assembly, I discover that VirtualBox, the method by which I run WinXP IDA on Linux, has stopped working. Grrr. Having re-isntalled it, it works, but my VM now BSODs on startup. I have to install Windows. AGAIN.

Calm down. Relax. Man, I wish I could afford copy of IDA for Linux...

Saturday 14 June 2008

Distracted

Well, apart from only getting in from work at 8pm each evening, I now have something else to distract me from t7g: we got a Wii. I'm sure sooner or later I'll get bored of it, but atm its sucking up all my spare time :-)

But don't be downhearted: jvprat has been working in my absence, and he's implemented music! Which is v cool: remember the music when you click on the painting at the top of the stairs? I did ;-) It's not fully implemented yet, but it's a good start!

Tuesday 20 May 2008

Calling Jake

When I first played The 7th Guest, it was at a friend from school's house: he was the only person I knew with a cd-rom drive. We played it, I think, all the way through, and I have many happy memories of those times.
I have barely spoken to Jake since, and over the last year or so while I've been investigating the game, I've also been remembering those times. I thought I'd let him know what I was up to, and to remind him of those times too. But I can't find him on tinternet at all, it has failed me! So Jake Taylor from Hale, if you're reading this (bit of a long shot), leave a comment!

Messiness & recovery

This post is predominantly an apology. In order to get the surfaces working the same way that they do in the original, I've had to hack apart some of the beautifully structured code that jvprat wrote, and my coding is not as... well, good.
Anyway, the internal structure is more suited to continuing work now, but there are extra graphical glitches for your delectation. Mmmmm.

Sunday 18 May 2008

Delayed spiders...


Well, it took longer than I'd have thought (I don't have as much time to dedicate to this project as Scott does, ok?), but I finally got the spider door puzzle working. Turns out that the engine uses two surfaces, a foreground and a background, and the front one is partially transparent. Here's me thinking i wouldn't have to worry about sprites and the like. Still, done now. Probably not the most efficient way, but hey it works. Cake next? Nah, telescope I think :-)

Friday 2 May 2008

Uncle Henry

Well, jvprat found an auction of what is probably* the last groovie game: Uncle Henry's Playhouse. Astonishingly, the person selling had three shrinkwrapped copies (and it doesn't look like Butterfly-ware, before anyone asks!). I had looked everywhere for this, so I was willing to pay the (quite high, but not FM-Towns high) price. There's still one copy left, if anyone wants it:
http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&rd=1&item=380019732447&ssPageName=STRK:MEWN:IT&ih=025
ION: I have no internet at home. Which makes work on t7gre awkward (and means I have to post this from work). But I'm getting some stuff done. Hopefully I'll get internet back start of next week, and be able to commit it.

* I say probably because we're just assuming it's a groovie engine game. Seems likely, as it is just a collection of puzzles from the earlier groovie engine games, but you never know till you see a file list!

Thursday 24 April 2008

Error in the original?

I think I found an error in the original (well, windows re-release) of T7G... I can't explain it any other way. If you don't understand assembly, this will probably be lost on you, but I'm going to paste it in anyway:

.text:00404B5A mov eax, [ebp+var_C]
.text:00404B5D imul eax, 3
.text:00404B60 mov ecx, [ebp+cursor_file]
.text:00404B63 mov dl, [ecx+eax]
.text:00404B66 mov byte ptr [ebp+var_1C], dl
.text:00404B69 mov eax, [ebp+var_C]
.text:00404B6C imul eax, 3
.text:00404B6F mov ecx, [ebp+cursor_file]
.text:00404B72 mov dl, [ecx+eax+1]
.text:00404B76 mov byte ptr [ebp+var_1C+1], dl
.text:00404B79 mov eax, [ebp+var_C]
.text:00404B7C imul eax, 3
.text:00404B7F mov ecx, [ebp+cursor_file]
.text:00404B82 mov dl, [ecx+eax+1]
.text:00404B86 mov byte ptr [ebp+var_1C+2], dl

Can it be true? It accidentally uses the green channel twice instead of the blue one. In something as important as the cursor handling it seems unlikely that it would go unnoticed. But then, this is in a fairly obscure part and wouldn't affect all colours in the cursor. Interesting.

Monday 14 April 2008

Mobility


Wow. Courtesy of jvprat, the mansion is now navigable. This is not *that* big a step from where we were before, but it feels enormous because it actually makes the game at least partially playable (whereas before we essentially just had a movie player). As you can see, the engine also compiled on Windows CE with no changes at all.

There is still plenty left for us to do: the MIDI music, save games and, well, the puzzles. But this is so exciting!

Tuesday 25 March 2008

Employment

OK, so i got a job. Which is good for me, but not for this project. It's likely to be mostly on ice for a while, which is a shame given the huge burst of progress recently.

If anyone figures out anything about transparency, do let me know...

Thursday 20 March 2008

Ballcocks

I've lost my programs to extract vdx files from gjd files. This is rubbish. All the details of the file format are on the web (see the links section), and we can already play back vdx files. But the vdx playback is incomplete (can anyone say "transparency"?), so I'm trying to figure out what the exe file is doing at that point, and damn it it would be really helpful if I had them. Why didn't I put them in svn?!

Sunday 16 March 2008

Progress. Like *real* progress.

Wow. Given that this time last week we had absolutely no idea about the file formats of the .grv files, we have come a loooong way. Our opcode list is now more complete than not, and jvprat has implemented a skeleton script interpreter which we can now go about adding opcodes to one by one.

It's still going to be quite some time before anything is playable, but it's on its way! In the meantime, here's a photo of some of my working...

Wednesday 12 March 2008

Excitement

It's got to the exciting bit of the disassembly where stuff starts to make sense! Almost. And thanks to coding and words of wisdom from jvprat, we're really starting to get somewhere. Here's the proof:

http://code.google.com/p/t7gre/wiki/Opcodes

There's still a long way to go (there are 88 opcodes in all), but at least now I feel like I'm getting somewhere when I'm doing it. And it certainly helps to bat ideas around with someone!

Friday 8 February 2008

Text


It's been a while. A lot has been going on in RL, but little in t7gre world.

But things change. Yesterday I had a play with reversing some of the font code, and actually got somewhere. I now have a (very) basic idea what the format of the font file is. Here's a picture, which proves nothing (I could have figured this bit out just from looking at the file in a hex editor).

It's an "A", in case you can't quite figure it out.