Logo Lanfrica

esthera-tiago/Gamo

Domain:

education

Record type:

software
Creator:
est
Host:
Gamo is a simple web game inspired by one of my favorite childhood games. It focuses on the African continent and its countries. Countries appear one after another, and the player has to click the correct SVG map path that matches the displayed country. # Gamo - African Geography Quiz Game An interactive web-based geography game that challenges players to identify African countries on a map. Explore the continent region by region, from the Mediterranean coast to the southern tip. ## Features - **6 Sequential Levels**: North Africa, West Africa, Central Africa, East Africa, Southern Africa, and All Africa - **4 Difficulty Modes**: Easy (3 hints, 1x score), Normal (3 hints, 1.5x score), Difficult (1 hint, 2x score), Expert (0 hints, 3x score) - **Interactive SVG Map**: Click-to-identify gameplay with visual feedback - **Dark/Light Theme**: Toggle between themes with persistent settings - **FR/EN Internationalization**: Full French and English language support - **Profile System**: Track best scores, best times, and progression per mode - **Guest Mode**: Play immediately without signing in - **Responsive Design**: Works on desktop, tablets, and mobile devices - **Supabase Auth**: Email/password and Google OAuth sign-in ## Tech Stack - **Frontend**: Vanilla JavaScript, Vite bundler - **Backend**: Express.js, Supabase (auth + database) - **Styling**: Custom CSS with CSS variables, glassmorphism effects - **Maps**: SVG map data from SimpleMaps (MIT License) - **Auth**: Supabase Auth (email/password + Google OAuth) ## Project Structure ``` Game/ ├── frontend/ # Vite project │ ├── src/ │ │ ├── main.js # Entry point, page routing │ │ ├── auth.js # Supabase auth (guest mode when unconfigured) │ │ ├── api.js # Backend HTTP client │ │ ├── ui.js # DOM helpers │ │ ├── settings.js # Theme/lang localStorage persistence │ │ ├── i18n.js # EN/FR translations (~50+ keys) │ │ ├── levels.js # Level selection with difficulty modes │ │ ├── game.js # Game engine (score multiplier, hints, timer) │ │ ├── country-data.js # Capital cities and fun facts │ │ └── styles/ # CSS files (main, game, profile, auth, etc.) …

Languages