Skip to content

olistic/warriorjs


Learn JavaScript and TypeScript by writing code that fights


In WarriorJS, you write JavaScript or TypeScript to guide a warrior through towers full of enemies. Each floor is a puzzle: battle sludge, dodge archers, rescue captives, and reach the stairs alive. The code you write is the strategy — there's no clicking, no dragging, just logic and sharp thinking.

Whether you're writing your first if statement or refactoring for a perfect score, every floor will test you.

Quick Start

  1. Install Node.js 22 or later.

  2. Install the CLI:

npm install --global @warriorjs/cli
  1. Launch the game:
warriorjs

The game walks you through creating a warrior and choosing a tower. Open the generated README.md for your first level's instructions, write your solution in Player.js, then run warriorjs again to see how your warrior fares.

You can also play from your browser at warriorjs.com.

Documentation

The official docs cover everything from first steps to building your own towers:

Contributing

The best way to contribute is to build a tower — a set of levels that other players can install and play.

You can also fix bugs, improve the docs, or add new abilities and units. See the contribution guide and Code of Conduct.

Acknowledgments

This project was born as a port of ruby-warrior. Credits for the original idea go to Ryan Bates.

Special thanks to Guillermo Cura for designing a wonderful logo.

License

WarriorJS is licensed under a MIT License.

Packages

 
 
 

Contributors