Skip to content

Latest commit

Β 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

WordQuest

A Flutter word-search puzzle game β€” five hand-tuned difficulty levels, drag-to-select gameplay, and progress that's saved right on your device.

Flutter Dart Platform Live Demo

Play it now β†’ wordquest-ashen.vercel.app


Overview

WordQuest is a word-search puzzle game built entirely in Flutter. Find every hidden word in a letter grid by pressing and dragging in a straight line β€” horizontal, vertical, or diagonal, forwards or backwards β€” across five levels that get progressively larger and trickier.

Puzzles are generated on-device, while best scores and times are persisted locally using shared_preferences.

Repository: github.com/techAsmita/WordQuest


Features

Core gameplay

  • Press-and-drag letter selection across straight lines (horizontal, vertical, diagonal)
  • Words can be hidden forwards or backwards depending on the level
  • Puzzles are procedurally generated per level, with a fresh grid layout on every replay
  • Scoring: 10 points per letter for each newly found word
  • Hint system: 3 hints per level, each one briefly reveals an unfound word for a 15-point deduction

Difficulty ladder

Five levels, each widening the grid and unlocking new mechanics:

Level Name Grid Words Word length Diagonals Reversed words
1 Starter 6Γ—6 4 3–4 – –
2 Easy 7Γ—7 5 3–5 – βœ“
3 Medium 8Γ—8 6 4–6 βœ“ –
4 Hard 8Γ—8 7 4–7 βœ“ βœ“
5 Expert 9Γ—9 8 5–8 βœ“ βœ“

Levels unlock sequentially β€” clear one to open the next.

Feedback & persistence

  • Light haptic + system-sound feedback on valid/invalid selections, hints, and level completion (toggleable in Settings)
  • Best score and best time are saved per level and shown on replay
  • "Reset progress" clears all saved records with a confirmation prompt
  • Light and dark themes that follow the system setting

Screenshots

Home Level Select
WordQuest home screen Level select screen showing 5 levels, sequentially unlocked
Gameplay β€” Level 1 (Starter), cleared Gameplay β€” Level 5 (Expert), cleared
Level 1 completed with score and time Level 5 Expert completed, largest grid and word count

Tech Stack

Layer Technology
Framework Flutter
Language Dart (SDK ^3.2.0)
Routing go_router
Typography google_fonts
Local persistence shared_preferences
Icons cupertino_icons
Testing flutter_test
Static analysis flutter_lints

No backend, database, or external API is used β€” WordQuest is a self-contained Flutter client.


Getting Started

Prerequisites

git clone https://github.com/techAsmita/WordQuest.git
cd WordQuest
flutter pub get

Running Locally

# Run on Chrome (web)
flutter run -d chrome

# Or run on a connected device / emulator
flutter run

# Run the test suite
flutter test

Web Deployment / Live Demo

The live demo is a static build hosted on Vercel:

wordquest-ashen.vercel.app

The site is not built on Vercel's servers β€” Vercel doesn't have the Flutter SDK installed. Instead, the web build is produced locally and the compiled output is what gets deployed:

flutter build web --release

This generates a static build/web directory (HTML, JS, CSS, and assets) which is deployed as-is β€” Vercel just serves those files, no Flutter build step required on its end.


Project Structure

Expand to view the folder layout
lib/
β”œβ”€β”€ main.dart                     # App entry point, theme + router setup
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ router/                   # go_router route definitions (AppRouter)
β”‚   β”œβ”€β”€ storage/                  # SharedPreferences-backed progress & settings repositories
β”‚   β”œβ”€β”€ theme/                    # Light/dark AppTheme
β”‚   β”œβ”€β”€ audio/                    # GameFeedback (haptics + system sounds)
β”‚   └── constants/                # Shared sizes and strings
└── features/
    β”œβ”€β”€ home/                     # Landing screen
    β”œβ”€β”€ levels/                   # Level select screen
    β”œβ”€β”€ game/
    β”‚   β”œβ”€β”€ domain/                # GameController, PuzzleGenerator, LevelCatalog, WordBank
    β”‚   └── presentation/          # Game screen, letter grid, word list, score bar
    └── settings/                  # Sound toggle, reset progress

Feature folders are split into domain (game logic, pure Dart, unit-tested) and presentation (widgets/screens) where the feature is complex enough to warrant it.


Future Enhancements

Not implemented today β€” noted here as possible directions, not commitments:

  • Custom or user-submitted word lists / themed word packs
  • Online or shareable leaderboards (would require adding a backend)
  • Additional grid sizes or levels beyond the current five
  • Custom sound effects in place of the current system sounds
  • Localization for languages beyond English

Author

Asmita Roy github.com/techAsmita

Built as a portfolio project to demonstrate Flutter architecture, game-state management, responsive UI, persistence, and deployment.

About

πŸ•ΉοΈ Flutter word-search game with procedural puzzles, drag gameplay, levels, scoring, hints, and local persistence.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages