Find Luigi
A Competitive Web Game
Find Luigi is a daily web-based game that challenges players to locate Luigi in a grid or image as quickly as possible. Each day, a new Luigi location is determined using a set seed, ensuring a unique challenge for all players worldwide. The game tracks player performance and ranks scores on a daily leaderboard, fostering a competitive yet casual gaming experience.

Key Features
-
Daily Challenges: Every day, a new Luigi is generated using a consistent seed, ensuring fairness and variety.
-
Leaderboards: Players compete to achieve the fastest time in locating Luigi. A dynamic leaderboard keeps track of daily scores, which reset at midnight (CST).
-
Single Submission Rule: Players can only submit their score once per day, promoting genuine competition.
-
Real-Time Validation: Name validation checks prevent offensive language or banned words from being submitted to the leaderboard.
-
Aesthetic Design: A polished interface built with HTML, CSS, and JavaScript delivers a seamless, engaging user experience.

Technical Details
-
Frontend:
-
Built with HTML, CSS, and JavaScript.
-
Developed using Vite, providing a fast development environment and optimized build process.
-
-
Backend:
-
Hosted on Netlify Functions, offering a serverless architecture to handle user submissions and leaderboard operations.
-
Firestore stores leaderboard data and ensures fast, reliable database operations.
-
-
Daily Reset Mechanism:
-
A scheduled task ensures the leaderboard resets precisely at 12:00 AM CST every day, allowing fresh competition.
-
Technologies Used
Programming Languages: CSS, HTML, JavaScript
Libraries and Tools:
- ReactJS: Used for the main code structure and dynamic frontend.
- Vite: Handles the front end of the website
- Netlify: For web hosting and deploying the website
- GCP and Firebase: For cloud database structure handling

Key Challenges and Solutions
-
Fair Competition:
-
Challenge: Preventing players from submitting multiple times.
-
Solution: Implemented backend checks to enforce one submission per user per day.
-
-
Leaderboard Reset:
-
Challenge: Automating leaderboard resets without manual intervention.
-
Solution: Developed a time-based system using serverless functions to clear data daily.
-
-
Scalable Performance:
-
Challenge: Managing increasing player activity with a responsive leaderboard.
-
Solution: Leveraged Firestore for efficient database reads/writes and scalability.
-
