Showing posts with label inspiration. Show all posts
Showing posts with label inspiration. Show all posts

The power of limits - How Restrictions can lead to Game Innovations

Posted On // Leave a Comment
Perhaps one of the most prevalent views in game development, especially among newbies, is that our current technological state limits our capability in creating expressive video games. The general idea is that we simply need more innovation to reach what games are (and should) be aspiring for.

This is also perhaps one of the most inaccurate things I have ever read.

The Paradox of Choice

You've probably heard of the phrase "More is Less, and Less is More".

Let's start out with a concrete example. If you're a programmer, and I told you to program in either C++ or Java, it would probably be easy for you to pick what language to use, considering that you know both of them.

But if I told you it's a free-for-all, and you can choose to program your game in C, C++, Java, C#, F#, Fortran, Objective-C, Ocaml, Javascript, Actionscript, Python, etc. etc., and considering that you also know all of them, I'd figure you'd have a much tougher choice ahead of you.

Inventing a Genre

Metal Gear is an incredibly popular franchise. If you're not familiar with it, you're not a real gamer it's a game where you stealthily maneuver against numerous, and generally more well equipped soldiers.

Kept you waiting, huh?
But did you know that the game managed to popularize an entire genre specifically because of hardware limitations?

The game was originally planned as an average action title, but the developers didn't have the luxury of incredibly powerful computers back then. The processing power of machines were so weak that they couldn't get any more than a few enemies on screen until the game flashed epileptically. 

This is when Kojima-san realized that the game, in its current state, simply won't sell - an action game with 2 enemies and 6 bullets is going to be incredibly boring to say the least. So did he just give up on the game entirely, opting to wait for technological innovations until the game can be made?

Nope. He considered the limitations, and decided to make the game work with it. If the game couldn't have a lot of enemies, then maybe he can design a game where the goal was to avoid enemies?


After that, as they say, the rest is history: the franchise has sold 30 million copies at the time that this article is written, and Metal Gear Solid is one of the most amazing games in my book.

Hiding Limits

What I'm trying to say here is that you don't need

Another game where hardware limitations worked for the game instead of against it was Silent Hill. 


Silent Hill is a horror title, and the game has you play Harry Mason, an everyman, searching for his adopted daughter in the eponymous town. 


Ooh, Spooky!
Now what was particularly unique in this game was that the player traverses through real-time 3d environments. For such early titles, fully 3d environments were quite heavy. If you look at Resident Evil, Silent Hill's primary rival, you'll see that instead of opting for real time 3d, it used fake 'baked' pre-rendered environments.



In Silent Hill however, the developers got more creative and instead opted to use Fog and Darkness to lower the visibility, limiting the polygons seen by the player. This not only helped mask the hardware limitations while still keeping a real time 3d environment for the player to explore, it also worked incredibly well for the game, creating a more 'scary' and 'gloomy' environment.

The lesson?

We can make do with what we have. Any excuse against current technological limitations, is just that - an excuse. Recounting game-changing technological innovations in the 21st century, only a few games actually uniquely utilized them: Alone, L.A. Noire, and various Wii games. On the other hand, great games that was considered innovative (along with lucrative sales), could have been done so even in more limited technological environments, such as Limbo, Braid, Journey and of course, Minecraft.


Gameplay trumps Graphics
Remember, better books weren't made because of better words, so better games won't be made just because of better tools.
[Read more]

Why your Games are Unfinished, and What To Do About It

Posted On // Leave a Comment
So, you've got a new game idea, and it's going to change what everyone knows about the genre! Great!

After making a Game Design Document, you proceed to make some art, or maybe a prototype. You even got that fancy gimp program, or started using a new 'multi-platform' library.

Time went on and you hit a wall. Maybe it's that annoying bug in the second level. Your plan's aren't panning that well. It's just too much work.

You start making excuses. The game idea wasn't that great. It might actually be a bit boring. The art looks crappy.

You abandon the project. There are better ideas you say.

If the above sounds like you, then the bad news is with the way things are going, you might not release any games at all and just lock them inside your head!

The good news is, you're not alone. Almost every game developer lose interest in projects they are working on.


Coming from my personal experience, and interviewing a few other successful game developers, I've compiled a list of things to do when you find yourself killing off your own games.

1. Stop Editing

When writing, authors typically have one rule when making their first draft, and that is to kill the 'infernal internal editor'. "Don't edit, just write!"

This actually carries over to a lot of other creative industries, including game development. When developing a game, always make it so it just barely passes, and move on. The more you work on other parts of the project, the more motivated you will be. Don't try to perfect your game on the first run, remember, you can always edit it later on.

2. Make A Deadline

This goes hand in hand with Number one. Enforce a time constraint, do your best to stick to it, and you'll find  yourself working on the essential game aspects.

There are lots of events with this in mind, such as OGAM (One Game A Month), and Ludum Dare.

3. Go For Small Games - if you're just starting

When you're just starting, start small. Making a fun solid game/minigame is a HUGE leap for a game developer, and having at least one released game already puts you ahead many of your contemporaries.

 "But that super awesome MMORPG with that unique mechanic is going to be huge" you say. That sort of enthusiasm will go a long way, but if you haven't even been able to create one small game, do you really have what it takes to commit yourself to such a big project?

If you're game idea simply and absolutely cannot wait, then try creating what's called a 'Vertical Slice'. Instead of creating your entire game, why not try creating one scene, one battle, or one encounter? This nets a plus on all components, because you can instantly:
  • Test out your idea
  • See if it's actually fun
  • And actually have something to show for your effort

4. Make it a Habit

Whether you're someone who makes games as a hobby, or someone who really wants to get into the industry, then make it a habit. Do one part of your game, everyday. It doesn't matter how much you can do in a day, the important part is that you work on the game.

You can even get yourself a to do list. Ticking something as done gets a nice feeling to your stomach!

5. Don't worry about the technology

Your salivating over that new libgdx library that can compile to every platform known to mankind. You want to use Haxe because it's fast, multiplatform, and l33t. Microsoft killed XNA, and you avoid it like a plague.

The thing is, Don't Care! Remember, you're making a game, and it doesn't matter what language you use.

If you're game is boring, no one will play it, even if you used the newest, shiniest language to have ever existed.

The next tip is also an inherent flaw of game programmers, but can be applied to game developing in general.

6. Keep It Simple Stupid!

If you're a programmer, just code, don't edit (slightly bringing us back to tip #1). 

Design Patterns? Throw 'em away. Component Based Systems? So last year. Event Listener's inefficient? Leave them be.

Keep it Simple Stupid (KiSS) is an actual programming methodology. It's what it says on the tin, just keep your code simple. Don't get fancy with design patterns, component based systems, or making your loop run in the most efficient way possible. Pre-Optimization is the root of all evil.

Take pride in doing what you did, even if it was bad code. You might have a game with bad code, but at least you're not the other guy who has no game but good code.

7. Public Beta Tests

When loosing motivation, try being public! Share what you have so far, be it a doodle, a screenshot, or maybe even a demo. Get a friend to play your game, and with the internet, you can't have excuses for not finding anyone.

The feedback you'll get for your game is priceless, outlining what's fun and what's not, and it may even be the push you need to make it big.

8. Flow

If there was ever a point in your life where you've done something that you didn't even realize time passing, then you've undergone flow (which is what hypnosis puts you in). When you're in this state, you're so focused on what you're doing that you won't even notice a plane crashing next door (okay, maybe that was an over statement).

The point is, we can be totally immersed in one activity, and this is what you want to happen when developing your game. Close out your browser, and focus, have fun, and don't think of any thing else. Throw out coding practices, optimizations, and don't perfect stuff. Just do it.

9. It's Dead Jim

Maybe the game really didn't pan out as you've hoped to be. The gameplay was really flawed and it's not fun.

Sometimes, we need to quit when it's simply not working. (Seth Godin tackles it in his book, The Dip: A Little Book That Teaches You When to Quit (and When to Stick))

Remember, there is nothing wrong with making a game and just leaving it at that. You've gained experience, and that's always a plus. But don't just leave your game in the back of your hard drive, going back to tip #7, be Public! Share it on forums, saying it was a game you did in your free time that was left unfinished.

What do you know, maybe someone even gives you valuable feedback that turns out to be all that you needed...
[Read more]