# olistic/warriorjs

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/olistic-warriorjs).**

9,526 stars · 500 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/olistic/warriorjs
- Homepage: https://warriorjs.com
- awesome-repositories: https://awesome-repositories.com/repository/olistic-warriorjs.md

## Description

Warriorjs is a programming game framework and code-based logic puzzle where players write code to control characters and solve strategic combat challenges. It serves as an educational coding game designed to teach programming logic and algorithmic thinking through a series of combat scenarios.

The project functions as an extensible game engine that allows the addition of new universes, levels, abilities, and units via independent package extensions. It also provides tools for custom level design, enabling the creation of challenges for other players to solve.

The system manages game entity definitions, spatial positioning, and turn-based state simulation. It executes game levels through a terminal-based interface, calculating numeric scores and letter grades based on the performance of the provided logic.

## Tags

### Education & Learning Resources

- [Educational Programming Environments](https://awesome-repositories.com/f/education-learning-resources/learning-platforms-infrastructure/educational-infrastructure/educational-tools/educational-programming-environments.md) — Provides an interactive environment where users learn programming by writing scripts to control characters in combat.
- [Programming Games](https://awesome-repositories.com/f/education-learning-resources/programming-games.md) — Serves as an interactive environment to help users learn programming logic and algorithmic thinking through combat scenarios.

### Part of an Awesome List

- [Spatial Positioning Systems](https://awesome-repositories.com/f/awesome-lists/devtools/game-engines-and-frameworks/spatial-positioning-systems.md) — Coordinates absolute and relative directioning for units and abilities within the game world. ([source](https://github.com/olistic/warriorjs/tree/master/libs))
- [Frameworks](https://awesome-repositories.com/f/awesome-lists/learning/programming-games/frameworks.md) — Offers a programming game framework for creating and solving strategic combat puzzles via a terminal interface.
- [Programming and Logic](https://awesome-repositories.com/f/awesome-lists/learning/programming-and-logic.md) — Program a warrior using JavaScript to navigate a tower.

### DevOps & Infrastructure

- [Combatant Behavior Programming](https://awesome-repositories.com/f/devops-infrastructure/deployment-stage-management/combat-stage-automators/combatant-behavior-programming.md) — Provides a mechanism to write logic that guides characters through strategic puzzles to reach a goal. ([source](https://github.com/olistic/warriorjs#readme))

### Game Development

- [Turn-Based Loops](https://awesome-repositories.com/f/game-development/engine-architecture/game-loops/turn-based-loops.md) — Processes game rounds by executing player logic and updating the world state in discrete sequential steps.
- [Entity Definitions](https://awesome-repositories.com/f/game-development/entity-definitions.md) — Establishes standard definitions for units, abilities, and effects to ensure consistency across game levels.
- [Entity Movement Tracking](https://awesome-repositories.com/f/game-development/entity-movement-tracking.md) — Tracks unit positions and movement using a coordinate system to manage combat interactions.
- [Level Simulation Execution](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/level-simulation-execution.md) — Runs specific game levels using provided code and returns the final result of the simulation. ([source](https://github.com/olistic/warriorjs/tree/master/libs))
- [Logic Puzzles](https://awesome-repositories.com/f/game-development/logic-puzzles.md) — Uses coding challenges and combat puzzles to teach programming logic and algorithmic thinking. ([source](https://github.com/olistic/warriorjs/blob/master/README.md))
- [Automated Combat Logic](https://awesome-repositories.com/f/game-development/tactical-combat-simulations/automated-combat-logic.md) — Enables writing and testing code to automate character behaviors and strategic decisions to defeat enemies.
- [Game Content Extension](https://awesome-repositories.com/f/game-development/game-content-extension.md) — Allows the addition of new game worlds, levels, and units via independent package extensions.
- [Extension Frameworks](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/game-development-engines/extension-frameworks.md) — Implements a modular system for adding new universes, abilities, and levels via external package extensions.
- [Level Design Tools](https://awesome-repositories.com/f/game-development/level-design-tools.md) — Provides tools to create custom combat challenges and environmental layouts for other players to solve.
- [Terminal Games](https://awesome-repositories.com/f/game-development/open-source-games/genres/terminal-games.md) — Provides a terminal-based interface for controlling characters and solving strategic challenges via code. ([source](https://github.com/olistic/warriorjs/tree/master/apps))
- [Terminal Game Loops](https://awesome-repositories.com/f/game-development/terminal-game-loops.md) — Runs the game simulation and outputs the results directly to a command line interface.

### Software Engineering & Architecture

- [Game AI Behaviors](https://awesome-repositories.com/f/software-engineering-architecture/modular-design-patterns/pipeline-component-modularization/ai-component-pipelines/game-ai-behaviors.md) — Allows users to code autonomous behaviors for game characters to navigate environments and defeat opponents. ([source](https://github.com/olistic/warriorjs/blob/master/.gitattributes))
- [Character Control Logic](https://awesome-repositories.com/f/software-engineering-architecture/state-driven-logic/character-control-logic.md) — Provides a mechanism to execute JavaScript functions that determine character movement and combat actions.
