Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


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

Posted on 2003-11-11
Medium Priority
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
Question by:tuxedo_in
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
LVL 11

Accepted Solution

bcladd earned 200 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.

Expert Comment

ID: 9727113

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:


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:) ).




Expert Comment

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.
LVL 11

Expert Comment

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


Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Recently, in one of the tech-blogs I usually read, I saw a post about the best-selling video games through history. The first place in the list is for the classic, extremely addictive Tetris. Well, a long time ago, in a galaxy far far away, I was…
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.
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…

604 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