You’ve been there, I’ve been there, we all have been there. You have this great idea for a game, you say to yourself “I have the best concept for a game ever!”, and you keep telling yourself that it shouldn’t be so difficult to code it up and put together, that you only need a few free afternoons to make it happen.
And yet you actually never make it. What happened here?, weren’t you motivated enough?. No, that’s not it, you were absolutely thrilled by the idea of becoming a game developer, of going to the other side, where the cool kids hang out. The side where people don’t play games anymore but instead go bananas and actually make them by themselves.
The thing is, it really takes a long way taking an idea, concept, or drawing to the point where you can call that thing a “game”. You probably filled a few pages with awesome character designs, amazing levels and mechanics, but they probably stay within the limits of that sheet of paper forever.
Unless, that is, you get your *#%@ together and start taking the right path in order to make your goals a reality.
So, for the sake of it (and my very own as well) I’m going to recap a few tips I’ve learnt until now on how to get your workflow, well, flowing.
I’m no pro. I’m nowhere close to being able to call myself a game developer, but I’m absolutely sure that this info will be helpful to others, as it’s been for me.
Very game. So art. Much Developer. NOPE.
Start small
It sounds simple and obvious, I know, but bear with me for a second. Most people are aware that their first game is not going to be an incredible MMO with hunderds of NPCs, quests and support for thousands of simultaneous players, and it is not even going to be a very long game either. Probably you set on the idea of making a simple platformer with, let’s say, 20 levels?. Yeah, that sounds more manageable and achievable for a newbie like us, right?
WRONG. That’s way too complex. Not because the idea or the concepts behind it are difficult or take much time to develop, but you are forgetting that you are new to this. In order to get things moving you need to learn some skills, you need to get comfortable with the way games are structured and how they operate. And since it is your first game you will also need to decide what platform/engine you are going to develop for.
And it is because of all these that you need to start making the simplest of the simplest idea you can think of.
Because you won’t be just developing your game, you will be learning all these subjects at the same time, and it will be a huge load of work if you plan on doing both things at the same time. That’s why you must choose a
simple concept. Something you can code in a few hours and that you can mess with trying new things, failing and solving problems that may arise and that you didn’t even consider that might pop up for a game this “small”.
A 2D side-scrolling shooter where you fly a spaceship shooting infinite randomized enemies that fly left to right until you run out of lives?, GREAT.
A game where you have to jump in order to avoid some obstacles that are coming at you? NICE INDEED.
Choosing the platform
Don’t spend too much time on the technical side of things. It is your first game, almost any platform/engine will do what you are aiming for with absolutely no effort.
You can take the javascript route, which has proven very easy to get along with if you are familiar with web development. There are tons of great canvas-based engines out there and most of them are really good, and also, free (for me, I’m using enchant.js at the moment).
If you take the java path I would recommend libgdx. It’s more like a framework instead of an engine, sou you have to work your way out of some things you wouldn’t have to in other engines but its performance is rock solid and works on almost every platform you can think of, without having to write any extra code.
On the other hand if you a are an “Applehead” you can always take a look at the recently released SpriteKit which is actually a bit easier for the newbies and resembles the way Cocos2D works.
And please, if you are thinking on developing your own game engine right from scratch you should reconsider what you are here for. Lots of people do that and they usually end up with a crappy engine that “somewhat” works and an even crappier game that doesn’t do anything special or different that couldn’t be achieved with an existing engine (and with better performance).
The most important thing here is to start working as fast as you can on your game. You don’t have to set up on a engine for the rest of your life, you are not marrying it. You are going to develop a game for it. If once your concept is finished, up and running you realize the engine wasn’t any good you can always take another path, but at least you’ll have something finished and that you can show to people (woot!).
And this takes us to the next tip, which is in fact one of the most obvious things you will hear today but it is as well one of the most important:
FINISHING THE DAMN THING
Yep. It’s that simple.
You are going to face a time where you may have something that kind of works and it is playable, but you can’t say it is finished yet. You may fool yourself thinking that it’s “mostly done”, and that you will give it the finishing touches one of these days.
Truth is, there are thousands of games in that state stored in the hard drives of countless lazy-ass game developers around the world. And they never got finished nor saw the light of day. Not ever.
Those “finishing touches” actually take a good part of development time. You may find that your concept kind of works but still needs something. That’s why you got to tweak the hell out of that thing. Play it, feel it, change something and then repeat the cycle until you are satisfied. You may even come up with even better ideas along this process.
Also, you probably took some placeholder graphics in order to get moving fast, but it won’t be a game until your art is done and in place. Don’t underestimate the amount of time silly things like title screens, score counters, HUDs, messages, and so on will take to get right. Bad news are, your game won’t be able to be called that until you have all of them in place.
On the other hand, if you are able to get past all these stages you will get one of the most awesome feelings there are in the world, and that is the feeling of having started something you wanted to do and actually have been able to finish it. It may be better or worse, you may like how it looks or not, but the thing is that it is done and you can play it. People can play it. You can share it with everybody and they will call it a game.
That’s priceless.
And that’s it for today. We will be having a round 2 with more tips for the newborn game developer, so stay tuned!
P.S- As a bonus track, here’s a little mini game. Can you find our “beloved” boss inside this maze?
(Use the arrow keys to move around)
(NOTE: click on the gray area around the game if the controls are not responding!)