Spaces:
Running
Running
metadata
title: AdaptiveTactics
emoji: ⚡
colorFrom: indigo
colorTo: purple
sdk: static
pinned: false
thumbnail: >-
https://cdn-uploads.huggingface.co/production/uploads/6916590f41e1323e1096cf76/UJ-K9_briMXGNL5Uy0Zwf.png
license: apache-2.0
short_description: A tactical roguelite game of doomed repetition.
tags:
- game
- game-ai
- npc
- games
- reinforcment-learning
- godot
- unity
- tactical-rpg
- ai
- roguelite
- strategy
- javascript
- static
Adaptive Tactics
A browser-playable tactical roguelite where you face Ephraim, the Returning King, across repeated cycles on a single fixed map. Each time Ephraim is defeated, he returns stronger and more aware of how you fight.
Your score is how many cycles you survive before Ephraim finally defeats you.
How to Play
Starting the Game
This game uses ES modules and requires a local web server to run.
Option 1: Python (recommended)
cd KingOfAdaptation
python -m http.server 8000
Then open http://localhost:8000
Option 2: Node.js
npx serve KingOfAdaptation
Option 3: VS Code Live Server
Install the "Live Server" extension and right-click index.html → "Open with Live Server"
Gameplay
- Name your Oathbearer
- Command your 4-unit party against Ephraim's forces
- Click a unit to select it, then click a blue tile to move
- After moving, click an enemy in the red attack range to attack
- Use the action buttons: Attack, Heal, Wait, Switch Weapon
- End your turn when all units have acted
- Defeat Ephraim to complete the cycle
- Face his adapted army in the next cycle
Your Party
- Oathbearer - Balanced fighter with sword and magic
- Yuta - Powerful axe warrior, high HP
- Eilisia - Precise archer, attacks from range
- Mirella - Healer with supportive magic
Combat System
- Units can move and then take one action per turn
- Weapons have different ranges (melee: 1, ranged: 2, spears: 1-2)
- Defenders can counter-attack if their weapon reaches
- A unit with 4+ more Speed attacks twice
- Terrain provides defensive bonuses (bushes, throne)
Adaptation
Ephraim learns from each defeat:
- He tracks which lanes you favor
- He notices your high-value targets
- His forces adapt their positioning
- Later cycles add reinforcements
- His behavior becomes more aggressive over time
Tech Stack
- Pure static HTML / CSS / vanilla JavaScript (ES modules)
- No framework, no build step
- All game data in JSON files
- localStorage for persistence
Project Structure
├── index.html # Main entry point
├── css/ # Stylesheets
├── js/ # Game logic modules
├── content/ # JSON data files
│ ├── maps/ # Map layouts
│ ├── units/ # Unit templates
│ ├── items/ # Weapons
│ ├── adaptation/ # AI packages
│ └── balance/ # Game rules
├── assets/ # Images
│ ├── sprites/ # Unit sprites
│ ├── portraits/ # Character portraits
│ ├── tiles/ # Terrain tiles
│ └── screens/ # Background images
└── tests/ # Test files
License
All rights reserved.
Creator
Zain Asad