Sign in to follow this  
TheCompBoy

Where to start 3D game programming?

Recommended Posts

TheCompBoy    120
Hello guys!
I looked around the web but i realy didn't find anything that realy helped me.. I found stuff like DarkGDK is this something to have ?
Mostly i want to learn game programming with OpenGL since i realy want the cross platform feature.. So is there any good place to start with OpenGL game developement?

I did check some leassons from youtube and also just normal sites like blogs.. But it feels like when theese people show me how to draw a 2D Flag or something like, Damn this is hard.. I need more research about OpenGL and maybe more learning first..

Share this post


Link to post
Share on other sites
doombunny3    102
To start learning 3D Game Programming, you should start learning 2D game programming, and work your way up. Don't jump right into something you have no knowledge of, get your feet wet in some 2D stuff first.

And before that make sure you understand basic computer programming, if you want cross-platforming I suggest learning C++, if you already know it then disregard this.

As far as what kind of API to use I suggest SDL. it's pretty simple to use, great for 2D games and it has OGL built into it so it can be easy to jump from 2D to start learning 3D OGL when you feel your ready.

Hope this helps.

Share this post


Link to post
Share on other sites
R1cochet    236
If you are just starting out with game programming then I would have to agree with what doombunny3 has to say, start with some easy 2D games and move your way up. If you have already done that then you can start with 3D games. 3D graphics are just one part of what goes into making a 3D games there are a lot of other things that you have to consider like physics etc. I would personally recommend making a simple space shooter or something like that to begin with as it is as bare bones you can get in 3D games without worrying about other aspects.Here is something that you can use for learning Opengl http://www.arcsynthesis.org/gltut/index.html

Share this post


Link to post
Share on other sites
TheCompBoy    120
Thanks for great answears!
This brings me another question.. Doombunny says SDL is great for 2D games but i've heard Allegro is also good.. Which one is best for game programming?

Also.. I did write some 2D games before i did ask this question.. But i guess maybe i should make some more before going into the tough stuff..

Share this post


Link to post
Share on other sites
JosephParrilla    171
If theres an openGL tutorial that teaches some 2D, just do it. Thats the basics of getting used to openGL, you cant expect to start creating moving 3d shapes with shadows and all that in the first line of code. You have to start from the beginning.

also, darkGDK and OpenGL are different. Dark is a game development kit, it is not pure openGL programming.

Share this post


Link to post
Share on other sites
R1cochet    236
I'm assuming that since you are looking at SDL and Allegro for programming 2D games that you know a decent amount of C/C++. I have used Allegro for 2D games and it's a good library,I can't say anything about SDL since i have no experience using it. Have you thought about using XNA for making games, I'm saying this because it makes it very easy to create 2D as well as 3D games using it and since you know some C/C++ the learning C# would be relatively easy. Also it takes away a lot of the low level stuff and lets you concentrate on just making the game which in the end is the main concern :)

Share this post


Link to post
Share on other sites
JosephParrilla    171
[quote name='TheCompBoy' timestamp='1312999047' post='4847261']
So its more valuable for me to learn OpenGL than things like DarkGDK?
[/quote]

What are you interested in? Building games from the low level up? Or being a higher level designer?

Using OpenGL will force you to write a lot of engine code... youll learn alot, but its highly technical and will take longer to make games. If youre more about the finished product and flashy games and you dont care about what happens on the lower level, use an engine.

Only you know what is valuable to you.

Share this post


Link to post
Share on other sites
JosephParrilla    171
[quote name='TheCompBoy' timestamp='1313001634' post='4847271']
Can i read about making engines or is there som articles i can read about them? I am realy intrested in learning so much i can from this.
[/quote]

I wouldnt concentrate on "making engines"... just make games using a lower level framework.. and you will learn about engine stuff. My advice is to grab Microsoft XNA. Its a nice library that will help you do 3D stuff, but it wont cover up all of the details like a DarkGDK or Unity will. For me, I really like to mess around with tech, I tried out Unity... and it was just too far removed from the level I want to work at. Programs like that are targeting two types of audiences in my opinion.. Lone developers who just want to make games and dont want to worry about anything that doesnt interest them on the lower level... and teams of developers with artists and designers who need to be able to get stuff done and prefer to do things in a GUI environment with rapid prototyping... XNA does enough so that you dont need to go through pure DirectX calls, but it just leaves you alone and lets you be a programmer and learn everything about games from the ground up. For me, thats the fun of it.

You can definitely be interested in both low level code and making finished games, biut you just need to adjust your expectations. By starting from the bottom, you have ALOT more work ahead of you than someone who is using an engine has. For me, my main interest is 2D games, so it helps that I dont need as much functionality as modern 3D games do. Because of this, I can use a lower level framework and be quite productive. If my goal was to make modern style games... something like a 3D shooter, doing it the way I work now would be ALOT more work.

Share this post


Link to post
Share on other sites
doombunny3    102
To go back to SDL and Allegro heres what I have to say.

I like SDL a lot, but I also have very little knowledge of Allegro. But heres what I can tell you:

As I said SDL can work with OpenGL so it's a good bridge.
SDL is very well documented and I can link you to some good tutorials ([url="http://www.sdltutorials.com/"]http://www.sdltutorials.com/[/url], this site can walk you through making a basic SDL engine.. very basic and they just launched a new beta for new tutorials so it should be very good. [url="http://lazyfoo.net/SDL_tutorials/index.php"]http://lazyfoo.net/S...rials/index.php[/url], this is another good website for tutorials and even has a tutorial on using OGL with SDL)

Also there is documentation you can download on SDL's website.

SDL and Allegro have their differences but I wouldn't say one is better than the other. It's which ever you feel more comfortable with. There is also SFML which I have no knowledge of whatsoever.

Now, I would say that you should be able at the least to make a Pong Clone, Space Shooter, or some other simple 2d game at minimum before moving on to 3D. As for 3D programming I sadly have no knowledge of any tutorials or references but others shall be able to help with that.

Share this post


Link to post
Share on other sites
TheCompBoy    120
I'm intrested in learning C++ and not C# sorry..,
And SDL sounds pretty good i will look more into it see what i can find!

Thanks for the good help guys!

Share this post


Link to post
Share on other sites
Gasoline    115
When learning something new, I would personally rarely learn it from a website. It can have not-up-to-date information and other issues. Invest in a good book, It will serve you good.

[url="http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dstripbooks&field-keywords=Beginning+OpenGL#/ref=nb_sb_noss?url=search-alias%3Dstripbooks&field-keywords=OpenGL&rh=n%3A283155%2Ck%3AOpenGL"]http://www.amazon.co...55%2Ck%3AOpenGL[/url]

However as others have pointed out, starting from 2D graphics would be clever since you would know the basics when you dive into 3D. You are learning C++ I would go with either Allegro or SDL. It does not matter what you pick since the two are very similar. If you pick Allegro you can aquire [url="http://www.amazon.com/Game-Programming-All-Jonathan-Harbour/dp/1598632892/ref=sr_1_3?s=books&ie=UTF8&qid=1313046496"]this[/url] great book. With 800ish pages this will get you up in no time.



I didnt read all of the postes in this thread, just first few, so pardon me. :mellow:

Share this post


Link to post
Share on other sites
TheCompBoy    120
Thank you Gasoline intresting books, But i think i will look more into Allegro and if its not for me i will go back to SDL,
And since i don't have afford any more books at the moment i have to settle with online tutorials which i didn't find many of for Allegro.

Share this post


Link to post
Share on other sites
doombunny3    102
Yea, I forgot to mention books. They are the greatest thing since sliced bread. But if you don't have money then online tutorials are easily the next best thing.

Share this post


Link to post
Share on other sites
Serapth    6671
On the topic of books ( and money ), if you have the means, especially while learning, buy a subscription to Safari Books Online.



Seriously, access to 14,000 books online for less than the cost of a single book a month is a bargain and a half when buying multiple books!



That is, if you can read on a screen.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this