New Years

30 Dec 2016

A new year is quickly approaching and it will soon be the end of 2016. Before entering 2017, it is important to look back and remind ourselves of what we accomplished and achieved, as well as what we could have done better.

The biggest achievement for me would be getting into the University of Toronto, and I guess graduating high school counts as well. I really didn’t achieve much in high school, the one award I got was the Top Band Student Award when I was in grade 9. Our combo won the best Surrey Combo at the Envision Jazz Festival, but we didn’t get any awards at the Lionel Hampton Jazz Festival. In terms of school, that’s about it.

For programming, there is a lot more for me to put down. First of all, the one that I am the most proud of, is my game that I built with c++/SDL for 3 months: MissleDodge. Although the game itself isn’t really that polished and the gameplay is kind of stagnant, I learned a lot about game architecture, game design, as well as the development workflow. I learned to break down daunting tasks into smaller pieces and to push myself towards the end goal, which was a massive leap for me.

Missile Dodge background

The menu background of MissileDodge

After that, I developed a game for the no comfort game jam, called Violet. I only had two days to develop the game, so there are quite a lot of bugs left and the gameplay is pretty choppy. Despite the bad quality of the game, I learned how to implement a tile system as well as cutscenes, and I got a lot more practice building an engine from scratch.

Violet scene

A scene from Violet

My current project doesn’t have a name yet, but it is a game I am making for the annual UofT game making deathmatch. This years’ theme is tiny worlds. I initially decided to do an exploration based story game, but I realized that the scope was way too big. I salvaged what I could from the engine I had already developed and now I am working on turning it into a combat game with roughly the same idea. This time, I am using a game state system in the engine, and if I have time I want to try to figure out how to incorporate an entity component system. The deadlien is January 15th though, and I still have to work on all my art assets as well as SFX/music, so I’ll probably end up hacking together the first solution that comes to mind.

I also worked on a few game jams this year with a team. My very first game jam was the monster smash game jam, and this is the game we made. I worked primarily on the art and helped around with the coding for a bit too. After that first jam, we worked together on a few Ludum Dares, like this one and this one. Although the games are pretty mediocre in quality, I had a lot of fun working on them all and definitely learned a lot in the process as well.

On top of games, I also learned some javascript/web development with the help of FreeCodeCamp. With that, I learned some basic HTML, CSS, and Javascript and built some basic web apps. Looking at them again now, there’s definitely a lot of room to improve, and I will probably redo most of my projects next year. I also tried my hand at building my own Github Page, but I didn’t really find much success in that. I have to work harder next year to get better at web development for sure.

Throughout the year, I also worked on some programming challenges. I have a github repository set up where I post my solutions to the Reddit Daily Programmer Challenges. At the start of the year, I also tried to develop an inventory system. Looking back, I realize the code is sloppy and documentation is practically non-existent. I won’t bother trying to fix this one, but it is good to know where I went wrong so I can improve upon it next time.

In terms of art, I feel like I have not improved a lot since 2015. I wasn’t practicing as much last year with my art and as a result there was little increase in skill. If anything, I might have gotten a bit worse. My only really noteworthy piece was a study, and I didn’t even get any commissions. (excluding a commission from a friend to draw a really embarrassing picture of my other friend) Although I fell behind with my digital drawing/painting skills, I drew a lot more on paper. I have filled at least 2 sketchbooks this past year, and improved a lot with drawing human faces (or just humans in general). Although I didn’t accomplish much with my art, I am not unhappy with the progress I made last year as well.

Good art in 2016

My only good piece of art in 2016

After September, I didn’t have much free time to do what I wanted to do. Starting university was a real slap in my face and really got me working hard in school. I can’t blame all of my unproductivity on school though, a lot of it was my own fault for sure. I wasn’t great at time management and spent a few too many hours on Netflix as well. I am quite disappointed at the amount of work I have done in the past 4 months, as I have done almost nothing outside of school work. On top of not doing much outside of school, I didn’t perform as well as I wanted to in school either. Other than my computer science course and my linear algebra course, everything else fell under the mark for me. I started off strong in Calculus and Discrete math, but my marks slowly dropped for both courses as the year moved along. As for economics, although it is not an important course for me, I am still disappointed that I did not at least get an 80%. Although I didn’t live up to my own expectations, I think I’m pretty well above average in my grades so at least I have something going for me.

One last thing I didn’t do well last year was socializing. After going into university, I probably haven’t made more than 20 friends, which is kind of sad. I’m in classes of over 200 people from morning to night, Monday to Friday, and I couldn’t make even 20 friends! That’s something I have to work on next year for sure. If I don’t start socializing more, my network is going to be pretty small and it’s going to be quite hard for me to find a job in the future.

So, what are my plans for 2017? Well, I’m going to start the year off strong by participating in #100DaysOfCode, where I code every day for 100 days and work on personal projects. I’m going to start off by finishing my game for the game deathmatch, and hopefully I’ll get something decent by the deadline. After that, I’m going to work on a better personal site for myself and replace my old Github Page with it. Another project I was thinking of is a discord bot for DnD and role playing, but I’m going to have to look into that and see how doable it is. To be honest, I’m not quite sure what I’m going to be making for my 100 days of code challenge, but I’m sure it’ll come to me soon.

In January, I’m going to be going to 2 hackathons: Hack the Valley at UofT Scarborough as well as Pennapps at UPenn. These are going to be my first hackathons, so I’m nervous and excited at the same time. I’m going to Hack the Valley with a friend, so it’ll be a bit less intimidating, but after that I’m going to be going to Pennsylvania all by myself, which is a lot spookier. If all goes well though, I’ll have made some new friends in the end and learned a lot about teamwork and gained a lot of development experience.

Even with all these plans, I still haven’t really made my new years resolutions. There are a few on my list, but the most important one for me is to get a job/internship. My goal is to one day work for google and start my own company, and starting 2017, every decision I make in life will be in service to that goal. Everything I plan to achieve in 2017 is in hopes that one day I will be a software engineer at google, and getting an internship is the first step towards that dream.

So that was my year in review along with some self-reflections. I hope you all a happy new year, and a good journey towards your dreams as well. May peace and tranquility rest upon the world.