One of my favorite quotes derives from the actor Christopher Walken, in which he gives this nugget of advice:
“If you want to learn how to build a house, build a house. Don’t ask anybody, just build a house.”
In other words: if you want to do something, stop planning and start doing. As the old saying goes, “life is what happens when you’re making plans,” so if you want to learn how to develop a game? Just start!
During my interviews with indie developers on Game Academy Radio, I have found that nearly every indie developer didn’t start developing games after they learned how to do everything. Instead, they learned enough to get started, and from there? The learning process began.
Learn enough to get started
Going back to Christopher Walken’s quote for a moment, even his quote suggests that you need to know at least a little something about building a house before you begin to build a house. For example, you need to know how to hold a hammer and nails, how the hammer operates, the basic principles of a house (e.g. foundation, floor, walls, roof), etc.
The same holds true about indie development. It is crucial that you have a general idea regarding the scope of your first project. If you want to learn to be an awesome indie developer, you need to start small. For example, a generic clone of Asteroids would be a great game to mimic and learn the basics of video game development.
You know what makes a game fun, right? Then you already have the basics you need to learn how to develop awesome games that people will want to play!
So what happens whenever you develop your first, very basic game?
You will begin to gradually learn how to implement new ideas
Returning to the Asteroids clone for a moment, after you have a rough prototype of the game that includes the basics of Asteroids (i.e. player-controlled ship flies through space, shooting asteroids that break off into smaller rocks), you will begin to notice new ideas you can incorporate into the game. For example, what if you decide to include a few enemy spaceships on every level that are trying to shoot and destroy your ship? Then you will find that you have actually created a new dynamic for your game! Instead of your Asteroids clone being solely about destroying giant rocks in an aim to survive, the game quickly becomes about hunting and evading enemy spaceships while dodging and destroying asteroids simultaneously. It adds an entirely new dimension to the game, and you will be tasked with implementing this idea into the game.
How can you do it? Well beginning indie developer – that’s up to you to figure out for yourself! Figure this problem out for yourself, and you will have learned a new skill that you couldn’t have learned merely reading tutorials and how-to guides! You will have learned the basics of programming an enemy AI, teaching you even more about how to develop games.
Revise, revise, revise
From there, you will find new ways to revise and improve your Asteroids clone. For example, what if you want to include realistic physics in the game that will make the asteroids splinter off appropriately after you shoot them? Then you need to figure out how to do this, and once you do? You’ve learned another skill you can utilize in the future!
Want to include flashy, neon-colored graphics? Then you need to figure out how to do this. Want to learn how to properly use music so that a unique noise will be played every time you shoot an asteroid/enemy? Again, you need to figure out how to do this on your own. The lessons you learn when developing a game for learning will stay with you forever, so to put a spin on Christopher Walken’s quote:
“If you want to learn how to be an indie developer, develop a game. Don’t wait for anyone to tell you how to do it, just do it!”