Why Are Most Indie Games 2D Instead of 3D?
Posted by Rampant Coyote on May 16, 2013
This question was posed in the “Ask Me Anything” Reddit yesterday, and I thought I’d cross-post and elaborate on my answer here: Why are most indie games done made with 2D graphics instead of 3D?
Obviously, I’m something of an exception to the general rule, as I do 3D games (at least, the ones I’ve done commercially are 3D). That’s mostly my background. The games that thrilled me the most as a kid were the primitive 3D games of the era – arcade machine like Star Wars, Red Baron, Battlezone, Tail Gunner, Starfire, horrendously slow flight sims on the Commodore 64, to the wire-frame dungeons of Wizardry or the iffy solid and textured walls of Ultima and Bard’s Tale, or the pseudo kinda-sorta-feels-like-3D of the C64’s Forbidden Forest. I was always about the virtual worlds, dude, and few things made the virtual worlds feel more real than a 3D perspective.
Then I made 3D game development my career for many years, starting fresh out of college on the Sony Playstation – the first console IMO truly built from the ground up to be a 3D gaming console. Sure, the older consoles had some ability to pull it off, and the Sega Saturn could actually pull off 3D pretty well, but it wasn’t inherent in the system. The Playstation was all about 3D, and the guys at my company – SingleTrac – knew 3D as well as anybody. So I was steeped in it. I’ve been working with 3D worlds and 3D graphics ever since. I’m hardly a guru – I am easily outclassed by anybody who really considers themselves a “graphics programmer” in the modern world. But I know enough to know where to look for help when I’m stuck. So for me, working with 3D – as a programmer – isn’t a whole lot harder than working with 2D graphics. It’s just an extra layer of skills. Now that I no longer have to write my own 3D engines, it’s … pretty easy.
So why am I an exception to the rule? Because I have loved 3D games since childhood, and because I’m pretty familiar with both 3D games and 3D game development. I tend to imagine games in 3D, or at least using 3D technology to make it work. But it’s not a preference based on belief that one technology is superior to another.
I would be happy to work on the right 2D game. It’s my opinion that the mainstream games biz was quite a bit premature jumping on the 3D bandwagon. For a period in the mid 1990s (which hasn’t completely left us), it was “the thing.” 3D showed off the technological advantages of the new consoles. It was new and hot. It was novel. Suddenly, a publisher trying to get approval on a console for a purely 2D game that only looked marginally better than what could have been done on a last-gen console might find themselves facing an uphill battle. So everybody abandoned 2D in pursuit of the new shiny. Bummer.
So for other game developers who aren’t me… why 2D?
1. Familiarity and Lack of Special Skills
First of all – it requires greater know-how. 3D requires additional skills for programmers, and a LOT of additional skills for artists. Making 3D content requires a ton of new technical and artistic skills, not to mention expert knowledge of your tools. Sure, anybody can learn it… but it takes time and practice. So there are simply more people with the skills to put together a 2D game than a 3D game.
2. Ease (and Speed) of Development
Secondly, making a 2D game is generally easier and faster than making a 3D game… marginally or significantly depending upon your approach. There are a few things that I feel are actually easier to do in 3D than 2D, but not enough to really change the equation. There’s no easy, obvious metric to use here – so much is dependent upon the style of game, camera perspective, etc. So I’ll just go with the rule of thumb that 3D games are somewhat harder and more time consuming to make, and leave it at that.
A third reason, brought up by others in the AmA, is that indies tend to make the kinds of games they love. Today’s indies are products of the Nintendo and Sega generations, and the games that inspired them tend to be the classics of those home consoles.
That’s probably why we have such a plethora of 2D platformers right now – that was the dominant genre of the late 80’s and early 90’s when many of these developers were introduced to the medium. Those were the games that fueled their creativity and imagination, and so we’re seeing a new generation of games that are running with those classic concepts.
4. Lack of Mainstream Competition
A fourth reason is that indies tend to gravitate to niches ignored by the mainstream publishers. With the Great 3D Migration of the 1990s, most publishers abandoned 2D technology and 2D game styles. That means no competition from the mainstream developers. That means there’s plenty of room for indies to play, and plenty of demand that might not suit a AAA publisher’s mass-market requirements, but which are perfectly awesome for indies. So, naturally, indies go there.
5. Cheaper Multiplatform Development
There’s a fifth reason, perhaps, and that goes all the way back to technology. Most business-oriented indies soon discover that their best chances lay in not putting their eggs in a single basket… making a game for multiple platforms is king. Right now, the capabilities of these diverse platforms are… let’s just say, “varied.” 2D art can scale a lot easier between the lowest common denominator and more powerful systems than 3D assets usually can. If you don’t have money to burn (and unless you are Mojang, you probably don’t), going 2D is a far cheaper route to releasing a game on the largest number of platforms possible.
So there you have it. Perhaps there are more reasons than this (in fact, I’m sure there are), but I’d wager these broadly cover most of the reasons why 3D indie games are relatively scarce.
UPDATE: Number six
I actually had something like this mixed in with an early edit for #3, but a lot of people have spoken up on this one. Another issue is that I kind of lumped together 3D and what is sometimes called “2.5D” – where 2D gameplay is represented with 3D models but doesn’t really use the 3D space. But that’s a whole ‘nuther topic…
6. Most Game Designs Work Just Fine in 2D
There are a lot of game designs – possibly the majority – which do not need to be represented with 3D graphics. They work just fine in 2D. Most of the time, 2D gameplay can be handled with 3D graphics, but many times that may be an overkill or actually a distraction. Would we really need the gems in Bejeweled to spin and tumble in place as 3D models? It might look cool, but it also might distract the eye and detract from the game. While the AAA games biz is often all about showing off and providing the biggest spectacle for the player’s money, the indie world is about being lean, mean, and fast to market. Just making objects in 3D isn’t enough to wow people anymore… and may really not justify the added cost over using quality 2D art.
Filed Under: Game Development, Indie Evangelism - Comments: 22 Comments to Read
Felix said,
6. We’re all effin’ tired of 3D. No offense. It was amazing back in the days of Elite and Starglider, way cool in Starfox and a memorable experience in Myst. (Wait, do pre-rendered backgrounds even count?) But then we started getting 3D platformers, strategy games, beat’em’ups, shoot’em’ups… most of which didn’t even use the 3rd dimension, but only added a bullet point on the box — as you point out. There are games that genuinely want to be 3D, games that can make do with 2.5D (SimCity 2000, anyone?) and games that simply don’t need any more dimensions than, say, a printed book page. Which, by the way, still beats any other medium when it comes to immersion.
But no, developers don’t seem to realize that 2D is more portable. Most see that nearly any computing device nowadays supports a form of OpenGL and go for it, not realizing that performance and compatibility are still major issues. And so you end up with young programmers who write a strictly 2D game with OpenGL, and when you ask “why didn’t you just use 2D acceleration?” they stare at you blankly.
TheBuzzSaw said,
I think another compelling reason to use 2D is that 3D *gameplay* is usually insanely complex (to code, to balance, etc.). While AAA publishers may not be putting out 2D graphics as often as they used to, they learned harsh lessons about trying to convince the mainstream that 3D gameplay is always better. Super Smash Bros., Mortal Kombat, etc. use 3D graphics to look awesome, but the gameplay is 2D. I believe MK tried to go 3D a while back, and it blew up in Midway’s face. Today, we have a new Mortal Kombat back to its roots as a side-view “2D game”.
This is how I approach my own indie development. I like 2D because it matches the gameplay ideas I have. I don’t make shooters. I don’t need crazy epic cameras that go 360.
CdrJameson said,
I’ve done a lot of commercial 3D work, but my home stuff is always 2D.
For me it’s mostly that 3D assets are a complete pig to work with. There are dozens of different proprietary formats for assets, and you generally need expensive and/or complex tools to convert and manipulate them.
Every computer in the world has a usable 2D drawing program installed that can handle pretty much everything, even if it’s only MS-Paint.
Sourcing 3D stuff, even placeholders, without an artist on tap is also a pain compared to sourcing 2D stuff.
Tesh said,
Speaking as an artist who works in 3D most of my day, and has the occasional whim to do indie work… I’d rather work in 2D for indie games. One, I don’t have the money to buy Max or Maya to work with at home, and Blender is… not a valid option. Two, 3D is a time sink. I *can* do almost anything a game would need with Max or Maya (model, texture, rig, animate, render), but there’s a LOT in that pipeline, compared to a 2D workflow.
Some of it is aesthetics, too, though. Chrono Trigger is still my favorite game, and it’s gorgeous in all its 16-bit 2D (with Mode7 bits) glory.
Edohiguma said,
@Felix We? Who elected you to speak for all of us? You may be tired of it, but that doesn’t mean that everybody else is.
Rampant Coyote said,
Point #2 was a hard one to really quantify. I could make a fixed-camera-perspective game out of single-colored cubes that would be almost as easy to make (especially in something like Unity) as any 2D game. So… no biggie.
And I think that if a game calls for a lot of animation for characters – and customization – once you get past a certain point, 3D models make it easy. There’s a big “start up” cost to build the model, rigging, etc. – but then new animations and attaching objects to nodes are all relatively cheap and easy to do – even cheaper / easier than 2D.
But then there’s the majority of 3D asset development which really are a *lot* more work.
Felix said,
@Edohiguma Do the words ‘manner of speech’ mean anything to you, troll?
Ayrik said,
@Felix don’t feed the trolls!
I do 3D exclusively for personal projects because I already have a wealth of halfway decent 3D assets that I’ve either purchased or otherwise have permission to use (like all the SAGA assets!).
I think about moving to 2D all the time because I love the 16-bit pixel look, but I have so much code done in 3D that it is all much easier for me to do. 2D requires tilemaps and frame animations that I don’t already have good systems for.
Having said that, my games are generally not benefited much by 3D since I seem to like the top-down view, and so it might be a good idea for me to make some 2D libraries since the art is easier to come by. 3D artists seem to be much more flaky than pixel artists.
Maklak said,
Well, to me 2D is understandable and 3D is outside the realm of possibility (for now at least). I can find (or maybe make if it comes to that) a few backgrounds and a bunch of sprites and put that on the screen using SDL (yuck). Setting screen resolution, loading some png files and blitting selected rectangles from the spritesheet at the correct position over the background is conceptually simple. 3D? I wouldn’t even know where to start. Plus sprite graphics is easier to draw than making a 3d model of comparable quality. When I finally get around to writing “Pong”, it will be in 2D 😛
Anyway, one reason you’ve missed is that 2D and 2.5D is good enough for some gernes. Be it strategy, city builders, RPGs and other games, 3D isn’t needed to enjoy the game and 2D graphics simply works. I mean, would you make a card game in 3D? It may actually be something of a hindrance by requiring more external libraries, memory, etc.
Another thing is that people who have experience writing utility programs with something like QT are accustomed to 2D user interfaces and can make a lot of things work in 2D. 3D is something else and requires knowledge of more APIs, etc.
Albert1 said,
Most indie games are 2D because even with the abundance of cheap, even free 3D engines, to be proficient with them you need so much knowledge that you could actually write your own engine, maybe not as good as the off-the-shelf ones, and a 3D engine nonetheless. And that knowledge has little to do with coding, which is the fun part: dreaded math! These days, to program 3D software you need to bring your math way beyond multivariate calculus – not many people like that! Really, if you browse some game development forums you’ll see thousands of people using Unity&co, yet the commercial projects aren’t that many. I think that, despite what marketing says, the ideal user of a prebuilt 3D engine is someone like you, the Coyote, who has the knowledge to write his own engine – as you did for Void War – yet prefers to save time and concentrates on the game itself.
eedok said,
>These days, to program 3D software you need to bring your math way beyond multivariate calculus – not many people like that!
I’ve found it to be the opposite, engines today like Unity simplify things so much that I haven’t really used much math past basic linear algebra, and even then it was just because it was the way I’m used to doing things more so than needing them to be that way
Rampant Coyote said,
@Albert1 – you know, I’m really not sure I agree. Maybe it’s just ‘cuz I’m too close to it. I still struggle with quaternions. I still have to look stuff up when I’m trying to do something tricky with a matrix. A lot of my 3D skills are growing obsolete. But most of the math involves basic trig (which you will often have to use in a 2D game anyway). Maybe that just means I’m not actually a good 3D game programmer and I’ve somehow managed to fake it all this time. Though in my mind, that’s most of game / graphics programming anyway… faking it.
I’m pretty mechanical about it, really. It’s like driving a car for me – I know what some of the stuff under the hood does, vaguely, but for the most part I just know how to operate it. Any more than that, I figure I’ll have the luxury of time to look it up.
I don’t want to trivialize it, because I know some people really struggle with it. But I also don’t want to scare anybody off from it, either. A lot of it comes down to what kind of game you are doing, too. There’s no reason why you HAVE to do pixel-correct collision detection or anything like that in a 3D game. Just look at Minecraft, for an obvious example. Or – for the more RPG-inclined – Legend of Grimrock.
Albert1 said,
@Coyote: Don’t underestimate the “faking it” aspect of the thing: it still requires a lot of attitude. Keep in mind that the level of math that’s present in your old post about encoding attributes/properties as deltas is already far beyond what most people feel comfortable with. And about “comfort” with math: am I wrong or Von Neumann once wrote that you don’t really understand it, you just get used to it?
CdrJameson said,
On the ‘2.5D’ question, it’s actually easier to do a lot of the pseudo-3D stuff (Isometric, for example) in a full 3D world because it sorts out various occlusion problems for you automatically.
3D is conceptually pretty simple if you can get the assets. It’s just ‘put this model here, this way round’.
The animation should also be easier, just apply animation ‘walking’ to model ‘character’, or ‘monster’ or whatever.
Unfortunately, there don’t seem to be standard skeletons/animations/formats/simple tools that would turn ‘conceptually easy’ into ‘practically easy’.
Xenovore said,
First off, let me just say that I think most supposed 3D haters don’t really hate 3D, they hate some specific 3D genre, like first-person shooters. What they actually prefer are 2D point-of-view games, e.g. top-down or side scrolling. But there’s no reason not to render those in 3D; in fact many are these days.
As for coding, 2D is easier if you’re writing your own game engine from the ground up; you can safely throw matrixes, vector math, etc. out the window. Or it’s easier if for whatever reason the concept of a third coordinate really makes you anxious. (“Z? WTF is Z?! Gahhh!”) Otherwise. . . well, the excuses kinda ring hollow to me.
With a good 3D engine (and you can take your pick these days: T3D, Unity3D, Unreal, CryEngine, Source, Irrlicht, Ogre, idTech 3, idTech 4, etc.) you don’t really need to know that much about the underlying math; most of it is handled for you. . . so pretty much what Rampant Coyote said above.
@TheBuzzSaw: The 3D Mortal Kombat sucked because it was just a terrible game, obviously made by devs that didn’t know how to make a 3D fighting game. It had nothing to do with 3D in-and-of-itself. Look to Soul Calibur or Tekken for examples of how to do a 3D fighting game right.
@CdrJameson: Agreed. If you’re doing a game with a “isometric” view these days, you might as well just do it in 3D; a lot of issues are solved automagically.
As for 3D tools, there are many free/inexpensive editors out there now and while they may not be as powerful as 3DSMax or Maya, they get the job done. Just to name a few (and depending on what you need):
TrueSpace 7.6 (which I use; it’s unsupported now, but easy to use and feature-rich)
Blender (if you can deal with the UI)
Milkshape3D
Wings 3D
Sketchup
Daz 3D’s stuff, e.g. Carrara
K-3D
Sculptris
Ambiera
gtkRadiant
Xenovore said,
I forgot to mention: Yes, 2D art creation is easier obviously; the most you have to deal with, beyond slapping some pixels down, is using alpha channels or chroma-keys.
Robert Basler said,
“2D art creation is easier obviously”
Funny, for my game where 2.5D was an option, I couldn’t imagine making 2D art that would look like anything really, and animating even the simplest thing in 2D would be completely tedious. But I could totally see how much easier it would be to use 3D models to get the look I wanted.
Xenovore said,
@Robert:
Cuthalion said,
I’ve been coding an isometric 2d game from scratch in Java. So far, the hardest part to get right graphically has probably been jumping from tile to tile while allowing for game speed to be changed. This is one thing I bet would’ve been easier in 3d, but since I don’t even know trig, I’m less afraid of spending time looking up gravity equations than I am of trying to program in 3d. Granted, I could’ve used a 3d engine like Unity, but then our artists would have trouble.
itai said,
About point #5 (multiplatforms),
Unity3D is a good way to make multiplatform 3D games. The free version lets u publish for PC, Mac, iOS & Android.
I’m getting into 3D game development now (coming from 2D). It’s challenging, but pretty awesome.
adric2k said,
Thank you for triggering a fond memory with your Forbidden Forest reference. I remember loading it on cassette tape and playing for hours. I personally prefer 2D games to 3D games. A 3D game to me is like watching a movie through a keyhole. I would rather see the expansive playfield the 2D perspective usually provides.
Deji said,
I’m an indie (in fact an amateur). My very first game was in 3D, because that was what I thought would be unique. Take a look at http://www.PacDaddy3D.com