Eye of the Beholder

The lords of the city of Waterdeep hire a team of adventurers to investigate an evil coming from beneath the city. The adventurers enter the city’s sewer, but the entrance gets blocked by a collapse caused by Xanathar, the eponymous beholder. The team descends further beneath the city, going through Dwarf and Drow clans, to Xanathar’s lair, where the final confrontation takes place. Mat Allen put things aptly in the latest ZZAP! 64 by stating “It may not quite be brown trousers time, but the only way is ahead and downwards…”

Eye of the Beholder was a famous D&D style game developed by Westwood Associates (of Command & Conquer fame) and sold over 150K units. It went on to have multiple sequels and was published by Strategic Simulations, Inc. (SSI) on multiple platforms. The game had such an impact that it literally set the stage for other grid-based role-playing adventures to come.

So, what do we have here on our humble little breadbin? To put it simply: the best dungeon crawler ever released for the C64/C128.

Let’s rewind a bit, from 2022 back to the bedroom of a young Andreas Larsson, better known to us as JackAsser. Andreas, like many, was wrestling with the original Amiga release of Eye of the Beholder back when it was originally brought out back in 1992 stating that “I loved this game as a kid and spent a whole lot of time reverse engineering the save games etc.” Way back then, the seed of this 2022 release was planted, sprouting into something in 2005 when Andreas started to toy with an engine called JAD (Just Another Dungeon crawler). This experimentation got JackAsser messing around with mazes, game scripts and compression techniques. Around this time, JackAsser had joined the “C64 scene”, the mythical playground of demos, games, cracks and hacks. Apart from some demos under the Instinct label, JackAsser had also worked with WVL on the C64 release of Pinball Dreams.

In 2006, JackAsser and graphics giant Mirage released a preview of the C64 version of Eye of the Beholder. The first attempt was targeted at the C128 with a disk drive but became stalled due to memory limitations (the bane of all coders). The following year, JackAsser became interested in porting the game to iOS and resumed his reverse engineering of the game (such as the entire DOS library containing over 250K lines of code). He recoded functions to Java but then lost interest again due to failure to obtain the publishing rights. Since then, things were kind of quiet… Veto was brought into the team at LCP in 2009. “It was a super interesting project and nobody worked on the intro so I agreed. The logo was pixeled back then but the project kinda got on hold and activities stopped.” that is, until sometime in 2017 when Twoflower contacted JackAsser and said he really should continue on the game (gentle nudges our good friends are meant to do!) with the idea that the EasyFlash cartridge format with 1MB ROM would be viable to overcome the limitation of memory needed to execute this game as needed.

Despite the EasyFlash being available, the team is expanding and momentum shifting positivity, it did not come without challenge. To be expected for all things great on the C64.

The game was now achievable, a renewed attempt was performed on the IP, which ended up being a dead end. Wizards of the Coast who currently owns the IP has explicitly said that they’re not interested in re-releasing the old brands. They do however support an Open Game License that can be used assuming the game is released for free and compatible with their SRD5 system reference, which the game is. So, not an official game, but a free release keeping the title. Apart from the IP and fitting it into 1MB of memory, the other major hurdle was to make the game render fast enough.

To help handle the memory limitations, JackAsser leveraged tooling, telling us “I used ca65 exclusively and thanks to the intense memory management problems I wrote my own pre-linker to automatically handle ROM segmentation and layout. I used the ByteBoozer2 cruncher internally and a lot of custom tooling to convert the original data set into C64 digestible chunks. As the game is open source, I have created a build environment as a public Docker Container that contains all tools needed for a successful build (build system, compilers, assemblers, crunchers etc).”

These challenges were eventually overcome and the team moved into “massage mode”, particularly the efforts of Veto (Oliver Lindau), who painstakingly handled the dithering of tile sets and monsters. How much effort was involved in the graphic implementation? Veto writes: “The adaptation of the graphic took about three years, but I can’t measure the effort in hours. The effort varies greatly depending on the area. The intro and ending sequence consists of scenes, each of which requires an individual approach. The effort varies from hours to several months. In-game graphics, on the other hand, were created in two steps: First, Ilesj converted the VGA originals into graphics close to the C64 in a semi-automated process. This was then reworked by hand in order to comply with the C64 restrictions and to ensure that details in the course of the game remain clearly visible as far as possible. The revision of the in-game graphics took about 18 months.” Tool slavery for the graphics effort was mainly done via Pro Motion NG as well as Photoshop. In addition to this, an editor developed by JackAsser was utilised for editing the graphics in a simulated dungeon view.

In terms of actual time taken by JackAsser to finally complete all code for the game: “Hard to say. I spent thousands of hours on the code alone. It’s close to 70k lines of assembly.”

After the revision of in-game graphics by Veto (as mentioned, some 18 months of effort), the game has been finalised after many years of work.

This incredible port starts off with the initial title screen and credits, then we are taken into the famous animated intro that has been exquisitely reproduced by Veto, a staggering rendition presented in all its glory. If you have played an AD&D game, you will quickly pick up the concept of EotB. A party of four may be created to venture into the dungeons, additionally, you can also select a pre-assembled team that is up to the task. Movement is achieved using the 1351 Mouse and selecting the on-screen buttons or using a set of six keys. All other actions are achieved by moving the cursor, this includes equipping your characters, offensive and defensive manoeuvring (including casting spells) or picking up items along your journey.

As you journey through the dungeons, you have to overcome many puzzles that will become increasingly difficult as you go deeper and deeper down. Before you begin, it pays to read the manual, digest the contents and go forth with some ideas of how to handle things (especially for those new to the genre), even if you read the manual, it will take you some time for to become familiar with the interface and controls. Once the controls have been mastered, this title will keep you playing for many, many hours on your mission to overcome the 12 levels on offer.

In terms of gameplay, the C64 version implements everything that the DOS/Amiga versions have. The C64 version also extends it by including a built-in auto mapper/compass which will ease your pain, easier-to-use keyboard-only controls, and a built-in bestiary among other things.

Conclusion: Brilliant execution of this game conversion. Simply the best dungeon crawler on this platform which bites and, in some cases, completely consumes the original. Outstanding and a must-play!

What are the specifications?
It requires a C64 or C128 (PAL, old NTSC, new NTSC and Drean are all supported). It runs on custom cost-reduced Easy Flash 1 carts. The game is still compatible with the original Easy Flash 1 or 3 carts. It also works fine with 1541U2, Ultimate 64, Turbo Chameleon and VICE. The cart can host one save slot and you can optionally use a drive to save files on disk. A normal 1541 disk can host around 7 save slots. There is no disk-only version of the game. The EasyFlash cart is filled to the brim with just a few KB left remaining. C128 2Mhz mode is supported. Now about the C128 version, this is really “the ultimate experience”. Apart from leveraging the 2Mhz mode on offer, you also have the C128’s number pad support for the movement and the big one C128 VDC-CHIP support for a second screen showing the auto-map in real time!

Download available:

https://eotb64.com/

https://csdb.dk/release/?id=226060

https://bitbucket.org/JackAsser/eye-of-the-beholder-c64/src/master

David Simmons
News editor and cover disk organiser at ZZAP! 64 and ZZAP! AMIGA.

Leave a Reply

Your email address will not be published. Required fields are marked *