I was shocked to notice that, as of yesterday, it has been a year since I posted anything on here. That's not really that surprising, given that I've been well and truly absent from the ScummVM community, but I plan for that to change. I've set aside some time each week for personal programming, either ScummVM or Android (for which I've set up a separate blog) (or possibly a combination of the two, now ScummVM has an Android port).
I also suddenly realized how out of date the title and description of this blog was (referring to "motions towards", etc), so I've made it a little more relevant. I didn't want to put a pun in, but when the engine name is Groovie it's hard not to. Forgive me?
Saturday, 7 August 2010
Thursday, 6 August 2009
Call for playtesters...
We need more people to play The 7th Guest! ScummVM is aiming for it's 1.0.0 release, so we need everyone to test all games, to check that no bugs have recently been added. In particular to this blog, we (well, ST) just fixed a big bug in the music (that was present in the Win95 beta player too, but not in the DOS exe), and no-one has played through the whole game since, to make sure it didn't break anything.
So if you have a bit of time, download a daily build of ScummVM, and play through the game, looking out for bugs. If you complete it, post a comment here saying which operating system you played it on and whether you found any bugs.
So if you have a bit of time, download a daily build of ScummVM, and play through the game, looking out for bugs. If you complete it, post a comment here saying which operating system you played it on and whether you found any bugs.
Tuesday, 21 July 2009
The game just got longer
Just a quick note, as I'm at work. The 7th Guest just got much harder to complete in ScummVM:
http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=rev&revision=42634
Please give it a test if you can and report back!
ION, I'm in the midst of a house move, so won't be doing anything ScummVM-related for some time.
http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=rev&revision=42634
Please give it a test if you can and report back!
ION, I'm in the midst of a house move, so won't be doing anything ScummVM-related for some time.
Sunday, 21 June 2009
I'm not saying Apple are evil, but...
I don't use the word "hate". It is too strong for most of my emotions. If I did, however, I would most likely be using it right about now, with regard to HFS.
When copying the files for the disc (with hfsutils, see previous post), there are several modes that can be used to copy the files: raw, binhex, macbinaryii, text. There is also an auto mode, which tries to make an intelligent guess as to which mode should be used. Unfortunately, it doesn't get it right for the T7G data files: it tries to copy them as text. They need to be copied with the raw mode, but the binary (which also, helpfully, contains another selection of required files) cannot be copied in raw mode. That can be copied with auto (which guesses correctly that it should be copied with the macbinaryii mode).
I think before I dig too deeply into support for the Mac version I'm going to have to learn a little more about how HFS works, and why this confusion arises. I remember a Mac-based friend trying to explain to me (about 15 years ago) all about resource forks, data forks, etc. I just sat there thinking "surely a file is a file? it start, has binary data in, then ends, and different files are interpreted in different ways". I wish I was still in contact with that friend so I could phone him and get him to repeat the conversation...
Edit: It seems I'm not alone in my view of HFS: http://www.engadget.com/2008/02/05/linus-torvalds-calls-apples-file-system-utter-crap/
When copying the files for the disc (with hfsutils, see previous post), there are several modes that can be used to copy the files: raw, binhex, macbinaryii, text. There is also an auto mode, which tries to make an intelligent guess as to which mode should be used. Unfortunately, it doesn't get it right for the T7G data files: it tries to copy them as text. They need to be copied with the raw mode, but the binary (which also, helpfully, contains another selection of required files) cannot be copied in raw mode. That can be copied with auto (which guesses correctly that it should be copied with the macbinaryii mode).
I think before I dig too deeply into support for the Mac version I'm going to have to learn a little more about how HFS works, and why this confusion arises. I remember a Mac-based friend trying to explain to me (about 15 years ago) all about resource forks, data forks, etc. I just sat there thinking "surely a file is a file? it start, has binary data in, then ends, and different files are interpreted in different ways". I wish I was still in contact with that friend so I could phone him and get him to repeat the conversation...
Edit: It seems I'm not alone in my view of HFS: http://www.engadget.com/2008/02/05/linus-torvalds-calls-apples-file-system-utter-crap/
Saturday, 20 June 2009
HFS 2: The Revenge
When I originally got my copy of T7G for Mac, I diligently copied all the files off it (twice, in fact). However, I now need to do it again (for reasons that I won't go in to), but this time I have an ISO image file (I ripped it when I was faffing with the disc last time). I have since completely reinstalled my OS and I couldn't for the life of me remember how I did it the first time round.
The ScummVM HFS wiki page is rather Windows-centric, so I had to figure out (again) how to do it on Linux (specifically Kubuntu Jaunty). I was surprised at how easy it was, but as it might be useful for others (that might be willing to play test in future ;-), I figured I'd post it here.
Once I'd installed hfsutils (e.g. sudo aptitude install hfsutils), a simple call to "hmount hfsimage.iso" does a virtual mount of the image, so any future calls to the hfsutils commands (hls, hcd, hcopy) will be referring to that disc / image.
Now, which file was it that I wanted... I knew I should have written it down...
The ScummVM HFS wiki page is rather Windows-centric, so I had to figure out (again) how to do it on Linux (specifically Kubuntu Jaunty). I was surprised at how easy it was, but as it might be useful for others (that might be willing to play test in future ;-), I figured I'd post it here.
Once I'd installed hfsutils (e.g. sudo aptitude install hfsutils), a simple call to "hmount hfsimage.iso" does a virtual mount of the image, so any future calls to the hfsutils commands (hls, hcd, hcopy) will be referring to that disc / image.
Now, which file was it that I wanted... I knew I should have written it down...
Tuesday, 16 June 2009
Mac attack!
Well, free time has been sparse for all of us. My work has gotten much more hectic (partly thanks to a promotion a couple of months back, so I can't really complain), but I'm trying to make more time over the next few weeks for some ScummVMing. Though I will also be moving house, so we'll see how it goes.
Anyway, my plan is to get back into it by working on T7G Mac to begin with (sighs all round, I'm sure, but 11H will come at some stage no doubt). It's filled with little tricksy problems, not even including getting the files off the disc in the first place. In approximate order of difficulty:
PS Btw, if anyone wants to follow me on Twitter, you can find me here: http://www.twitter.com/hjsb. Though it's mostly just bitching about how the artists at work don't do what the pipeline guys tell them to.
Anyway, my plan is to get back into it by working on T7G Mac to begin with (sighs all round, I'm sure, but 11H will come at some stage no doubt). It's filled with little tricksy problems, not even including getting the files off the disc in the first place. In approximate order of difficulty:
- Some files need to be renamed to work
- Files are squashed into a single data archive (jvprat has written an extractor)
- Fonts are not included, as in the DOS version: native Mac system fonts were used
- Music was not MIDI, but Special Mac Fancy Format™
PS Btw, if anyone wants to follow me on Twitter, you can find me here: http://www.twitter.com/hjsb. Though it's mostly just bitching about how the artists at work don't do what the pipeline guys tell them to.
Wednesday, 11 March 2009
The future is bright
Well, for those that haven't read jvprat's comment on my previous note, the list of major problems looks a little different now:
The engine is currently designed to play just one game- jvprat has committed changes that let us use two separate opcode lists. May need changes in future (apparently), but not holding us back anymore.11H uses > 8 bit graphics (i.e. more than 256 colour images)- Well, technically this is still an issue, but we can view everything in greyscale / dithered for the time being11H uses a completely different video format- Might need some changes later, but basically working- The script opcodes have changed - The only one left, and Scott is having fun working on it. I only wish I had a bit of time to join in!
Monday, 2 March 2009
Past, present and future
Well it finally happened. The new version of ScummVM contains the Groovie engine, capable of playing The 7th Guest. It's quite exciting really. But now I'm just thinking about where to go from here.
It's not like T7G is completely finished: see the ScummVM wiki for more info on known issues. But it's close enough for now: I'll come back and look into them at some point in the future, as for now I have bigger fish to fry.
I'm sure there are a lot of people out there who are thinking that adding support for The 11th Hour will be easy, as it uses the same engine. However, let me explain to you why that's not the case:
Number 1 will involve refactoring the entire engine: no real changes, but involves difficult design decisions.
Number 2 is the real biggie. It's going to involve even bigger design decisions that will affect the whole of ScummVM, not just the Groovie engine. If ScummVM is accepted into the 2009 summer of code, it's one of the possible tasks, so we're going to wait and see if it gets taken up before even thinking of undertaking it.
Number 3 isn't as big as you might think: jvprat has already implemented a basic player from format descriptions on tinternet.
Number 4 will involve lots of fun reversing. We know a bit better what we're looking for this time tho!
Lots to do then, and very little free time to do it in. But there's no hurry :-)
It's not like T7G is completely finished: see the ScummVM wiki for more info on known issues. But it's close enough for now: I'll come back and look into them at some point in the future, as for now I have bigger fish to fry.
I'm sure there are a lot of people out there who are thinking that adding support for The 11th Hour will be easy, as it uses the same engine. However, let me explain to you why that's not the case:
- The engine is currently designed to play just one game.
- 11H uses > 8 bit graphics (i.e. more than 256 colour images).
- 11H uses a completely different video format.
- The script opcodes have changed.
Those are just the big things that are obvious from the outset: I'm sure there are other smaller things (have you noticed the animated cursors blend together?).
Number 1 will involve refactoring the entire engine: no real changes, but involves difficult design decisions.
Number 2 is the real biggie. It's going to involve even bigger design decisions that will affect the whole of ScummVM, not just the Groovie engine. If ScummVM is accepted into the 2009 summer of code, it's one of the possible tasks, so we're going to wait and see if it gets taken up before even thinking of undertaking it.
Number 3 isn't as big as you might think: jvprat has already implemented a basic player from format descriptions on tinternet.
Number 4 will involve lots of fun reversing. We know a bit better what we're looking for this time tho!
Lots to do then, and very little free time to do it in. But there's no hurry :-)
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).
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 :-).
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.
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
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...
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!
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!
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.
Anyway, the internal structure is more suited to continuing work now, but there are extra graphical glitches for your delectation. Mmmmm.
Subscribe to:
Posts (Atom)