Growing up I spent a lot of my secondary school spare time playing flash games. This is what initially got me interested in programming. “How does it all work” I thought to myself. A few TankTrouble games later, and I decided to figure it all out.
The way I learnt at the time was by using tutorials. I’d follow the tutorial line by line, and more or less implement identical code but I would also play around with it to see what happened when I changed it. This is how I understood how things worked. My school did not have any programming classes and as a 12 year old I was still clueless, despite the tutorials. Through constant efforts, bit by bit I became better at understanding what code is and how to come up with solutions to my problems. Some of my first games:
After these first few games I received mixed reviews. Many were negative and critical of my games, which made sense because they were terrible. However there were some encouraging comments which ultimately pushed me to carry on. Around about the time I was in Year 9 I worked on the following:
Sadly I never finished these. I had about 9 different projects in Year 9/10, and although I learnt a lot and this was by no means time wasted, I never got around to finishing the games either because they were too ambitious or I was interested in something totally different for a while. I didn’t really do much coding between then and the start of college. When I got into college I felt the sudden urge of creativity and the need to make something return. The following project went through three main phases. In the first phase I laid out the foundations for an Action-Strategy-RPG. This was left untouched for about a year and a half.
This break more or less continued up until the end of last year, when I returned to work on the project at really random times, not really sticking to any of my design documents. (much later I felt inspired to port it to Unity).
What I learnt from all of this, especially now and not so much when I was younger is that too much ambition is not always a good thing. Especially when it comes to programming. Whenever someone gets into programming, specifically programming a game (I include myself in this category), they get this feeling that they’re going to make the next triple A title because that is what they’re used to playing. It’s better to be realistic and work on projects that you know you will finish. You learn a lot when working on ambitious projects but nothing beats the feeling of publishing something finished (be it a game, a program, a piece of art, a video, a script or whatever else). Even now I sometimes fall into the same trap.
Most importantly, spend your spare time expanding your knowledge by working/researching on things that interest you (cyber-security, cryptography, UI design, games design, video editing, graphics etc), especially if you enjoy doing it. In the long run it will benefit you and turn you into a much more flexible person, instead of someone who can only work with what they learnt in academia.