15 December 2017

It's My Life - Game Developer

The completely different topic today. Why? I don't know I just feel like sharing my life, how I got this way, how I ended up where I am currently.

A Gamers Childhood

Due to my brothers, I started playing video games at a really young age. I remember having a picture of me holding a game boy - yes, the old grey one - with both my brothers next to me. It didn't stop there. The game boy was soon replaced with a game boy color, which was followed by a Super Nintendo Entertainment System. We had a SEGA, at some point borrowed a Dreamcast and I grew up with these. If I wasn't living the fantasy of jumping around like Mario in the apartment or playing with Lego or in kindergarten I was playing video games. Alone, with friends, whatever. At some point, I even got my own computer. My brother set it up with OpenSUSE as the operating system.

The Change

Of course, what did I do on that computer? I played video games! We had lots of CDs with games on them. All because of my brothers who played them too. Games like 'break out', 'The Settlers II: Veni Vidi Vici' and even 'Grand Theft Auto: II' (Yes, I know I was too young for it). It came only natural that I started to wonder how these games were made. I somehow picked up that those games consist of 1's and 0's and that those 1's and 0's produced the text you get when opening an .exe with a normal editor like notepad. I also used to do this myself. I opened the .exe files of the games I played with notepad and changes the characters to see what happens, how the games change. Of course as to be expected the games were kinda corrupt and partly unplayable, but it was fun.

A Young Developer Already

I already mentioned that I used to recreate those games by making my own rules. Like for example, I said:
"okay, the green grass now represents the weird green liquid from the Legend of Zelda games that had those zombies in it"
  • Or during winter I've created pathways in the snow that were supposed to represent the overworld map where you can select the levels from Super Mario World.
  • For the bathtub, I used to build Lego towers where the people had to climb while it was sinking in the water
  • And with matchbox cars, I recreated the missions of 'Burnout: Revenge' creating my own missions partially inspired by 'Blast Corps'  
  • I have also picked up the hobby of drawing and building my own Mario Party board games on thick paper.

Age of the Peg Game

I got this mosaic peg game where you had small rectangular colorful stones. There were red, orange, black, white, blue, yellow and green and I was all over this game. It was probably my favorite game when I wasn't playing video games. Now, what do children do with these peg games? They create pictures of scenery! Now, what do I do with this peg game? I've created and recreated games. For example, I used 2 red stones above each other and said: "That's Mario!". It was a lot of work to keep everything "up-to-date" on the "screen" but I somehow managed. I also created completely own games where for example you can place a stone, then the other players place a stone and by adding to already placed ones you can upgrade those. Higher upgraded buildings are stronger in taking over lower builds, the one who eradicates the other has won. For all these games I also needed a point system. I could have used those stones to build the numbers but that takes too much space. So I had to define a color code and I did the following:
  • red - 0
  • orange - 1
  • black - 2
  • white - 3
  • blue - 4
  • yellow - 5
  • green - 6
  • orange up-side-down: 7
  • black up-side-down: 8
  • white up-side-down: 9
Up-side-down because they had a hole in the lower end.

Beginning of Internet Presence

Graduating from the elementary school I've also started getting used to my own computer with a Windows XP running on it. During my first few years in the Realschule - I guess that would be the middle school - I was already surviving the world wide web, playing browser game after browser game. During my search, I came across a game called 'Super Mario Flash' that had a built-in Level Editor. I got into it making my own levels and quickly started to play others and sharing my levels on the Super Mario Flash forums. My English must've been terrible. That terrible that even some people responded that they don't understand what I mean. Reading other people's posts and trying to learn my best to communicate with them with the English I've picked up in 2-3 years from school I've improved my English quite efficiently. Chatting every day with some friends I've made. I still remember some of the names "Pipe", "Ocelot". I've even picked up two long-distance relationships there with one being several years. Meanwhile, I've started playing MMORPGs. The only one I remember was 'Metin 2'. However, since those MMOs I've played weren't good and they got extremely grindy after the first areas or didn't really pick up my interested I told myself to give up on MMOs and never play those again. Especially how time-consuming they are.

The Dawning of the Programmer

Those first years of my experience in the browser also got me teaching myself HTML and CSS to make my own websites. A few years later I've decided to get into programming. So I've started to learn C. I've learned quickly that this was too hard and since I actually wanted to learn C++, a trial of learning that instead was given. However with no success so I jumped back at HTML, CSS and added JavaScript into the mix. At some point, I tried C again and this time I understood and progressed swiftly. I've taught myself C until I've gotten through one or two tutorials so I've picked up C++ next and went through the tutorial successfully. With these languages learned I have programmed my own text-based games, but it wasn't enough. I wanted to make real games. So I looked up for possibilities and I found an API called Allegro. I read through the tutorials and used it to make a few of my first games which included a game full of achievements that requires you to press space to gain points, a game where you can make music and use your keyboard as an instrument and a badly programmed Mario remake that actually only contained him jumping linear and some collision detection. Sharing my experiences with my friends in the chat

Age of Level Designing

At some point me and my friends also picked up another Mario game with a level editor. It was called Super Mario Brothers X. It was a desktop application that you had to download and it was free. I was intrigued, especially since I was searching for a new one. So I've got into this, played more levels and projects of other people and made my own game projects.

Fun fact: Super Mario Brothers X was actually programmed by the same game developer of Terraria: Redigit. So at this point greetings to all your old friends: Redigit, Valterri, Knuckles, Bossedit and many, many more of the SMBx community!

OpenGL & DirectX Trial Time

Continuing my adventure to create my own games I ditched allegro due to it not feeling professional. So I switched to DirectX instead. Oh boy, what did I get myself into here? I've tried, really hard and got a lot done. 3D graphics of simple shapes, some 2D mechanics but it was hard. Real hard. Additionally, I was limited to Windows only, not really what I wanted. So I've switched to OpenGL. It wasn't a huge difference but OpenGL is missing a lot DirectX had because OpenGL is only for graphics. So I've been on the search for something else.

The Age of the Modder

Minecraft has been released! The hype was great and I've got it back when it was in the alpha, I think, and it was worth it. I've found a gaming clan and played Minecraft with the friends I made there almost every day. At some point, we were modifying our server and Minecraft client with mods and add-ons getting even more out of the experience. Testing all those mods and add-ons left me with my own ideas. Hyped to create them I read myself into Minecraft modding and taught myself Java to a certain degree and continued learning it while modding.

The End Is Nigh

Of the Realschule I mean... not the world ending or something.. Anyways many people didn't know what they would do in their life but I was certain: Programmer. I want to become a programmer and so I've searched for apprenticeships (that's how it works in Germany) and applied to several companies. It took a while but like 3 or 4 months in I got several messages back. I've visited about 3 companies to introduce myself and then decided for the Technical University Munich because it sounded good and maybe I could educate myself further.

The Apprenticeship

During my apprenticeship I had a lot of fun with colleagues, I've learned more Java and C++, got introduced to Qt, taught myself C# privately and creating more games like a text-based RPG or a text-based version of the 'Alchemy' game for Android. I got the chance to get introduced to Python, which was one of the best things that happened in my life and in the 3rd year I've also learned to develop for Android and we got to create a game project in groups of two. The only thing that wasn't good aside from some hierarchical problems between the boss and the colleague that was taking care of me was that I didn't feel the same from developing these apps that I felt from working on programming games. Thus I've decided to finish my apprenticeship, go to the Berufsoberschule in Freising and get the certificate that allows me to study. Going through the summer holidays, I came across an API called SDL.

The Berufsoberschule

During my Berufsoberschule, I already informed myself a little about what the study Computer Science: Game Development contains and since friends of mine were interested in developing a game we've decided to use an engine for that. Our options were the Unity Engine, Unreal Engine, and Cry Engine. Since I would have used the Unity Engine during my studying anyways we've decided on that one. However, problems soon occurred and we weren't so convinced of it anymore and decided to switch to the Unreal Engine. Unfortunately, the Unreal Engine is much more complicated than the Unity Engine. So we put our project on ice for now. I went through the two years trying to balance my gaming and school life as good as I can. Occasionally developing something in Unity or SDL.

And Then Everything Went Downhill!

The time has come to the exam is in front of the door and it went bad. Real bad. The exams were in German, English, math, and physics.

I've got a 3 (C) in English.
Usually, I'm writing 1's (A's) or 2's (B's).

Got a 5 (E) in math.
I know I've been struggling with integration, it always felt like a puzzle to find the correct path.

Got a 5 (E) in German.
My German grades have never been good, but writing and analyzing poems got my high hopes and better grades in the previous tests.

And a 5 (E) in physics.
For some reason, I have huge problems in math and physics with solving the problems that are described in front of me.

Overall I would've graduated with no problems but you're not allowed to have three 5's or E's in the final exam. To solve this problem I could choose one topic to go to the oral exam and I chose physics. Did the oral exam. Bam! Got a 1 (A) on the oral exam.

However, the problem remains. My grades are bad and I'm too proud to repeat the year. I've never repeated a year, I've always pulled through somehow and it felt just wrong to repeat the year. Especially since I know repeating the year is going to be a lot easier and the grades are a lot better. It's like cheating.

Matriculation

Next step after graduation: the matriculation. Sending all my data into the University and hoping for the best. Due to my bad grades, I wasn't able to get in right away, I had to go there for an oral exam where I can introduce myself and with this information they collect, they calculate the number of points I get in the end. I need 70 to enter. After the matriculation, I got 50. Alright, 20 to go sound doable. Whelp. I went there answered the questions as good as I could and the end result is...
63 out of 70
I couldn't believe it. 7 points are missing. 7 points for my dream to come true.

Life Goes On and On

I won't give up yet. I'll make my dream come true. I have so many ideas all I need is to earn money somehow while having the time to develop my games. I need a start off but I can't go with Kickstarter. I'm not experienced enough and every idea has a chance to be a flop. I'm not a fan of risks. So yeah, here I am writing this text sharing my story up hoping to make my dream come true by finding a way to be able to do what I love or finding a job as a game developer or similar.
Liked the post? Noticed an error? Wanna discuss the content or leave a comment*? You can join or check into the discord to do so! (*Note: Comments are disabled to avoid saving user data on this website.)
>> Join Discord

About Me

My photo
I'm a junior game developer and software developer and I created this blog to share my ideas, thoughts and whatever I'm working on or doing.