Why 2D?

Started by
12 comments, last by Serapth 8 years, 7 months ago

For the past few days, I've been reading a lot of topics from people who want to start developing games but don't know how to do it. After some time, I started to realize that it's almost common sense for the ones who have some kind of expertise in the area to highly suggest starting in this area with simple 2D games instead of 3D games. At first, I thought this was obvious. But then something began to bother me: WHY is it so obvious? Let's think about it. I could make a bad 2D game as well as I could make a 3D game even worse. I mean, you need to acquire a certain amount of experience to make both a 2D game and a 3D game. I've seen lots of 2D games that are much better than most 3D games out there. So, let's not waste more words. My question is: aside from the fact that we have to deal with one more dimension, use a 3D modelling software and some other logic things, what are the most significant differences between the development of two-dimensional and three-dimensional games? (Sorry if this appears to be too naive, but I'd really appreciate to know this). happy.png

Advertisement

have to deal with one more dimension, use a 3D modelling software and some other logic things


This hand-waving, though, does hide a LOT of what can make it difficult for a beginner to jump into 3D games. Every additional piece of software you add, or additional complication, serves as a distraction from the main principles, and represents another large chunk of knowledge that must be assimilated before you can get to the real work.

However, I'd say that once you get past the engine/framework details, then you are are right that there isn't much to discern 3D from 2D, complexity-wise. Since it's recommended that beginners skip making their own engine, and since there is an abundance of engines out there that provide the framework for you, it's probably just fine to start with 3D.

I think that most people come in here not knowing how to program at all and are told to start with a 2D game. Whether you want to make a 2D or 3D game you need to learn the basics of programming first, which requires no knowledge of graphics.

3 dimensions prove to be quite a bit more harder than 2.

A simple example is rotation. In 2d, you only have a single axis of rotation. In 3D there are 3. To add to the complexity, the order you apply rotations matters. When rotating an object to look at another you need to take into account an up vector.

But perhaps the biggest challenge is having to learn about the 3d pipeline. In 2D, you work on a single x/y grid and drawing images is fairly straight forward. In 3d, you have to know how meshes work, how to transform geometry, good lighting is a very hard problem and is an active subjecto research.

Having worked on both 2d and 3d games, I can tell you that 3d is quite a bit harder than 2d. A game engine certainly can make it easier but in 3d you will find that everything from pathfinding and physics to graphics and visual effects much harder.
My current game project Platform RPG

we have to deal with one more dimension


That's what I keep wondering. I mean, the only difference between 2D and 3D is just one extra D. What's the big deal? tongue.png


(yes, I'm being sarcastic.)

Sean Middleditch – Game Systems Engineer – Join my team!

I think the 2d vs 3d is same as when people say that you should start with simpler games, not with the new MMORPG. It takes a lot of time, and if you start your game programming with something that fails 99.99% of the times, although making 3d instead of 2d probably will not be that much more failing, you might end up losing interest with your hobby before you get anything finished to begin with.

Also having to learn how to do 3d models also requires you to learn an extra skill takes again more time. I think the 2D vs 3D question can mostly be translated into, how much time you are willing to spend on your first game? 1 month? 6 months? 2 years? Can you honestly say that you still have motivation to keep going with your project after spending 500 hours on a project for half a year (roughly 4 hours a day)?

So adding more complexity always adds more time needed for the project, and the longer your project goes, the more likely it is to fail and thus people recommend 2D over 3D.

It depends on what you are using to create your game.
If you are using Unity and have some experience creating and animating 3D models then go ahead and create your first game as a 3D game.
If like a lot of newbies you want to program your game from scratch or are creating the game to improve your programming skills then 2D is the way to go. Its not just about having 3D content but about 3D locomotion, 3D collisions and physics interactions. In a 2D game these are much simpler in fact in a lot of 2D games you don't really need to do any real physics calculations.

3 dimensions prove to be quite a bit more harder than 2.

A simple example is rotation. In 2d, you only have a single axis of rotation. In 3D there are 3. To add to the complexity, the order you apply rotations matters. When rotating an object to look at another you need to take into account an up vector.

But perhaps the biggest challenge is having to learn about the 3d pipeline. In 2D, you work on a single x/y grid and drawing images is fairly straight forward. In 3d, you have to know how meshes work, how to transform geometry, good lighting is a very hard problem and is an active subjecto research.

Having worked on both 2d and 3d games, I can tell you that 3d is quite a bit harder than 2d. A game engine certainly can make it easier but in 3d you will find that everything from pathfinding and physics to graphics and visual effects much harder.

Completely agree, 2D rotation is one of the many obvious example where adding a dimension adds a lot more complexity. Or for example the difference between a sprite character and a full 3d character, rendering and animation is much more simple in 2D (just handling sprite) then a full 3d character. This allow to limit the amount of stuff you need in place before being able to be in an iterative loop.

Yeah I think their as hard as each other when you first get into graphics, But I also think the advice is related to graphics being 2d no skinning, no 3d export woes,

unless you make one of them games with 2d skinning.

It depends on what you are using to create your game.
If you are using Unity and have some experience creating and animating 3D models then go ahead and create your first game as a 3D game.
If like a lot of newbies you want to program your game from scratch or are creating the game to improve your programming skills then 2D is the way to go. Its not just about having 3D content but about 3D locomotion, 3D collisions and physics interactions. In a 2D game these are much simpler in fact in a lot of 2D games you don't really need to do any real physics calculations.

Even then... Unity and Unreal (and similar 3D engines) add a lot of additional learning curve ontop of what a small 2D engine already does for a beginner.

A lot of the stuff you need to do in Unity to make sure your textures and objects work fine in 3 dimensions are not necessary in a simple 2D game....

Add to that additional complication with programming because of the additional dimension and more complex rendering, and you quickly overwhelm most beginners...

And that is just the engine and programming part. What about graphical objects? Every beginner gets what a sprite sheet is quickly (how to create and organize it might not be so simple, but anyway...)... everyone has had drawing lessons and can create a stick figure, most probably you could have an animated stick figure within minutes or hours of just starting up.

Not so easy with 3D... you need to understand what vertices, faces or normals are, you need to be able to use and navigate 3D tools, create textures on top of that, and yadda yadda yadda...

Disclaimer: I am in no way saying "don't do it!".... I went to 3D quickly myself (apart from a 2D Game project done during my CS Studies). Would going 2D first saved me banging my head against the wall because of some 3D related madness? No, of course not.

But on the other hand, I could have done many simple 2D games by now instead of trying to create goodlooking 3D art for many years, which is a HUGE time sink!

Even if 3D is your priority, think about 2D as a stepping stone. In the end, every project you start will teach you important lessons... the ones you finish teach you even more.

This topic is closed to new replies.

Advertisement