Sunday, May 31, 2020

The Hobbit: Back again



The Hobbit is a tough nut to crack. Despite what's been written about it, I don't believe it is especially complex or sophisticated internally. I haven't seen it do anything that couldn't have been done in an Infocom game of the era. In fact, I believe Zork's object-oriented design would have been perfect for what The Hobbit was trying to achieve, if only the Z-Machine ran on the poor old 48KB Speccy with no disk drive. Everything that you can interact with is represented as a data record, and "actors" such as the warg and wood elf have tables of performable actions, and a script of sorts to help them select one.

Reading the data records is easy, thanks to Wilderland. Each object has a name, a starting location, a number of copies (for instance, Bilbo's round green door has two copies, one in the tunnel-like hall and one on the lonelands, and manipulating one also manipulates the other), a volume, mass, and strength, a few additional variables that nobody has yet been able to decipher, and eight boolean properties such as emitting light, being opened, being locked, and being alive. Understanding the full extent of what all of these properties do, on the other hand, is very difficult. Amazingly, someone managed create a detailed analysis of the code. It's mostly in Spanish, which I can understand more or less, but I still couldn't glean nearly as much about this game as I had hoped to. For instance, one can clearly see where the routine for combat resolution starts and ends, but I have no idea what's going on during this routine, and gained little appreciation for how combat works here.

Here's a list of immobile objects found in The Hobbit:

Name Start location(s) Volume Mass Strength Notes
Heavy rock door Trolls path, trolls cave Infinite Infinite 0 Locked
Small curious key Goblins cache 0 0 0
Curious map Gandalf 2 0 0
Large key Hideous troll 1 1 0
Round green door Tunnel-like hall, lonelands Infinite Infinite 0
Small insignificant crack Large dry cave, dark stuffy passage Infinite Infinite Infinite
Spider web Spider threads place, smothering forest,
levelled elvish clearing, deep bog,
green forest
160 80 64
Red door Dark dungeon, elvenkings great halls,
elvenkings cellar
Infinite Infinite 0 Locked
Fast black river West bank, east bank,
bewitched gloomy place
Infinite Infinite 0 Full, fluid
Goblins back door Inside goblins gate, outside goblins gate 64 Infinite 80
Mountains side door Side door, smooth straight passage Infinite Infinite 0 Locked, invisible,
turns visible by waiting at side door
Large trap door Elvenkings cellar, forest-river (2) Infinite Infinite 0
Magic door Elvenkings great halls,
levelled elvish clearing
Infinite Infinite 0
Short strong sword Trolls cave 3 4 64 Emits light, full
Red key Butler 2 2 2
Valuable golden ring Dark stuffy passage 0 0 Infinite Wearing turns you and it invisible
Goblins door Goblins dungeon, big goblins cavern Infinite Infinite Infinite
Rope Trolls cave 2 2 32
Barrel Elvenkings cellar 32 3 32 Full, respawns
Wine Barrel 31 5 0 Fluid
Water Running river, 7 other locations 0 5 0 Fluid
Black water Bewitched gloomy place,
2 other locations
31 5 0 Fluid
Bow Bard 5 3 16
Strong arrow Bard 2 1 16
Window Goblins dungeon, dark winding passage 96 Infinite 112
Torch Big goblins cavern, inside goblins gate 5 5 128 Emits light, full
Sand Goblins dungeon 101 101 0
Trap door Sand Infinite Infinite 128 Locked
Goblins cache Trap door Infinite Infinite 0 Open
Heavy curtain Beorn's house Infinite Infinite 0
Large cupboard Wall Infinite Infinite 0
Food Large cupboard 5 5 1
Valuable treasure Lower halls 32 32 5
Wall Heavy curtain Infinite Infinite 0 Open
Wooden chest Tunnel-like hall 64 Infinite 0
Lunch 5 5 1 Spawned by Elrond
Strong portcullis Forest-river (2) and long lake 144 Infinite 0
Stone Empty place 254 254 Infinite
Wooden boat East bank 64 Infinite 0
Fast river Forest-river (1) Infinite Infinite 0 Full, fluid
Golden key Deep misty valley 0 0 0


And a list of characters:

Name Start location(s) Volume Mass Strength
You Tunnel-like hall 16 64 64
Red golden dragon Lower halls 192 96 192
Nasty goblin Dark stuffy passage beneath large dry cave 64 48 72
Gandalf Tunnel-like hall 21 96 112
Thorin Tunnel-like hall 29 80 104
Wood elf Levelled elvish clearing 112 Infinite 64
Elrond Rivendell 32 48 64
Butler Elvenkings cellar 48 48 32
Vicious warg Treeless opening 48 48 55
Gollum Deep dark lake 5 5 32
Hideous goblin Dark stuffy passage 64 48 72
Bard Lake town 48 16 96
Hideous troll Trolls clearing 144 144 160
Vicious troll Trolls clearing 144 144 160
Horrible goblin Dark winding passage 64 48 72
Mean goblin Dark stuffy passage 64 48 72
Vicious goblin Dark stuffy passage 64 48 72
Disgusting goblin Dark stuffy passage 64 48 72


One of Wilderland's tools is a game script window showing you all ingame events, including ones that occur outside Bilbo's observation. We can see, for instance, the Warg wander around for several turns, unsuccessfully following people, until it eventually gets captured by the wood elf and can't leave the dungeon. I have noticed that there tend to be some problem areas where characters often get stuck, moving back and forth between two or three rooms indefinitely, and yet not necessarily forever. Very rarely they break this cycle and go somewhere else. I don't know if this is by design, or due to a quirk in the random number generator, or if passages are weighted, or if there's some other reason entirely.

Between these tools, the game map, and the list of objects and properties, I have compiled some observations on the characters after several playthroughs.


You

Eating food increases your strength, initially 64 points, by 10. Wearing the ring quarters it, rounded down. When the effect wears off, it quadruples, though may not be quite what it was before if it had rounded down when using it. Try eating food while invisible for a 40 point increase! Just don't overdo it - you die of gluttony if your strength goes past 255.

Contrary to what the manual states, fighting does not decrease your strength.

I don't know what strength does exactly, but I'm sure it has some bearing on the odds of successfully killing enemies / breaking objects. The round green door, with 0 strength, is broken immediately on the first try. On the other hand, the heavy rock door with the same stats is never broken, so again, I'm not sure how anything works.


Red Golden Dragon

In v1.0 of The Hobbit, Smaug doesn't perform any actions until you reach the elvenking's cellar. Once you do, he starts wandering around his territory. His wandering seems to be random, but I have never seen him go past the dragons desolation room, or north from the side door.


Goblins

The nasty goblin, hideous goblin, and vicious goblin have rigid three-room patrol patrol patterns that I've never seen them break. The rest of them just seem to move randomly, though the mean goblin does appear to have a disinclination to wander far from his starting dark stuffy passage. The nasty goblin is special, as he's the only one who ever leaves the dungeon, and is able to to this because he can open and close the crack beneath the large dry cave. I have never seen a goblin leave through the back door, even if you open it yourself.

From what I can tell, the three goblins on predefined routes will capture any non-goblin that they see, while the others will fight. The nasty goblin may capture the warg if it enters the large dry cave.

If you walk into a room where a capturing goblin is, it will capture you immediately. But if a goblin walks into a room where you are, you can deal with it by fighting, leaving, or wearing the ring.

Killing goblins causes them to respawn.

Here's a map of the dungeon (not all passages are present), marked with the goblins' patrol routes and their starting locations, plus Gollum:




Gandalf

Oh, Gandalf. Truly the most inexplicable character here. He mostly wanders around. Wilderland's event window shows that he talks to himself a lot, whether Bilbo can hear him or not, and his dialogue consists of "hello," "hurry up," and "you are doing a great job." He'll pick up items that he himself dropped and muse "what's this?" He occasionally tries to drop items he doesn't have. Sometimes he attempts impossible actions like taking doors and lifting rivers. Sometimes he tries things so ridiculous that even the engine doesn't know what he was trying to do, only that it can't be done.

During one playthrough that I recorded, he started off by giving me a map. Then he opened my door and walked east to the lonelands. He tried taking the door, could not, and went north to the trolls clearing. Then there were various "Gandalf is not carrying it" warnings, and he went southeast to Rivendell. Then he got lost in the misty mountains for a long time, going mad as he muttered to himself every 3-4 steps he took. Eventually he found his way out and reached Beorn's house, where he tried to do something impossible, couldn't, and instead just opened the curtains and left for the great river. From there, he went to the mountains, to the forest-river, and the engine spat out "I cannot do that" several times. Then he tried to lift the river, and to drop another item that he didn't have. He then walked back and forth between the mountains and forest-river for awhile. Toward the end of the game, he backtracked and entered the forest path, where he and Bilbo briefly saw each other as they passed each other. Gandalf then spent the rest of the game wandering around the three rooms in the waterfall area.


Thorin

If Thorin isn't given any orders, he will follow you whenever possible. If he's already with you, he may wait, may say "hurry up," and may just sit down and sing about gold. He will take the small curious key from the goblin's cache if he can see it. If he can't see you, then he may just wander around.


Wood elf

The wood elf does nothing until you enter the lonelands, and then he starts wandering. He seems to get stuck in patrols easily, but again, I'm not sure what determines this. During one game, he spent the entire time walking back and forth between the bewitched gloomy place and the west bank, though this may have been because of disabled passages - see Elrond's section for more on that. During another, he got stuck in the waterfall-forest-running river area. I can't tell what his boundaries are, but the odds of running into him are pretty good, which means you can skip the spider's thread maze entirely.


Elrond

Elrond has the power to change the world geography! At the start of the game, one of these passages is randomly disabled:
  • Long lake to Lake town
  • Forest gate to Bewitched gloomy place
  • Beorn's house to Great river
  • Misty mountain to Narrow place
  • Treeless opening to Outside goblins gate

Asking him to read your map will enable the chosen passage. I am fairly certain that the closed passage is also closed to wandering characters, and don't know for sure if having Elrond read the map opens it to them as well.


Butler

The butler does nothing until you enter Beorn's house. Curiously, he's also invisible until this time. When you enter Beorn's house, he turns visible and says "thank you." Then he follows a rigid routine:
  • Unlock the red door
  • Open the red door
  • Close the red door
  • Lock the red door
  • Open a barrel
  • Drink wine
  • Close the barrel
  • Open the trapdoor
  • Get the barrel
  • Throw the barrel through the trapdoor
  • Close the trapdoor


The butler gains one point of strength every time he drinks wine.

If there's anyone in the cellar when he acts, he will capture them and put them in the dungeon on the other side of the red door that he keeps locking and unlocking.


Vicious warg

The Vicious warg likes following people, especially you. Each turn, the script window spits out "the vicious warg cannot follow <character>" for every single character in the game, starting with you. If it can't follow or attack anyone, then it wanders. There's a good chance it will get captured by the nasty goblin or wood elf, in which case it's stuck there. If the wood elf captures it, then most likely the butler will open the door and be mauled to death, leaving the warg to roam around the halls with no way out.


Gollum

Wanders the goblin caves. I've never seen him do anything except say "what has it got in its pockets?" and take the ring from me when I answer.

Tuesday, May 26, 2020

The Hobbit: Won!

Some species of the predatory digger wasp have been observed to drag their paralyzed prey to their nest by the antennae, leaving it by the entrance as it inspects the nest before dragging it in. If the prey is moved but a few inches, the wasp will locate it, drag it back to the gate, and inspect its nest a second time. By some anecdotes, this can continue until the wasp starves to death.

Both the accuracy of this observation and its usefulness as a metaphor for the human condition have been disputed, but it's a fitting one for this game, wherein I observed an elvish butler drag Gandalf into the dungeon, fail to re-lock the door, return to the cellar, and ignore me as he helped himself to a glass of wine. Gandalf then simply walked out of his prison and back into the wine cellar, where the butler immediately arrested and threw him back in, ignoring me and my repeated attempts to backstab him. This cycle continued for multiple iterations, until I broke it by successfully stabbing the butler to death.

For my ultimate playthrough, I decided to keep track of actions that scored points. The game never gives you a raw score amount - only a percentage-based value, so after observing that all point values increased this percentage by a multiple of 2.5%, I assumed the actual total score to be 40 points.

I retraced my actions from the previous sessions, quickly sojourned to the goblin's lair, and snatched the ring and curious key. I crossed the lake, and this time the wood elf was nowhere to be seen and therefore not a problem.

On the east side of the lake was a small forest maze, covered in passage-blocking cobwebs. Cutting them with the sword doesn't work. Breaking them with the sword is liable to break the sword. Just typing "break web" usually works, though I had Thorin do it just in case his greater strength allowed this to work more often. One passage led to a literal dead-end as Bilbo wandered and sank into a bog.

On the other end of the maze I found a clearing, with a magic door visible to the northeast which I assumed (and later confirmed via walkthrough) that it led to the elvenking's halls. The west passage from this clearing led back to the bewitched gloomy place, full circle. I allowed the wood elf, who I found patrolling the southern forest region, to capture us, so we could wind up on the other side of the magic door in the elvenking's halls.

The butler let us out, I killed him and took his key. Then I made a discovery here almost by accident - if you escape by barrel without having Thorin with you - easiest way to ensure this is to lock him in the dungeon yourself - you might score four points upon your arrival at Long Lake, and you'll score another four points simply by walking to another location and walking back. You do this by tossing a barrel through the open trapdoor and then jumping onto it. Being inside the barrel and having Thorin toss it through the trapdoor won't work.

After scoring these eight points, I went south to the waterfall, let myself get captured again, and got Thorin and myself out via barrel through the trapdoor. I've noted here that the syntax is agonizingly precise in its requirements, and the sequence is glitchy besides. Giving Thorin an order that the game doesn't understand will simply cause him to not do anything. Having him get inside a barrel which you toss through the trapdoor will result in him getting stuck in the fast river room, a location that you normally just drift past unable to perform any actions in. You've got to throw a barrel through the trapdoor and then order Thorin to jump onto it, and then throw another one through the trapdoor and jump onto it yourself. If all went well, Thorin should wind up alongside you.


In this final region, I found that Smaug isn't all that aggressive, as long as you don't touch his treasure. Half the time he just walks away, and even if he threatens to kill you, you'll be fine as long as you walk away. At the side door, when the hole opens, you can order Thorin to unlock the door if he has Thráin's key, but it's not necessary; the front gate works just fine.

I carried Bard up to the mountain and ordered him to shoot Smaug dead, and then nabbed his treasure. Leaving south through the waterfall, I killed the wood elf, ensuring he would not bother us ever again.

But what about the spider lurking in the forest, who kept dropping on my head and killing me? I needed a walkthrough for this. Whenever you see the pale, bulbous eyes, you just wait twice before moving, and then you'll be safe. Wait any less or any longer, and you die. I have no idea how you're supposed to figure that out.

One last difficulty awaited me. In the lonelands, east of Hobbiton, the command to go west didn't work! Had I been robbed of victory? Turns out, Bilbo's door was just closed. Open it (yes, all the way from the lonelands) and then you can go home again.

Another oddity I discovered here - Thorin won't go home with you. When I tried ordering him to go west, he obeyed, and then I found out that I couldn't travel west; Bilbo's house was too small for both of us to fit! How strange.

I reloaded, went home, and put the treasure in the chest.

Some ending. And why are there so many grammar mistakes?


GAB rating: Bad.

I tried very hard to be charitable to The Hobbit. So many retrospectives have praised it for what it might have been, for what it attempted to be, but in the end all I can evaluate is what it is. Some have praised it for having a rudimentary physics system, but I don't see anything here that wasn't done in Zork, where objects had volume and mass and containers had capacity limits. The manual claims there's a disposition system, but I see nothing more sophisticated than having characters go hostile if you attack, and randomly say "no" when you give them instructions they would otherwise do.

What sets The Hobbit apart is its "Animaction" system that allows NPCs to act as free agents that go anywhere and do unscripted things. This makes the experience strange and at times hilarious, but is completely detrimental to gameplay, and apart from finding characters dead in the goblin maze, it didn't once lead to any developments that were even slightly interesting from an emergent narrative standpoint.

Ignoring Animaction, this is a simplistic, buggy adventure with annoying mazes, few enough puzzles to count on one hand, terse room descriptions that do injustice to the source material, ugly graphics, and a Zork-inspired parser that, while a good deal more sophisticated than the VERB-NOUN schema seen everywhere else, falls well short of Infocom's vocabulary and polish and leads to infuriating struggles with the interface. With Animaction, you have chaos as characters break script and go rogue, disobey your orders, steal your items and otherwise interfere with you, sometimes rendering the game unwinnable through no fault of your own, sometimes even making the game lock up.

Still, better than the movies.


There are a few unsolved mysteries:
  • What does the golden key found in the misty valley do?
  • Can the north door in the goblin's dungeon be opened?
  • Is there a better way to open the trapdoor in the goblin's dungeon than just punching it until it breaks?
  • Can Gollum's riddles be answered?
  • What's up with the two passages in the mountains that are "too full for you to enter?"
  • Does Gandalf do anything useful?
  • I "mastered" a total of 85% of the adventure, and I suspect 10% were from a bug. Where are the rest? Winning the game doesn't reveal your final tally.

The points (all points are scored by entering locations, sometimes under specific conditions):

Lonelands 1
Trolls cave 2
Narrow place 1
Dark stuffy passage near goblins gate 2
Goblins dungeon (carried in by Thorin) 3
Beorn's house 1
Smothering forest 1
Levelled elvish clearing 1
Long lake (jump into barrel yourself without Thorin) 4
Long lake (walking) 4
Elvenkings dungeon (walking in) 2
Dale valley 1
Side door 1
Lower halls 8
Smooth passage 2
Total 34/40 (85%)

I'm not quite done with The Hobbit. Before moving on, I intend to delve into its mechanics at least a little bit. Without source code, there's only so much I can do to dissect character behavior and such, but as commenter Torbjörn Andersson noted, there is a tool called Wilderland that shows you character and object properties and locations in realtime as you play, and I'll be wrapping up this retrospective with a final post detailing my observations with it.

My Trizbort map:

Saturday, May 23, 2020

The Hobbit: Doorsteps

I started off this session, having escaped from the goblin's dungeon with the magic ring and Thráin's key, thinking that the ring would allow me to survive the deadly waterfall location. It didn't.



What about Thráin's key? In the mountains, the game had told me of a "visible" passage to the east, but told me "THE PLACE IS TOO FULL FOR YOU TO ENTER" when I tried. Could that be the game's way of telling me there's a locked door there? I tried instructing Thorin to unlock the door, but it was no use. I tried waiting for the moonrise, but it never came. Finally, I turned to a walkthrough, which told me to go to the river and "LOOK ACROSS RIVER" to spot a boat which can be retrieved with the rope. This action is something Bilbo does in the book, but it hardly occurred to me that of all the little details in the book that this game skips over, this wouldn't be one of them. The area past the river, however, was patrolled by the wood elf, and though I could evade him with my ring, Thorin could not, and the walkthrough didn't account for this. So I let myself get captured to see if I could get him back.

This time, the warg was waiting for me in the dungeon, but the spider wasn't, and I killed the warg easily.



An unknown person - the butler, it later turned out - unlocked one of the doors. I opened it, only for it to get shut again. I re-opened it, and the mysterious person apparently gave up. So I left the dungeon, into the elvenking's great halls, where I found the magic door, and couldn't find a way to open it. To the south lay the wine cellar.



I knew what to do here, but wasn't done exploring. Before I could even do anything, though, the butler, who carried a red key, immediately captured me and threw me back into the dungeon. No matter, the doors were still unlocked, so I just used the ring to sneak around. Once I was satisfied that there was nothing else of interest in the halls, I killed the butler and escaped with Thorin by barrel - a sequence involving some truly stringent guess-the-verb play, made even more frustrating by the fact that when giving orders to other characters, sometimes it fails and you have no feedback to tell you whether the order was invalid or if the character just didn't feel like listening. I was unable to find a non-violent solution that allowed both of us to escape - I could turn invisible and hide in the barrel as the servant discarded it, but found no way to get Thorin in with me without the servant noticing.

The drifting barrel took us down the river and eastward to Lake Town, where Bard stood with his strong arrow. To the south was a one-way passage to the waterfall which had been fatal to approach from the forest, but safe from the north. To the north, past the desolate remains of Dale and Ravenhill, was Lonely Mountain, where Smaug walked around, occasionally threatening me but never making good on his threat. At the side door, a hole would periodically open and close, but I found no way to interact with it. North of the side door was a room marked "The empty place," where attempting to exit eastward produced the familiar but unhelpful message "THE PLACE IS TOO FULL FOR YOU TO ENTER." Smaug's cache was unguarded, but taking it quickly invoked his wrath.



So I skedaddled back to Lake Town, but Smaug toasted me before I could clear Dale.

Reloading, I tried ordering Bard to come with me to the mountain, and he did, though babysitting his every step was, again, frustrating, as he seemed to wander on his own after the initial order to follow. After taking the treasure and getting the dragon to follow me and eventually leading him to the same room where Bard wound up I spent the next several minutes trying to figure out how to get him to shoot Smaug with his special black arrow. "KILL DRAGON" wouldn't do it - in this game, if you specify no weapon, you default to your fists, a lesson I learned back in the Misty Mountains after several unsuccessful attempt at killing goblins despite owning a magic sword. But none of my attempts at being more specific seemed to work either.

No? What do you mean no?


I tried something else - I asked Bard to give me his bow and arrow, and he obliged without question.

Really, Bard? You're just going to give me your heirloom just like that?


Shooting the dragon myself didn't work, but the parser did acknowledge the attempt. Guess a longbow is just too much for a three foot tall hobbit to handle.

Then I tried something silly - carrying him to the dragon's lair instead of asking him nicely to follow. Incredibly, it worked. I told him to "SHOOT DRAGON," and this time Smaug died immediately. I was certain I had tried that before. The difference here may be that Smaug wasn't flying this time. I took the treasure, began walking home (Thorin was nowhere to be seen), and then this happened.

Goddamnit.


My Trizbort map so far:

Thursday, May 21, 2020

The Hobbit: Overkill under hill

The adventure genre's biggest weaknesses, in my book, is its inherent immutability. Once you finish the game, you've basically seen everything. A replay is only going to have the same map, the same plot, the same scenarios, and the same solutions. Adding alternate paths and solutions can extend replayability, but only finitely.

Designers recognized this early on - Rogue's readme specifically documents that this was the motivation behind its creation - but others came up with a variety of ways to work around this while still working within the genre's template. As early as the original Adventure, the most unpredictable aspect was also the most annoying one; the dwarves who will randomly show up and possibly kill you. This continues with Zork's thief who wanders around the maze, stealing your breadcrumbs, and shanking you, to being constantly harassed by wolves, wizards, and dwarves in King's Quest, and so, so many forced games of chance in later Sierra titles.

The Hobbit's "Animaction"system, intended to ensure no two playthroughs are the same, is more inexplicable than annoying. It seems like almost everyone goes where they please and acts on their whims. Gandalf keeps showing up, taking my map for no reason, only to later give it back or drop it on the ground somewhere. One time I opened a door to the troll's cave, and Gandalf just magicked himself to my location, shut the door, and left without saying a word. Another time Thorin got stuck in a dungeon with me, and refused to open the obvious escape route when I asked him to, but did it immediately when I asked him a second time. Yet another time, while stuck in an elvish dungeon, the butler unlocked my prison cell from the outside and then just wandered off. Zork's thief might have been annoying, but at least his actions made sense!

Picking up from where I left off - in the troll's cave, where their treasure consisting of a rope and short sword, I journeyed to Rivendale, where Elrond could read the map, and pointed out that it said "go east from the forest gate to get to the bewitched gloomy place." I continued east through the Misty Mountain, collecting the golden key in the deep valley, and went past the forest gate where I got captured again. This time I could see, no doubt thanks to possessing Sting, but more emergent behavior occurred to my disadvantage.



So instead I tried getting deliberately captured by the goblins. This was more true to the book after all.

In the goblin dungeon I found trapdoor buried in the sand, but it was locked, and neither of my keys opened it. A window was out of reach, but I could somehow tie my rope to it just fine, but couldn't get the parser to recognize any further actions that I thought of doing. After a restart, I found I could have Thorin smash the trapdoor, revealing a key (he took it), and open the window - both things I had tried before. Apparently I broke the game by tying my rope to the window.

Thorin could be ordered to carry me through the window. This led to yet another MOTLP of dark stuffy rooms, crawling with goblins of various identifiers such as "nasty goblin," "hideous goblin," and "mean goblin," who would just show up without warning and carry me back to the dungeon. Killing them with Sting was easy - in the event that I encountered one who didn't capture me immediately - but did no good. Half of the time the "dead" goblin would just capture and drag me back to the dungeon anyway, and the other half of the time it would just appear in the adjacent room and walk right back in to be killed over and over again in a repetitious cycle. The best approach was to walk past them. In any event, each time I got captured, Thorin soon followed, and could be ordered to carry me out the window as before.

While exploring, Gandalf showed up once, did nothing useful, and left. Soon, I discovered Gollum's corpse! His magic ring wasn't too far away, which was immensely useful for navigating the maze unmolested, but not perfect. The invisibility effect expires after a seemingly random duration - five to nine turns on average by my estimate - but the game doesn't tell you when this happens, so you must keep typing "WEAR RING" every now and then or risk getting captured. Amusingly, retyping this command before the effect expires produces the message "I DO NOT SEE THE RING."

I found the underground lake in this maze. Nothing of interest lurked there; Gollum was dead and the sequel hook with him. Mapping out the maze got increasingly difficult, as it dawned in on me that the layout was utter chaos. In a dead-end, I even found Gandalf's corpse! Thorin was nowhere to be seen, but I eventually found the exit, leading to the dry cave in the mountains. Returning to map out more cave, I got captured again, found Thorin sitting in the dungeon singing about gold, and shortly after the game locked up.

Restarting again, I retraced my steps, and re-mapped out the maze, this time using Excel instead of Trizbort. This time Gollum was quite alive as he wandered around the maze, but all he did was bleat "What has it got in its pockets?" over and over again. His ring was carelessly discarded in a random passage, and after getting it, I finished my Excel map, discovering another way out which led directly to Beorn's house. I went back to Thorin and baby-sat him as he followed me, step by step, out of the maze.

I transcribed my Excel map to Trizbort, but only partially, including all rooms but leaving out a great deal of redundant passages that simply weren't possible to graph in a sensible manner.

My Trizbort map so far:

Monday, May 18, 2020

Game 190: The Hobbit

Read the manual here:
https://mocagh.org/loadpage.php?getgame=hobbit-alt-spectrummanual

Beam Software was the internal development studio of Melbourne House, a British/Australian publishing firm who had by the early 80's diversified into computer games, becoming Australia's first such publisher. Mobygames lists these as the same company, but they seem to have fairly consistently separate roles, with Beam Software often credited with development or porting jobs of games not published by Melbourne House, and Melbourne House occasionally publishing or localizing games not made by Beam Software. Their earliest credits on Mobygames are Double Breakout and Super Invasion; clones of Breakout and Space Invaders on the ZX80. Presumably these were released domestically by Melbourne House, but the only publishing credits listed are for 1981 international releases by Softsync Inc and The Essential Software Co.


I couldn't get these games to work by emulation. Granted, I didn't try very hard - I was not enthused at all about playing yet even more derivative games on the ZX81's crappier older brother.

 


Screenshots by fruitcake.plus.com

Beam's earliest whale, then, is The Hobbit, published the following year in the UK for the newly-released ZX Spectrum microcomputer. This was another budget machine intended to succeed the ZX80 line - the unexpanded 4KB VIC-20, considered a budget computer in the US, cost £200 in the UK, whereas the ZX Spectrum cost £125 for the 16KB model and £175 for the 48KB model. This machine and its games had a regional cultural impact that I'm totally unqualified to discuss - I'm tempted to compare it to the NES's impact in North America, but even that may be selling it short. The NES was merely a games playing machine, whereas the ZX Spectrum, like other microcomputers, came with the tools needed to create its own games in BASIC and machine code, and is responsible for a generation bedroom programmers who developed and distributed games of their own, not to mention the national pride that so many British gamers must have felt owning a homegrown computer, and using it to run homespun software.

The manual opens with some blatant puffery, needless considering the user reading it already bought the game:
Congratulations! You are about to play the most sophisticated game program yet devised for any microcomputer.

Melbourne House in association with the Tolkien Estate are very proud to be able to present to you THE HOBBIT, an amazing program based on J.R.R. Tolkien's brilliant fantasy novel.

You are Bilbo Baggins, and your wizard buddy Gandalf talked you into helping Thorin retrieve a dragon's treasure. You know the drill, I'm sure. The meager plot section emphasizes hobbits' diminutive size and lack of innate magical talent, as a warning that most creatures you encounter will be bigger and stronger than you.

Gameplay mechanics are described as very similar to Infocom's titles. One notable difference which I'm completely sure is taken from Scott Adam's adventures is that the game screen is split into two windows, with the top window displaying graphics, text descriptions, and ingame events, while the bottom window displays anything only related to the parser.

There are a number of rules which should be familiar to Infocom players:
  • The parser, deemed "INGLISH," accepts natural English grammar sentences of some degree of complexity, and can even understand adverbs. Sentences such as "CAREFULLY ATTACK THE TROLL WITH THE SWORD" are valid, for instance.
  • Objects have weight, and there is a limit to how much weight you can carry at once.
  • Objects can not be used if someone else is carrying them.
  • Some objects are containers for other objects, and non-transparent containers must be opened to see what is inside.
  • Liquids may only be carried inside container objects.
  • Doors, chests, windows, etc. may be locked, and cannot be opened without unlocking them first with the right key.
  • Some objects can be broken with other objects, but care must be exercised when trying to do this deliberately. Attempting to break a door with a bottle, for example, is more likely to break the bottle than the door.
  • Some areas are dark, and moving without a light source is dangerous.
  • Characters can be given instructions through the parser, though they may not obey.
There's one new rule - while Zork had combat that could sap your strength when you took damage, Bilbo gets weaker just from fighting. Resting won't be enough to restore your strength either; you've got to eat.

The manual also touts a system called "Animaction," boasting that characters such as Gandalf and Torin are free agents, who travel on their own, perform actions on their own, and interact with the world and other characters on their own. Their own disposition toward you will change depending on your actions - talking too much or making too little sense, for instance, may disincline them to listen to you. Infocom's Deadline also had this to some extent, so it will be interesting to see how The Hobbit compares. We're explicitly warned, however, that the complexity of this system makes it "impossible to guarantee it will ever be error-free." Indeed, The Hobbit has a reputation for being buggy.

I opted to play the TZX format version marked "v1.0" in spite of the risk of bugs, and loaded it up in Fuse.





This was an unexpectedly small party - where are Thorin's twelve dwarf pals at my service, eating me out of house and home?

I wasn't really sure what to do with the map. Examining it simply informed me it was covered in arcane symbols, and the manual's suggestion of asking him to read it for me was useless; he couldn't read them either. Gandalf soon took it back from me anyway.  I couldn't meaningfully interact with the chest either; it opened fine, but the parser resisted my attempts to examine its contents, and I eventually was satisfied that the chest was empty; an assumption I then verified by putting the map inside, and seeing that its description changed accordingly to inform me that the map and only the map was inside it.

A note on emulation here, the ZX Spectrum's keyboard layout is not the same as the modern PS/2-derived standard. You'll need to type quotes in this game to give other characters instructions, and in Fuse this is done by pressing Shift+P.

I worked on Trizborting out Wilderland, a task made more tedious by the game's tendency to lie about valid exits, necessitating exhaustive searching. As I did this, Gandalf sort of wandered off and did his own thing, while Thorin followed me around, frequently told be to hurry up, and at least twice sat down and sang about gold. Occasionally Gandalf would just show up and tell me I was doing a great job.

Some landmarks included:
  • The troll's clearing, where two trolls lived, one of whom carried a key. Inaction got me eaten, and produced the odd message "his foul gluttony has killed the hideous troll." Walking past took me to a hidden path leading to a cave sealed by a locked door.
  • Rivendale, where Elrond greeted me and offered me lunch.
  • The Misty Mountain, a MOTLP of identically-named "narrow path" rooms which mercifully differed by visible exits, which when fully explored revealed a steep downward path to a valley hiding a golden key.
  • A large dry cave, where a goblin captured me and locked me in a dark dungeon where I hit my head and died.
  • Beorn's empty house, by the great river and Mirkwood beyond.
  • Mountains past the great river, with an impassable eastern passage producing the cryptic message "THE PLACE IS TOO FULL FOR YOU TO ENTER" when I tried.
  • A bewitched gloomy place, where a wood elf captured me and locked me in the dark dungeon of the elvenking, where a warg wandered in, and then I hit my head and died.
  • A forest road, leading to a waterfall, where something fell on my head and stung me to death.

Canonically, the trolls are Bilbo's first challenge, and he would solve it by tricking them into arguing among themselves until dawn breaks. That's a little much to expect of an 8-bit parser, even one that claims to be the most sophisticated natural language recognition program ever written. But here, the solution is simpler; just walk past them to the hidden path, wait until dawn, and return to the clearing where they have turned to stone and their key is there for the taking. This, as expected, opens the locked door to the troll's cave, although their treasure isn't so impressive.



My Trizbort map so far:

Saturday, May 16, 2020

Games 188-189: Andes Attack & Gridrunner

Download Jeff Minter's back catalog, including both of these VIC-20 titles on the "Llamasoft Baachive."
https://llamasoftarchive.org/systems/commodore-vic20/

Llamasoft's founding coincided with Minter's purchase of a shiny new Commodore VIC-20. Intended as a budget personal computer with game-specific features, the VIC-20 was the best-selling computer system in its day. Nowadays, the Apple II, Atari 800, and of course its successor the Commodore 64 completely overshadow it. With only 3.5KB of available RAM and only one video mode, which is essentially a hacked 22-column color text display, the VIC-20 seems weak compared to the much more expensive Apple II. However, Minter was coming from the ZX81, which was incapable of displaying anything but monochrome text in the system ROM font, and merely outputting a video signal was such a strain that programs often deliberately shut off the video signal when it wasn't absolutely needed just to speed up program execution. The fact that the VIC-20 had any dedicated video capability must have made it seem like a gaming powerhouse in comparison.

Like the ZX81, the VIC-20 technically can only display text, and only in an 8x8 monospace font, though it has access to 8 foreground colors and can assign each individual character cell any one of these colors, which is something other computers of the time couldn't do. Graphics work by redefining text character bitmaps, and the results are similar to arcade games' tiled graphics.

No sprites or sub-tile scrolling though.


That's a screenshot of the first ever Llamasoft game.

Game 188: Andes Attack

I used VICE to play this game, and in order for it to work, you must enable the 8KB memory expansion option, found under Settings->Settings->Machine->Model. After that you can just smart-attach the PRG file and then type "RUN."



The original cassette version had a loading screen, which is skipped over when directly loading the PRG.



After about two minutes, the game would start proper.



It sucks. It's like an extremely stripped-down version of Defender, with unresponsive controls, ugly, flickering visuals, bad play mechanics, and llamas instead of people. Sometimes your shots pass right through their targets, sometimes landers spawn right in front of you and you blow up before you even notice they're there, and overall I had more fun configuring my OBS settings than I did playing this game.

If you actually want to play this, know that although it controls primarily with the joystick, there are also some keyboard controls. F1 changes difficulty, and F8 fires smart bombs.

GAB rating: Bad. 

Game 189: Gridrunner

Minter's most famous game, and the whole reason for doing this early Jeff Minter retrospective, was also originally designed for the VIC-20, but soon ported to the C64, Atari 400, ZX Spectrum, and Dragon computers. Commodore 64 was probably the most popular platform, but I'll be playing the original VIC-20 version.

To play in VICE, you must not enable any memory expansion. Any memory expansion will prevent the game from loading.



Gridrunner feels a lot like a second attempt at making Centipede, but it works better this time. Minter's Centipede and Andes Attack both operated on a chunky grid system, and suffered in comparison to their arcade game counterparts. Gridrunner embraces this format - the game's called Gridrunner for crying out loud, and proudly puts its grid on full display. Everything in the game - you, your shots, the centipede segments - exist on discrete points on this grid, at the exact points where the lines intersect. Andes Attack felt choppy, but Gridrunner feels fast - faster than Atari's Centipede.



Gridrunner is still stripped down compared to Atari's Centipede, lacking any enemies other than the segmented things that zig-zag down to the bottom row, but there are a few tricks unique to this game. Most notably are the two turrets on the grid's X-Y axes constantly moving in a scanning pattern. The vertical turret doesn't directly threaten you and only fires obstacles onto the grid, though some of these obstacles will eventually come crashing down if not shot out of the way first, changing into a black diamond pattern first. The horizontal turret will periodically fire an electric blast, killing you instantly if you happen to be on its longitudinal line, but will also kill centipede segments. It's difficult to predict exactly where and when it will fire, but you can stay safe by staying to its right until it fires, and slipping past it immediately after. Doing this consistently when your attention is divided is still very difficult, though.

GAB rating: Above Average. Definitely Minter's best early game, Gridrunner looks and sounds really good considering the system's limits, and its fast-paced, sensory-overloading gameplay is addictive as anything on contemporary systems. Gridrunner isn't perfect - collision detection can be spotty, getting zapped right out of the gate is a frustrating and random occurrence, and centipede behavior can be unpredictable when the obstacles get dense enough. The gameplay is simplistic, relying more on speed and reaction times than I find ideal. Nevertheless, it kept me amused for a good hour and a half as I felt compelled to keep topping my score, and I'm sure that if I had been limited to the VIC's 1982 library, this would be one of my most played games of it.

Gridrunner was a hit, and would be followed up with successors like Attack of the Mutant Camels and Voidrunner, and in the 21st century received Windows reboots Gridrunner++, Gridrunner Revolution, and ports to iOS. We'll be moving on, though - only the original Gridrunner made whale status, and we won't be seeing Llamasoft again until the very distant future of 1994.

Thursday, May 14, 2020

Games 186-187: Centipede (ZX81) & 3D! 3D!

Download Jeff Minter's back catalog, including both of these ZX81 titles on the "Llamasoft Baachive":
https://llamasoftarchive.org/systems/sinclair-zx81/

If you've ever heard of Jeff Minter, you know that ruminating ungulates are his thing. He founded and continues to operate Llamasoft Ltd., references his favorite animal kingdom order in his games constantly, often goes by the handle Yak, etc.

Cover of the first release of Minter's Centipede, not featuring any centipedes.


1982 re-release, now with artwork, still not featuring any centipedes.


Perfect!
(all scans provided by zx81stuff.org.uk)


Before founding Llamasoft, a developing house which at first focused on creating Commodore VIC-20 games, Minter's earliest commercial releases were through dk'tronics and released on the ZX81, a budget computer that I touched upon briefly with my post on Football Manager, and one that makes the VIC-20 look luxurious in comparison.

Game 186: Centipede

Finally, a friggin' centipede!


Supposedly, Minter programmed Centipede without playing the original, and I believe it, although its deficiencies as a Centipede port could just as easily be excused by the system's limitations. Without getting into too much technical detail, the ZX81 just seems inadequate for doing much of anything except running text-only BASIC programs (like Football Manager), and even then, only with a 16KB RAM upgrade - the stock 1KB isn't enough to hold 20 lines of code and display all of them on-screen at once!

As for Minter's Centipede, overall it plays more like Space Invaders than Centipede. You still face segmented invaders (who, unlike the original, fire shots back at you in later stages), but you can only fire one shot at a time, and you can only move left and right. Consequently, there's no strategy here - funneling the centipede is pointless thanks to the one shot limit, and once it reaches the bottom row, you're bug food.

The 420 reference was unintentional. Minter seems more like a shrooms guy anyway.


Controls are surprisingly responsive, but collision detection is spotty, and missed shots can act as barriers, bringing the centipedes ever-closer to the kill zone.

The game does offer instructions, and you can customize the starting speed, but the slowest is already difficult enough. The fastest is ludicrous.



GAB rating: Below Average. Here, I feel like context must be considered. Minter's Centipede plays poorly, but not offensively so, and was a budget title made for a budget computer. If I had lived in the U.K. in the early 80's, owned a ZX81, and was limited to the software available, I could see myself replaying this game, which is something I can't say about, say, Asteroids on the Atari VCS, or the much more expensive Apple Galaxian. As I'm not limited to the ZX81's library, I am happy to never touch this again.

Game 187: 3D! 3D!

Minter himself describes this other early effort as "a really bad 3D Maze game [...] balls-achingly slow making it pretty much impossible to play by creatures with metabolisms that run on a normal human timescale." Jolly.

3D! 3D! is exactly that. It's set in a randomly generated cube-shaped maze divided into 9 floors of 9x9 tiles, which you explore from a first person perspective. The controls are a bit counter-intuitive, giving you the ability to "look" in any of 6 directions and then "move" forward, but as Minter says, what mainly characterizes this game is its horrendously slow 3D drawing routine.



There's a "fast" mode and a "slow" mode, and it defaults to "slow." You may wonder, why even have a slow mode? Well, the ZX81's predecessor, the ZX80, was not designed to run a program and output a video signal at the same time. Typing characters into a BASIC prompt was excruciating, as the screen would flicker off with every single keystroke as your computer dedicated all of its CPU cycles to reading the keyboard input, fetching the corresponding byte, and writing it to the display RAM, and would only resume sending the video signal once this process finished. Clever programmers found ways around this by carefully timing program execution during the milliseconds when a video signal wasn't needed, but this wasn't efficient, and wasn't possible at all in BASIC mode. Recognizing this flaw while designing the ZX81, Sinclair Research added a "slow" mode capable of handling video and code execution at the same time, but, befitting the label, program execution is much slower in this mode.

ZEsarUX cheats by enabling video in the emulated "fast" mode, and this makes for a comparatively superior user experience.

"Comparatively."


With this option disabled, the screen in fast-mode simply shuts off until the 3D drawing routine completes, as it would on real hardware.



With this fast mode on, it took me about 40 minutes to find the exit to the maze, even with spending as much as 20 seconds per step, and a good part of that time was just spent coming to grips with the perspective and controls.




Overall I had explored very little of the maze; the path to the top was straightforward, some of the levels could be skipped entirely, and I never once had to descend a level.

Sample level map. Even this draws very slowly.


GAB rating: Bad. Minter is right in his description - this is a really bad game. If the 3D drawing routine had been fast, this would still have been nearly bereft of any interesting gameplay - the 3D aspect might have made it slightly exceptional, but the lenient random generation algorithm makes it essentially work out as nine easy 2D mazes instead of one challenging 3D maze, which would have been preferable if not for the slooooow drawing speed.

Monday, May 11, 2020

Game 185: Xevious

The first and also the most recent time I ever played Xevious was in 1998, when I got my first Pentium II-class computer, to replace my moribund 486DX which was long past the point where it could play anything still on the shelves at Electronics Boutique. Though I got it mainly so that I could play newer games, I spent the better part of that year playing and replaying Xevious - mostly Xevious - as part of Microsoft Revenge of Arcade, which must have been bundled with the PC as I can't remember ever buying that game; I only remember having it.

I think what made Xevious stand out from the rest of the games in that bundle was the variety, both in visuals and gameplay. Although Xevious is a never-ending game based around infinite gameplay loops, it's a very long loop, split up into 16 segments only visually separated by forest regions, each of which takes about 70 seconds to traverse. Back then, as now, I never came close to finishing all of them, but I kept getting further and further with practice, always motivated by the desire to see what Xevious has to offer next.



We take it for granted now that the shmup is a vertically scrolling affair. That's simply the format which eventually dominated, followed by the sideways variant of horizontally scrolling shmups. The concept follows naturally from the single-screen Space Invaders-style shooting galleries that dominated arcades until 1981, which makes it seem strange that it took so long for vertically scrolling shmups to emerge. Horizontally scrolling shooters beat them by well over a year, with games like Scramble/Super Cobra, Defender/Stargate, Moon Patrol, Vanguard, and Cosmic Avenger making the once-ubiquitous Space Invaders-style game seem obsolete. There had even been some takes on 3D perspective, including Atari's vector-driven Battlezone and Tempest, and Sega's Zaxxon, SubRoc-3D, and Buck Rogers.

Xevious isn't the first vertical shmup, but it's among the first of real quality and influence. Previously, SNK's Ozma Wars and Data East's Astro Fighter created some illusion of vertical scrolling, but without offering the player any kind of vertical movement control, it's difficult to view them as progenitors of the genre. Activision's River Raid, which came out around the same time, certainly fits retroactively, but I found it rather basic and can't determine if it had a lot of influence. Taito's Front Line is an elephant in the room, as it fits the genre labels if a bit awkwardly due to the ground-based gameplay and the rotational shooting controls, but this undoubtedly influenced games like Commando and Ikari Warriors. On the other hand, that particular style of shooter fizzled out even as vertical shmups continued to occupy a strong niche.



One of the most striking things about Xevious, now as much as then, is that this is not a space shooter like so many other shmupoids of its time and since. You fly not through empty black chaos, but over detailed terrain of roads, forests, oceans, plateaus, and even Nazca lines. You aren't fighting some abstract enemy in space, but are defending your homeworld from an ancient precursor civilization, who had evacuated during the ice age, and now return eons later to conquer the ancestors of those they left behind. You'd only know all that if you had seen Atari's flyer... or read the novelization that Namco designer Masanobu Endō insisted was necessary. This has an interesting parallel to River Raid, also set over scrolling terrain, which came out around the same time on the other side of the Pacific.

Scan by FlyerFever


Another striking thing is the sheer variety of enemies. All-gray schemes have rarely looked so colorful! The visual inspiration from Star Wars is obvious, with two of the enemies looking very much like the X-Wing and Millennium Falcon, but there is also influence from Alien, Battlestar Galactica, and Bally's pinball table Xenon. The majority of targets, though, are abstract geometric shapes - spheres, pyramids, toroids, and most iconic of all, those huge, flying, spinning mirrors that completely block your shots. Enemies all have differing behaviors too - the toroids, for instance, which are the first type you'll encounter, actively avoid your line of fire, as do the nimbler and more aggressive X-Wings. Many of them are beautifully animated as well, with touches such as cannons that swivel around to the rear as the ship reverses its direction right after firing a shot. My most hated enemy are the black spheres, which materialize anywhere out of nowhere, fire a shot or five as they vanish, and their very presence seems to reduce your own rate of fire. Quite a few ground-based enemies are completely harmless, and are simply worth bonus points to destroy. Canonically, each type of vehicle and target has a cutsey-sounding name, and apart from your own ship the Solvalou and the huge UFO Andor Genesis, I refuse to acknowledge any of them.

Because there are ground targets as well as air targets, Xevious seemingly borrows a page from Konami's Scramble and gives you ground-targeting bombs as well as a rapid forward-firing gun. As in Scramble, these are very slow to fire, but unlike Scramble you get a targeting reticle to show you exactly where they will land, the trajectory isn't affected by your ship's inertia, and the terrain is flat and has no ridges or cliffs to complicate things. Hitting moving targets is, nevertheless, a challenge, and often you may be too occupied with the generally more dangerous air fighters to think about your targets of opportunity on the ground. Andor Genesis itself can only be taken out with bombs, despite appearing as an air target, and only by a single shot right in the core, though you can also toy with it by taking out its turrets one-by-one if you feel brave/suicidal.

A lethal combo


The game world, which as I mentioned is divided into 16 vertically scrolling zones, is in fact a single cohesive map only twice as tall as it is wide.




Each of the 16 zones has its left side aligned with one of the shaded lines (they are not sequential), spans the width of 3 ½ vertical strips, and spans the height of the entire map.

Xevious even has a few secrets. Eagle-eyed players may notice their targeting reticle blink red as they pass over empty terrain, which indicate hidden towers which may be bombed for bonus points if you're fast enough, or if you can remember exactly where they are for future playthroughs.



Even more secret are buried flags from Rally-X, which do not light up your reticle, and their exact locations are randomized with each game, but are worth extra lives. I've never found one.


GAB rating: Good

Over 20 years after playing Xevious to death on a computer meant for the likes of Quake II and Unreal, it still has the power to draw me in and keep me playing. I do wish the music wasn't quite so repetitive, and on occasion you can be faced with impossible enemy layouts thanks to the partly randomized nature of their spawning patterns, but this game is fun, aesthetically pleasing, satisfyingly challenging, and rewarding, even after decades of improvements to the genre.

Wednesday, May 6, 2020

Game 184: Sokoban

Here I am, emulating a computer that I know practically nothing about, using a Japanese emulator that I barely understand how to use, all so I can play an outdated version of an otherwise widely available puzzle game in a language I can't read. Such is a fact of life when seeking original sources in the video game world.

Today, Sokoban is a synecdoche for crate-pushing puzzle elements seen in all kinds of games, but the original is a pure puzzle game about pushing boxes around a warehouse into a loading bay, and requires logic, planning, and spatial awareness to figure out the sequence of pushes needed to move them all into their target area without stranding yourself, pushing any of the boxes into irretrievable corners, or blocking off crucial passages. Its first international release was in 1987, by Spectrum Holobyte, who were also responsible for the first international release of an even more famous puzzle game of east hemisphere origin. Sokoban has since been endlessly ported, remade, and even received an official sequel on mobile phones.

I've worked out a chronology of notable Sokoban games, using notes from Wikipedia, Mobygames, and this Sokoban-focused blog:
  • Sokoban, released in December 1982 for the FM-7, PC-8000, and PC-8801 Japanese microcomputers by Thinking Rabbit.
  • Sokoban Extra, a ten level expansion pack published in 1983 as BASIC code in PC Magazine.
  • Sokoban 2, released in 1984 for the FM-7 and PC-88 families.
  • Soko-Ban, released in 1987 by Spectrum Holobyte, featuring a mix of 50 levels from Sokoban and Sokoban 2, with some tweaks to most of the levels.
  • Perfect Soko-ban, released in 1989 for multiple Japanese computers by Thinking Rabbit, featuring all-new levels and graphics.
  • XSokoban, an unofficial port released in 1989 featuring the 50 levels of the Spectrum Holobyte version with some further changes.
  • XSokoban 3.0, adding 40 levels of unknown origin.

Most of the versions on the Internet seem to be based on XSokoban, and a few are based on Spectrum Holobyte's 50-level set. The original 1982 game had 20 levels, and while the first ten were remade by Spectrum Holobyte, it doesn't look like the other ten were ever reused in any later versions. I wouldn't have known that if I hadn't insisted on emulating these computers, but now I do, and it means this 1982 release isn't just an old version, but rather a different game entirely.

I wound playing the FM-7 version in tape format, using the "XM7" emulator. I also found a few PC-88 versions with slightly nicer presentations, some had level select features, and some had alternate level sets (I assume these are mislabeled copies of Sokoban Extra), but all of the PC-88 versions had a critical flaw - in the FM-7 version, one keystroke moves your box-pusher one space, but in the PC-88 versions, he'll move continuously depending on how long you keep the key held. Tapping it lightly might not register at all, and it's very easy to accidentally move two spaces with a single keystroke, which can instantly ruin your game, given Sokoban's nature. Regardless of version, you can't play this game on most laptops, because it's controlled by the numeric keypad, and although there is an emulator option in the emulator to map that to the cursor keys, it doesn't work here.

After loading and running the game, we get this instructions screen.



Big thanks to Redditor flakpanther171 for translating this.

You have a part-time job at a big warehouse company! Your job is to clear up 20 warehouses. Please try your best. However, since the boxes are large, you can only push one by one. If you do poorly, the box will get stuck! Please be careful.

Please clean up by moving them to the red dots. Press PF1 key when you fail or finish the job.
Press SPACE to start !






You'll want scanlines OFF to play this game (FullScan=1 in the .ini file), because the tiny dots designating the loading bay area can be obscured otherwise. Annoyingly, walking over the dots "erases" them, so you better remember where they are.

The first layout is mostly identical to the first level of Spectrum Holobyte's version and also of XSokoban. This will continue for the first ten levels. Sokoban doesn't waste any time with childishly easy puzzles, but this first one isn't overly difficult either. There are basically three options at the start:
  • Push the lower of two accessible crates north
  • Push the lower of two accessible crates west
  • Push the higher of two accessible crates west

Pick either of the first two options, and you'll quickly find out you were wrong.

Deadlock. There is no possible way to move the triangle of boxes without trapping them further.


Pressing F1 brings up this message:

Do your best or you’ll get fired! Try again?


Push the higher crate instead, and the path to the loading bay becomes clear.



From here on, it's a simple matter to push the crates into the bay, which only gets simpler with each one you remove from the corridors. The round doesn't automatically end when you push the last crate into position. You've got to hit F1.

The first warehouse is done! Go to the next warehouse?


I progressed through the game, occasionally needing to restart, until, on level 9, I faced this message and a shrill buzzer noise when hitting F1.

You’re now dismissed! Start over?


Hitting "Y" did not reset the level. It reset the game back to level 1. Apparently you are only allowed four resets per level! From here on, I used XM7's save states to bypass this limit, but only for this purpose.

Level 11 seemed completely impossible, until I stumbled upon a little secret.



Destructible walls! That's not kosher Sokoban. And yet, here it is, in the original game - a feature removed from the Spectrum Holobyte port, and every other port hence. Levels 11-20 all feature destructible walls, which is why, as I mentioned earlier, they can only be found in this original version of the game.

And what a miserable feature to spring on you, on top of the already miserable feature of limited continues. Sokoban is all about planning your moves, and you can't very well plan your moves if the game withholds information from you. You're likely to waste at least one reset per level just finding out which walls are destructible, and from which direction. It's not a big deal today on an emulator with save states, but knowing the original system didn't have this, it feels like a very cheap way to waste the player's time by forcing them to restart the entire game again and again.

The stage layouts increasingly rely on these walls, demanding trial and error to excavate the warehouse without boxing your crates into unreachable corners, until reaching critical mass in the last two levels.

Level 19


Level 20 dug out at warp speed


That last level is pure trial and error - I can't imagine how infuriating it must be to restart all the way at the beginning because you guessed which way to push a crate wrong and found yourself with nothing to dig once too often. But if you can dig every diggable block without getting the crates trapped, then it's not terribly hard to push them into the loading bay (if you can remember where it is), and you're rewarded with this:

"Rabbit's" message


GAB rating: Above Average. Sokoban's first half is a pleasant exercise in logic and planning, with a progressive difficulty curve and well designed puzzles with satisfying "ah-ha!" moments as they get more challenging, though I could have done without the limited continues. The second half is a cruel joke that undermines everything that worked in the first half by taking away the deterministic, perfect information gameplay, and forcing you to guess where the diggable squares might be and reset the level or game whenever you guess wrong.