As a programmer by trade, I rarely want to write code when I get home... but even 10-12 hours of coding won't stop me from hooking up my USB controller, firing up a keyboard mapper script I wrote, and going to Virtual NES.com. Sure I've been playing these games since I was five, but they're still that fun! I kicked... uh, played well... back in the day, and I still rock those games now (and have a great time doin' it)!
Now you might be wondering, what's up with that? It can't just be that weird Miguel guy, because sites like Virtual NES are everywhere. Why do they buy - or even make - a custom USB controller for old NES games? Why would anyone spend so much time programming them, right down to the last detail, to be exactly like the originals? The graphics and sound from back then was so cheesy compared to now. I mean okay, sure, for games like Super Mario Bros. and the Legend of Zelda, the nostalgia-factor is pretty intense. But Kung-Fu? RC Pro-Am? 10-Yard Fight? Who even remembers those (other than me, lol)? And why do people still create (and get hooked to) games with similar quality? I mean, today we have 3D (even 3D audio); we've got super-realistic sports games, amazing adventure games, etc. and they keep getting better. So what's up with that?
Obviously, it's more than just nostalgia. And although I'm far from an expert, I think I know what the secrets are, and I want to share them with you.
You know what got me interested in making my own games? PS2; But not in the way you think. To me, those games were insanely hard... to play. Three directional controls, 12 buttons (not including start & select) and each one of them does different things in different situations? Forget that! I figured it would be easier to learn to create my own games than to learn how to play theirs.
But NES, Super NES, Sega Genesis etc. were different: they were easy to figure out, but you had to play them like crazy to be able to beat the game. Gannon was hard to kill because he turned invisible and could shoot at you from any direction - not because I forgot how to use my sword! King Koopa's castle was tough to get through because it was a maze loaded with baddies, dead ends and traps - not because I couldn't figure out how to shoot a fireball! They were most definitely hard, but there wasn't a vertical wall of a learning curve just to play the thing!
In other words, the challenge was in the levels (the obstacles, the AI etc.), not the gameplay. This is something that I think we've lost in today's games. We've forgotten how to KISS (Keep It Simple, Stupid! :)). If we combined the amazing graphics and sound available today with the simplicity of the OGs, those old games might actually become a thing of the past. But until then, gamers and game addicts everywhere keep on makin'em like they did in the old days - and that's cool with me! :)
The first point came from me as a gamer; this point comes from me as a programmer. I say 2D games are "relatively" easy because you do need to know a thing or three about programming to write a game either way. But even if you're still fairly new to programming, you might want to check this part out.
Let's take for example collision checking. Just about every game has to have it (the exceptions being stuff like crossword puzzles or Sudoku). In a 2D game, it's as simple as this:
Granted the example above is not actual code, you get the idea. If one rectangle (say Mario) intersects another (say one of those flying fish things), then Mario loses a life and you restart the level. The only thing that'd make this a bit tricky is how to check if one object intersects another (which I've done in JavaScript and hope to never do again). But AFAIK every language with a Rectangle object has a function to check that already (In Java it's "Intersects", and I think in C# it's "Contains") and other objects like Oval and Polygon may have them as well. So it's no big deal, not the end of the world (unless that's what happens in the level :) yeah that was corny).
But in a modern game, there are a gajillion other variables to check for. We're no longer talking about simple shapes, but complex 3-dimensional figures and physics and camera angles and other stuff I haven't thought of yet. And on the graphics side you've got stuff like texturing, plotting all the 3D coordinates, and other stuff that to me is just annoying. Hopefully, there's some framework or SDK out there now that abstracts a lot of this away, but in my experience it's just not worth the aggravation. Especially for newbies, but even for more experienced programmers like me, if you're not a math guru this can be such a pain. And creating games should be fun, shouldn't it? And that brings me to my last point:
Games back in the day weren't trying to tell a story, prove a point, or be as realistic as possible. Back stories were written in the same document as the instructions, which were quickly thrown away (see point #1). So adventure games were simply Good vs. Evil. Heroes explored strange new lands, defeated monsters and rescued princesses. Sports games were about scoring points. And some games were just about getting your initials on a highscore list. So whatever you were doing, it was fun, not work. Maybe I'm just getting old... but to me a lot of the newer games are more work than fun. But my neice, who is growing up with all the latest tech, rocks the new games like I rocked the originals. So "fun" is a subjective term, no doubt about it.
So how do we translate this into something more concrete? To answer that, I would suggest you ask yourself, what makes games fun to you? Back on the topic of the classics, here are some of the things I always enjoyed:
As you can see, there are definitely some features of 80s/90s-style video games that still apply to today's world of hi-tech gaming awesomeness. In fact if I ever find a game system that uses even 2 out of the 3, I'll be first in line to get one. So anyway, take it for what it's worth, use what you can and pass it on. :)
Now you might be wondering, what's up with that? It can't just be that weird Miguel guy, because sites like Virtual NES are everywhere. Why do they buy - or even make - a custom USB controller for old NES games? Why would anyone spend so much time programming them, right down to the last detail, to be exactly like the originals? The graphics and sound from back then was so cheesy compared to now. I mean okay, sure, for games like Super Mario Bros. and the Legend of Zelda, the nostalgia-factor is pretty intense. But Kung-Fu? RC Pro-Am? 10-Yard Fight? Who even remembers those (other than me, lol)? And why do people still create (and get hooked to) games with similar quality? I mean, today we have 3D (even 3D audio); we've got super-realistic sports games, amazing adventure games, etc. and they keep getting better. So what's up with that?
Obviously, it's more than just nostalgia. And although I'm far from an expert, I think I know what the secrets are, and I want to share them with you.
Why Old Games Still Rock
1. They're easy to play, but hard to beat!
You know what got me interested in making my own games? PS2; But not in the way you think. To me, those games were insanely hard... to play. Three directional controls, 12 buttons (not including start & select) and each one of them does different things in different situations? Forget that! I figured it would be easier to learn to create my own games than to learn how to play theirs.
But NES, Super NES, Sega Genesis etc. were different: they were easy to figure out, but you had to play them like crazy to be able to beat the game. Gannon was hard to kill because he turned invisible and could shoot at you from any direction - not because I forgot how to use my sword! King Koopa's castle was tough to get through because it was a maze loaded with baddies, dead ends and traps - not because I couldn't figure out how to shoot a fireball! They were most definitely hard, but there wasn't a vertical wall of a learning curve just to play the thing!
In other words, the challenge was in the levels (the obstacles, the AI etc.), not the gameplay. This is something that I think we've lost in today's games. We've forgotten how to KISS (Keep It Simple, Stupid! :)). If we combined the amazing graphics and sound available today with the simplicity of the OGs, those old games might actually become a thing of the past. But until then, gamers and game addicts everywhere keep on makin'em like they did in the old days - and that's cool with me! :)
2. They're relatively easy to create
The first point came from me as a gamer; this point comes from me as a programmer. I say 2D games are "relatively" easy because you do need to know a thing or three about programming to write a game either way. But even if you're still fairly new to programming, you might want to check this part out.
Let's take for example collision checking. Just about every game has to have it (the exceptions being stuff like crossword puzzles or Sudoku). In a 2D game, it's as simple as this:
if (Rectangle1.Intersects(Rectangle2)){ Lives -= 1; RestartLevel(); }
Granted the example above is not actual code, you get the idea. If one rectangle (say Mario) intersects another (say one of those flying fish things), then Mario loses a life and you restart the level. The only thing that'd make this a bit tricky is how to check if one object intersects another (which I've done in JavaScript and hope to never do again). But AFAIK every language with a Rectangle object has a function to check that already (In Java it's "Intersects", and I think in C# it's "Contains") and other objects like Oval and Polygon may have them as well. So it's no big deal, not the end of the world (unless that's what happens in the level :) yeah that was corny).
But in a modern game, there are a gajillion other variables to check for. We're no longer talking about simple shapes, but complex 3-dimensional figures and physics and camera angles and other stuff I haven't thought of yet. And on the graphics side you've got stuff like texturing, plotting all the 3D coordinates, and other stuff that to me is just annoying. Hopefully, there's some framework or SDK out there now that abstracts a lot of this away, but in my experience it's just not worth the aggravation. Especially for newbies, but even for more experienced programmers like me, if you're not a math guru this can be such a pain. And creating games should be fun, shouldn't it? And that brings me to my last point:
3. They're just plain fun!
Games back in the day weren't trying to tell a story, prove a point, or be as realistic as possible. Back stories were written in the same document as the instructions, which were quickly thrown away (see point #1). So adventure games were simply Good vs. Evil. Heroes explored strange new lands, defeated monsters and rescued princesses. Sports games were about scoring points. And some games were just about getting your initials on a highscore list. So whatever you were doing, it was fun, not work. Maybe I'm just getting old... but to me a lot of the newer games are more work than fun. But my neice, who is growing up with all the latest tech, rocks the new games like I rocked the originals. So "fun" is a subjective term, no doubt about it.
So how do we translate this into something more concrete? To answer that, I would suggest you ask yourself, what makes games fun to you? Back on the topic of the classics, here are some of the things I always enjoyed:
- Secret places that feel like cheating (like the whistles in Mario 3) - why try to find ways to actually cheat when you can just use what's built into the game?
- Weapons and other tricks that give you new abilities (like the frog suit in Mario 3 or the hook-shot in Zelda/Link to the Past)
- Random stuff that's just plain funny (like in Link to the Past when you go to the Dark World and turn into a bunny - that was so hilarious! Or in Mario World how Yoshi can eat... well just about anything, and spit it at the enemies! I could go on all night with this one.)
- Anything you can play with someone else (sports, Mario, Mario Kart, etc. - the more the merrier! This one is especially important because multiplayer online games are so big nowadays)
- Anything where the object of the game is stupidly obvious (even as a kid playing Zelda, I often bypassed the frustrating puzzle-like parts by using a book or bugging a friend who already beat it; not that adding some brain-teasing "figure it out" stuff to games is bad, but it's not always fun; for me it went from brain-teasing to mind-grinding way too quick)
Conclusion
As you can see, there are definitely some features of 80s/90s-style video games that still apply to today's world of hi-tech gaming awesomeness. In fact if I ever find a game system that uses even 2 out of the 3, I'll be first in line to get one. So anyway, take it for what it's worth, use what you can and pass it on. :)