Lexigo is a cozy, Pokémon-style 2D language-learning adventure where exploration and vocabulary practice work together. You explore a tiled world, move using clicks or voice commands, collect objects, and unlock small contextual lessons tied to each item you find. Every collectible triggers an interactive drill (listening, reading, speaking), helping learners build vocabulary through meaningful, in-world encounters.
The project is designed to be easily extended with AI-assisted assets, procedural content, and cloud voice services such as ElevenLabs.
- Top-down, Pokémon-style tile world
- Movement via mouse clicks or voice commands
- Rendered with Excalibur.js and a tile-based engine
- Collect objects to unlock short micro-lessons
- Lessons include listening, reading, and speaking practice
- Vocabulary is taught through environmental context rather than flashcards
- Integration with cloud STT/TTS services (e.g., ElevenLabs)
- Natural language commands for movement and interactions
- Prototyping and asset generation supported through Google AI Studio
- Collectible item generation using tools like Nano Banana
- Optional procedural world generation using:
- Perlin noise
- Simplex noise
- Wave-Function-Collapse
- open-simplex-noise or fast-simplex-noise libraries
Frontend / Engine
- React
- TypeScript
- Vite
- Excalibur.js
- @excaliburjs/plugin-pathfinding (A* and Dijkstra)
Audio / Voice
- STT integration (ElevenLabs)
AI Tooling
- Google AI Studio
- Gemini API
- Nano Banana
- (Optional) procedural-generation libraries
Prerequisite: Node.js
- Install dependencies:
npm install - Set the
GEMINI_API_KEYin .env.local to your Gemini API key - Run the app:
npm run dev