Tender Loving Care: Tech stuff

Tender Loving Care is one of an all-but-dead breed, the Interactive Movie. A lot of people seem to have been convinced at one point that this was the future of digital media. The whole phenomenon was inextricably bound up with the introduction of the CD-ROM, with its impressively large storage capacity compared to floppy disks, making it suddenly practical to include heaps of choppy low-res video content in games. The irony is that, by the time DVD-ROM technology was in wide use and we could really do interactive movies properly, the fad was pretty much over. Producers had figured out that people didn’t want interactive movies, they wanted games.

That being the case, TLC is easily seen as trailing the wave: it was made in both CD-ROM and DVD-ROM versions. Even the DVD version doesn’t have DVD video, though. It features video data for the “Groovie” engine, the system used by The 7th Guest and very little else. 1To be precise, the complete set of Groovie games consists of T7G, The 11th Hour (the sequel to T7G), Clandestiny, Uncle Henry’s Playhouse (a collection of minigames from the three previously-listed titles), and this. I’ve already played T7G, T11H, and Clandestiny. Once I get through TLC, I can reasonably claim to have exhausted a data format. How’s that for completism? I suppose they had to use more or less the same format as the CD version, except of course at higher quality.

I purchased the DVD version when it was new, mainly because I had a DVD-ROM drive and very little to use it with. 2Game publishers were a lot slower than users to embrace the DVD, and for good reason: even if 90% of your potential audience has the newer technology, you don’t want to lose 10% of your sales if you can avoid it. I got a few hours into the story, but then my drive decided to stop recognizing the disk and crash the program. Since the system only saves your progress when you quit, and I hadn’t quit, I’d have had to start over from the beginning, and I didn’t feel like sitting through the same videos — or, worse, through different ones, because I doubt I’d be able to duplicate my choices from the first time, but didn’t want to confuse myself with two different stories just yet. So I set it aside and resolved to wait until I had forgotten it all and could approach it afresh. And here we are, ten years later.

And in those ten years, my window of compatibility seems to have closed. Whenever the game is supposed to play video content, it instead pops up an error box stating “Unable to adjust volume on this DVD platform”. Compatibility mode doesn’t help — indeed, it makes it crash immediately on execution most of the time. The game’s official site is still up, and mentions a “DVD-ROM update”, but the link it provides is broken. Web-searching hasn’t turned up any help yet — it has the handicap of being a rather obscure work with a title that’s a common phrase. So until I find a retrogaming site that knows about it, back on the stack it goes. Maybe if I wait a few more years ScummVM will support it.

References
1 To be precise, the complete set of Groovie games consists of T7G, The 11th Hour (the sequel to T7G), Clandestiny, Uncle Henry’s Playhouse (a collection of minigames from the three previously-listed titles), and this. I’ve already played T7G, T11H, and Clandestiny. Once I get through TLC, I can reasonably claim to have exhausted a data format. How’s that for completism?
2 Game publishers were a lot slower than users to embrace the DVD, and for good reason: even if 90% of your potential audience has the newer technology, you don’t want to lose 10% of your sales if you can avoid it.

The recent unpleasantness

Last Tuesday, my server went down. This is not unusual; when you run your own server, you come to expect service to be interrupted once in a while. Usually it’s the router, and usually all I need to do is power-cycle it. Until recently, if this happened while I was at work, I’d just dash home and fix it. My current commute makes this impractical, so the downtime can last multiple hours, until I get home.

This time, it was even worse. When I got home, before I even got in the door, I could hear the alarm from my battery back-up. Something had gone seriously wrong with the system, presumably with the PSU. The machine was unbootable.

In times past, when my server suffered catastrophic hardware failure, I’d fix it with a transplant from my Windows machine, and then go buy a replacement part as soon as the shops open the next day. But this assumes a certain equivalence of hardware. Ever since I moved across the country, and left my old server behind to minimize downtime, my server has lived in a small-form-factor Shuttle box. This has a nice quiet PSU, but it’s a nonstandard size and shape, designed to fit snugly in the one case it was optimized for. I do like the system a lot, and I’ve been saying for some time that I should replace my big noisy Windows machine with another Shuttle box when I upgrade again, but since I started this blog, and have devoted most of my gaming hours to old stuff, I’ve had little motivation to upgrade.

There was another option for a transplant, though: move the hard drives into the Windows machine. Having done this, it failed to boot. Attempting to do an emergency repair of the OS, I discovered that the version of Linux I was using (Debian Sarge) didn’t recognize several of the system’s internal devices, including the specific ethernet adaptor and the SATA port. So it couldn’t access my data or the Internet, which kind of made it a failure as a server.

At this point, I was thinking that I’d need to get some replacement hardware before I could get the server up and running again. Which posed another problem: With my current commute, I can’t shop for hardware on weekdays. My job is in a location with nothing around it except cheap office space. My home is within walking distance of an excellent computer store, but it’s not open yet when I leave in the morning and closed when I get home. In desperation, I placed a rush order with newegg, telling them to deliver to the office, but this ran into validation problems because my credit card company didn’t have the office listed as an address of mine. By the time this got striaghtened out, the advantage of ordering online had been lost: the weekend was approaching, so I figured I might as well wait it out and buy the necessary components personally.

Which, ultimately, I didn’t do. When Saturday rolled around, I got the server up again by upgrading Debian Linux to the newest stable release, which recognizes the hardware on my working machine. Upgrading to a new release of Debian is always a pain — that’s why I was still running Sarge after all this time. Even now, after a day of tinkering, I don’t seem to have the mail server completely right. Nonetheless, it’s up, as you can tell by the fact that you’re reading this.

It’s not entirely happy with the new hardware, though. The load average keeps on getting into double digits. I’ve set up a cron job to restart mysql and apache every 15 minutes, which keeps it from getting entirely wedged, but clearly this is not an ideal solution. Also, it was periodically overheating, especially when doing something computationally intensive, like attempting to install upgraded Linux packages. The OS is smart enough to throttle down when this happens, but whenever it did, it would issue a warning to all consoles (messing up any text editor I had open) and beep. And then it would beep again a second or two later when the temperature came back to acceptable parameters. It’s as if the system had hiccups. I managed to turn off the warning and the beeping, but it’s just one more reason I need to get this system back into something it’s happy with, before it burns down the house or something. It all makes me wonder what was going on when the same hardware was running Windows. Was it running hot and simply not telling me?

Anyway, I have more hardware on order — not a rush order this time, because the crisis has passed. But in the meantime, I’m without a Windows machine. Which means it’s time to switch over to the PS2 for a while. As far as I’m concerned, the big lesson from this whole experience has been that it’s really inconvenient to not live near where you work and also work near where you shop. I suppose other people would derive a different lesson: that it’s not worth it to run your own server, not in the 21st century when there are plenty of reliable free alternatives. But that’s crazy talk.

Pokémon: Trading again

So, I’ve finally done something about the Gameboy cable problem. It turns out that GBA cables are wired slightly differently than the original Gameboy and Gameboy Color: where the older model just has two of the wires cross over, the GBA does something tricky to accomodate plugging in another cable in the middle. Furthermore, the type of connection that a game expects depends on the hardware the game was created for, not the hardware it’s actually running on — so in order to trade original Pokemon on a GBA, you need an old-style cable. This is the sort of fact that’s easy to find documented on the web, provided you’re looking for it in the first place.

I’ve seen it suggested that an official GBC cable will fit in a GBA socket (although not vice-versa), which would solve the problem if I had an official GBC cable. But I don’t, and I’m not really willing to spend any more money on this problem (buying second GBA was about my limit for this project), so I took apart the GBA cable I had formerly called “defective” and rewired it. And it works great! I’ve pulled off my first successful pokémon trades trades in something approaching ten years, and stand ready to do more.

Of course, given my track record, I couldn’t justify asking someone to trade with me until I knew it worked. Which presents a bootstrapping problem. Fortunately, I had someone else’s Pokémon Red cartridge on hand — he wasn’t using it, so he let me borrow it. (With the stipulation that, once I got trades working, I had to take in his raichu. It’s the one pokémon that he wants to still have available if he starts over.) In short, I had to engage in some behavior I had spoken of derisively before: solo trading.

Still, this was a fairly satisfying conclusion to the whole problem, because I got to play with a soldering iron. I’ve played games where I had to read the data files in order to figure out how to win. I’ve played games where I had to read the source code, or even reverse-engineer the executable — it wouldn’t be exaggerating much to say that this is how I learned how to program. But how often does the pursuit of completion descend to the hardware level like this? Actually, pretty frequently, if you count the games that you can’t even start playing until your system meets the right specs. But this is different somehow.

Pokémon: Cable Conundrum

I’m posting this several days late: again I’ve spent a week out of town, and that means Pokémon. I actually didn’t do much with the game this time, but I did make another trade attempt.

The last time I tried to trade pokémon between two GBAs, I had problems. To trade, you go (in the game) to the Cable Club, an area found in every Pokémon Center. If you’re connected to another gameboy via gamelink cable, the Cable Club receptionist tells you to wait for the other party to join; if you’re not, she sends you away. So it’s easy to tell who the system thinks is and is not connected. The Cable Club was consistently accepting one side and rejecting the other. Furthermore, when I unplugged the cable and plugged it back in the other way around, it switched which one it accepted and which one it rejected. I concluded that there was something wrong with the cable.

Well, now I’ve tried it with a different cable, and I’m usually seeing the same symptoms. Tantalizingly, the bad end occasionally manages to recognize the connection, but never for long enough to actually execute a trade, as if there’s a loose connection. Or maybe it’s just the wrong sort of cable for this game: some docs I’ve found online suggest that I have to hack around the middle socket (which wasn’t even present on the first cable, but whatever). I’m not completely sure if that’s what I actually need here, though. Like all other gameboy hardware documentation I’ve found online, it assumes more knowledge than I have. But what the heck, I’ll dig out the multimeter and soldering iron and give it a try. The worst that can happen is that I’ll lose a cable that was useless to me anyway.

The Typing of the Dead: Getting Started

totd-struggleAnd while we’re talking about words as weapons, I really should bring this one out. One of the most absurdly-conceived educational games ever, The Typing of the Dead is a rail shooter — specifically, House of the Dead 2 — transformed into a typing tutor. Zombies stagger out labelled with words; typing the words damages them, with a gunshot sound accompanying each keystroke. The genius of this is that it naturally encourages touch-typing: you don’t dare look down at the keyboard when there are zombies shambling toward you, and there are as many in-game motivations to type quickly and accurately as there are to shoot quickly and accurately in the original game.

totd-keyboardThe most completely brilliant thing about it, though, is that this change in the world model carries through to the character models. Everyone who has a gun in House of the Dead 2 instead has a keyboard strapped to their chest, connected to a Sega Dreamcast on their back (even in the PC port). You don’t normally see your own shots being fired, but there are some cutscenes where you can see NPCs typing the zombies to pieces.

The fact that it was originally a Dreamcast game actually poses some problems for the modern PC gamer. Many console ports from that era use graphics with palettized texture maps, which is something that’s been dropped from recent graphics cards. So much for Direct3D backward-compatibility! Playing this game with my ATI card makes the game revert to software rendering, which is not just slow and low-res, it’s glitchy. Transparency in textures seems to just not work at all. I’ve solved the problem by reinstalling my previous graphics card, the nVidia one. I had given up on this card because of its inability to handle recent games well, but it seems to do alright with something this old. (Also, having inspected it again, I have some suspicion that its only problem was overheating due to parts of the heatsink being clogged with dust.) It looks like I may be doing a lot of card-swapping in the future, as the Stack contains games that are incompatible with either card. Or maybe I should just clear all the console ports of that generation from the Stack at once.

Anyway, even though it shares a basic conceit with Bookworm Adventures, it’s not really the same type of game at all. Bookworm Adventures is turn-based, and asks you to come up with the killing words on your own, thus rewarding people with large vocabularies (both in the sense of vocabularies containing many words and in the sense of vocabularies containing large words). The Typing of the Dead is all about reflexes, and always tells you exactly what you should type.

Pokémon: Endless Sorrow

I’m a bit late with this post, but: the latest trading opportunity was foiled by defective cabling.

That is all.

Pokémon: Hardware Compatibility

I haven’t even mentioned my problems with trading. There are still several pokémon that I won’t be able to get any other way, either because they’re not available in the Blue version, or because the game forced me to choose a single pokémon out of two or three options. Since I started playing again, I’ve gotten together with one friend who had an old Gameboy and the red version, both untouched for years. We were all set to trade (or, more accurately, he was all set to charitably give me what he no longer had any interest in), but we hit a snag: he had a Gameboy Pocket, and I had a Gameboy Advance. And Nintendo, for whatever reason, saw fit to make the cables incompatible.

Now, for all I know there may be sound technical reasons for this. Maybe the two devices transfer data at different speeds or something. Or maybe the only difference is in the shape of the plug. It’s been difficult to get information about this. All I can say with any certainty is that, although Nintendo has made a “universal” Game Link adapter before the GBA, they never made an adapter for connecting the GBA to earlier versions. I’ve seen mention of a third-party adapter that might work, something billed as allowing you to use your old Gameboy cables with a GBA, but (a) it requires an old cable to plug into it and (b) it’s described in such vague terms that I don’t know for sure that it’ll do what I want anyway.

At this point, I’m thinking that the most cost-effective solution might actually be to buy a second GBA off ebay. That way I’d have everything necessary to consummate trades regardless of what hardware the other party has — indeed, all the other party would need to provide is the cartridge. It may even be cheaper than the adapters I’d otherwise need. My only hesitation is that doing trades between two Gameboys that are both mine, possibly by myself in the privacy of my room, is awfully close to “trading pokémon with myself”, which I’ve already gone on record as calling sad. (If I hadn’t made such a comment, I could probably do it without embarassment, of course. Heck, just playing Pokémon Blue at all in 2007 is something a lot of people would consider embarassing.)

Myst V: UI

myst5-slateMyst V does a couple of novel things with the user interface. For one thing, it gives you a choice of what UI you want to use. First-person adventure games have basically gone through three stages. First there’s the static view: the camera is fixed in place, and you click hotspots to move and turn. Then there’s panning views: you click hotspots to move, so there’s a finite set of nodes you can move between, but turning is continuous, controlled by the mouse in some way. Finally, there’s full continuous 3D movement, like in a first-person shooter — something not done often in adventures, but it has been done. Myst V supports all three modes.

One might reasonably ask why. “Classic” mode was, after all, originally a product of technological limitations. Myst is made of a bunch of still images stitched together. Myst V is not. So why pretend that it is? I suppose that some people just prefer to play that way. I generally prefer “Advanced” mode — full 3D movement — because the ability to look at things from arbitrary angles aids comprehension. (One of my biggest problems in Myst IV was finding movement hotspots in outdoor areas.) But in fact I have occasionally switched to “Classic” mode when in difficulty, because the hotspots can act as a sort of guide. If there’s someting important, there’s probably a spot you can click that makes you look straight at it.

It’s worth noting that, even in free-movement mode, you use the old-style interface to climb ladders. I don’t just mean that you click on the ladder to climb it, I mean that you click on the ladder twice: once to look at the ladder and automatically shift into “Classic” mode, and once to climb it. It seems unlikely that it would have been designed this way if the designers had been thinking primarily in terms of free movement.

The other major UI experiment is the drawing interface. Each of the four main sub-worlds features a slate that you use to give instructions to the Bahro. You do this by drawing shapes with the mouse. It’s a reminiscent of the “gestural” interfaces used in Black & White and early versions of Darwinia before the designers realized how difficult and annoying it was. It’s a bit different here, though, because you don’t have to (and in most cases can’t) draw the shapes in a single continuous stroke, which lessens the annoyance factor somewhat. But it’s tricky to draw with a mouse — especially if, like me, you normally use a trackball for games 1A Logitech Cordless Optical Trackman, for what it’s worth — not to be confused with the Logitech Cordless Trackman Wheel or other similarly-named products. It’s the best pointing device I’ve ever used, especially for first-person games like this one. My only complaint is that there’s nothing holding the ball in except gravity, so whenever you drop the device, the ball comes out and rolls under the couch.. And unlike in other programs you might use to draw pictures with a mouse, there’s no eraser tool and no “undo”. If you make a mistake, you have to wipe the whole slate and start over. I’ve tried hooking up a Wacom tablet 2 “Do you begin to understand the power of the Tablet? Surely it begins to pull you. Its strength grips you. Look around. Without the power of the Tablet, this would be left solely to your dreams.” — Esher, Wacom spokesman. for these bits, but it interacts strangely with the game, sending the cursor zooming into corners suddenly. This doesn’t happen with that tablet under other applications. But at least the game doesn’t ask you to draw shapes more than once. Once you’ve got a drawing that the Bahro understand, it’s automatically saved where you can retrieve it with a click.

Recognizing shapes is one of those things that’s traditionally difficult for computers to do, so it’s unsurprising that the game can get it wrong. It’s generally good at rejecting things that aren’t quite right — frustratingly so at times, given the difficulty of drawing. But there was one occasion when I drew a shape completely wrong, and the game decided it was a close-enough match to a different shape, one that looked even less like what I had drawn to a human eye. There may be something going on where the game remembers the last shape you had the opportunity to see and is more lenient about matching it. Usually there’s a single order in which you can discover them, but this level was an exception. Later in the same level, I actually managed to skip a puzzle when the Bahro carried the slate to its final destination without being instructed to do so, perhaps as a result of another mistaken match. Whether these two mistakes are connected, I don’t know. I played through the level a second time, because I don’t like skipping puzzles accidentally, and didn’t hit any false positives that time.

References
1 A Logitech Cordless Optical Trackman, for what it’s worth — not to be confused with the Logitech Cordless Trackman Wheel or other similarly-named products. It’s the best pointing device I’ve ever used, especially for first-person games like this one. My only complaint is that there’s nothing holding the ball in except gravity, so whenever you drop the device, the ball comes out and rolls under the couch.
2 “Do you begin to understand the power of the Tablet? Surely it begins to pull you. Its strength grips you. Look around. Without the power of the Tablet, this would be left solely to your dreams.” — Esher, Wacom spokesman.

Radeon HD 2600 XT

So, I’ve been seeing slow framerates on my machine under multiple games lately: first Myst V, then certain brief bits of Lego Star Wars 2 (which was generally pretty smooth, presumably because its style allows for a pretty simple world model), and now large sections of Psychonauts. Worse, I even had speed problems in Eternal Daughter, a retro sprite-based 2D platformer which I tried when it was featured on Play This Thing. Clearly something had to be done.

The problem is, when games are slow, it’s hard to figure out why. It could be either the CPU or the graphics card, and unless you have multiple machines, it’s impossible to test them individually. So I asked myself: If I bought a replacement for one of these things, and the replacement didn’t speed up these games, which one would I regard as less of a waste? And there was a clear answer to that: the graphics card.

See, my nVidia GeForce 7800 GTX card was giving me problems anyway. The GeForce drivers for Windows XP have a known bug that affects 3D objects displayed on a 2D bitmap background: frequently, random patches of the background will cover up any 3D elements. It’s really a quite striking visual effect, reminiscent of the scenes in Labyrinth and Indiana Jones and the Last Crusade where things that look like background turn out to be foreground, except not done on purpose. I wish I could post a screenshot that captures it, but (a) to get the full effect you really have to see it in motion and (b) to reproduce it I’d have to reinstall the GeForce card. Anyway, it makes several graphic adventures on the Stack unplayable. It’s been a a few years now since I first encountered the problem, and nVidia has issued multiple driver updates, but the problem remains. I’ve contemplated dealing with it by installing Windows 98, which uses different drivers that don’t share the problem, but switching to a non-nVidia card will spare me the trouble.

So, Psychonauts runs perfectly smoothly on my new Radeon, and I confidently expect to start blogging about Myst V soon. The new card has larger numbers associated with it than the old one, but I don’t want to say that that’s the reason for the the performance increase, as the old one was released after most of the games that gave it problems. More likely there was some sort of hardware malfunction. In researching the problem, I saw one person on a support forum who suffered abysmal framerate simply because the graphics card’s cooling fan wasn’t spinning. That wasn’t the case here (I checked), but it could easily be some similar failure.

Super Mario Land

So, what do you play when you’re on the road? Handheld games, of course. The Nintendo Gameboy, and the Gameboy Advance that I later bought to replace it, are the only handheld consoles I’ve ever owned, as well as the only Nintendo consoles. I bought my Gameboy mainly to play The Legend of Zelda: Link’s Awakening, considered by some not just to be the best game for that platform, but one of the finest games written for any platform at the time. But if you’re going to buy a Nintendo console, you’re almost required to get at least one Mario title for it. In fact, I think Super Mario Land may have been bundled with the Gameboy I bought.

The fact that I didn’t finish it when I first played it back in the 90’s is mainly due to its complete lack of any way to save your progress. Not even level codes are provided. It compensates for this somewhat by being short. The game consists of four “worlds”, each consisting of three levels with a boss fight at the end of the third (although, interestingly, the bosses allow the player the option of slipping past them instead of fighting them). After a little practice, I find it takes me about 8 minutes to get through the first world, so a skilled player can probably play through the entire game in under half an hour. To someone struggling to get though world 3 for the first time, the first two worlds form a sort of warm-up, where the challenge isn’t to survive but rather to pick up as many extra lives as you can in preparation for the hard part. A lot of games these days have a sort of “survive, then perfect” pattern, where you can go back to earlier levels and try to improve your performance in order to earn special rewards, such as unlockables. Viewed from this perspective, the main difference here is that it’s not a choice. You have to go back to world 1 every so often, when you run out of lives.

The gameplay is based closely on that of Super Mario Brothers for the NES, but with various innovations, such as new monsters, a really distinct boss at the end of each world, and at least one level that’s a scrolling shoot-’em-up rather than a platformer. Still, despite this, it mostly feels like a smaller, simpler version of SMB. Indeed, in some ways it seems like a SMB knockoff, with all of the names changed but the premise kept intact. Princess Daisy, SML‘s damsel in distress, is functionally equivalent to Princess Toadstool/Peach. Only by reading the manual do I know that SML‘s chibibos are not goombas. I wasn’t familiar enough with the Mario mythos to notice this back in the day — possibly it wasn’t as entrenched back then.

I’m under the impression that a lot of early Gameboy titles were reduced versions of NES titles, which is strange, since, as far as I can tell, the Gameboy was actually a more powerful machine than the NES in every respect other than graphics (and possibly sound). But the reduction in graphics is very significant: lower resolution, four-shade greyscale instead of color, and, worst of all, the slow response time of LCD technology circa 1989. It was a rare Gameboy game that actually looked better than the NES game on which it was based — Link’s Awakening being one example. SML has the handicap of continually scrolling, which shows that LCD display at its worst. It’s somewhat better on a GBA than it was on the original Gameboy, but I still find myself occasionally missing crucial jumps because I can’t see what I’m doing well enough.

« Newer PostsOlder Posts »