https://github.com/triptych/cline-adventure-text
https://github.com/triptych/cline-adventure-text
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/triptych/cline-adventure-text
- Owner: triptych
- License: mit
- Created: 2024-11-24T09:04:28.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-11-25T05:10:20.000Z (7 months ago)
- Last Synced: 2025-02-09T20:29:18.704Z (4 months ago)
- Language: JavaScript
- Homepage: https://text-adventure-game.puter.site/
- Size: 46.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Text Adventure Game Engine
A modern JavaScript-based text adventure game engine featuring a retro CRT display style. This engine provides a flexible framework for creating interactive text-based adventures with rich features and extensible gameplay mechanics.
## Features
- **Retro CRT Display**: Authentic retro-style display with CRT effects
- **Rich Game Engine**:
- Event-driven architecture
- State management system
- Save/Load functionality
- Data-driven game content
- **Game Elements**:
- Player character system
- Enemy encounters
- Item management
- Quest system
- Maze navigation
- Room-based exploration
- **Data-Driven Design**:
- JSON-based content definition
- Easily extendable game content
- Modular entity system## Project Structure
```
├── css/
│ ├── crt.css # CRT display effects
│ └── style.css # Core styling
├── data/
│ ├── enemies.json # Enemy definitions
│ ├── items.json # Item definitions
│ ├── mazes.json # Maze layouts
│ ├── quests.json # Quest definitions
│ └── rooms.json # Room definitions
├── js/
│ ├── engine/ # Core game engine
│ │ ├── EventManager.js
│ │ ├── GameDataLoader.js
│ │ ├── GameEngine.js
│ │ ├── PlayerActions.js
│ │ ├── SaveManager.js
│ │ └── StateManager.js
│ ├── entities/ # Game entities
│ │ ├── Enemy.js
│ │ ├── Item.js
│ │ ├── Maze.js
│ │ ├── Player.js
│ │ ├── Quest.js
│ │ └── Room.js
│ ├── ui/
│ │ └── UIManager.js
│ └── main.js # Application entry point
└── index.html # Main HTML file
```## Getting Started
1. Clone the repository
2. Open `index.html` in a modern web browser
3. Start your text adventure!## Game Engine Architecture
The game engine is built with modularity and extensibility in mind:
- **GameEngine**: Central game loop and core mechanics
- **EventManager**: Handles game events and interactions
- **StateManager**: Manages game state and transitions
- **SaveManager**: Handles save/load functionality
- **GameDataLoader**: Loads and processes game data
- **UIManager**: Manages the user interface and display## Customization
The game can be easily customized by modifying the JSON files in the `data/` directory:
- `enemies.json`: Define new enemies and their properties
- `items.json`: Create new items and their effects
- `mazes.json`: Design new maze layouts
- `quests.json`: Create new quests and objectives
- `rooms.json`: Define new rooms and their connections## Contributing
Contributions are welcome! Feel free to submit issues and pull requests.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.