Diablo JS
A minimal-code isometric action-RPG on a single HTML5 canvas. Fight monsters, gr...
Diablo JS
š How to Play
Move with the arrow keys or WASD. Combat is contact-based ā walking into a monster attacks it, and it attacks back. Pick up potions, coins and barrels as you go. Coins are your score.
š Complete Game Guide
Diablo JS
Diablo JS is an isometric action-RPG in the Diablo style, written against a
single HTML5 <canvas> with no engine and no dependencies. The entire game
ā map data, the combat loop, the AI, the loot tables, the sprite animation
driver ā lives in about 900 lines of diablo.js.
Every monster, floor tile, wall, barrel, potion and coin is an isometric sprite sheet on disk. Sixteen monster types are referenced by the AI table; the rest of the art budget went into the dungeon itself.
How to Play
- Move with the arrow keys or WASD.
- Walk into a monster to attack it. Positioning is the whole combat system ā there is no dodge button.
- Pick up potions, coins and barrels as you go; coins are your score.
- Survive. Monsters get tougher the deeper you go.
Controls
- ā ā ā ā or W A S D ā move and attack
- Movement is grid-relative and interpolated, so the sprite always turns to face the way you are going
Tips
- Attacking is contact-based: bumping an enemy is how you hit it, and bumping it is also how it hits you. Retreat to a corridor and make them come to you.
- Barrels break into pickups but also absorb hits ā a cheap way to stall a monster while you heal.
- Potions drop rarely. Do not spend them on a lucky encounter; bank them for the third monster you cannot outrun.
Save Data
Nothing is saved. Each load starts a fresh run.
Open Source & License
Diablo JS was created by mitallast and is licensed under the MIT License.
- Original game source: https://github.com/mitallast/diablo-js
This integration self-hosts that build so it runs entirely in your browser.
diablo.js and index.html are byte-for-byte unmodified; only the game's
runtime art was shipped, not the upstream sprite-authoring tools and unused
texture working directories.
"Diablo" is a trademark of Blizzard Entertainment. This project is an independent, non-commercial homage built entirely from scratch ā it is not affiliated with or endorsed by Blizzard and contains no Blizzard assets.
š® Controls
Share This Game
š® Related Games
Orbium
A one-touch marble puzzle in vanilla JavaScript and canvas. Nudge a marble through rotators, teleporters, one-way lanes and clocks to reach each level's dock. Includes a level editor.
Hextris
Tetris on a hexagonal grid. Rotate and stack falling hexes, line up three of the same colour to clear them, and survive as the waves get faster. Plain JavaScript, no build step.
Roguish
A turn-based roguelike dungeon crawler rendered with EaselJS on canvas. Explore a procedural dungeon with up to four heroes, manage fog of war, and recover the mythic treasure chest ā or die trying.
Shape Experiment
A minimalist reaction game. A canvas is filled with a solid shape and revealed one pixel at a time ā name the shape before the timer runs out. Keeps a full per-shape accuracy and speed tally.
š¬ Comments
Coming soon! Sign in to leave a comment.