I love last week's story about Natural Selection 2 including a female marine as a playable character. Whenever these stories show up (and I'm pleased to see they're showing up more frequently) "certain" people argue that the developers should have spent the resources on a feature that impacts a larger group of existing players. But that misses the point.
For most projects, the unfortunate reality is that inclusiveness isn't going to be a primary concern. It isn't going to eclipse or take resources from a major feature. Inclusiveness is largely about low-hanging fruit.
A game I made back in 2007 was initially called Smiley and his Shooty Adventure. At some point during its development I wondered, "Why is Smiley a 'he'?" There wasn't a reason. Not mechanical, graphical, or for the (non-existent) narrative.
So I renamed it to Smiley's Shooty Adventure. It involved tweaking the logo, renaming the project, and changing the window title. That's as low-hanging as they get!
If something as simple as swapping out the player model, including a gender option, making your team colours red and blue, or even just renaming a project, will make a larger audience feel included, why not?
Of course, there are countless other things a developer can do to be more inclusive. Getting them all is a very challenging, if not impossible, task. Some developers will go above and beyond, and that's great! But every developer should set aside some time to identify their low-hanging fruit. It might be as simple as changing a line of text.
Another year of incredible videogames, not quite enough time to play them all, and publishing this a week later than I intended. All is well, then. Apart from the Game of the Year, this list isn't really ranked.
It didn't take me long to figure out Fez was going to take the top spot. Even way back in April I was pretty much positive.
Fez is a game that defies categorization. On the surface it's a beautiful, ambient exploration game. The world is huge, mysterious, and opens up slowly. Exploring it is a relaxing, wonderful experience.
Go a little deeper and you'll find spatial puzzles that gently twist your mind. Nothing particularly challenging, but a pleasure to figure out.
It is the layer deeper still, the puzzle solving, that got everyone talking and indeed, sealed the deal for me. I still remember the decoding, pages of hand-written notes, and dozens of photos taken on my iPhone. The first sentence I translated. The infinitely looping room. The clock tower. I got lost in it all for weeks.
Fez is why I play videogames: to have novel experiences, to discover new worlds, and explore their mysteries.
XCOM demands your A-game every time you sit down to play. Every decision (and there are a lot of them) is about making the choice which leads to the least terrible consequences. Even the simple ones like choosing a mission has you balancing Panic level vs. Difficulty vs. Reward (and which reward?)
The missions themselves go between cautious exploration and quick, tense action. Ending a turn and watching it all go so wrong is the best kind of "doomed". It's a little disconcerting how attached you get to the squad. But hatching a plan, and having it just work out is the best kind of high. I've had countless "come on, come on, YES! HIT! WOOOO!" moments.
I'm not one to replay games, but I'm definitely going through XCOM all over again.
Last year I talked about Deus Ex doing well, but failing to reach beyond remaking the original. Dishonoured goes above and beyond.
Dishonoured is confident enough to give you all the tools to have fun, without explicitly telling you how to have fun. The abilities are overpowered by design, allowing flexibility in how to approach each objective. The missions themselves are especially creative, with Lady Boyle's Last Party being the highlight. It's a mission which works almost entirely on social interactions, allowing you to skip over the combat, if you choose.
With Deus Ex and Dishonoured behind us, and Bioshock Infinite coming soon, this feels like the start of something beautiful.
I could just title this section "Interesting, Surprising Or Hilarious Ways I've Died In Spelunky" and call it a day.
Spelunky asks a lot: be careful, but also quick. Watch your surroundings. React to emergent (and often deadly) events. Resist the lure of booby-trapped loot. Needless to say, you die a lot, but even months later there are still things to learn and techniques to hone.
There are triumphs too, like when you pull off a seemingly impossible series of moves and somehow come out of it unscratched. Better still, when doom (read: the giant spider) is right around the corner, and the world unwittingly saves you.
It's also worth noting how great the multiplayer is, both in co-op and deathmatch. Co-op makes the game easier in theory, but coordinating with other irrational humans makes it all worse (and more hilarious) in practice. Deathmatch is a ridiculous, unfair, unbalanced game, but that's exactly the point. Get four people on the couch and the competition will follow in no time, with all the yelling and laughter you'd expect.
It feels like the stars finally aligned for Telltale Games. The Walking Dead is the right blend of storytelling and action, a control scheme that works, and one hell of a well-written script. Clementine in particular works so well as a moral compass. As a young girl in your care, her sense of right and wrong are shaped by your actions.
The Walking Dead asks you to make difficult decisions, do so quickly, then makes them permanent, and makes them matter. The feeling of responsibility and weight is immense.
Hotline Miami is brutal puzzle solving.
Brutal: When you grab a thug, there's a button dedicated to bashing his head in. It takes three (sometimes four) bloody, messy, bashes to kill a guy. Each tap feels unreasonably violent. You made each of them happen. You monster.
Puzzle solving: Here is a room full of thugs, figure out how to murder them in the most efficient manner. Here's a fixed behaviour guide, except a few aspects of the level are randomly modified to trip you up. Make a tiny mistake? Dead. Good luck!
2012 is the year the DS died for me. Despite a series of heavy hitters from Nintendo, nothing grabbed my attention like I hoped. Instead, the iPhone (and iPad) did a great job of filling my mobile gaming needs. I'm not ready to abandon dedicated handhelds altogether, but it's getting easier to do with every passing year.
Waking Mars is a beautiful game of ecology. In a way that only Sim/Management games do, there's a certain joy in watching your creation do its own thing, even when "own thing" sometimes means "disastrous overpopulation of a species".
I've already said everything I need to about Super Hexagon, except how it can bring out the worst in our competitive spirit. I spent a couple of weeks in fierce competition with a friend, each of us trash-talking and gloating as our times incremented by seconds (and sometimes, fractions of a second) at a time.
Little Inferno is charming and hilarious. It's a game about buying stuff which you burn, which earns you money to buy more stuff, which you burn, which...
Somewhere in this compulsive loop is a heart-warming story about the videogames industry, consumerism, and following your dreams. It's so optimistic and sincere that I couldn't help but fall in love.
It's the perfect winter game. I have fond memories of being hunched up over my "Little Inferno Entertainment Fireplace" covered in a blanket as my busted apartment heater tried to keep up.
It's definitely more "toy" than "game", but seriously: it's about burning stuff. What's not to love?
Journey is a magical experience. The companion interactions clicked in a way I'd never expected. There's an area where you're climbing up a snowy mountain, the wind harshly blowing, the two of you going from cover to cover. Your avatar is visibly cold, but stay close to your companion and both of you warm up. There is no mechanical difference, and yet the bond it created between us ensured that we stuck together for the duration of the game.
Combining platforming and reactive, generative music couldn't disappoint. But somehow, Sound Shapes felt underwhelming. All the right pieces were in place but the levels themselves just didn't captivate me. Until the Beck album. That's what made the game memorable for me, but I found myself wishing for an entire game filled with albums of the same calibre.
Death Ray Manta is unapologetically colourful, loud and just plain daft. It's Rob Fearon in top form. Detached from the unforgiving difficulty that plagues most shoot-em-ups, together with simple controls and even simpler scoring, DRM is the perfect zone game. I went through a couple of... difficult weeks last year, but I could always turn to DRM to take my mind off whatever, and just relax. Turn off the light, turn DRM on, and get in the zone.
I've spent the past few weeks on-and-off building a new framework for myself. Having done this a couple of times now, I figured I would impart some unsolicited advice.
Before you embark on what can be a long and arduous journey, consider if you really have to build a framework. There are plenty of great ones out there. I've had positive experiences with openFrameworks, GLFW and SDL. They may do exactly what you need.
But they may not. A few good reasons for writing your own framework are:
Taking control of your technology/destiny. At the end of the day, the core experience of your videogame depends on the underlying technology. It's important to get it right.
You need more under-the-hood control than existing frameworks expose.
Responding to new technology. While Windows and Mac are fairly stable, iOS (and mobile in general) is evolving and fast-moving. Understanding how everything works allows you to implement these technologies quickly.
Existing frameworks do not fit your mental model.
Even if you decide to roll your own framework, I'd recommend trying existing solutions first. At the very least you'll pick up some design tips. At best, you may find they do exactly what you need.
This sounds counterintuitive, but there's underlying code that might be worth taking. How much is a personal preference. I've been all over trying low- and high-level frameworks. The journey helped me figure out what I wanted done for me, and what I wanted to do myself. Identify the areas you really care about and focus on those. "Outsource" the rest.
Efficient rendering stack. Most frameworks focus on either giving you low-level access, or high-level (but inefficient) APIs. I wrote a high-level API that is efficient if you understand the implementation. To me, it feels like the best of both worlds. But this is the kind of (potentially) esoteric API that general-use frameworks shy away from.
Reusable game code. The essentials, like entities moving around a world with collision and basic pathfinding. I also collect (mostly math related) odds and ends. Look through your older projects for helper code. Pick out the functions that are useful and reusable.
Helper libraries for loading textures and fonts. For the former I used libpng. For the latter I'm working on a tool to bake a texture offline.
Speaking of which: tools! The best thing I did was write new_project, which generates a new project based on a template. Writing tools to make the idea-to-prototype transition easier is well worth the effort.
A more robust iOS experience. Most frameworks treat iOS as a peer to the desktop OSes, but it's very unique. I may not achieve full compatibility between iOS and Windows/Mac, but iOS projects will take advantage of UIKit, gestures, multitasking, and whatever else Apple introduces in the future.
As above, I focused on providing a great experience on a limited number of platforms: just Windows, Mac and iOS.
These are all personal preferences I've figured out over the years. You'll figure out what your focus is too.
As you go along, your framework will evolve. You want to ensure that your older projects continue to work as your framework blazes ahead. My approach is to version the framework (using a simple folder structure), and allow each project to select a version to build against. This allows me to "go forth and break things", without worrying about older projects.
Building a framework is a learning experience. With every iteration I've done a better job. Keep working with a framework until you feel you've outgrown it, and then do it all over again.
But don't make it a frequent thing. I've only done this four times over the past nine or so years. And don't forget that old code can still be good. Most of Zucchini is based on Chickpea's source code.
Finally, remember: do this because you need to. Don't get caught up in the trap of making the "ultimate" framework. Build a framework to make better workflows for yourself, and of course, to make incredible videogames.