The growing gaming industry offers a multitude of opportunities for developers. Grossing $100 billion in revenue worldwide today, by 2020 that figure is expected to reach $120 billion and with emerging technologies like virtual reality, the gaming industry is hotter than ever, and in need of more developers. The first steps for those looking to dive into this exploding field can be daunting. With learning to code online, several different programming languages, new terminology, mathematics, and software to learn, how do you know where to begin and which learning platform to use?
Online tutorials like those on YouTube are valuable resources, but they will only take a new developer so far. I picked up some good tips on YouTube but still struggled to grasp essential concepts. I wanted to internalize what I learned along the way and figure things out for myself, not just be spoon-fed the answers. So, I started making my own videos that include interactive challenges that helps others learn to think like a game developer.
Eight years and a few thousand views later, I’ve taught thousands of students the basics of game development. As an instructor on Udemy, I’ve come to realize that everyone learns in their own way, but if you’re looking to learn to code efficiently and successfully, you should look for a program that offers the following three things:
1. Interactive Exercises
All seasoned coders know that the best way to be a great coder is by doing—the more you practice, the better you become. So when video tutorials offer lessons with spoon-fed answers, it doesn’t actually help you learn the skills necessary to work independently.
Instead, aspiring coders should look for lessons that let them practice their skills along the way, with feedback after they complete a challenge. This grants students the ability to address issues they will face once they’re on their own, while allowing them to problem solve the solution with access to expert support, if needed. This helps coders understand the logic and concepts behind these solutions, as well as the “why” behind their code. When a student understands why they’re writing code, they’ll be able to apply what they’ve learned to future scenarios.
2. Supportive Community
There are countless benefits to working in a group, but one of the biggest for developers is the ability to collaborate and learn from peers. Working with developers who are going through the same learning process allows you to ask more questions and share tips and tricks, which ultimately makes the whole experience easier (and more fun) for everyone involved.
Sharing the learning experience also opens the door to making new connections and meeting people with similar interests. You could meet a mentor, future colleague, or business partner—the opportunities are endless.
3. A Real Game as the End Game
As I mentioned earlier, coders learn by doing. As an aspiring developer, it can be difficult to demonstrate your skills to a prospective employer before you have work to showcase your knowledge. That’s why I recommend novice developers look for courses that culminate in a tangible piece of work that demonstrates your understanding of the entire game development process.
If you plan to invest in learning, especially learning to code, take the time to make a list of non-negotiables you hope to get from your coursework. This will help you determine what type of course is the best for your learning style and ensure you’re getting the most out of your experience.
Jonathan Weinberger is a self-taught software engineer with more than eight years of experience and the author of Learn Unity Programming with C#. He has developed several Unity games for the likes of Cartoon Network and Adult Swim, as well as enterprise AR applications for companies like GE, Coca-Cola, and ThyssenKrupp. Find him on Twitter: @GameDevJon.
Founded in Belgium by four experienced AAA talents in 2008, Fishing Cactus is a very prolific studio, with as much diversity of released titles as the people who form the team. Over the years, the team has performed work-for-hire for several top-tier publishers on famous titles such as Shifting World, After Burner Climax, Creatures Online and Woof the Dog, in a wide variety of digital and mobile platforms. Sophie Schiaratura, PR Manager at Fishing Cactus, shares the story of Fishing Cactus’ first original IP, Algo-Bot.
Self-publishing a game is risky. But after performing work-for-hire for a number of publishers, we decided we were ready. Now the time had come for us to release titles which are Fishing Cactus-branded. To self-publish successfully, you have to find a game that is unique, a game that people will love, and above all, a game in which you truly believe. We found it. We named it Algo-Bot.
Press Command to Start
Grab your beer, your cup of coffee, or whatever…The tale begins here.
A year ago, we met some lovely people from a training center. They had this training course in programming and were looking for a game to help their participants learn programming more efficiently. They didn’t have a ton of money but the idea of making a game about coding was enticing.
There is no need to tell you how coding is important in video games development, and at Fishing Cactus, we really do love making games. After hours of reflection, we called those guys back. Challenge accepted!
There is no need to tell you how coding is important in video games development, and at Fishing Cactus, we really do love making games.
Then we thought about it. How are we going to do teach programming without being dull and boring? That was our first challenge, and also the beginning of the A team. As part of this team, Laurent Grumiaux and Guillaume Bouckaert thought about the game’s concept, and we can truly tell you that this game was mind-tingling before even being a real game.
The first good idea that came out from this collaboration was to invite programmers to join the team, which allowed them to act early in the development process. It turned out that many of them used to play Logo and Robot Rally as kids.That point helped to redefine the concept.
Step 1: Redefine the Concept
Making a game about programming is not that easy, and we didn’t want to create another “OkILearnedSomethingAndSoWhat?” game. Then we were reminded of a famous quote from Steve Jobs: “I think everyone should learn how to program a computer, because it teaches you how to think.” The solution was so obvious that no one even noticed it until then: we wouldn’t create a game that teaches you to code, but a game that teaches you how to improve the way you think.
But how were we going to do that? With logic, of course! Nowadays, coding is one of the more desirable skills there is, and coding is nothing without logic. With this in mind, we set out to create a game that would help people grasp the essential skills of logic that the programming craft requires. Good! We have got a nice concept. The question now is how will we manage to do that?
The first idea was to create a character that has a job to perform in a futuristic power plant full of leaking toxic containers, industrial crates, and stubborn little robots. By carrying around those toxic containers, sorting them out and re-arranging them, the player will need to be smart and use programming basics such as functions, variables, the set theory, conditions, and loops.
The player won’t control the character directly. He won’t make him jump on mushrooms by pressing a single button either. Instead, he sets up a sequence of orders for him: go straight, turn left, go straight again, turn right, etc. When the player is done creating his little sequence, he passes it on to the character, who will follow the given orders to move around the power plants. In a nutshell, the player manipulates sequential commands to order the character around in an attempt to reach the given goal of the level.
Step 2: Select Your team
The programmers would tell you that they are all you need to create a game, but they are wrong. We needed a complete world.
We had a concept and a gameplay. All we needed was love, time, and money. We had to make this concept into a game. Joined by Jef Stuyck, Silouane Jeanneteau, and Christophe Clementi, our team 1.1 was now made up of a project manager, a game designer and three programmers. The programmers would tell you that they are all you need to create a game, but they are wrong. We needed a complete world. More than anything, we needed a hero. Then, we needed artists.
In game development, that is the moment when everything turns into chaos. Not because artists join the development, but because now you have a complete functional team with motivated people full of ideas. In that moment, nobody is a programmer, an artist, or a game designer, but everyone is the guy with an idea. And because it’s a game about coding, guess who think he knows best? Well, it’s like bombarding atoms with neutrons. It’s up to the project manager to make good use of this energy.
Step 3: Create a World
Even if you want to, you definitely can’t sell a game about coding staring a unicorn in a cotton candy world. Obviously, the robot was the perfect hero for our game. Inspired by Wall-E, Antoine Petit, our 2D artist, mixed futuristic shapes and retro styling into a robot with a real personality. Since there was no reason for Algo-Bot to be a 2D game, Cédric Stourme started to 3D model the robot and its world.
Speaking about the world, we imagined it as a huge power plant with a level of toxicity so high that humans can’t enter without dying instantly. The first mockups of this power plant were way too bright. You really don’t need that much light in a place where humans can’t stay. We had to stay realistic. Oh yeah, I hear you from here: “Realistic? With a robot in a futuristic toxic power plant, huh?” But yes, we had to stay as realistic as we could be within that setting. We now have a version of the power plant close to our idea: darker and more appropriate to the gameplay.
Step 4: Make a Game
“Make a game” sounds simple enough. Everyone can make a game, but we wanted to make a good game, and making a good game requires a lot of self-investment.
First of all, a game needs time and includes hours of research and development. Focusing on this uncommon gameplay and writing this clean code that would bring the game to life became our daily routine. The deadline was approaching, and Algo-Bot seemed like nothing more than a seed, no matter how much time and love we gave it.
Game development is a sports team for geeks.
In most developments, being too self-invested in your project happens to be a huge thorn in the team’s foot. There is that moment you are truly living for your game, rejecting other ideas because you think that you are the only person who knows where this project is going. When you waste hours modifying the concept, trying to do the work of others…let me tell you this: you’ve never been so blind! So have a Kit-Kat and stop trying to be the man of the situation. Game development is a sports team for geeks. That’s the lesson we learned from this development. If Algo-Bot was made to teach others programming, it taught us how to communicate within our team.
And then we experienced the moment when you believe the game you dreamt of will never be developed for the simple reason that the client is out of money. Sure, the client can perfectly use this version. It’s playable, the learning process is quite effective, and the graphics are not so bad. But for you, it would never be more than an alpha version of your dream. So, like any good parent, you open your wallet until you run out of money yourself and then you cry… AND you launch it on Kickstarter.
Step 5: Make it a New Adventure
Have you heard of Kickstarter? Of course you have! It is a simple word that represents dreams, hope, support, and salvation. For indie developers, it offers the opportunity to bring an idea to reality.
What can indies do on Kickstarter today, when more and more well-known companies are giving it a try? Everything! We can do everything, because the true difference between million-dollar companies and us is our reason for being there. They go on Kickstarter to have more money. We go on Kickstarter to find people to share our dream with, people that would love to be part of this great adventure.
Algo-Bot will be on Kickstarter. It is up to you to join us.