hlttp (preview)

A Hyperlink to the Past. A top-down adventure across nine regions and eight ruins, played in any order, in a hand-drawn HD pixel style that also switches back to the original look.

Version: v4-b29+652e632 (prerelease)

Type: Top-Down Action Adventure / Single Page Application (SPA)
Domain: 16-Bit-Style Adventure / Open Exploration

Purpose & Origins

hlttp is a top-down adventure in the tradition of the 16-bit console classics: a sword, a growing set of tools, a map that opens up as you learn to use them, and ruins with a key, a puzzle and a keeper at the bottom. The name is a nod to A Link to the Past, and the debt stops at the name and the genre. The world, its people, its ruins and its score were written for this game.

Version 4 is a remaster of an earlier version of the game, rebuilt over twenty-nine builds. It began as a redraw and turned into a rethink. The art was redrawn at high resolution. The route through the world, once a fixed sequence, was taken apart so that the eight ruins can be entered in any order. Then the world was filled in: secrets, side quests, an economy, a day and a night, touch controls, and music and sound for every place and action.

Architecture & Technology

A single self-contained page with no external assets. The game runs in TypeScript at a fixed resolution and is drawn by one of two renderers, switchable at any time with F4. The classic renderer draws the original pixel art. The HD renderer draws every tile, creature and prop from redrawn art sets and lights the scene through a WebGL pass: one sun with cast shadows, glowing torches and braziers, and a colour grade for each region. On machines that render in software, the light pass gives way to a CPU path, so every player sees the same world. The page scales to fit any screen up to 4K.

The world is 204 rooms across nine regions (Alderfen, Thornwold, Sallowgate, the Salt Moor, Wheatmarch, Ferrowmarch, Highfell, Caldercourt and the Junction between them) and eight ruins, from the Old Archive to the Sunken Court. Each ruin holds one piece of a broken Link, and the eight pieces forged together open the way to the Magistrate. Twenty-seven secrets are hidden in the regions behind cracked rock, sealed cellars, water and high outcrops. Ten side quests are given by people who live there. In Caldercourt the Counting House sells five fine goods for a purse that holds 9,999, and runs two games of chance whose house edge is published in the build notes. A full day passes in about thirty minutes out of doors and stands still inside the ruins; at night the light turns blue, wisps drift onto the roads, and the market closes until morning.

The score and the sound are synthesized in Web Audio by an eight-voice synth modeled on the 16-bit sound chips. It plays seventeen original modal themes, one for each region and kind of ruin, each opening on the same four-note motif, and nine night arrangements that crossfade in at dusk. Forty-two sound effects cover every event the game emits. Saves are kept in localStorage on your own machine.

On a phone or tablet, touch controls are drawn in the screen's margins rather than over the play, laid out for each shape of screen and checked by test at five real device sizes. The whole game can be played by touch alone.

Scope & Uniqueness

Remakes of this genre tend to fix the order things happen in, because a fixed order is easier to build and to test. Here the eight ruins can be taken in any order. Every ruin entrance is reachable on foot from a new game, and three complete orders, forward, reversed and crossing, are played end to end by the release tests before any build ships. Each release passes 140 automated gates, among them a replay of the full adventure that must match 2,621 recorded checkpoints, and every room is compared pixel for pixel in both renderers against the build before.

The engine is also written to outlast this world. Nothing in its code names a place: each world's regions, looks, lighting and music are data, and a test builds and plays a second, tiny world and walks through a door between the two. There is no account, no tracking and no network call of any kind.

Screenshots