Solved

what should i do to start in games programming...

Posted on 2003-11-11
6
662 Views
Last Modified: 2013-12-04
hi all,

i am a graphic developer(area of work include 3d studio max, adobe photoshop, flash etc). i

have good knowledge of java programming as well.  

with this background in mind where should i start go my way in to (3d) games programming

thanks in advance

happy gaming
0
Comment
Question by:tuxedo_in
  • 2
6 Comments
 
LVL 11

Accepted Solution

by:
bcladd earned 50 total points
ID: 9721964
(1) It is hard to get a job in the industry. Fangirls and fanboys do not have an easier time of it. Really.

(2) The above disclaimer out of the way, a good games programmer is a good programmer. If you want to do graphics programming it means you need to understand computer graphics. I would suggest

     Hearn and Baker _Computer Graphics_ is an introductory though deep textbook on computer graphics. It covers enough geometry and matrix arithmetic to keep you going but it is focused on computer representations of the things it is describing.

    Foley, van Damm, et. al. _Computer Graphics: Principles and Practice_ is an alternative to the above that is sometimes recommended in its place. It depends on which one you read first, I think, which one seems "clearer".

    Lengyel, _Mathematics for 3D Game Programming and Computer Graphics_ - I have looked at it in the bookstore but haven't sprung for it yet. Some geometry, lots of matrices.

     Akenine-Moller and Haines _Real-time Rendering_ - Advanced but important material

The idea of 2500 pages of technical reading should make you shiver with excitement rather than shudder with dread; being a programmer means constantly working to improve what you know (you are only selling what you know).

These books all expect that you know C++. I would suggest that you get a free compiler and learn it. Koenig and Moo's _Accelerated C++_ is a realy readable book that I thoroughly enjoyed reading. After working your way through that you can find a book that takes you further (I think programming books are a very personal choice as to how each individual learns).

Why am I pushing you toward book leaning. You should be DOING! That is the road to success. You are, of course, right. Using Java or the free C++ compiler you get, find some game tutorials (www.gamedev.net has some and there are others all around) and implement them. At first you'll just be typing what the other person wrote. Then, over time, you'll start wondering what happens if you change 0xFF to 0xAA (only half as many bits set) and then, finally, you'll be able to predict what happens.

Various people will come on here and say you should know DX9 or OpenGL and failure to learn one or the other will result in your failure as a graphics programmer. It is true that you'll need to know something about them both to do a job you get and, more importantly, to make the tutorials work. Don't sweat it as you'll probably figure out what you need to know as you go along.

(3) You might want to try your hand at modifying an existing game. Quake n, Unreal/UT n, and HalfLife all have active mode communities. If you are into 3d  modeling you might be able to make interesting new levels or new game types using existing engines.

More than you ever wanted to hear I am sure but I hope it helps.
-bcl
0
 
LVL 2

Expert Comment

by:blackspark
ID: 9727113
Hi

You have good skill sets for a head start in game programming. If you would like to start programming the hard way and would like to start on your own, learn C++ quickly. It just is as easier as Java.

OpenGL is supposed to be an easier API which has excellent functions to manipulate 3D Data. But Direct X has a lot more features.

If you like to have cross platform compatibility go for Open GL. To learn 3D programming, start from the basics, program as much 2d games as possible as 3D is something similar to 2D with an extra axis. Normally programming 2d games is a very good foundation to start programming in 3D.

Let me provide you a web site where you can learn OpenGL from the ground up:

http://opengl.org/developers/index.html

You dont have to go deeper learning the 3D as both these APIs have well defined functions for your convenience.

www28.brinkster.com/svenkatesh ( My own site with some source codes of 3d games:) ).

Cheers.

Venkatesh.S

0
 

Expert Comment

by:arudson
ID: 9743235
Personally, I think books are the way to go, especially when you're just starting out. I hope it's safe to assume you haven't done much programming, so I'd say get a good book on C/C++.

Java is a great start, but if you want to do any serious game development (especially 3D, *eventually*), you should learn to love C (and it's flavours.. C++, C# etc.). 90% of commercial games are developed in some form of C (and yes, I made that figure up.. but it's probably close to the truth). There's simply more resources for C/C++ game dev than for any other language.

The reason I emphasized *eventually* is because you won't be able to jump right into 3D. It's a vast evolving subject that requires a good base knowledge of 2D graphic knowledge. Simply put, start with 2D.  Once you've made a few small games, and you're comfortable with C/C++, graphics and whatnot, try your hand at learning a 3D API. I'm not going to state preference over which one, since they all do basically the same thing... but most people gravitate towards OpenGL for learning, since it's based on C, and seemingly less confusing than APIs like Direct3D (I learned DirectDraw first, and then moved to Direct3D without any serious issues). There are a plethora of other lesser-known/used APIs out there as well, but stick with one of the two big ones and you'll have an easier time finding help and documentation.

Finally, I must re-iterate the importance of BOOKS. Don't get me wrong, online tutorials are great, and free, but you'll spend countless hours reading poorly written tutorials, or having to peice together knowledge from multiple tutorials. Of course later, once you have the basics down, tutorials are great for updating your knowledge.

Remember, always be resourceful! Seek and ye shall find.
0
 
LVL 11

Expert Comment

by:bcladd
ID: 10120482
Biased but I think my answer addressed the original poster's question and was, well, first.
Points to me.

-bcl
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Artificial Intelligence comes in many forms, and for game developers, Path-Finding is an important ability for making an NPC (Non-Playable Character) maneuver through terrain.  A* is a particularly easy way to approach it.  I’ll start with the algor…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now