Indie game development
This is the first of a series of articles I'm writing on indie (klik) game development. The big games industry has their own set of techniques and theories on game development. I've tried them and trust me, they don't really work. Indie game development is different for a few reasons:
1. We don't have financial or moral constraints. We could just run off with a really wierd idea that would flop in the business part of the gaming world. Not being tied down gives us the advantage of flexibility.
2. We're not working full time on it. Things like time and talent aren't a problem in commercial game development. They are the main problem to indie game developers.
3. We don't have the advantage of "loyalty". Commercial game development assumes that if you hire someone, even a freelancer, they will be a part of the team till the end.

Starting from this article, I'll divide game development into 3 parts:
Design - This includes most of the planning, such as balance, project management, directing, etc. Design is quite theoretical, because you simply can't learn most design techniques from experience. But anything the least bit complex will require some of it to save time and make sure your game doesn't have any flaws. Good game design shows in gameplay and the length of time it takes to finish a (difficult) project.

Coding - This is where the technical aspects are made. Here, skill doesn't show. It's about making sure flaws aren't seen and doing stuff that's difficult without a lot of work. Good coding shows in 'advanced features' and the fact that there aren't many bugs.

Art - I'd group everything creative here, such as graphics, music, storyline, character development, etc. Don't be fooled. Art isn't only about graphics. Music plays an important part as Knytt Stories has shown the world. Here, skill and imagination shine. Good artwork shows. In ways that are hard to describe.


I'll go into a lot more details of indie game development in other articles in the future, technical and non-technical. However, let's start with the most important aspect of indie game development..


Creating games
Put aside all the theories and techniques and you're left doing only one thing: Finishing your game. You can draw thousands of concept art, hype and design games for years.. but if you don't actually create the game, there's no point to it!

Let's face it, the main problem all of us face is actually starting and finishing our games. Before we can go into more detail, the first thing you have to learn is how to actually create a game!


Laziness
Laziness is the most common excuse for not making a game. It could be other things (work, boredom, etc), but it tends to be rooted in laziness. Laziness in professional game design is not much of a problem, professionals are paid, and even when they're not, they're too bored when they're not doing anything else. For indie gamers, it's the main problem. The main trick to actually finishing a game is to overcome laziness.

Believe it or not, you are supposed to be lazy. The human body is a wonderful thing. It keeps you from being overworked and accidentally killing yourself or pushing yourself to damage. When you do overwork yourself, your body will strengthen the part which you overworked to prepare itself, (i.e. what doesn't kill you does make you stronger). However, when you're not overworking yourself, your body will keep setting its standards lower and lower.. which is a nasty thing.

The trick to beating laziness is in using it. Surfers and sailors don't fight waves, they maneuver around it. Mental or physical laziness work the same way as waves. You will have peaks of creativity and energy and there will be times when you're just too tired to do anything.

The surprisingly simple solution is to work when you're at your best. Normally, it's when you're the least tired - after a good night's sleep. Sleep early, sleep often. The brain processes things you've learned and fixes your body when you sleep. As soon as you wake up in the morning, try to work a few hours on your game until you're no longer in the mood.

This also applies to everything else, like work or studying. You'll get more done in the first 4 hours in the morning as you will doing it for the rest of the day. Entertainment - games, movies, internet, dating, etc... that's good for relaxation - at the end of the day when you're bored and tired. If you're feeling particularly geeky, you can use that time for boring work, like shading (graphics), entering data for coding/design, basic math calculations, etc. As a wise person once said, "God created the day for work and night for relaxation."

Try it, it'll work wonders. And you'll discover that you'll finish your game faster than you've ever did! Remember, working at the right moments, you can accomplish more in 4 hours, than you will doing anything for the whole day. It's not necessarily the morning hours either, some people are best at other times of the day.


Fatigue
On the other side of the scale is fatigue. Burning out is a very common problem in the professional game industry. This is because after being too excited on your game, or on a strict time limit, most people end up working from 9 AM to 1 AM (the next day). Do that for a week and you'll be brain dead for two weeks.

I've been through it myself making a competition game. It kills all creativity, which is bad when you're making AI or imagining your drawings.

Do what people have been doing for decades - work only 9-5. This applies to both game making and whatever you do in life. If you do work 9-5 already, then make games 9-5 on weekends (or a less if you prefer).

There is also the case of the brain suddenly 'clicking in' late at night. Be wary of that. It's a huge source of fatigue, unless you sleep a lot in the day.

Remember, working 5 hours overtime gives you only 1 hour worth of "work" and you'll spend the rest of that time daydreaming, 'thinking', etc.


Scheduling
Schedules are a good way to get things done. They give you a goal and a sense of accomplishment when you reach them. Some people perform better on a time limit than others. You could try it if you like.

Whether or not you want to use them, I have one thing to mention: Do not keep to a strict schedule! It will cause fatigue and frustration and you'll end up scrapping or cutting down on what you've planned.

Rather, keep a loose schedule. For example, tell yourself that you'll finish studying 3 chapters of History by Friday and finish your game engine by this Saturday. Somehow, you ended up playing Dwarf Fortress (or Team Fortress) till Friday night. Oh, crud!

The natural instinct is to study all 3 chapters on Saturday and finish the engine on Sunday no matter what it takes. Or give up on both.

Fight that instinct and reschedule! Just do what you can of your History studies and once you're done with that, reschedule the engine to be done another time. And make sure you only play Dwarf/Team Fortress after 5 PM.


Design and Planning
Ah, design. It's a misunderstood concept, even by those who spend years mastering it. Masters will claim that game design is worthless and other designers will point out good, heavily designed games. Game design is like philosophy - without conclusion, just opinions.

Game design is a heavy subject, so I'll be writing a lot on it in the next few months. The point I'm going to make here is that you shouldn't let design stop you from making a game. One mistake some newbies make is to overplan.

Game design doesn't work if you don't have experience! I cannot stress that more. I have planned some games for years, only to realize that the game plans don't convert to reality somewhere in the making. The best way to know what you have to plan is to overlook a few aspects of your game. It's like mathematics or language, you can't learn it from books, you have to do it. But you'll need a book to learn how to do it. Heck, the best game designers read hundreds of books.

I don't dismiss it, though. I can write a whole book on game design. But most of you indie game makers won't need design, especially for platformers and bat and ball games.


Multiple workloads
Many times you'll find yourself being the artist, programmer, and game designer. Be warned that all these things use different skills. Game design requires you to step back and see the big picture. Programming requires stepping in and building it according to the plans the game designer lays out. Art requires you to imagine a picture and draw it.

These things don't mix! You can't step back to look then move in and build it. It makes you very confused, tired, and frustrated. You should do all of these on separate days (not hours, days). Give yourself some sleep to wipe your mind clean before switching tasks.


The end result
Finally, this is where you want to go. Find your destination. What are you looking for?

Fame and fortune
I find it amusing how when I tell people that I make games, people tell me, "Oh, you can make a lot of money from that!" It's a common misperception, especially to newcomers. It's more difficult to make money from making games than from writing books. It's not an impossible goal. Many people do make shareware games for a living. But it's a long, rough, pirate-infested road.

Fame and fortune should not be a goal. It's a side effect. If you make a great game, you'll get it. If you make it your main goal, you'll be frustrated and jealous of your fellow klikers.

Practice
This should be your first target. Make a game as good as you think you can make it. Make it for fun, sure, but it should be challenging enough to keep you from getting bored making it. Keep yourself a little challenged - make a tougher engine, make a cooler level, make some nicer sprites. After a few years of starting from poor games to good ones, you'll be a great game maker, good enough to go pro.

Don't be discouraged if you don't get many good comments or ratings. See it as a true mark of your performance. There are plenty of people who like your game but don't comment (after all, when was the last time you downloaded something from another site and commented?). If you get a positive comment, then you did something nice. If you get lots of good comments, even a discussion, then you've created something you should be proud of.

Make games for practice and you'll find indie game development to be a very satisfying hobby

Supergames
As a wise person once said, "You can have a happy life or you can have a meaningful life." There are some of you, who like me, have unbounded ambition and will plan a Supergame before even learning to code. It's a crazy project that will suck your life and spirit. Ask anyone who's ever made one. Are you sure you want to make it?

Now, I've had my share of Supergames. I've planned one Supergame for 5 years and it's in its 4th version. I've had another two which were scrapped after I finally accepted the fact that they're not as good as I thought. Building a Supergame is like building a tall building, you will draw a nice sketch of things it could have, but have no idea where to begin building it.

My advice is to simply keep it at the back. Write up a design doc for it, as much as you can, but do not get into small details because you'll change them later. Practice. Make lots and lots of practice games. As you do, your Supergame will begin to have form. One day, when you are ready, it will be there.

Remember than a Supergame is a work of art. If you make one for the purpose of fame and fortune, there's a good chance you'll miss the point and so will everyone else.


I'm sure there are other reasons to make games, it's all up to you