Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/r4y22/animora
A pixel-themed virtual pet game inspired by Greek mythology, where players care for unique pets like Phoenix, Dragon, and Pegasus. Manage hunger, happiness, and health while balancing daily tasks in a captivating, immersive experience.
https://github.com/r4y22/animora
java javafx software-development
Last synced: 6 days ago
JSON representation
A pixel-themed virtual pet game inspired by Greek mythology, where players care for unique pets like Phoenix, Dragon, and Pegasus. Manage hunger, happiness, and health while balancing daily tasks in a captivating, immersive experience.
- Host: GitHub
- URL: https://github.com/r4y22/animora
- Owner: r4y22
- Created: 2024-12-31T08:11:32.000Z (11 days ago)
- Default Branch: main
- Last Pushed: 2024-12-31T08:23:18.000Z (11 days ago)
- Last Synced: 2024-12-31T09:32:49.575Z (11 days ago)
- Topics: java, javafx, software-development
- Language: Java
- Homepage:
- Size: 21.7 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Project Description
Animora is a virtual pet game designed to simulate the experience of caring for a digital pet, allowing users to manage various aspects of pet well-being, including hunger, happiness, and health. Inspired by popular games like Tamagotchi and Nintendogs, Animora offers an immersive and educational experience where players will learn to balance daily tasks and maintain their pet's happiness and health. Each pet in Animora is unique, with its own attributes and behaviors, adding complexity to the gameplay. Players will select their pet (Phoenix, Dragon, and Pegasus) which are inspired by Greek mythology, giving the game a twist from the usual animal choices. We chose a pixel theme, reflected in the visuals and backgrounds, to create a nostalgic and engaging experience. Players can name their pet and monitor its needs, providing a rich experience while adhering to the project's educational goals.The game includes the following features:
Game Start Screen: Welcome interface to start a new game or continue an existing one.
Choose Pet Screen: Enables players to choose their virtual pet from a selection of options.
Game Play Screen: The main interface for interacting with your pet, including feeding, playing, and other care activities.
Vital Statistics Screen: Displays the pet's health, happiness, and other stats to track progress.
Settings Screen: Allows players to adjust game settings, such as volume or graphics.
Game Play Controls Screen: Offers instructions on how to navigate and interact with the game.
Inventory Screen: A section to manage items used to take care of the pet.
Parental Controls Screen: Provides tools for parents to manage game settings for younger players.
Tutorial Screens (6): Step-by-step instructions for new players to learn how to take care of their pet.
Game Over Screen: Appears if the player's pet becomes too unhappy or unhealthy due to neglect.The primary objective of Animora is to teach users responsibility in a fun and interactive way. The game is suitable for all ages, with additional parental controls to ensure a safe and tailored experience for younger users.
## User Guide
When users first enter the game, they are greeted by the main menu screen, which features the "ANIMORA" logo along with a sneak peak of the available pets.
Main Menu Screen
Users are given several options for their next action:
- New Game: Starts a new game and takes the user to the Choose Your Pet screen. Users can select from three pet options — Phoenix, Dragon, or Pegasus — and then name their chosen pet.
- Load Game: Allows users to continue from where they left off. If there are no saved games available, an error message is displayed, guiding the user to start a new game instead.
- Settings: Opens the Settings screen, where users can adjust different aspects of the game, such as audio volume,and parental controls.
- Tutorial: Provides new players with an overview of the game's mechanics and visual instructions on how to play. It also serves as a refresher for returning players who want tips on excelling in the game.
- Exit Game: Closes the game. Users are advised to save their progress before selecting this option to avoid losing any data.At the bottom of the main menu screen, the team members' names, project title, and course information are displayed for reference.
Choose Your Pet Screen
Once the user selects New Game, they are taken to the Choose Your Pet screen, where they can choose from three unique pets: a Phoenix, a Pegasus, or a Dragon. Each pet has distinct dietary preferences and difficulty levels that determine how easy or hard it is to keep them happy.- Phoenix:
Diet: Broccoli, chili peppers, and apples.
Difficulty Levels:
Hunger: 2/10 — The Phoenix is relatively easy to feed.
Grooming: 8/10 — Requires frequent grooming.
Amusement: 8/10 — Needs a lot of playtime to stay amused.
Sleep: 6/10 — Requires moderate sleep.- Pegasus:
Diet: Broccoli, peaches, and golden apples.
Difficulty Levels:
Hunger: 4/10 — Needs a balanced amount of food.
Grooming: 9/10 — Very high grooming requirements.
Amusement: 5/10 — Moderate playtime required.
Sleep: 6/10 — Moderate sleep needs.- Dragon:
Diet: Sheep, fish, and chili peppers.
Difficulty Levels:
Hunger: 9/10 — The Dragon has a high hunger level and requires a lot of food.
Grooming: 5/10 — Moderate grooming requirements.
Amusement: 3/10 — The Dragon is easily amused and doesn't need much playtime.
Sleep: 6/10 — Requires moderate sleep.After the user carefully reviews their options, they can select their preferred pet by clicking on the selector and are asked to name their chosen pet. Once a pet is chosen, the user is taken to the Gameplay Screen where they can begin managing the pet’s needs.
Gameplay Screen
Once players reach the Gameplay Screen, they will see their pet performing its default actions. The pet will continue these actions until the player interacts with an item from the inventory to initiate a specific activity.The Gameplay Screen includes several buttons located at the top left and right corners of the screen:
Top Left Buttons:
- House Symbol: Takes the player back to the main menu.
- Check Mark: Allows the player to save their progress. When clicked, a confirmation popup appears to ensure the game has been successfully saved.
- Star Symbol: Displays the pet's statistics, showing how satisfied the pet is with regard to hunger, grooming, amusement, and sleep.Top Right Buttons:
- Skull Symbol: Ends the game by "killing" the pet. This button is used when the player decides to stop the current pet journey.
- Gear Symbol: Provides access to the settings screen, where players can modify gameplay settings such as volume or graphics preferences.
- Exclamation Mark Symbol: Opens a tutorial popup, providing players with instructions on how to play and navigate the game effectively.note continue about the action levels and inventory idk what to say ab that logic
Load Game Screen
The Load Game Screen allows users to choose from their previously saved pets and continue their journey. This screen displays all saved pets, providing the following details for easy identification:Username: The name associated with the player.
Pet Name: The name the player chose for their pet.
Player Level: The current level of the pet, indicating its progress.
Last Played: The date and time when the pet was last played.
These details help players quickly identify their saved pets and select the one they wish to continue caring for.Settings Screen Pop-up
The Settings Screen provides users with access to the following options:- Speaker Symbol: Keeps the sound on.
- Speaker Crossed-Off Symbol: Turns off the sound.
- Tutorial : Takes the user to the tutorial screen.
- Gameplay Controls: Takes the user to a screen that displays which keys the user can use to initiate specific actions.
- Parental Control: Provides access to parental control settings screen, allowing parents to manage gameplay duration and other restrictions.Tutorial Screen Pop-up
The Tutorial Screens consist of 6 guides, each demonstrating specific game actions through visuals and phrases:Choose Your Pet:
Visual: A GIF showing a cursor selecting a pet, providing simple instructions.
Phrase: "Select a Pegasus, Dragon, or Phoenix to start your journey!"Take Care of Your Pet:
Visual: Images of items that represent each action (e.g., apple, soap, sword).
Phrase: "Use tools, food, and activities to keep your pet happy."View Stat of Your Pet:
Visual: A GIF showing a cursor navigating to the top left of the gameplay screen to view stats.
Phrase: "Click the emoji on the top left of the gameplay screen."Save Game:
Visual: A GIF showing a cursor selecting the save button on the gameplay screen, followed by the confirmation popup.
Phrase: "Make sure to save your progress."Load Game:
Visual: A GIF showing a cursor selecting the load button on the main screen.
Phrase: "Load game to continue your journey where you left off."Game Over:
Visual: A GIF of a dragon dying.
Phrase: "If you fail to take care of your pet, it dies. Don't worry! Try again to keep your pet happy."Each tutorial screen also includes a Next button to navigate to the next instruction and a Cancel button at the top right to exit the tutorial.
Gameplay Control Screen Pop-up
The Gameplay Control Screen displays the keys and their associated actions to help users understand how to interact with their pet:S: View pet statistics.
F: Feed your pet.
B: Put your pet to sleep.
P: Play with your pet.
G: Groom your pet.This screen provides a quick reference to ensure players can easily manage their pet's needs and understand the control scheme.
Parental Control Screen
The Parental Control Screen will need the user to enter the pin (1234) before accessing the page. After entering the pin and clicking ok the user can now set specificed time periods where they are not allowed to load or start a new game. The user will also be able to see their total time spent playing the game as well as the average play time per session along with a reset button to reset these values.Game Over Screen
The Game Over Screen is displayed when the player fails to adequately care for their pet, resulting in the pet becoming too unhappy or unhealthy.
The Game Over Screen provides the following options:New Game: Starts a new journey with a different pet, allowing the player to restart the game from the beginning.
Home: Takes the player back to the Main Menu, where they can choose other options like starting a new game or adjusting settings.
View Stats: Allows players to review the statistics of the pet that has passed away, showing the progress and care history that led to the current outcome.Animora encourages players to try again and learn from their previous playthrough.
## Password
The user has to enter the PIN: 1234 to access the Parental Controls screen.
## Libraries
Users have to download JavaFX to play the game. The instructions for downloading and setting up the library is listed in the Compiling and Running the program section.
## Compiling and Running the program
### Compiling the program
This game is coded in java and Javafx languages. To compile and run the program, users first need to download javafx library. To download,
1. Go to link: https://gluonhq.com/products/javafx/.
2. Scroll down to Supported Platforms and select download for the version that fits your computer operating system and software.### Installing the JavaFX plugin
1. Go to Help>Eclipse Marketplace
2. Search FX using the search bar and click install e(fx)clipse. You might need to restart eclipse to install the JavaFX plug in.The file should be downloaded in zipped file format. Extract the contents of the zipped file to a new folder and remember the path of the folder you’ve extracted it to. Then set up javafx on eclipse IDE using the following steps.
### Creating a new User Library
1. Go to Window>Preferences>Java>Build Path>User Libraries>New
2. Enter a name for the library (e.g. JavaFX)
3. Click “Add External JARs”
4. Find the folder to which you extracted the JavaFX files to.
5. Click the Folder and go to “lib”
6. Select all the executable JAR files and click “Open.” Then click “Apply and Close. A new User Library is now created.### Setting the User Library.
1. Right-click on the JavaFX project folder (i.e. Group02)
2. Go to Build Path>Add Libraries>User Library and click “Next”
3. Select “JavaFX” (or the name you gave to the User Library you created)
4. Click Finish and the errors should disappear### Running the program
1. Right click on the project folder (i.e. Group02)
2. Go to Build Path>Configure Build Path
3. Make sure the JavaFX library is under “Classpath”. If JavaFX library is under ModulePath, delete it by selecting “JavaFX” and click “Remove”. Then add the library under “Classpath” by clicking “Add Library”>”User Library”>”Next” and select “JavaFX” then click “Finish”. If the “JavaFX file is missing, then add it under “Classpath” using the previously mentioned steps.
4. Next we have to add “VM arguments”. Right click on the project folder (i.e. Group02) and go to Run as>Run configurations>Arguments. Enter the following text under VM Arguments.:--module-path "__\path\to\javafx-sdk-15.0.1\lib__" --add-modules javafx.controls,javafx.fxml
5. Replace part of the text in bold with the path of the lib folder of the javafx SDK file you downloaded.
Click “Run” and the project should be able to run without error.## Parental Controls
Parental Controls screen allows parents to limit the amount of time their child can play the game if their child is playing too much. To access the parental controls screen, parents have to go to settings and then click parental controls and enter the PIN 1234. Parents can use the parental controls screen to set the maximum amount of time their child can play per session and limit their screen time on certain days of the week. In this context, session means the time between when the application is opened and when the application is closed. If the child has reached the maximum amount of time they are allowed to play the game, the game will be disabled. Parents can disable or enable the feature that allows them to limit their child's screentime whenever they want. Any limit that is set by the parents will be saved once set and will not change when the user quits the game. This game also keeps track of the total time the child has played, the average playtime per session and allows the parents to see those statistics. The statistics about the child's playtime will be saved and will not be deleted after the child exits and re-opens the game. Anytime when the application is running counts towards playtime regardless of whether it's the parent looking at the statistics of the app usage or it's the child playing the game. Parents can reset the total playtime and the average playtime to zero whenever they want. This feature allows the parents to keep track of their child's playtime over a certain time period. Parents can also select a saved gameplay and revive a pet.