As the name of this project suggests, this is an interactive application game where
you are tasked to take care of a virtual pet of your choosing. It is a simplified desktop
version of the popular toy in the late 1990's and early 2000's; the Tamagotchi.
The intended user audiences for this application are children and teens, however,
the game itself is suitable for people of all ages as it makes for a pleasant pastime.
As someone who dreams of having a little companion and is passionate about game
development, this project is the ideal. In addition, it will allow me to explore the
vastness of OOP in both a structural and creative manner.
"As a user, I want to be able to..."
- "...choose the type of animal and the breed of my pet"
- "...buy items at a shop and store them in my inventory"
- "...give treats/toys/food to my pet from my inventory"
- "...learn about my pet's health, personalities, likes and dislikes"
- "...access different menus such as the store or my inventory"
- "...create a save point for my player, pet, and the shop's state"
- "...load my player, pet, and the shop's data from the previous save point"
Sample Logging:
Tue Mar 29 18:14:34 PDT 2022
Loaded game session ID 1647816369.
Tue Mar 29 18:14:39 PDT 2022
Bought Bone (x1) from Kira Kira Pets.
Tue Mar 29 18:14:39 PDT 2022
Added Bone (x1) to inventory.
Tue Mar 29 18:14:44 PDT 2022
Gave Bone (x1) to ExampleAnimal.
Tue Mar 29 18:14:44 PDT 2022
Removed Bone (x1) from inventory.
Tue Mar 29 18:14:46 PDT 2022
Saved game session ID 1647816369.
UML Class Diagram:
Refactoring Reflections:
There are still many things I would still like to do with this project. To name a few, I would like to have done further refactoring to my UI menus, particularly in:- cleaning up the SaveMenu, ShopMenu, PetStatsMenu, and InventoryMenu
so that there is better integration within the GameMenu - centralizing the LoadMenu and SaveMenu in a PersistenceMenu
- adding an abstract method in Menu class for generating/creating JComponents
Main Menu:
In-Game:
Store Menu:
Inventory Menu:
Pet Stats Menu:
Art Assets:
- Game Cat Icon (by Daniel Moreno):
https://www.pinterest.ca/pin/344032859020619279/ - Environment Room Art (by pixeled--pink):
https://www.deviantart.com/pixeled--pink/art/Isometric-Pixel-Room-Mint-Studio-829957249 - Pixel Retro Game Font (by Daymarius):
https://www.dafont.com/retro-gaming.font
Code:
- EventLog and Event Class + Tests (UBC CPSC210):
https://github.students.cs.ubc.ca/CPSC210/AlarmSystem.git