• +1 (613) 793-4672
  • jobs@stemworldeducationalservices.com
  • Nepean, Ontario, Canada

Chris Group-1 Summer 2022

Game Title

Description:

Rocky Blast Off is an educational entertainment experience that will take you to conflicts across the galaxy, as you pilot a spaceship and maneuver it to complete missions.

Gallery:

I have worked on:

Over the course of the past two months I got the opportunity to learn a whole new skillset working on this project. To start with, I worked on making the HUD UI for the first couple days, which allowed me to get comfortable with the Unity editor, the Asset store and graphic design. I also (painstakingly) learned about Git and software collaboration through losing my work after trying to upload to Github Desktop. While graphic design and creating UI’s is not the hardest thing to do, it was a little bit of a learning curve to properly take advantage of all the features that Unity offers like the scaling tools of UI elements. After completing this UI, I started to work on other UI screens that we would need for our game, like our Failure Popup which appears when the player loses. This time, it was easier to make after learning where everything was the first time with the HUD UI.

Then, I worked on the HUD functionality by writing C# code. I worked on making all of the bars work (health bar, fuel bar, oxygen bar and temperature bar). This was a lot of fun learning because it felt like I took the concepts I learned at university at put them to work by coding different functionalities for different bars. For the health bar, I made it so that initially just pressing the space button would take a portion off of the total health and this was applied to the slider UI. For the fuel bar, I made it so that pressing any of the WASDRF keys made the fuel go down by a small number. This was still a temporary feature, but it was closer to the actual functionality than the health bar was. Next, for the oxygen bar, I made it so that the bar would decrease over time, which was a really interesting experience because I had to work with CoRoutines and time in C#. Lastly, I made the temperature bar affect the health bar, so that if the temperature ever got to the bottom 10% or the top 10%, the health bar would decrease for every second that the temperature was still at that level. It was complicated to try to make a bar dependent on another bar AND time.

After completing these tasks, I worked on the HUD button control so that if a keyboard button was pressed, the UI would register the button being clicked. In addition, I also made the buttons functional so that the game worked with keyboard presses or mouse clicks on the buttons. Next, I worked on making the sensitivity buttons work, so that if you pressed one of the buttons, the sensitivity of the translation or rotation would decrease/increase. After I made this, the HUD was partially done in terms of functionality. Then, I started to work on Level 3, the moon level. Making this level required me to search the Unity Asset store for skyboxes, moon models, earth models and try to see if any of them worked for our project. I finally settled on a couple and imported them into our project. Then, I made a basic moon base in Probuilder for testing. I had to write a script for docking at the moon base, which would pause the game for a bit while a popup UI appeared, telling the player that they had successfully docked at the moon base and to wait 5 seconds before the game started again and they had to return back to the space station. In the process, I created a Pickup Popup UI that would display when the player made it to the moon base. After this, I simulated the moon’s gravity by creating a script that emulated magnetism between the moon and the space ship.

The next phase of the process of making this game was QA testing. It was a challenge to play these levels with no refinement because I was so used to playing games with complete and polished playability. After QA testing to make sure that the level was possible to complete, I moved on to helping QA test the other levels and fix bugs along the way. In this process, I was able to fix many bugs such as editing the text in the tutorial level, helping out my coworkers with code and making the continue button interactable with the space button.

Finally, I worked on updating/creating documentation for this project. I created test cases to make sure that every feature of the game worked properly and added the test cases to a QA document. With the features that we added during the development process that weren’t there in our Game Design Document, I added to the said document. Furthermore, I updated the Technical Design Document with information that we only knew after the project was finished.

Gantt Chart: