I want to work with games. Where should I start?

Hello, folks.

How are you doing?

Well, today’s post I’ll talk a little bit about how you can start working with games, what engines you can use, what qualities and skills the market is looking for, and more. Important to underline this is my own experience due to my current situation – looking for a job/Co-op/Internship in a game company. (if you know something, let me know. Really!).

So, the first thing you’ll have to get over (or to not care) is about people thinking that you will work with video games is the same as you will be playing video games all day. I believe I talked a little bit about this in another topic (How to be a game tester), but, yeah, people tend to think that. Want to try? Tell your parents that you want to work developing games and see their reaction…. But, don’t worry. I’m here to help!

Building a game can be something from coding a simple couple of lines to a lot (I mean A LOT) lines of coding and more coding. It takes time, days, weeks, months, years, patient, studying, sometimes weekends at home to finish your game… But should I start with coding then? What language should I study? What books should I read? Which is the best language? Which castle is the princess?

One step at a time, grasshopper.

A game can be build in many different languages, and I’m not talking about that weird one that your uncle talks when he comes to visit you in your birthday. I’m talking about Programming Languages, C, C#, C++, Java, JavaScript, PHP, HTML5, Ruby, Python, etc, etc. Usually, most game companies like to work with C# and C++. Those languages, as far I’ve researched, are a little bit more difficult to learn, but as soon as you get them, all the other will be way easier to understand. The reason of that is because most programmers used C as a base to create others, anything that you need you have to write down – functions (some people may believe this is bad, but I like it). Knowing that, you can start working on something about C# and C++ specially because it will be used on the engines I’ll talk about here.

A little example of a code I used to learn how to create games.

In this example, I used VS2015 (Visual Studio 2015).

Do not worry about “OMG, what the hell is that?” or “How am I going to learn that?” Well, it happens to me everyday when I get a new code. That’s why I said it takes time, patient and a lot of study.

A little bit about VS2015, you can use it to build your game and extract into a .exe file. However, probably all Anti-Virus will identify as a weird program and block it if you let it. Even more, it compiles only into a MS-DOS windows, so your game will be like those 70’s one.

This is what happen if you compile a code created with VS2015.

The famous Snake Game where you have to catch a fruit or an object, you tail keeps growing until you have no more space to move. (Its my first game, give it a break, okay?!) It took me about 1 hours to build that with a tutorial, between learning, pausing to understand, writing down some notes, fix error that I’ve got the guy on the video didn’t, etc.

But, if you are here, you are looking for something more, right? Engines!

Engines are programs game developers use in order to help them create the games. With those, you can write your code, attach into a specific model (enemy, player, car, etc) and work with it. You can come and go between the code and the UI, background, music, sound effects, etc. If you want, you can create a game from scratch using your Notepad, but why trying to reinvent the wheel when you have those softwares to help you out?! Most commons engines are Unity 3d and Unreal. (I’ll talk about Unity as I’m using it right now….)

Unity is a really powerful engine with probably everything you need to start your own simple game. And its FREE! They even have tutorials in their home page to help you out. Its a great way to start, learn and understand what happens behind the scenes. Also, unity is one of the engines a few big companies is used to work with. Nintendo, Ubisoft, etc. So, it may be a software you want to learn.

Following the tutorials, I had the opportunity to create 2 other games.

Roll a Ball where the objective was to roll a ball (yeah!) and pick up all the objects on the screen. A nice tutorial and I didn’t have to import anything as features, assets, characters, 3D models, etc. It gives you a North where to start with and for the basics using Unity.

I had to create 3 Scripts (code documents) using C# (you can also use JavaScript if you want). Here’s a little bit of the code.

If you want more information about it, you can find at http://www.unity3d.com.

You can also notice I use a lot VS2105, but if you don’t have access to that, Unity is smart enough to provide you its own C editor, so you can write the code without having to use an external software.

This project had no sound effects and only one stage. As mentioned before, the objective was just to pick up the yellow squares (which I also had to animate to give more life into it (:

The next project I worked with took about 1 week to finish as going through the tutorial, College, assignments, nights awake until 2am to learn, etc, but it was a little bit more complicated than this one. On this, there was Audio, Models, Prefabs, Textures, 10 scripts, etc.

There are still other tutorials I’m working on right now and also others on-line not so hard to find. Important to underline that between creating, adding and finishing the game, there was the tests I had to run almost all the time to see if something was working properly or not. For anything wrong that I found, I spent like 20/30 minutes trying to fix, as I’m not an expert into this and I had to learn about it to make it work.

I believe this is somewhere to start if you want to create your own game and an important tip is to never give up and never try something way ahead of your experience (too far!). I know we all want to build games like The Last of Us, God of War but we have to take one step at a time.

And how can I get a job?

Well, about the market. Jobs that I’ve applied ask for, at least, some experience with Unity, programming and, sometimes, a portfolio. Alongside that, jobs offers can ask for knowledge in others languages as Java, PHP, etc, which there is nothing much to do with what you’re studying, but you have to know them. Important is to keep working in one language to be good at it and know a little bit about others. I like to say that working with Programming really depends on what you want to work specifically with. Web programming? Game Programming? Software developer? because each of them will guide you to a specific path. Web, you will see PHP, CSS, HTML, JavaScript…. Games, C#/C++… Softwares in general, Java is the top of it due to the fact that it runs in almost any hardware, OS, cell phone, table, etc.

I hope I helped you guys a little bit and thank you for stopping by.

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s