(Reposting this, since posterous is closing its gates)
Turns out - a lot!
Let me be clear: starting an indie game studio, developing your own game from scratch, shipping, selling, and actually making profit - never seemed like a small task. It always seemed like a monumental project. It did.
But only when I actually delved into it I started to realize how big of a task it actually is. The amount of work that needs to be done is just... amazing! This is not a one-man-project! 10-men should work on it! And even then, they'll be swamped!
You might think I'm exaggerating, but I'm not. The task really is THAT big. So, what do you do? How do you deal with that many items on your to-do list? How do you handle such a large project? We'll get to that...
But first - what do you actually have to do?
Well, the list is long. But it boils down to this:
- Game design.
- Art design.
- Coding.
- QA.
- Marketing.
- Publishing.
- Misc. (Trust me - there's a lot of misc)
And now - it more detail:
Game design
Game design is the first stage. That's probably the ONLY stage in the process that happens independently, before all other stages. In this stage you have to think what kind of game you want to create. Is it going to be an FPS? An RPG? An MMO? Other type of game that's not described in three-letter-acronym? (For those of you not in the gaming world - FPS = First Person Shooter, RPG = Role Playing Game, and MMO = Massive Multiplayer Online)
But that's not all. The game - YOUR game! - doesn't need to fit in those pre-established definitions. Your game can be something completely new. Or it can be a combination of a few genres - an FPS with RTS (Real-Time Strategy), for example.
Deciding what type of game you'll create is the most important step. Some consider it the easiest, since you only have to decide on one thing, and not actually do anything, but it's quite the opposite. The decisions you make here will set your path from that moment on. Make one decision - and you have one game. Make another - it's a completely different game! And a completely different development process.
So, choose well. Take the time to think things through. What kind of game do you want to make? Can you make that kind of game? What will it require? Is it just a copy of another game (that's not necessarily a bad thing - a lot of games are just clones of more successful ones)? What does it have to offer to other players around the world? Will it sell? Will it be fun?
A lot of question to answer, but once you think them through, and answer all of them - you know one thing (and just one thing): you know what kind of game you're going to make. And that's step one.
Art design
So, you know what type of game you'll create. That's great. Now it's time to decide on how it'll look. Many different games - all of the same genre - look and feel different. That look and feel are the responsibility of the art department. More precisely - the art designer. Again, this is a very important step, since games can rise and fall on their looks alone, and deciding how your game looks will effect the end result - how much will it sell.
Let's say you've chosen a first person shooter. That's a great choice, since those are always very popular. Well, here are two very famous FPSs: Doom 3 and Farcry 3. In Doom 3 you play a marine on a mars colony attacked by zombies and ghosts. The game is very dark and gritty. A lot of the time you're walking alone in the dark with only your flash light to light the way. And of course, you jump in your sit screaming when something awful jumps at you from a dark corner.
In Farcry 3, on the other hand, you play a teenager in a tropical island. The game takes place in broad daylight, and your enemies are mostly bandits (humans) around the island.
Both games are first person shooters, but they look and feel completely different, and it's up to you to decide how your game will look like. You have to choose color palettes for the game. You have to choose settings, styles, and so on. But that's not all. Doom 3 is scary because the story is scary (zombies and ghosts are scary, right?). Do you know your story yet?
Another part of the art design is the story part. You have to sit down and write your game's story. What is it going? Who's against who and why? How is it going to unfold in front of the player? How will the story progress as the game progress? How will that affect the gameplay?
Story telling is part of your art directing. Your story will set your tone. Your tone will be shown with the proper art design, colors and settings.
Coding
Coding - as I see it - is everything you need to do to get your game from concept and art, to an actual product - to something you can play.
Basically, every game is built of 2 important items: game engine, and levels.
Game engine is the thing that makes everything possible. The game engine handles your mouse and keyboard clicks, plays sounds when appropriate, renders everything you see on the screen, "thinks" for your opponents, and so on. Basically, it handles everything that goes on in the game. But, having an engine alone is not enough. You also need to give it something to do.
That's where levels come in. Levels are sections of code you insert into your game engine that tell it how to build your level for you.
For example, in the original Mario games, you had levels that were above ground, and levels beneath it. Each of those is a completely new level you need to design. When your player starts playing, you load one of those levels into your engine - and the player can play it. Once he's through it - you load another one into your engine, and the player can now play that one.
You only need to build one engine, but you can build as many levels as you want. The levels themselves actually depend on your story. They are there to help you tell it, and should only as long as the story does. Once your story is over - so should the game.
In order to make all that happen you have to write amazing amounts of code. Code that will make it all work. Code that will make thousands of little pieces of software work together perfectly. And it's not an easy task. You'll have to spend hours and hours on that. In fact - coding is the hardest (and longest) part of your game development. It will suck up all of your free time. And if you're not an experienced programmer when you start coding - it'll be a while before you can get anything real going.
Quick tip: don't write anything you don't need. Meaning: if someone else did it already, and it exists out there - use it. If it's free - no problem. If you need to buy it - consider it. The less code you have to write (and test, and debug) - the better for you.
QA
Stands for Quality Assurance. I always thought QA wasn't a real job. It's not really necessary to have a QA on staff. I mean, we - the programmers - check everything we do. If it's not right - it simply won't work, right? Right?
Wrong!
Dead wrong, actually. Like I said before, your game will be a piece of software made up of thousands little parts working together to create a great experience. How can you expect them all to work perfectly, right off the bat? Things are bound to fall apart. Things will not function. Things will not work as expected.
But here's the kicker: the programmers won't notice. The programmers are so busy testing their newest feature they rarely have time to look at the whole picture. Not only that, even within the confines of their own tiny feature - programmers miss a lot of bugs.
In the simplest of terms - it's the QAs job to catch those bugs before the client does. A buggy software is a bad thing. Critics won't like it. Customers will hate. And everyone will recommend on not buying it. It may be a great game - but if it's buggy, playing it will be frustrating.
Marketing
Marketing is probably the section that needs the least explaining. Everyone know what it is. Want an example of good marketing? It's simple. Do you know what "Coca-Cola" means? It's that black drink that comes in red cans, right?
The fact that almost everyone around the world knows what Coca-Cola is, means people at Coca-Cola are doing a great job, for years now.
You'll have to do the same. Probably not on the same scale, but still the same. I mean, it's great to develop the greatest game of all times, but it's kinda useless if no-one's aware of it. And if no-one's aware of it - no one will play it.
So you'll have to market it. And you'll have to do it early on. Right as you start working on it. Blog it (that's what we're doing here...). Talk about it. Let people know it's coming. Let them know how it's doing. Share.
If people will know about it, they'll spread the word. They'll wait for it. And eventually - they'll buy it. And that's what we all want.
Publishing
Just as Game Design was the first stage and had to occur before all other stages started - publishing is the last stage, and can only occur after all other stages ended.
But it's the last stage!
And if you've made it this far - congratz! You're ready to capitalize on your hard work. Finally!
Well... almost.
Publishing is just as important as any other stage along the way. And the way you publish will eventually decide how much money you earn. There are several different way to publish. You can publish independently - having customers pay you directly. You can publish through a service like Steam. You can publish through game portals. And so on.
Deciding where and how to publish is an important decision you should consider carefully when the time to publish arrives. But the good new are just around the corner: once you publish - all you have to do is sit back and enjoy your profits. Not!
More on that later.
Misc.
There's a lot of miscellaneous tasks to do that don't fall exactly into each category. There's legal work to be done (you'll need a lawyer for that). There's accounting. There's debugging. There's learning. There's a lot to do.
And the work doesn't end once you ship the game. It only starts there!
***
So, where do I stand? How much of that list did I actually do?
Not much, apparently.
I'm at the point where game design is over, and I'm starting coding and art-work (got my own graphic designer for that). It'll be a while before I get to publishing. But I'm guessing that's part of the fun, right?
And although the list may seem clear and obvious to those reading it for the first time - it's not. It took me a while to get here. A long while. There's a learning curve here - you're not born an indie developer. You'll have to become one. Even if you have experience in many of the fields required - you need to have them all. That means - either hire someone to do that job for you - or learn how to do it yourself.
If you can't draw - hire an artist, or draw yourself, taking into account the game will have crude graphics. The decision is not easy, since not everyone has the funds to pay someone else's salary, and some crude drawings may be too crude. We'll get to the money issues on another post, though...
On future posts I'll delve much deeper into each and every one of those issues. I'll explain what I've learned, and how I plan to implement it in my own game. Like I said - I got a lot to say.
Good night
-Shay
No comments:
Post a Comment