Summary of Creations

Over the past 2 years, I have gained a fair amount of knowledge about software development through experimentation. Here is a link to the executable jars of the three main projects.

Yutris (Java) – March 2015

Yutris was the very first game that I have created. In this creation, I learned about game loops, basic user input, rendering, and game states.


Zelda Promposal (Java) – February 2016

The second creation that I released was also a clone. However, this game was made with a purpose in mind. As a result of this creation, I learned about scene transitions, animations, input restrictions, and collisions.


Taco Tuesday (Java) – August 2016

Taco Tuesday was my first original creation and I used the knowledge that I had gained from previous endeavors. I was able to learn about methods of storing data, and how to store different save states through serialization.


Simple Complimenter (C++) – October 2016

To apply to the programming award during an event at the University of Waterloo called Tron Days, we were given a task to create the nicest code fragment. Instead of creating an elegant block of code, I decided to take a different interpretation of the task and make it output something nice. nice

Although it wasn’t considered for the award, my programming professor liked it so much that she put it on her office wall.

Here is the executable file if you would like some compliments.

Oodle (Java) – October 2016

During midterm week, I found out that replacing vowels with the string, “oodle”, would make words sound more interesting. After sharing this with my apartment roommates and laughing for an hour, we became fluent oodlers.


I decided to make this simple program more interesting by allowing it to take in text files as an input rather than the console. I then proceeded to translate the bee movie script because that’s what anybody would do with this power.

Here’s a link to the text files involved.

GLaDOS (Arduino) – December 2016

For Christmas, I received an Arduino and some servos, so I decided to recreate GLaDOS from the Portal games. I was able to construct GLaDOS out of foam and hot glue. The code was organized by using an object-oriented approach. I created a class called Part to hold the information about the inputs, outputs, and mapping values. The initialization consists of creating 3 Part objects for each part of GLaDOS. The data constructors receive the pins that the servos are connected to and the pins that the buttons are connected to. As the program runs, the buttons are able to control the servos and toggle the light. The gif below shows GLaDOS in her natural habitat: hanging on a tissue box suspended by pringle cans.


Animal Crossing Music (Android) – January 2017

I recently started to learn how to develop Android applications. After messing around with some sensors on my phone, I decided to make an application that tells the time while playing the corresponding Animal Crossing music by hour.

Here is a link to a video displaying its ability to change the music depending on the time.


Taco Tuesday – Shop Update


This week I updated the shop and finished up the visuals on some buttons.

Main Game Screen

The pause and shop button now have visuals instead of the cyan square. Also, the journal notification was given a yellow outline to emphasize it.

Shop Screen

The shop’s upgrades now have names. Each time the player purchases an upgrade, the next tier upgrade will show the new price and name. I am continuously adding more names to the upgrade list. In the future I plan to add visuals that correspond to the upgrades.

Shop Screen showing next tier upgrades

I am experimenting with the upgrade prices to amount ratio. Currently the expression for the upgrade amounts are -1.15 ^ (-0.772 * (speedUpgradeNumber – 31)) + 30, quantityUpgradeNumber + 1, and 299 * 1.09 ^ (-0.99 * (helperUpgradeNumber + 1)) + 1 respectively. The cost for speed and helpers multiplies by 1.15 each upgrade and the expression for the quantity cost is 10 * 1.35 ^ (quantityUpgradeNumber + 1) – 5.


Download Link

Taco Tuesday – Visual Update


This week I worked on updating the visuals of the game and adding to the shop.

New visuals of hand and taco

To make the taco seem like a game object and not a background item, it has been outlined in black. After eating many tacos during play testing, the player’s arm and hand has gained some weight. The thumb is now on the other side of the taco.

Pause Menu

The pause menu has also been outlined with black to be consistent with the shop.

Shop Menu

The text in the shop is no longer poorly written and has been replaced with consistent style text. Below each upgrade displays its description. It shows what the upgrade will do and displays the current stat and the amount that the upgrade will increase it by. The functionality of differing upgrade visuals has been implemented. This was tested by setting all upgrade costs to 1 and setting the upgrade visuals to different colors.


Taco Tuesday – Improvements and Fixes


This week I made improvements to existing features.

Game Screen with Pause Button

Previously the only way to access the pause menu was by pressing Esc. Now there is a pause button on the top right and the shop button was relocated to the bottom right.

Pause Menu

The pause menu has been cleaned up and now indicates that the player is in the pause menu. It now also allows the player to resume the game.

Save / Load menu with multiple save states

The saving and loading menu now allows for 3 different save states and displays the total number of tacos eaten in each state.

Most of this week’s development was spent on reorganizing the code and fixing known bugs.


Taco Tuesday – Save / Load


The main thing I worked on this week was the saving and loading feature.

Save / Load Screen

On the main menu of the game, the start button used to take the player straight into a new game. Now, it takes the player to the save / load screen where they can choose to make a new game, or load a previous game. This screen can also be accessed from the pause menu so it gives the player a choice of resuming or saving their current game. Currently there is only one save state available,  but later in development, the other two will be added. Also, the game saves will also display the total number of tacos eaten to easily identify which game save is which.

Rough Pause Menu

Upon adding the save / load feature, I needed to improve the navigation between screens. This pause menu was added so the player could go from the game to either the save screen or exit to the main menu. The player could also just be pausing the game. The pause menu is accessible through pressing the escape key.

Help screen with more accessibility

I also added a button to return to the main menu from the help screen. Before this addition, the player was stuck here forever. Ironic.

Taco Tuesday – Journal Entries


This week I added the functionality for the journal feature. In the bottom left of the main game screen, a button was added to access the journal.

Main game screen with journal button

Once the journal button is clicked, the player is brought to the journal screen. The journal will add a new entry whenever the player reaches a milestone in the total number of tacos eaten. Currently the entries are placeholders for future journal entries from the game’s protagonist. There is a taco button in the bottom left to bring the player back to the game. There are arrows on the bottom of the screen to navigate through the journal entries when multiple entries are unlocked.

This slideshow requires JavaScript.

When the player reaches a new milestone in the total number of tacos eaten, an exclamation mark will appear next to the journal.

Journal notification showing above journal button

In addition to the journal, a few of the shop’s values were tweaked.

Taco Tuesday – Main Menu and Taco Break Animation


This week I worked on the main menu and the taco breaking animation.

Main Menu

This main menu was created in Gimp to replace the placeholder main menu that was made quickly in Paint. The choices become larger when the cursor is hovering over them.

Cursor hovering over start

When the taco is broken, the taco breaks into 4 pieces. Each piece has a default velocity to make them fly in opposite directions. Their velocities are also influenced by the velocity of the taco before it broke. The bottom pieces will fly to the sides and the top pieces will fly up and to the side.

Taco Breaking on Floor

When the taco is broken on the face, they are all given a negative horizontal velocity. This makes it seem like the tacos are bouncing off of the face.

Taco Breaking on Face

Since you only purchase organic and non-GMO products, the tacos decompose within a few seconds. The pieces of taco are given an alpha value that logarithmically decrease to 0 from 1. Once the alpha value reaches 0, the taco piece is eliminated from the universe.

Taco Fading


Taco Tuesday – Face and Messages


This week I created a face, arm and messages. The face was drawn in two parts that move independent of each other. The animation of the mouth chewing is achieved through a calculation for its x position, y position, and rotation. This involves the deltaTime, animation speed, and total displacement.

Game screen showing face and arm
Face doing chewing animation

The collision area for the taco to mouth is now further to the right. Last update, the taco only needed to touch the orange rectangle, but now the taco must go halfway off screen to be eaten. This makes it look like the face is actually eating the taco. Also, the taco is now able to collide with the face and break. Tacos are obviously very delicate and a collision to the face can be fatal. Before this addition, the taco was able to enter the mouth through the top of the orange rectangle which was unrealistic. Now, the taco must navigate between the lips to be eaten.

Finally, the last addition for this update is the message system. Depending on the action done by the player, a message will appear on the bottom of the screen and fade away. The messages are chosen randomly from a selection of possible messages according to the action. The different actions invoking unique messages so far are dropping the taco, eating the taco, moving too fast with the taco, and breaking the taco on the face.

Taco Tuesday – Shop and Upgrades


One of the new additions this week is the taco speed measurement and display. The game now tracks the speed that the taco is traveling in taco lengths per second. Instead of only relying on the bar to check the taco speed relative to the maximum speed, both of these speeds are shown above and to the right of the bar. The current additions to the game are very rough and are for functionality at the moment.

Default game screen displaying speeds and has access to shop

As planned, the shop has been added this update. The cyan square on the top right of the screen can be clicked to toggle between the game and the shop. The amount of tacos eaten is displayed on the top left of the shop and this serves as a currency to purchase upgrades in the shop.

Shop GUI

There are three upgrades: speed, quantity, and helpers. The speed upgrade allows the player to move the taco faster without breaking it. Once purchased, the maximum speed next to the speed bar in the game will show the new maximum speed. The quantity upgrade lets the player hold more tacos. This means that each taco eaten will count as more to the score. Helpers can also be purchased. They will feed tacos every few seconds. Every upgrade will reduce the amount of time between tacos fed.

Shop with purchases made

Every purchase is increasingly more expensive and gives more stats. The costs and upgrade amounts will be fine tuned after tests. The area above the clickable cyan squares will contain names for the upgrades and the area below with contain information on cost, upgrade amount, and description of the upgrade.

Speed bar displaying higher maximum speed after purchasing upgrades