Godot 4.6 — HTML5 Web Export (Chrome/Edge/Firefox/Brave)
A web-based educational game that combines RPG-style dungeon progression with evidence-based learning activities for children with dyslexia. Built with Godot Engine, Firebase Auth, and Firestore.
Live URL: https://lexiadyslexia.web.app/ GitHub: https://github.com/arownz/godotcaps
- Journey Mode — RPG dungeon crawling with auto-battles, STT/whiteboard word challenges, character stats, and 3 dungeons × 5 stages
- Module Mode — Learning activities: Phonics (A–Z tracing + sight words), Flip Quiz (memory cards), Read Aloud (guided reading + syllable workshop)
- Speech-to-Text — Web Speech API with dyslexia-friendly phonetic matching
- Handwriting Recognition — Google Cloud Vision OCR with image preprocessing
- Text-to-Speech — Configurable voice, rate, and volume
- Leaderboard — 5 ranking categories with Firebase data
- Character System — Multiple characters with unique stat bonuses
- Energy System — 20 max energy, auto-recovery over time
- Hidden Admin Button — 7 logo clicks reveals admin panel link
- Firebase Backend — Auth (Email/Google), Firestore (
dyslexia_userscollection)
| Tool | Version | Download |
|---|---|---|
| Godot Engine | 4.4.5 – 4.6 (Mono not required) | https://godotengine.org/download/ |
| Git | Any recent version | https://git-scm.com/ |
| Modern Browser | Chrome 90+, Edge 90+, Firefox 90+ | — |
git clone https://github.com/arownz/godotcaps.git
cd godotcaps- Launch Godot Engine 4.x.
- Click Import or go to Project List > Import.
- Navigate to the cloned folder and select
project.godot. - Click Import & Edit.
The project uses the godot-firebase GDScript plugin (included in addons/godot-firebase/).
- Create a Firebase project at https://console.firebase.google.com/
- Enable Authentication:
- Go to Authentication > Sign-in method
- Enable Email/Password
- Enable Google (optional, for web OAuth)
- Create a Firestore database:
- Go to Firestore Database > Create database
- Choose Start in test mode (for development)
- Select a region (e.g.,
asia-southeast1)
- Get Firebase config:
- Go to Project Settings > General > Your apps > Web app
- Register a web app and copy the
firebaseConfigobject
- Configure the plugin:
- Open
addons/godot-firebase/and update the Firebase config values - Or configure via the plugin's UI in Godot (Project > Project Settings > Firebase)
- Open
- Go to https://console.cloud.google.com/apis/credentials
- Create an API key and enable Cloud Vision API
- Update the API key in
WebTest/letter_recognition.js
- Press F5 or click Run Project to test in the editor.
- Note: STT and OCR features require the web export.
- Go to Project > Export.
- Ensure the Web (HTML5) preset is configured.
- Click Export Project → select
WebTest/folder. - Host the exported files on Firebase Hosting or any static server:
# Using Firebase CLI (if installed) firebase init hosting firebase deploy --only hosting - Or test locally with a local server:
# Using Python python -m http.server 8080 --directory WebTest/ # Then open http://localhost:8080 in your browser
Note: The game uses Cross-Origin Isolation headers (
COEP/COOP) which are required for threaded WASM. A local server must send these headers. Firebase Hosting is pre-configured. For local testing, use a server that supports custom headers.
godotcaps/
├── Scenes/ # Godot scenes (Authentication, MainMenu, BattleScene, modules, etc.)
├── Scripts/ # GDScript files
│ ├── JourneyManager/ # Battle system managers
│ └── ModulesManager/ # Learning module progress
├── gui/ # UI assets (icons, backgrounds, textures)
├── Sprites/ # Character and enemy sprites + animations
├── Fonts/ # OpenDyslexic font
├── audio/ # Sound effects and music
├── Resources/ # Enemy stat resources
├── addons/ # Godot plugins
│ └── godot-firebase/ # Firebase GDScript plugin
├── WebTest/ # Web export output
├── project.godot # Godot project file
├── export_presets.cfg # Export configuration
├── LEXIA_WEB_GAME_MANUAL.md # Technical manual
├── SYSTEM_ANALYSIS.md # System architecture doc
└── DATABASE_ERD.md # Firestore data model
The game is deployed on Firebase Hosting:
# Install Firebase CLI
npm install -g firebase-tools
# Login
firebase login
# Initialize hosting (if not done)
firebase init hosting
# Deploy
firebase deploy --only hostingThis project is licensed under the MIT License.