Games · 2026

Katsuya's Revenge

Katsuya, a banished Samurai, dons a hidden persona as a ninja to avenge the death of his sensei by the corrupted Samurai Kapudo. The AP Computer Science original, thoroughly remastered in 2026 — four levels, story cutscenes, a katana, and a three-phase boss. Playable right here.

Created by Kobe Shavolian, Milad Farazian, Brittany Dakoske, Keon Etebari, Shelby Cohen, Keegan Sly & Mr. Enfield in AP Computer Science. Remastered & re-presented by Milad Farazian, 2026.

Originally JavaRemasteredCanvasWeb Port

▶ Click the game to focus it — A / D or ← → to move, Space to jump, click to shoot, S for the katana (on-screen pad on mobile). Best with sound on.

Controls

A / DMove left / right
SPACEJump
CLICKThrow shuriken
SKatana slash
ESCPause

What the remaster adds

The full story, playable

Four levels threaded with illustrated between-level cutscenes, an ending, and credits — the arc the original only hinted at.

A katana in your other hand

A new melee mechanic alongside the shurikens: an 18-tick slash that chains swing into swing when you keep the pressure on.

A three-phase warlord

The final boss reads like a boss should — wind-up tells, slash arcs, and landing shockwaves that come faster at half health and faster again at a quarter.

A dojo arena with depth

A gated arena fight with parallax layers, plus checkpoint lanterns — light one and deaths return you there instead of the level start.

Modern game feel

A real pause menu, a death screen with restart, per-level music, and a title screen — the connective tissue the AP CS version never had time for.

How it's built

The remaster is a hand-written HTML5 canvas port of the original Java Swing game — the gameplay logic mirrors GamePanel.java and Enemy.java move for move, so it still plays like the game we built in class, just finished. Player sprite sheets are generated by tooling from the Java project, cutscene frames ship as data the page loads up front, and the level music is transcoded for the web. No engine, no framework: one canvas, one game loop, ~1,800 lines.