On Becoming a Programmer
This is a story about how I have decided to finally learn programming to write Heart.Papers.Border (on Greenlight now, please vote!). It is also a bit of an introduction into a series of game development articles.
I have been making games for 6 years or so. I was in video games press for 7 years before that, so you could say I joined the industry as a deserter from the other camp. I started as a game designer, continued as QA, producer, and studio manager and, honestly, I did not like it. I always was under the impression that I like playing games much more than making them and that maybe I should get out of this disappointing industry and do something that either I really like, either at least is going to bring me a ton of money.
That is why I have started training myself in photography which turned out well since I did ended up as photographer without spending not one single penny from my normal income. I bought all the equipment from money generated by my new hobby. I like to monetize my hobbies mainly because in my mind there is no difference between passion and work. I always mix them together in order to generate a lifestyle. If you never did this before and you can afford it, try. It is definitely cool. I did it with playing games (yeah, there are many ways to monetize that), writing, photography and now I am doing exactly the same with game development and programming.
About that, in June 2016 the company where I was hired as a studio manager with a decent salary went belly up. I was forced to go on unemployment benefits, which, between us, being in Sweden they’re pretty decent as well. So I was left with a list of possible choices. For example, I could have tried to go full time on photography but, in all honesty, trying to make from photography a solid income source is a complete waste of time. It doesn’t work unless you get very lucky or you spend a huge amount of time and you become insanely good. I could have investigated moving to a big city and get and awesome job. But I don’t want to move, and, on top of that, a typical full time job is the assassination of freedom. Spending hours at a workplace just “because” goes against my common sense. I would like a job, but a shorter one, maybe for 10 days/month or something, for the social part and to accelerate my learning process.
Around April 2016, my amazing wife had a crazy video game idea. I really liked it and I thought that working on it would be awesome. Unfortunately both of us are “organizers” with similar skills in games industry, none of them being particularly useful to build a game in 2 people. After thinking for a while I went like “Laura, what if I will learn programming and build your game?!”. And she was like “Sure, why not! I will learn how to make vector graphics and make the art”.
And no, that did not work quite like that..
First of all, I had some experience in programming in Basic (not Visual Basic, but Spectrum old Basic) and a bit of C, but not object oriented or anything quite so advanced. And knowing programming is one thing, but learning Unity game engine is a totally different beast. I mean, it is easy until you try to do more than just the built in stuff… Laura had to literally start from scratch with Adobe Illustrator. She made it by the way, but that is her story ;).
In conclusion, we have acknowledged our lack of skills, promised ourselves to watch closely and we asked for help form a programmer and an artist, both friends of ours. We couldn’t do it on our own, not in the beginning. But we started working on our first game together and that was a big deal… Almost deadly though, since clashed were often and violent.
For a month or two all went fine. The game got its base structure and we were slowly moving towards prototype. And then out programmer got bored of the game idea and decided that he has better things to do with his time. But he was a friend and promised solemnly to help me if I will get my hands dirty.
And I did…
And I cried so many times…
I couldn’t understand anything in the begining. I had to deal both with learning Unity and scripting stuff and most of the time I was failing really, really badly. Once, I wrote a feature that worked! And I was so damn happy… and then I realized that the feature was already implemented by my friend and that is why it was working. I was so disappointed. It hurt inside so much, in my manly pride and unmanly pride. I felt so damn stupid. I wanted to quit to avoid feeling stupid so many times…
But, the thing is that I got this life philosophy that says “No matter how stupid you are, if you are doing a thing long enough, you will become an expert”. Goes in line with my other “Better fat with muscles than fat without muscles” , the “Never give up unless you want to start something else.” and also with “Rage about how are you going to quit and then go back to work”.
So, since I never finished a University, even though I have studied in one for like 7 years, different specialties, I think I have become very skilled at self-learning. I have a certain personal methodology, which seems to be getting better in time. It goes like this , sort of — Start with something that you really like to do, try to dig in to the basics, don’t mind if you don’t understand shit, practice even if you have no idea what you are doing, periodically go back to the basics and repeat the process even if you know you understand everything(In photography, from time to time, I read the absolute basics once again to help me stay focused on the true nature of it.)
And the most important is to do everything with the motivation of accomplishing something. In my case, it’s simple — try to make a living from anything. It goes back to my old insecurities of living in Romania, where you only have yourself and there are no safety nets. You cannot afford a hobby unless you make money out of it. You are your own safety net.
TLDNR version — The thing is that I did learn enough programming and Unity editor in approximately 6 months, to build our game. Some people consider it to be “genius” which would be cool, if it would be true (I am 40 years old so, I shouldn’t be able to learn new things, I think…). My dream as a kid was to become a genius…
I think that like any skill, learning is something that you learn and practice. I am very passionate about learning, and I practice all the time. I have learned new skills every 3–5 years or so for the last 15–20 years, which really helped me understand what can I learn, how and when and also made me think that human’s brain doesn’t really have a limitation. Out life time is a limitation, but that’s about it.
Our society tells us that you can only master one main skill in our life and maybe a few secondary ones, because we are limited. People say “I am not good at Math” and we wouldn’t even try to get good at it because we are not “talented”. You cannot play the guitar because you don’t have a “musical skill” or you cannot be an artist because “you are not talented at drawing”.
I think we can learn anything, giving that we have the time and the privilege to do it (like getting born in the right place at the right time…), and the genetics is only there to give us an edge. I also think most of our existence is governed by randomness, so there is no harm in trying to establish some sort of control over those things we can control. Learning is one of them, if not the most important, since it goes back to everything — Leaning to talk, to walk, to love, to suffer, to do math, to program, to draw, to be sympathetic and to be able to empathize, to change yourself and help other change.
Learn how to learn and the Universe will feel a tad less random.