SonIQue is an interstellar game of intellect designed to challenge players' knowledge across various fields. Players are tasked with solving IQs (trivia questions), navigating through multiple cosmic worlds, and ultimately, shaping the fate of distant galaxies. The game offers both guest and logged-in user experiences, with additional features and categories available for registered players.
- Intergalactic Worlds: Explore various worlds based on topics like science, history, and literature.
- Dynamic IQs: Tailored trivia questions generated with the help of AWS services, including Amazon Bedrock.
- Guest Mode: Play without needing to sign in.
- Registered Users: Access additional content, including different categories and challenges.
- Voiceovers: Engaging in-game voiceovers generated by Amazon Polly to immerse players in the story.
- AI-generated Questions: Trivia questions (IQs) dynamically generated for logged-in users.
- Node.js (LTS version recommended)
- npm (comes with Node.js)
-
Clone the Repository
git clone https://github.com/Daenarys8/sonique2.git cd sonique2 -
Set Up Environment Variables
Create a
.envfile in the root directory of the project with the following configuration:VITE_AWS_REGION=your-region VITE_AWS_ACCESS_KEY_ID=your-access-key-id VITE_AWS_SECRET_ACCESS_KEY=your-secret-access-key VITE_COGNITO_USER_POOL_ID=your-user-pool-id VITE_COGNITO_CLIENT_ID=your-client-id VITE_DYNAMODB_TABLE_PREFIX=your-table-prefix VITE_BEDROCK_MODEL_ID=your-bedrock-model-id VITE_S3_BUCKET=puzzle-game-assets REACT_APP_API_ENDPOINT=your-api-endpoint VITE_QUIZ_API_KEY=your-quiz-api-keyEnsure to replace the placeholders with your own AWS credentials and API keys.
-
Install Dependencies
Run the following command to install all necessary dependencies:
npm install
-
Run the Development Server
To run the game locally, use:
npm run dev
This will start a development server, and you can access the game by opening
http://localhost:3000in your browser. -
Build the Project (for production)
If you want to create a production build, use:
npm run build
The production build will be available in the
distdirectory.
- Amazon Q: Used for suggesting the skeleton of the game and assisting in backend integration.
- AWS Cognito: Managed user authentication, including support for guest and registered users.
- AWS Lambda: Serverless computing for game logic and backend processing.
- Amazon S3 & CloudFront: Served game assets and enabled fast content delivery globally.
- AWS DynamoDB: Stored player progress and other game data.
- AWS AppSync: Handled GraphQL-based API calls for real-time data synchronization.
- Amazon Bedrock: Generated dynamic IQs for logged-in players.
- Amazon Polly: Synthesized voiceovers for in-game narrative.
- 3D Models and Animations: Mixamo
- Sound Effects: Freesound (Various sounds used under Attribution 4.0 License)
- Fighting music.mp3 by ZHRØ (Link) - License: Attribution 4.0
- Goodbye before battle by klavo1985 (Link) - License: Attribution 4.0
- Lion Growl.wav by MATRIXXX_ (Link) - License: Creative Commons 0
- Punch Grunt 1 by miksmusic (Link) - License: Attribution 3.0
- Attack-hits.mp3 by JPhilipp (Link) - License: Attribution 4.0
- Film about the war in hope Ukraine win by klavo1985 (Link) - License: Attribution 4.0
- Visual Effects: Pixabay (Images and GIFs used under free license)
- Graphics and Icons: Freepik (Icons and graphics used under Freepik License)
If you'd like to contribute to SonIQue, feel free to fork the repository and submit a pull request. Contributions such as bug fixes, feature enhancements, or documentation improvements are always welcome.
SonIQue is open-source software licensed under the MIT License.