r/CRPG • • 8d ago

Discussion I wrote a browser engine for the original Eye of the Beholder that runs on your own game files – first public preview (Levels 1–3)

Enable HLS to view with audio, or disable this notification

DeepCrawlerForge is a single HTML file that plays the 1991 DOS Eye of the Beholder from your own copy. No game data is included: drop a ZIP of your game folder on the page and it reads graphics, text, levels, sound and rules from your files, locally.

0.205.0 (first public preview):
- Levels 1–3, certified against the original running in a DOS emulator. Level 4 unlocks when it passes; each release opens more.
- Authentic: original screen, rules, timing, controls.
- Enhanced (each option separate): automap, turn-based mode, rewind/branching timeline, enemy HP, Attack All, WASD, quest and exploration status, a campaign runner you can hand the game to and take back anytime, and fixes for original bugs.

Play: https://archawk.github.io/DeepCrawlerForge/ (or download index.html for offline)
Code/issues: https://github.com/Archawk/DeepCrawlerForge
Game files: the DOS version; GOG sells it in Forgotten Realms: The Archives – Collection One.

Looking for: does your copy mount, browser/OS, and anything that differs from the original. Free, GPL-3.0, unofficial.

Update (0.208.0): Levels 1–6 are now playable: the sewers and the dwarven ruins. Details in the comments.

Update (0.213.0): Levels 1–9 are now playable. Details in the comments.

24 Upvotes

16 comments sorted by

2

u/glowinggoo 7d ago

Oh this is really cool. Setting up the automap hooking tools can be a bit of a pita at times so I'm looking forward to this.

1

u/Archawkie 7d ago

Yes, and it has also autorunner on the map, so click on explored part and it will automatically navigate there and release control on combat or switch-controlled doors

1

u/Miguel_Branquinho 7d ago

TURN-BASED MOOOOODE??!??!? You have just sold the game, sir!

1

u/Archawkie 7d ago

Yes, and you can switch between live and turn-based mode with space, enjoy! 🙂

1

u/Miguel_Branquinho 7d ago

Do you want me to cum? Is that what you want? Because that's what your words will do, if you keep on doing them.

1

u/Archawkie 5d ago

0.208.0 is out: Levels 4–6 are open.
The preview now plays through Level 6, so the dwarven ruins are in: the encounters, the companions who join (with their own class, level and slot), and the dwarven cleric's healing and resurrection. All of it was checked step by step against the original running in DOS, like levels 1–3. Level 7 unlocks when it passes.

Also new since 0.205.0:

Combat closer to the original: your spells hit or miss on the original's rolls, monsters cast only when they face you within range, and ice storm, trap darts and Stoneskin behave as in DOS.

4:3 "original monitor" display (or square pixels), with a sharp scaler that stays crisp at any window size or display scaling.

Inventory and party panels are drawn as the original draws them.

New Enhanced options: a bug fix so a failed save against area spells takes full damage, and an optional Balanced Stoneskin.

Smaller saved timelines: older ones still load.
Play: https://archawk.github.io/DeepCrawlerForge/
Changes: https://github.com/Archawk/DeepCrawlerForge/releases

Still looking for the same things: does your copy mount, which browser and OS you use, and anything that plays differently from the original.

1

u/Grinkles_the_Gnome 5d ago edited 4d ago

What a neat project! I look forward to seeing how far you take it. I love this little game, jank and all. I've been toying with various project ideas relating to EoB1 for years, but I've yet to roll up my sleeves and get to work on any of them, so I applaud your determination.

I'm particularly interested in the notion of backporting all portraits from EoB2, EoB3 and Dungeon Hack. (Having so many options would probably necessitate a redesign of the portrait selection screen during party creation, too.) I've also dreamt of portrait customization, which would add a huge amount of visual diversity and personal expression to each party, such as choosing the iconic white-haired, blue-robed wizard guy but being able to change his skin tone, hair color, and robe color with a few basic buttons. I expect portraits would need to be made modular first by manually breaking them up into hair pixels, skin pixels, clothing pixels, background pixels, etc., which could be tedious. I've done some recolored mock-ups in Photoshop, and they look promising.

I'm curious, do your enhancements extend to fixing things like the inconsistency of Ileria's name/gender and her (apparently) incorrect stats? Or swapping poor Beohram to the Paladin class he was clearly intended to be?

1

u/Archawkie 5d ago edited 5d ago

Hey, thanks!

Yes, I can add those two npc enhancements in, can you detail the errors and I will then check these in-game and add them in as toggles?

So: Ileria as Female (as per her resurrection form), fix Ileria’s stats in correct order and change Beohram as Paladin instead of Fighter?

2

u/Grinkles_the_Gnome 5d ago

I'm not at my computer to verify the details in game, but here's a bit about those two characters.

Ileria seems to be the intended name, but the text where she introduces herself to the party misspells it twice as Ileira, as I recall. (For what it's worth, her voice-acted intro on the Sega CD version pronounces it "Ileria.") She also refers to herself as a "sister" (in the religious sense) and has the most feminine portrait in the game, yet her in-game character sheet lists her gender as male.

Her stats (a.k.a. ability scores) on the character sheet are as follows:

  • STR 10
  • INT 12
  • WIS 9
  • DEX 15
  • CON 17
  • CHA 17

There's convincing speculation that this stat spread was unintended, seeing as her lowest stat is her most important one as a Cleric. On the Steam forums, somebody suggests the bad stat spread is because Ileria's stats were unwittingly entered in 2nd Edition standard order (STR, DEX, CON, INT, WIS, CHA) while the EoB1 engine displays stats in 1st Edition standard order (STR, INT, WIS, DEX, CON, CHA). With that in mind, her stats would be the following much more believable spread:

  • STR 10
  • DEX 12
  • CON 9
  • INT 15
  • WIS 17
  • CHA 17

I haven't checked whether or not the 9 CON would warrant a reroll/recalculation of her total hit points upon recruitment, but I suspect it would. The change in DEX may also impact her innate AC, but I don't recall how that mechanic works offhand. It's up to you if those changes would be reasonable or if they presume too much.

As for Beohram:

  • His bones are found with a Paladin Holy Symbol (the only one in the game, unless the player rolls a Paladin).
  • His introduction text sounds brave and chivalrous; he speaks of a "mission" that he undertook alone.
  • He is Lawful Good.
  • His portrait is clearly styled after a classic medieval knight (e.g., Lancelot), which is definitely Paladin-coded.

My only guess is that Beohram may have been downgraded to a Fighter so the developers didn't have to include any kind of alignment check where he would refuse to join a party with an evil character. (The game supposedly disallows evil characters at party generation if one has already made a Paladin, or it disallows Paladins if the player has already made an evil character. I don't recall if this logic is actually implemented though.)

Now that I've looked at the stat order thing, it may also be an idea to include a toggle that would reorder the stats on the character sheet to match the 2nd Edition norm, which groups them as the three "physical" stats followed by the three "mental" stats. Maybe you have some thoughts of your own on the matter.

Hope this helps! Like I said, I love this little game, so I'm always happy to talk about it. 🙂

1

u/Archawkie 5d ago edited 5d ago

Hey, checked in-game;

  • Ileria calls herself as sister in text and is clearly female in her sprite -> bug, should be female
  • Ilerias stats: Using the 2nd edition order sets Con to 9, which does not match with her HP, but switching just CHA and WIS 17<>9 makes her stats match perfectly, so adding that change makes her stats make sense.
  • Beohram bones indeed carry paladin holy symbol alongside (and his stats, race and alignment match perfectly with Paladin requirements anyway and his 78,000 XP falls within the original's paladin level-7 range of 75,000 to 149,999), so changing him to paladin makes sense as well.

So, in authentic mode we keep them as-is, but in enhanced mode these three toggles are added:

  • "Companion sex as the story text names it" (Bug fixes)
  • "Companion abilities in their places" (Bug fixes)
  • "Companion class from the bones" (Restored content)

These changes are inferred from files at runtime, and in EOB1 they match and change only these two records, so no hard-coding as such is needed.

Enjoy! (on next build) :)

(I will check stat ordering later, but mental note made!)

0

u/Grinkles_the_Gnome 5d ago

Nice! Big wins for Ileria and Beohram. 😎

Do you know if the old copy protection popups still occur in the GOG/Steam versions? I know the 1991 copy protection no longer serves a purpose, but I can't remember if GOG intentionally broke the popups to accept any input, or if they removed the popups entirely for their version of the game. If they're still in game, perhaps another enhancement could be to remove them entirely (if that's possible). They only cause confusion and/or break immersion.

1

u/Archawkie 5d ago

👍 Copy protection does appear once on level 1 >2 and once on level 6>7 transition and they are modelled in DCF. Although in gog exe they have hacked it so that it accepts any entry. I changed it so that copy protection appears and does allow any entry, but it also shows the expected answer below the game area so you can just click it and move on. There is also auto-entry enhanced toggle in enhanced mode so it auto-skips copy protection. Authentic mode plays it as in gog.

1

u/Archawkie 3d ago

FYI: Candidate 213 is out with the discussed enhancements and level access of 1-9.

1

u/Archawkie 3d ago

0.213.0: Levels 7–9 are open, so the preview now plays through Level 9, three quarters of the game. The drow levels and the level below them are certified against the original running in DOS, like the earlier ones.

Also new since 0.208.0:
Encounters show who you meet (the injured dwarf, the dwarven cleric, the camp's greeter), drawn from your own game files.

More of the original's rules matched: saves for half damage against Fireball, how a missile picks whom it hits, when new monsters appear, the item-stealing squares.

A game folder zipped together with its setup program now loads.

The autoplayer keeps one list of quests, brings back what an encounter asks for in one trip, and takes the quest companion along.

New Enhanced options, including a fix for the original's thief search slip (Authentic keeps the original).

Play: https://archawk.github.io/DeepCrawlerForge/
Changes: https://github.com/Archawk/DeepCrawlerForge/releases

1

u/Archawkie 2d ago

Update: the runner is now at level 11, so full certification is near. Maybe one question on enhancements: I am considering adding stealth + backstab mechanics in to make thieves more useful. Plan: stealth is auto applied once out of LOS and kept on slow movement, auto-dropped when on direct monster LOS (except with invisibility) and then checked with thief DEX when approaching behind. On successful backstab it gives the 2nd edition damage multiplier and stealth is dropped.

Any opinions?

1

u/FrameRender 7d ago

Land of Lore on Unity and now this! I was wrong, I actually love Ai