Before any developer starts investing a ton of time into making a game, they ask themselves two basic questions:
- What kind of game do I want to make?
- How can I make it fun?
Step 1: "Oooo... hey FRIEND_DEVELOPER it would be cool to have a game that lets the player do AMAZINGTHING. If could be inspired by and be similar to GAME A and GAME B. "
Step 2: "Let's prototype the basic mechanics of the game in a day or two and see if it's fun"
Step 3: "This wasn't fun... let's add the prototype to our collection of prototypes on the dusty shelf and come back to it later"
Looking at the end result, it seems commonplace that game developers make tons of prototypes that never make it past a week of development. I think there are a few pitfalls with this approach, that I would summarize as "The risk of throwing game ideas at the wall to see what sticks". There seems to be a huge temptation to generate lots of little ideas and immediately try to prototype them, without much thought or discussion on whether the ideas truly have merit and are worth the time. In other words, there is a large risk of "spinning" in a state of creating prototypes, wasting valuable time. A developer should try hard to ensure that any idea is a good one, before going to make a prototype.
PRIORITIZE THE BEST GAME IDEA
It seems clear to me that a developer should spend a great deal of time developing the ideas, before any coding takes place. The end goal? I feel a developer should try to prioritize the best idea they can come up with.
As a small example, a few years back I had several ideas for projects I wanted to work on at my place of employment. I was quite young, and I was trying to choose my first independent project. The projects looked like the following:
- A small extension to existing project I was currently doing, with minimal risk. Offered a 10% improvement to the larger project my group was working on.
- An idea related to work I was currently doing, with minimal risk. Offered a 10% improvement to the larger project my group was working on.
- A brand new and exciting idea that had a ton of potential but completely unrelated to my current work, with significant risk. Offered potentially a 200% improvement to the larger project my group was working on.
"Why don't you want to work the exciting idea?". It seemed clear to my boss that the other ideas weren't interesting, when directly compared to #3. I ended up choosing #3, and mitigated risk by continuously evaluating whether I could reach that goal of 200%. In the end, the project worked out, and I was able to get roughly a 80% improvement. Below the 200% percent I had hoped for, but well above the 10% of the other ideas.
This situation was a life lesson that taught me: Prioritize the best idea you can come up with, and rigorously re-evaluate to mitigate risk. It takes a lot of time and effort to come up a great idea. Not an hour, not a day, but weeks and months. A good idea should make you scared to reveal it to anyone. Why? Because you're paranoid someone might steal it.
PROTOTYPING A BIG GAME IDEA
So that's the challenge: Can I (as a developer) come up with an amazing idea? Looking at some of the games that I find amazing, the vision for the games is so grand that it is difficult to prototype in a few weeks, let alone a few days. For example: How can you prototype any Zelda game? What makes and RPG fun is the immersion, the dungeons, the imaginative landscapes and characters. Prototyping mechanics is not going to let a developer know if the game is fun or not. For example, the original Final Fantasy has great game mechanics for a turn-based RPG (Feel free to debate). But, despite all the rage for 8-bit looking indie games, many players today would not find it fun as it is missing crucial elements (story, characters, immersion, etc from above).
So how can one prototype a big game idea? Start with developing all the high level ideas. Some examples:
- What is the game world like? (i.e. Is it a realistic setting, or a setting with supernatural elements?)
- Who are the main characters? What are they like?
- What is the rough outline of the story?
- What emotions should the player feel (fear, happiness, sadness, etc)
- What actions in the game should cause these emotions?
- What is the purpose of NPCs and other computer characters?
- What are the innovative and cool ideas that make this game different?
When all these questions are answered and written down, a developer can manipulate and plan accordingly to mitigate risk. Or of course, if game seems to not be feasible, for time or resources or otherwise, the game can be pared down or (heaven forbid) scrapped. The most important part is that coding effort is not wasted if there is no initial perceived benefit.
Well, these are my thoughts on developing game ideas. Comments are always appreciated!