Key Challenges
- The deadline was tight considering my other academic commitments. I had no time to implement two features that I wanted to in the beginning: user authentication and a profile handling system. I decided not to implement a login system for users to save their progress in order to save time, and opted to keep my game simple and fun for users to enjoy.
- I had no prior experience in any other programming language. My CS module was conducted in Term 1/2 last year, where some of the basic principles and concepts of p5js were not internalized by the time the project was announced this year. I spent most of my time researching for suitable websites that I could take inspiration from (in particular, https://www.w3schools.com/) and reviewing my p5js basic functions.
- Along the way, I would also say that I was stuck in not knowing how to implement my ideas of a typeracer effectively and I wondered how I would be able to create buttons that would allow the user to click and play the game with ease. Even though it did not succeed at first implementation, I persevered until it was successfully implemented.
- My time management was also put to the test. Notwithstanding that I did not have access to my computer throughout the day, I usually arrived home at 8pm after my CCA no less than four times every weekdays. Given that there’s only one PC at home, I have to time-share the resource with my family members. On top of this, I had to juggle this with my school homework. During the weekends (apart from weekly visits to grandparents), I learned about the value of time management, discipline and perseverance throughout this project.
- It was my first time to document the progress for coding a project. In Y1-Y2 CS Modules, we would only hardcode our projects and submit them. The process of documenting my learning progress was relatively unfamiliar and was hard to get used to.
- As such, due to the many aspects of game development that was required of in this performance task, it was slightly difficult to keep track of all of my edits. I used Notions as a project management tool to help me to stay organized and keep track of my progress.