A curious case of teaching game development in Brazil

Just follow this gigantic book, kids!

While game development seems to be a really young industry that just learned how to walk, here in Brazil game development it feels like it is still crawling. While there are some exceptions, like Outlive (2000), we are only now gradually starting to see lots interesting titles coming out of here. For instance, Behold Studio’s cool-looking Chroma Squad. Our local games industry still doesn’t have a solid foundation, so there is still a lot of struggles to find a quality game development education in this region. There is a lack of industry veterans; it’s hard to find valuable contacts that come together regularly in trade shows, like in the USA or Canada.

Despite that, I’ve been seeing a boom of game development courses popping up everywhere in my town. That brings us to our story.

It starts one a couple of months ago, when my girlfriend was looking for an internship offer for her, but instead found a game development teacher job offer for me. I did have some experience as an amateur hobbyist dev, which was enough to qualify for an interview. While I’m not the most professional game dev guy out there, I thought that I was totally up for the task. The job description was very enticing: I would give classes during Saturdays, and the promised salary could reach up to [insert a very interesting number here]!  

A few days later I went to said school and casually gave a copy of my resume to the receptionist, hoping that they would call me back after a few days. And for my surprise I was called right at that moment to be interviewed! I thought to myself : “Well, they probably need a new teacher desperately”.

This surprise interview was followed a few days later by a trial class that I gave to one of their teachers, and then a second interview.  They then told me that one of their teachers was quitting and the school really needed a new teacher as soon as possible. I would assume his old class.

Oh, and there was one catch.  

It was a mixed class of kids as young as ten years old as well as a few adults, working on the same game, with everyone trying to master 3DS Max. 

When I expressed hesitation about this, they simply told me that “that both groups progressed at different speeds”. This course is based on a series of workbooks, one per each module, which (in theory) should make it easy for me to prepare and plan the classes. 

Oh, and one more lovely surprise: The amount they were actually willing to pay me was [insert very small number here]!

The boss claimed that it was because I never had prior experience as a teacher. A little warning light popped inside my head, but hey, this was a freelance job for just 3 hours on Saturdays, and scoring a little extra cash while working on games would definitely be cool. I accepted. The day of my debut finally came and I was excited! My plan was simple: I would first meet the students, talk with them about their game, about evaluate how far they were into their current 3D modeling module. Unfortunately, the more I talked to the students, the more worried I started to get.

I quickly found out that their last teacher started the course well, until things changed about one month ago. After that, they were abandoned by him during classes.

To make things more complicated, the older students had already reached the end of the module while the younger ones were flopping aimlessly at the middle of the book, having a hard time using the 3D modeling tool. The gap between the two groups was simply colossal, and the school left a rookie (me) responsible for cleaning up the mess.

After class I felt really stressed out, and feeling like I had a giant weight on my shoulders. I spent the next couple of hours incredibly grumpy and desolated. Despite this, another teacher said that she peeked into my class and said I was doing great. My boss seemed to be pleased as well.

Honestly, I was scared. I kept thinking about how I would tackle this problem. I ended up deciding that we would all work at modeling a human male generic character – like the book originally proposes – but also complementing the source material with content from some Youtube tutorials to help keeping things fresh for the advanced students. 

The second day of class went… well, it was complicated. The kids talked among each other the whole time, and for each step that I explained on the projector I also to make the rounds at each inexperienced student’s PC and repeat it.  These pauses leaving the rest of the class with nothing to do, which resulted in the other kids either playing browser games, watching unrelated YouTube videos, or searching on Google Images for the “dankest memes”. Some of the Youtube content ended up being similar to another one of the course modules, which resulted in the adults becoming bored to death. One of them even asked me later if I thought if that course was “worth it”.

It was time to revisit this school’s general teaching plan.

This game design course is supposed to follow a pre-defined plan based in modules, each module having its own workbook. I saw how the modules were organised and I didn’t like what I saw at all, not a single bit of it. I’m undecided if it was just flat out bad, or because it all went against my views and experiences in effective game development.

The course was written so that a students could produce single game during the 2 years of the course. The course begins by planning the game’s story and setting, then covering the graphical tools, and then finally the game engine. This really rubbed me the wrong way, as it seems to be both boring to the students and a bad learning strategy. I believed that instead of a big project they should make lots of prototypes instead: small, disposable games that would get them constantly trying new things and learning to avoid getting too much attached to a single game idea.

The other issue was that the course was heavily focused in tools used for AAA development, like Autodesk, 3DS Max, and Unreal 4. I was expected to make 10 year old kids proficient with these tools while not going too slowly for the adults in the room. I told my boss that I felt it was very weird and asked her if there wasn’t a minimal age requirement for the course. She answered that the minimum age was 13, but the school wasn’t doing exactly great financially and they really needed those students. “Oh well.”

Teaching kids with an attention span even smaller than mine on how to use professional grade tools is showing to be a huge challenge on it’s own. I sincerely don’t blame them for having a hard time getting it. This stuff can get boring, there are a lot of commands and shortcut keys to remember, and the process isn’t very interactive. If I could, I would rather make these young fellows start by making simple, interactive game-y things to cheer them up. I mean, I felt so excited the first time I made a cube move in Unity!

After we came back from a 2-week holiday break, and I wanted to try and see if I could start bending things a little bit. I would make the lil’ guys learn how to make a very simple, very small game. Game Maker was chosen as the tool for this job, as I’ve always heard about how amazing it was as an entry level program. I asked school direction permission for this ‘bonus’ class, and it was greenlit!

I consider cloning a simple game a good starting exercise, as it narrows down the scope and avoid things getting too much complex. Games like Pong, Snake or Asteroids are great candidates, considering how much they LOVED trying to stealthily play Slither.io during my classes. I determined that we would make a local multiplayer deathmatch variation of Asteroids. I built a prototype in a few minutes, so this was totally doable for a class of kids in 3 hours! Right?

Except that it wasn’t.

The first half of the course went slower than I expected. After a chatty overview with the younger students, our progress came to a halt when it was time to write the code. While code I tried to teach in Game Maker was really simple compared to other AAA game development courses, they were seeing this code for the first time. It was too intimidating.

Second half of this class went smoother. One really dedicated student and was doing some custom pixel art, and then his computer suddenly crashed in a so impressive way that he lost progress. He got angry and bitter until the end of that class. Other kids were cheering when the player one ship finally got able to shoot bullets! After that, we ran out of time and couldn’t finish the game. Bummer.

Next week we would have to go back to teaching these kids 3DS Max classes, so this lesson would be left incomplete.

The next week I got a call from the direction, saying that the kids apparently loved my simplified Game Maker class, and suggested that I finish that lesson. So, next week I taught a way more calm and well-prepared class, and it felt great! The students seemed to enjoy the simple but functional small co-op game they made.

I may or may not have played a few rounds against them. Success!

While this experience was successful, next week I’ll have to go back to the old weekly grind of 3D modeling, and I’m not really sure of how things will work out. I feel so much pressure because I want to teach them well, because I love game development, and I hope to spark this passion in them. That said, this pressure I feel is internal, as my employers aren’t pressing me at all and actually being pretty chill with me! They seem to be very open with me eventually proposing more alternative stuff.

So who knows?  Maybe I can continue to bend things my way and kids (and adults) might actually learn some game development.