should I move from 2D to 3D?

Started by
11 comments, last by swilkewitz 12 years, 3 months ago
Hello everyone
I have been programing in 2D for a year now and i think i got the hang of it. I made 3 fully functional games (rpg, tower defense and a shooter) and I thought its time to move to 3D.

I was browsing YouTube yesterday looking for game engines and what game programer are up to these days, and i found this video that shows a 2D isometric game engine like Diablo 2. first when i saw it i was blown away, i thought it was just amazing what these guys are doing. and then i thought to my self why not start making something similar. but then when i downloaded the engine i saw a sprite sheet that has only one enemy movement and all of its animation, to my surprise it was 4000X3000 pixels !! they are making 3D models and converting them to 2D sprite sheets to put it in their engine. So i thought why bother with 2D if you can do the same in 3D and maybe easier and faster.

so guys what do you think is it worth it keep working in 2D or switch to 3D? keep in mind i would like to make something similar to Diablo 2 style.

here is the video and their website.



http://www.youtube.c...d&v=RV0KcC8hWg4

http://clintbellanger.net/rpg/
Advertisement
Yeah, that's the downside to doing an asset-heavy game in 2D. Bear in mind that Diablo 2 ran in a palettized 256-color video mode so that their assets could be stored in 8-bit bitmaps, and they still had quite large MPQ files. If you are comfortable with 3D, then in my opinion it certainly is worth it to switch. 3D makes some things (such as the paper-doll style equipment system) a whole lot easier as well, so there's that.

Yeah, that's the downside to doing an asset-heavy game in 2D. Bear in mind that Diablo 2 ran in a palettized 256-color video mode so that their assets could be stored in 8-bit bitmaps, and they still had quite large MPQ files. If you are comfortable with 3D, then in my opinion it certainly is worth it to switch. 3D makes some things (such as the paper-doll style equipment system) a whole lot easier as well, so there's that.


Thanks.
I bought an OpenGL book last month and I started learning 3d. All what I was able to do so far is make a human cube that rotates. I wanted to load 3d models into my OpenGL project but I was surprised that loading 3D models is unbelievably hard. This is the reason why I stopped reading the book and returned to 2D programing. I really want to learn 3D programing but what keeps making me stop learning is the fact that I can't load 3d models. I'm trying to do just the basics where I just load 2 -5 simple 3d objects like table, chair etc... And just walk around the world. Even that I can't do. I miss SFML, I was able to move in my own 2d world in about 15min after opening VS 2010 c++.
OpenGL is a low level graphics library. SFML is a high level library. I have never actually worked with SFML, but I assume its underlying implementation is, in fact, OpenGL.

With that said, there do exist some higher level 3D graphics libraries. One that comes to mind is OGRE3D. This is a very popular library and was used in the PC/PSN game Torchlight. It's worth a look.

If you still prefer to work in OpenGL and build your own framework, then I suggest looking at some asset import libraries (such as assimp). They will at least make things such as model loading easier for you.
Co-founder/Lead Programmer
Bonafide Software, L.L.C.
Fairmont, WV 26554 US

Thanks.
I bought an OpenGL book last month and I started learning 3d. All what I was able to do so far is make a human cube that rotates. I wanted to load 3d models into my OpenGL project but I was surprised that loading 3D models is unbelievably hard.


I came across this problem a while back. I would recommend checking out Assimp, it will load into memory almost every model file you can think of, and then provide the data in its own "format." I made a converter tool using Assimp so that my games could load the models in their own format without depending on Assimp.

The only problem is there isn't a lot of help available to get started with Assimp--only the documentation. If you decide to use Assimp and need help, contact me or ask the APIs and tools people.

Hope this helps!

[quote name='MrDarkKnight' timestamp='1326382937' post='4902024']
Thanks.
I bought an OpenGL book last month and I started learning 3d. All what I was able to do so far is make a human cube that rotates. I wanted to load 3d models into my OpenGL project but I was surprised that loading 3D models is unbelievably hard.


I came across this problem a while back. I would recommend checking out Assimp, it will load into memory almost every model file you can think of, and then provide the data in its own "format." I made a converter tool using Assimp so that my games could load the models in their own format without depending on Assimp.

The only problem is there isn't a lot of help available to get started with Assimp--only the documentation. If you decide to use Assimp and need help, contact me or ask the APIs and tools people.

Hope this helps!
[/quote]

thanks a lot. i just have one question. Can i use Assimp in commercial projects for free? or do i have to buy their product ?
the whole point of using opengl instead of using a ready game engine like OGRE3D is because I want to understand how engine are made, and maybe some day make a one. very very simple one.

the whole point of using opengl instead of using a ready game engine like OGRE3D is because I want to understand how engine are made, and maybe some day make a one. very very simple one.


Having done OpenGL and Ogre before, I wouldn't shy away too much from Ogre if you want to learn how engines are made. Why? Well, in OpenGL you certainly have a more hands-on approach with 3D, but often this can become rather tedious. Ogre is a rendering engine and NOT a game engine, and therefore, you still have to write an engine. You still need to deal with 3D operations and putting your whole game together - I think that's a pretty cool way to learn, when you don't have to worry so much about lower-level details.

Well... it never hurts to try, right? :)

[quote name='MrDarkKnight' timestamp='1326440399' post='4902256']
the whole point of using opengl instead of using a ready game engine like OGRE3D is because I want to understand how engine are made, and maybe some day make a one. very very simple one.


Having done OpenGL and Ogre before, I wouldn't shy away too much from Ogre if you want to learn how engines are made. Why? Well, in OpenGL you certainly have a more hands-on approach with 3D, but often this can become rather tedious. Ogre is a rendering engine and NOT a game engine, and therefore, you still have to write an engine. You still need to deal with 3D operations and putting your whole game together - I think that's a pretty cool way to learn, when you don't have to worry so much about lower-level details.

Well... it never hurts to try, right? smile.png
[/quote]

Well I always had this idea in my mind if I want to work with 3D I have to know OpenGL or DirectX. Someday I would like to join a game studio and if I do I don't know what they will ask me to do. That’s why I’m trying to learn everything at once which is basically killing me and making me hate game development. I'm trying to learn 3D, collation detection, AI, networking and model loading etc... And all this is keeping pressure on me. I'm trying my best not to use external library’s that handles model loading or I/O or anything like that because I’m afraid that if a game studio ask me to make something like that and I don’t know how to do it they will fire me.

The college I’m going to doesn't teach us about game dev at all, so I don't know what I need to learn to work in a game dev company.

So my question is what should I learn to make a decent 3D game? And if anyone worked in a game studio what do you have to know to work with them?
I started too with 2D, my main goal was to re-code Age of Empires II.

The reason why I not moved to 3D was my laziness to learn.
One day (November 2011), I saw a video of one guy in facebook that sparked me interest in three-dimensional modeling.
I talked to him and he advised me to watch some examples here: http://nehe.gamedev.net/
And I started programming in 3D (and learning some algebra that I forgot) ...

This was the last version of my 2D engine:


And this what I am doing now:



The problem is getting started.
If 3D is a challenge, you don't really have to switch, you know. I mean, graphics hardware these days does come with rather large available RAM, so a hobbyist working on a small game would still have to generate quite a lot of sprite content to fill it all. You can have dozens of animated enemy variants and, as long as you are smart in the sprite-sheet packing, still not have issues. So if learning 3D is going to detour you too much from making the game, then don't worry about it.

This topic is closed to new replies.

Advertisement