https://github.com/pitercoding/the-terminal-awakens
[EN] Terminal-based RPG game built in Java featuring turn-based combat, character progression, equipment system, and ASCII ART. [PT-BR] Jogo de RPG em terminal desenvolvido em Java com combate em turnos, progressรฃo de personagem, sistema de equipamentos e arte ASCII.
https://github.com/pitercoding/the-terminal-awakens
ascii-art aventura-terminal boss-fight character-progression dungeon-exploration equipment-system game-development inventory-system java java-oop jogo-rpg learning-project object-oriented-programming programacao-orientada-objetos terminal-rpg-game text-based-game turn-based-combat
Last synced: 10 days ago
JSON representation
[EN] Terminal-based RPG game built in Java featuring turn-based combat, character progression, equipment system, and ASCII ART. [PT-BR] Jogo de RPG em terminal desenvolvido em Java com combate em turnos, progressรฃo de personagem, sistema de equipamentos e arte ASCII.
- Host: GitHub
- URL: https://github.com/pitercoding/the-terminal-awakens
- Owner: pitercoding
- License: mit
- Created: 2026-01-19T12:13:46.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-01-24T08:44:07.000Z (4 months ago)
- Last Synced: 2026-05-03T15:39:09.056Z (10 days ago)
- Topics: ascii-art, aventura-terminal, boss-fight, character-progression, dungeon-exploration, equipment-system, game-development, inventory-system, java, java-oop, jogo-rpg, learning-project, object-oriented-programming, programacao-orientada-objetos, terminal-rpg-game, text-based-game, turn-based-combat
- Language: Java
- Homepage:
- Size: 348 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
๐๏ธ๐ฅ๏ธ The Terminal Awakens ๐ฅ๏ธ๐๏ธ
๐ Languages:
๐ง๐ท Portuguese |
๐บ๐ธ English
**The Terminal Awakens** is a **terminal-based RPG adventure game in Java**, where players explore a dungeon-like world, battle monsters, and grow their characters through XP, levels, and equipment.
The project features:
- Multiple **vocations/classes**: Knight, Paladin, Druid, Sorcerer
- **Turn-based combat** with special attacks and mana management
- **Equipment system**: Weapons and armor with bonuses
- **Inventory & items**: Health and Mana potions
- **Map exploration**: Random encounters, shops, NPCs, and final boss
- **ASCII portraits** and immersive text UI
---
## ๐ Motivation
This project was created as a **personal learning project in Java**, focused on:
- Practicing **OOP, inheritance, and polymorphism**
- Building **terminal-based games** with clean code structure
- Implementing **combat mechanics, inventory systems, and level progression**
- Exploring **game balance, UX, and terminal graphics**
It was also an opportunity to reinforce concepts like:
- Designing **class hierarchies and abstract classes** for reusability
- Managing **game loops, events, and player states**
- Implementing **equipment, items, and stats system** in a RPG context
## ๐ธ Screenshots
Below are some screenshots showcasing key moments of **The Terminal Awakens** gameplay.
### 1. ๐ฅ๏ธ Game Start โ ASCII Title Screen
The ASCII art displayed when the game starts, presenting the world of **The Terminal Awakens**.

---
### 2. ๐ง Character Creation & Starter Kit
The beginning of the journey, where the player chooses a vocation and receives the starter equipment.

---
### 3. โ๏ธ Combat Example
A turn-based combat scenario against common enemies.


---
### 4. ๐ Inventory View
Viewing and using items such as Health and Mana Potions during gameplay.

---
### 5. ๐บ๏ธ Map Exploration
Exploring the map, discovering paths, encounters, and hidden events.

---
### 6. ๐ Boss Encounter
A dangerous boss fight that tests strategy, resource management, and survival.

## ๐ Learning Points
During development, these concepts were reinforced:
- **Backend / Game Logic (Java)**
- Abstract classes and polymorphism for characters
- Combat mechanics and turn-based system
- Equipment and inventory system
- XP, level progression, and stat growth
- Map, tiles, and event handling
- **Terminal UX & ASCII Art**
- Dynamic combat/status displays
- Grouped inventory and narrative messages
- Boss and monster portraits
- Slow console printing for immersion
## ๐ How to Run Locally
### ๐ฆ Prerequisites
Make sure you have:
- **Java 21+** installed
- **Terminal / Command Prompt**
### ๐ฅ๏ธ Run the Game
1. Compile the project:
```bash
javac -d out/production/the-terminal-awakens src/main/java/com/terminalawakens/**/*.java
```
2. Run the game:
```bash
java -cp out/production/the-terminal-awakens com.terminalawakens.Main
```
3. Follow the in-terminal prompts to:
- Create your character
- Explore the map using AWSD keys
- Fight monsters
- Visit shops and collect loot
- Challenge the final boss **Terminal of Vortex**
## ๐งฑ Project Structure
```bash
the-terminal-awakens/
โโ src/main/java/com/terminalawakens/
โ โโ character/ # Character classes, starter kit, stats, equipment
โ โโ creatures/ # Monsters, bosses, MonsterFactory
โ โโ engine/ # GameEngine & CombatEngine
โ โโ equipment/ # Weapons, armor, equipment logic
โ โโ items/ # Potions and ItemFactory
โ โโ shop/ # Item and equipment shop
โ โโ util/messages/ # ASCII portraits, SlowConsole, GameStart/GameEnd
โ โโ world/ # Game map, tile types, position handling
โโ out/ # Compiled .class files
โโ screenshots/ # Suggested screenshots folder
โโ .gitignore
โโ LICENSE
โโ README.md
โโ README.pt.md
```
## ๐ฎ Gameplay Flow
```text
Character Creation
โ
Game Map Exploration (AWSD)
โ
Random Tile Events:
- Monster Encounter โ CombatEngine
- Loot Tile โ Collect items
- Shop Tile โ Buy equipment
- NPC Tile โ Dialogue / Lore
โ
XP & Level Up โ Character Growth
โ
Boss Tile โ Terminal of Vortex
```
## ๐ License
This project is licensed under the **MIT License** โ feel free to use, study, and modify it.
## ๐งโ๐ป Author
**Piter Gomes** โ Computer Science Student (6th Semester) & Full-Stack Developer
๐ง [Email](mailto:piterg.bio@gmail.com) | ๐ผ [LinkedIn](https://www.linkedin.com/in/piter-gomes-4a39281a1/) | ๐ป [GitHub](https://github.com/pitercoding) | ๐ [Portfolio](https://portfolio-pitergomes.vercel.app/)