A framework for creating adventure games using the MUD (Multi-User Dungeon) framework with integrated blockchain capabilities. It includes a heartbeat mechanism that integrates with Adventure Layer Shards for real-time game state management.
-
Multiple Game Development Templates:
- React (Basic React template with MUD integration)
- React ECS (Entity Component System based)
- Phaser (2D game development)
- ThreeJS (3D game development)
- Vanilla JavaScript
-
Built-in Smart Contract Integration
- Heartbeat mechanism for real-time state updates
- Player authentication system
- Game session management
- Blockchain state synchronization
-
Technical Features
- Modular architecture for easy extension
- Full TypeScript support
- Real-time state synchronization
- Integrated blockchain interactions
- Node.js ^18
- pnpm ^8 || ^9
- Foundry (automatically installed during setup)
Create a new adventure engine project using either:
npm create adventure-engine <project-name>
# or
pnpm create adventure-engine <project-name>The generated project follows a monorepo structure:
packages/
├── create-adventure-engine/ # The CLI for creating new adventure engine projects
└── common/ # Shared utilities and types
templates/
├── react/ # React template
├── phaser/ # Phaser template
├── threejs/ # ThreeJS template
└── vanilla/ # Vanilla JavaScript template
- React: Basic React template with MUD integration
- React ECS: Entity Component System based React template
- Phaser: 2D game development with Phaser.js
- ThreeJS: 3D game development with Three.js
- Vanilla: Basic JavaScript template without framework
# Install dependencies
pnpm install
# Start development server
pnpm dev
# Build the project
pnpm build
# Run tests
pnpm testThe project includes a built-in Adventure Layer System with the following core functions:
adventureHeatbeat(): Manages game state updatesadventureAccountLogin(): Handles player authenticationadventureStartGame(): Initializes game sessionsadventureEndGame(): Manages game completion
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License. See the LICENSE file for details.
For support and questions, please open an issue on our GitHub repository.