A Diablo-inspired roguelike game with ASCII graphics, procedurally generated dungeons, and turn-based combat.
- 8 procedurally generated dungeon levels inspired by Diablo's progression into Hell
- Turn-based combat system similar
- 4 character attributes that affect gameplay (ASCI ...):
- Agility: Affects turn order, dodge chance, and ability to use ranged weapons
- Strength: Affects maximum health, attack power, and ability to use heavy weapons/armor
- Charisma: Affects persuasion attempts and item prices
- Intelligence: Affects magic power, mana pool, and spell variety
- Multiple character classes with unique abilities
- Procedurally generated monsters with different behaviors and abilities
- Procedurally generated items (weapons, armor, and consumables)
- Colorful terminal interface
- Go 1.24 or higher
- Terminal that supports ANSI colors
- Install Go from https://golang.org/
- Clone this repository:
git clone https://github.com/ppedziwiatr/ascii-gig.git
cd diablo-roguelike
- Install dependencies:
go get golang.org/x/term
- Build and run the game:
go build -o roguelike ./cmd/game
./roguelike
- Arrow keys or WASD: Move
- G: Pick up item
- I: Inventory
- C: Character sheet
- Q: Quit game
- 1-9: Use ability (in combat)
- R: Run away (in combat)
- Church Catacombs: Dark and damp stone passages beneath the church
- Underground Passages: Natural caves with occasional constructed walls
- Forgotten Tombs: Ancient burial chambers with dusty sarcophagi
- Torture Chambers: Blood-stained rooms with instruments of pain
- Hellish Caves: Caverns heated by infernal fires below
- Burning Hell: Lakes of fire and brimstone
- Realm of Hatred: A twisted landscape of malice and spite
- Diablo's Lair: The final resting place of the Lord of Terror
The codebase is organized into the following packages:
cmd/game
: Main application entry pointpkg/ui
: User interface rendering and menuspkg/input
: Keyboard input handlingpkg/dungeon
: Dungeon generation and managementpkg/character
: Player character implementationpkg/monster
: Monster generation and behaviorpkg/item
: Item generation and effectspkg/game
: Core game logic and state management
This project is licensed under the MIT License - see the LICENSE file for details.