top of page

What I have become

    It has been four years since I began my college journey, and a great deal has changed since then. Through the accumulation of assignments from the courses I have taken, I have developed into an individual specializing in the development of video games, specifically in gameplay programming. I am both very proud of what I have accomplished and thankful for those who have helped me along the way, which includes the Honors program. Without it, I may not be in the same position I am today, which is largely due to a variety of factors. As an honors student, I have acquired many valuable skills that will enable me to stand out as a strong candidate in the workforce.

Three Important Lessons I Learned

Be willing to learn

     Just three years ago, when I was in the H200, I believed that I was very skilled at making games. I used to think that I was fairly close to understanding all of the fundamental knowledge that was required to develop them. This was mostly because I did not push myself into many uncomfortable situations back then. 

For instance, while I was still using Roblox Studios, I repeatedly ran into situations where I wanted projectiles to travel in a parabolic motion. This was before I was aware of kinematic equations, so I was not sure how to do it correctly. Since I believed it would be difficult to solve the problem directly, I decided to instead make the projectiles follow straight lines. The result of this, however, did not look very convincing, and I should have instead researched how to do it correctly.

As I continued to make simple games, I began to form an egotistical mindset that I was good enough to handle any problem that was thrown at me. That was until I started work on my honors contract, Health Guru. I ran into many issues that took weeks to solve and caused a lot of late nights. It was frustrating at the time to figure out what I was doing wrong, but it helped strengthen my ability to push through tough scenarios to achieve my desired result.

Knowing where to find help

    There were many instances during honors contracts where the solution to a problem was not given directly during the base course. In situations like this, I often had to read through documentation to figure out how to do specific things. This was quite challenging for me since I was often left with more questions than answers due to my lack of experience.

For example, during my Health Guru project, I wanted the player to stay in the roll state until a certain key was released. To do this, I decided to use a Unity Coroutine, which handled waiting for that event without freezing the main program. This did not seem too hard initially, but I would need to first understand other C# concepts before I could do this, like delegates and IEnumerators. I relied mostly on the Unity Documentation website to help guide me through how to use these features, and I was able to pull it off successfully.

 As I progressed through college and the scale of my assignments grew, I had to put more work into finding the solutions I needed. It forced me to be more engaged with my studies in comparison to high school. Around that time, I was more able to get away with doing little to no work at home and still doing very well in my assignments. The sheer gap in expectations between the two was off-putting for me, and I was not prepared for that shift. I eventually, however, adapted to be more independent and willing to forge my own path to solve problems.

Time Management

     In the context of school, I tend to do my best work when I am not stressed out by tight deadlines. Despite this, it used to be quite the challenge for me to get started on assignments when they were initially assigned. This has never hurt me too much in the past, but I had to be much more careful about how I spent my time in college. The end of the semester usually comes with a multitude of finals that allocate a lot of time to themselves, so it made it quite difficult to complete honors projects on the side.

I remember specifically during the fall semester of my junior year, I needed to finish an animation that would serve as my contract for the semester. I assumed at the time that a month was plenty of time to finish the assignment, but I didn't anticipate how much work was also required to be finished around that time. This made it much more difficult to finish the contract on time. I did end up completing the project, but I believed the lack of pacing sacrificed the result.

Moving forward to today, I do a much better job at tackling assignments sooner rather than later. I much prefer getting the most difficult parts of assignments done early so I do not have to stress myself later on.

Problem Solving

 Problem-solving is an extremely important skill to have as a programmer. There are many situations where the ability to come up with a solution in a difficult situation can be the difference between a functional and broken game. The code that I use to program gives me the tools to express the ideas that I want to convey to users; it is my job to effectively use them. When I started programming in 2018, I struggled to familiarize myself with how coding works because I could not simply tell the program what I wanted it to do. I remember spending a lot of time watching coding tutorials and coming out of them still confused about what was going on. It was not until I entered college that I started to get a lot better at understanding what tools I needed to use to handle the task at hand.

In this example, I wanted to create a pathfinding solution system so that I could use it in 2D games when the situation requires it. To achieve this, I had to learn how to use heaps and hash sets to quickly find and intuit the quickest path to a location. The video to the left showcases the system in action.

This is actually the third version of this system that I made to solve this problem. As my knowledge in computer science increased, I was able to make more efficient versions of this system to help prevent performance drops during gameplay.

Applied Learning

 During high school, I often questioned the relevance of the topics I was learning at the time. To be more specific, I was not sure why I was required to learn so much math. Around the time I started taking Algebra, I began to lose motivation because I did not believe it had a significant application to coding video games. I did not realize this at the time, but math is everywhere and was integral to game design. Due to my perceived lack of relevance, I began to passively learn the information I was taught. I would learn just enough to pass my classes and then forget it after passing the exams I had to take. It was not until college that I learned how many options open up in video games with a strong mathematical background.

A good example of this is a moving platform. Say, for instance, I wanted to get an object from A to B through a smooth motion. Even if I only wanted the object to go in a straight line, that would still require a basic understanding of high school Algebra, and only gets more complex if I wanted to include circular or parabolic motion. At the time, I had no context for the information that I was learning, so I did not see it as valuable for anything important.

This, however, changed when I started to make more complex games that would heavily benefit from a strong math foundation. After seeing how I could apply what I was learning in practice, I gained a much higher appreciation of math and sought out further understanding by taking more of it than what was required for my major. Applied learning is one of the best ways to develop a deep understanding of a topic, and doing so helped keep me focused and engaged in learning new things.

Changing mindset

     As I entered the second half of my 4 years in college, I noticed a significant spike in difficulty in the courses I needed to complete. I went from simple games and low-polygon models to group-based game projects, 3D model topology and texturing, alongside multiple math classes concurrently. During this time, I seriously question if gameplay programming and programming in general were meant for me. This phase of my college career was very tense and was pivotal to who I am today. I will never forget one specific moment in one of my game design classes that helped me push through what was being thrown at me. As part of one of the gaming lectures during the course, my professor showcased a GDC video about an indie developer who spent more than a year developing his game (“No Time, No Budget, No Problem: Finishing The First Tree”).  During the presentation, David Whehle, the developer, said something that I now try to live by each day.

“...Never have a 0% day” (David Whehle) 

     The simple but endearing words have never left me, despite it being over a year and a half since I first heard them. Especially during my junior year, there were plenty of times when I did not want to work on some assignments because I thought that I could not do them. I especially struggled with mathematics since I had a hard time understanding specific topics such as proofs and logic. Even so, I had to learn to push through it because that's how we as humans learn. We remember new things, especially the things that we struggled to learn. The ability to work through uncomfortable experiences, I believe, is very important not just in a job but for day-to-day life as well. This is why, although it was stressful in the short term, I am grateful to have gone through this experience because it taught me perseverance and to "Never have a 0% day".

My Growth (Emerging Expertise)

     As I progressed through college, my ability to develop video games (specifically coding their functionality) has increased to a degree I would have never imagined. In comparison to today, I used to have a hard time sticking with things that became increasingly more difficult. This only hindered my potential since I did not like facing too much resistance. The structure and gradual buildup of assignments in college helped me warm up to making more complex games as time went on, which can be seen through the artifacts I included. Each taught me valuable lessons in game design and was pivotal to getting me to where I am today.

Screenshot 2026-03-26 at 2.25.08 PM.png

Learned how to make simple games in a new game engine

Screenshot 2026-03-26 at 2.29.06 PM.png

Wrote a complex system for dynamic movement

Screenshot 2026-03-26 at 2.31.34 PM.png

Developed all game functionality from scratch

 The road I traveled to get here was not easy, but without it, I would only possess a fraction of the skills I have built up today.

Next Steps

    As I look forward to future endeavors in the workforce, I hope to use what I have learned as an honors student to prepare for what is up ahead. When I say this, I do not mean a specific mechanic that I learned or a data structure that speeds up performance. I want to use my ability to learn new things and adapt to changing environments. Previously, I was naive in the sense that I thought I knew most of what I needed to know, but now I know there will always be something that you don’t know, which means there is always something to learn.

  • YouTube
  • Twitter
  • Facebook
bottom of page