---
title: "Bruce Lee: a browser port of a 1984 platformer"
description: "My TypeScript port of the 1984 platformer Bruce Lee, with 20 chambers, on a 320x176 canvas. Not playable on this site."
date: 2026-10-01T12:05:00+02:00
lastmod: 2026-10-16T18:58:52+02:00
url: https://klimek.link/projects/bruce-lee/
author: "Marcin Klimek"
source: https://klimek.link/projects/bruce-lee/
---

# Bruce Lee: a browser port of a 1984 platformer

I ported **Bruce Lee**, the 1984 platformer by Ron J. Fortier published by Datasoft, to TypeScript. To open the exit of each of its 20 chambers you have to collect all the lanterns, while a ninja and a sumo wrestler try to stop you, and you can either fight them or try to get out of their way.

My version draws on a 320x176 canvas (the resolution of the original, scaled up) at 60 frames per second. Scenes are described as data: platforms, ladders, lanterns, traps, enemies and doors. The player and enemies are small state machines that walk, jump, climb and fight. You control Bruce with WASD or arrow keys, and `F` attacks.

*Diagram: Schematic of the port: scene data and keys drive the state machines, drawn on a small canvas*

This is a fan port I made to learn from, and it's **not playable here**. Graphics, maps and music all come from the original game, which is under copyright, so I don't host the build on this site.

Source: https://klimek.link/projects/bruce-lee/
