
Creating an NYT Connections-Inspired Game for the AWS Game Builder Hackathon
Sharing my learnings from my submission for AWS Game Builder Challenge Hackathon
Start Small and build iteratively
Level 1 - A (very) simple Python script that gets the job done
Level 2 - A smarter Python script (with S3 integration)
Level 3 - An interactive Streamlit interface to enhance user experience
Level 4 - Cloud deployment
- Python: Core programming language for building functionality
- Streamlit: For creating an interactive user interface
- Q Developer: VS Code extension for seamless coding assistance
- AWS Services (S3): Data storage and integration

- Hardcode categories and words in a dictionary.
- Flatten the dictionary values into a single list and shuffle them.
- Display the shuffled words to the player.
- Take in and validate their input
- Check if the input matches any category using set operations

- Connect to S3 using Boto3.
- Retrieve the JSON file containing the categories.
- Parse the file and load categories into the game.
- Randomly select four categories from the loaded data.
- Shuffle the words.

- Fetch Data: Game data is fetched from a JSON file on AWS S3 for scalability.
- Randomized Gameplay: Four random categories are selected, and words are shuffled into a 4x4 grid.
- Interactive Selection: Players choose words they believe belong together.
- Feedback & Progress: Correct groups are marked, incorrect ones prompt retry, and progress is tracked.
- Win Condition: The game ends when all categories are identified, followed by a celebratory balloon effect.
- Reset: Players can restart for a fresh round.

Ease of Deployment is where Streamlit truly shines.
- Push the code to GitHub.
- Deploy the app to Streamlit Cloud.
- Access the app via the provided URL.