Beginning 3D game programming o_o

Started by
8 comments, last by Xilo 13 years, 6 months ago
Whats up I've been programming & designing 2D games for years using adobe flash/flex but was inspired by minecraft and want to move on to 3D. I don't know what language or graphics library to use. I know OpenGL is probably the best for graphics but it's not something I can easily start making 3D games with, you need to make your own shader engines and stuff... I was thinking C# /w XNA 4.0 for a start? Java is a possibility also I think.

Can anyone recommend 3D game programming tutorials please, somewhere for me to start. I tried 3D before but never got anywhere with it due to lack of good tutorials.
Advertisement
I would definitely recommend XNA for your first 3D game. There are good tutorials here that work their way up from simple 2D to full 3D. You might also consider getting a book on the subject and/or some PDF ebooks. Amazon has a good selection available for cheap.

You should make sure that you know the maths basics such as matricies and 3D coordinates (X,Y,Z) etc, as this will help you learn faster and is generally assumed knowledge for 3D work.
Would it be worth it to look into things like unity/torque/UDK? I don't even know what they are. I want to be programming, not using game maker / scripts. Are they game maker things I shouldn't bother with?
I would recommend the cross platform rendering engine Ogre3D, basically it is a wrapper around OpenGL/DirectX that makes 3d programming more high level. It is implemented in C++ but there are bindings for Python, Java and .Net.

Looks cool, would probably be smart to start as high level as possible :P
Quote:Original post by farzher
Would it be worth it to look into things like unity/torque/UDK? I don't even know what they are. I want to be programming, not using game maker / scripts. Are they game maker things I shouldn't bother with?
I don't think any of the three engines you mention would fall into the category of 'game maker' applications. If you're unfamiliar with them though, you could download one or more of them and try them out (at least the ones that have free versions or trial versions, which may be all of them, but I'm not sure).
I'd recommend on reading some 3D math(aka linear algebra) before starting with the 3d-programming. Everything you'll do will make much more sense, if you know a bit what's going on behind the scenes. Atleast get a bit familiar with 3d-vectors and matrices. I could recommend a good math primer, 3D Math Primer, which I still use when I need references and such. I think it's great.

Or, you could just move straight on. I first learned C++ with Directx9, which I thought was ok. I believe C# and XNA is easier to start with as a beginner. I've Never tried other graphic engines like Ogre3d. Well, I got a good book for 3d-programming with Directx9 if you're interested: Introduction to 3D Game Programming using DirectX9
Quote:Original post by farzher
I've been programming & designing 2D games for years using adobe flash/flex but was inspired by minecraft and want to move on to 3D. I don't know what language or graphics library to use.


What libraries did you use with flash?

You are aware that libraries for a 3D game will generally be expected to handle more than just graphics, yes? Physics, for example.

Do you have a concept in mind for a 3D game?
I mainly used custom classes in AS3 but I've been moving to flixel.

As for the game I want to make. I just want a guy, 1st or 3rd person view walking on terrain for now. I was looking at XNA but I can't find any 3D tutorials that work because 4.0 just came out. D:
Quote:Original post by farzher
I mainly used custom classes in AS3 but I've been moving to flixel.

As for the game I want to make. I just want a guy, 1st or 3rd person view walking on terrain for now. I was looking at XNA but I can't find any 3D tutorials that work because 4.0 just came out. D:


I'm having the same problem. Just enough has changed with 4.0 that makes all the 3.0 tutorials useless. I couldn't figure out how to convert them either.

This topic is closed to new replies.

Advertisement