FYP Feeds

Adoption Logic

Programming Production
After successfully managing to create two-way communication with the microcontroller, the next step was to allow the user to select and adopt a critter from a selection. Although all of them will look very similar, they will vary in color and other aspects, such as their personality.
As the critters were imagined as plant-like creatures, the way to adopt them is by pulling them out of the ground. This action is also supported with sound effects from the microcontroller: one that represents the struggle while pulling, using an active buzzer (mono note), and another more joyful sound that plays when the user successfully pulls the critter out of the ground, using a passive buzzer.
Once pulled, the critter is randomly assigned a personality. In later stages of production, these personalities are planned to affect the pet's stats, such as how easily it gets attached to its owner, how often the player can play with the critter per day (e.g. 5-20), and how long the cooldown timer lasts before the player can play again (e.g every 15 min).
At this stage, the player is also allowed to name their pet. If they're unable to think of a name, they can use the "Suggest Name" option, which makes an HTTP request to AWS to fetch example names stored in an S3 bucket. AWS is also used to store the new player information in a DynamoDB database, allowing progress made with a specific pet to be restored if the player changes PCs.
After naming the critter, the player can sign an adoption certificate. This step was added with the goal of increasing the emotional bond between the critter and the user. In fact, inspiration was taken from the way Build-A-Bear structures their selling process.
The signature logic allows the player to sign freehand using different colours and also add stickers to the signature. This signature can then be saved, so if the player decides to adopt more than one critter, it can be reused if they choose to.