terça-feira, 21 de novembro de 2017

Studying Game Development

Surely I'm not the most suited person to talk about this since I've only been studying game dev for about 3 months now, but hey, consider it as a fresh view of what I have gotten so far!

I've had some people asking me: "What is it like?", and more importantly: "Is it worth it?". To get these answers, jump straight to the TL:DR section because I'm about to ramble for a bit.

So, I've been here for almost 3 months now studying Computer Games Development, starting off with 5 classes:
- C++ Programming For Game Developers 
- Computer System Concepts
- Game Development Fundamentals, Practice, Professionalism and Employability
- Mathematical Tools for Computation
- Information Management, Assurance and Security

I'm gonna separate these classes into two groups: "Game Dev", where I'll put C++ Programming and Game Dev Fundamentals, and "General Computing", which includes CSC, IMAS and Maths. Let me talk about the General Computing group, first:

General Computing:

So, this is the group of subjects that you are not required to know as a game dev and you'll probably take them along with other people like Computer Science, like I am. Do they help? Oh yeah, a whole lot. Do you absolutely need them? No, you don't. If you take a Game Dev uni course, you'll most likely have them or something like it, so it would be best if you embrace it right away instead of pouting at it like I did in the first month.

Computer System Concepts:

This is "Computer Anatomy 101" basically. I'm learning what's inside a computer, how does it work, computer language, binary, hexadecimal, decimal, how to convert them into one another, logic gates, truth tables, system buses, memory, secondary memory, chips *Big Gasp To Catch My Breath*. Yes, it is a lot of stuff and, if you're new to it, it may be very overwhelming, but ultimately it will help you to understand what is going on when you code and in several other aspects.

I absolutely HATE classes like this, mostly theory and not much practicality, memorize the material and spit it in the exam just to forget about it right after. In the first month, I just kept thinking how useless this class might seem, but I found myself falling behind because of it, so I decided that this stuff might actually be useful eventually, or else they wouldn't be teaching it.

Yes, a lot of theory, lots of memorizing, but just do your homework on this one, and you should be fine. 

Information Management, Assurance and Security

I'm not gonna talk a lot about this one, because I only started taking it 3 weeks ago. To keep it short, it's your anti-hacker class, basically. You'll learn all about the terms, the protocols, the systems used, the difference between attacks and threats, the countermeasures to both of those, the roles that you'll have in a company for this, etç.

Just like CSC, this might be a bit overwhelming, but I think you guys can see the utiliy for this: no one likes to be hacked. And you get to learn a bit of hacking yourself along the way, for all you naughty boys and girls!

Mathematical Tools for Computation

This one is actually quite hard for me to talk about. You see, I came from another country where I had to take maths up until the end of the 12th grade, which was equivalent to Pre-Calculus in the US, I believe? But anyways, this class is kind of a mish mash because everything that I "learned" these past 3 months, I had already learned throughout my 10th, 11th and 12th grade. Sets, Equations, Trig, Progressions, that sort of stuff. Which is basically what you need for programming.

If you have your maths up to date, don't worry too much because you'll probably have a basic math class like this. If not (and there is no shame in that), pay attention to this because I cannot explain how much it helps with programming coursework.

Game Dev:

C++ Programming for Game Developers

Exactly what the name tells you, I've been learning C++ but with a lot of game analogies and exercises. Now, it's good to have this as a school subject because: 
a) you're forced to study it, so you're forced to practice, which is the best way of getting better at it. 
b) you're teached the correct way of doing all of it, the best practices, how to comment and indent the code. You can write code in lots of ways to make it work, but that doesn't mean that it is well written. 
That is by far one of the pros of having this subject and of taking this course in general.
c) You are guaranteed to have a mentor and you'll be surrounded by people that are trying to achieve the same goal as you, which is a lot of extra help.

I'm taking C++ but I'm sure that not all unis do it. You might take C# or Java but all of these points apply to whatever programming class you have.

Game Development Fundamentals, etç, etç

Alright, remember the one class I talked about where I had to make a game in 6 weeks? TR45H-Y? Yeah, this was it. And let me tell you that this is BY FAR the most important class in this course.
For those of you who didn't read my previous posts, this was a class that I had for 6 weeks that was basically an industry simulator. We were given the task "make a game in 6 weeks" and that was it, no information on how to use the engine, no information on how to code, no information on what to do at all. Obviously, if you asked, the teacher would help you, but that was it.
It was really stressful at first, and sometimes even frustrating, but it was SO important, and truly an eye opener as to how the industry works, what you need to do and, most importantly, how to work as a development team. If you wanna read some more on this, my previous posts talk about it.

My univeristy does a class like this for almost every course, and I know that not all unis do something like this, but I would recommend you do it even if just as a personal thing. Set yourself a deadline, gather 2 or 3 coursemates, and go for it!

My Point Being (TL:DR)

To answer the questions:

"What is it like?"

It's good, it's fun and you're doing what you love while you learn it in the best way possible, surrounded by people that motivate you to do it.

"Is it worth it?"

Don't be fooled, what you learn in this type of course is easily learnable through research and online cheaper courses. You will always be lacking something, but they're not necessarilly vital things.

But, not to be controversial here, personally, I would say "yes, it is worth it". It gets you direct contacts to the industry if you manage to stand out and you will be learning the best practices on what you're doing, which I'm sure that a lot of companies will enjoy. 
You will also be surrounded by people that are doing the same thing as you, that means that a team can come out of it, or maybe you'll meat someone that already was in the industry, or someone that can help you with any question that you have.




Sem comentários:

Enviar um comentário