
About
Harold is a modernized, browser-based reimplementation of the Fallout 2 game engine, based on the darkfo codebase but rewritten for Python 3 and written primarily in TypeScript and Python, targeting recent browsers with WebGL 2.0. It is incomplete: core systems like map loading, walking, NPC dialogue, bartering, and some quests and skills work, but major parts such as the PipBoy map, full combat, and equippable armor are missing or unfinished.
How it differs from the original
As a from-scratch reimplementation it currently lacks equippable armor and a working PipBoy map, has only rudimentary combat (only the SMG and spear are well-tested, with no ammo swapping), and renders text using HTML elements rather than the original's native bitmap fonts.
Getting started
You need your own legally obtained copy of Fallout 2 (for example from GOG); a setup script unpacks and converts its game archives into the format Harold uses. The game then runs from a local web server, accessed by browsing to a specific URL, or can be loaded directly from a file in Firefox.
Known limitations
- ui: Fonts are rendered within HTML elements instead of native Fallout bitmap fonts.
- combat: Combat works at an extremely basic level with limited weapon testing and no ammo swapping.
- armor: No equippable armor system implemented.
- world_map: World map is rough and buggy, with misplaced entrances on area screens.
- lighting: Lighting has minor bugs and inaccuracies, particularly slow outside of WebGL backend.
Additional notes
- Technical note
- Sound requires a separate acm2wav conversion tool, since it hasn't been ported to Python yet; FFmpeg may also be able to transcode the original's ACM audio format.