Sign in to follow this  
rjhalvorson

Learning Path

Recommended Posts

rjhalvorson    100
Howdy, Been lurking for some time, but haven't posted anything. Anyways, I have a question for some of the veteran people here in regards to a programming learning path. I have a degree in Animation and Media Art, but I focused much of my portfolio on 3D art. I am currently studying the C++ language so I can slowly work my way up from small games like tetris into making larger games and eventually get into the industry as a programmer. I want to be a programmer for several reasons, but mostly because I'm good with it code in other areas like web, and have a strong background in math and logic. Anyways, to make a long story short, I have been studying the C++ language religiously and now consider myself an advanced beginner, with the knowledge to write simple programs. I want to make the next step into graphics and more advanced programming, but I have noticed there are many different routes I could take with DirectX and OpenGL. My understandings of how C++ works with OS like Windows is also very much a novice level. If I have a solid understanding of C++ and would like to eventually be comfortable working with larger games with networking using a render engine like OGRE, what is the learning path anyone with experience would recommend? I'm interested in skills that will land me a job in programming while building a portfolio of small (think tetris), increasing to more complicated games.

Share this post


Link to post
Share on other sites
Atrix256    539
If wanting to learn an engine, find an engine that is open sourced so that you can play with and modify the code (:

If choosing between OpenGL and DirectX I would recomend DirectX.

Reason being, OpenGL used to be THE 3d graphics standard across all platforms and it was great. Video card manufacturers catered to the OpenGL standard, DirectX didnt even exist.

Then, MS bought some software from a company in england which became the first version of DirectX.

Origionally DirectX was a layer above OpenGL and would just translate your graphics calls into OpenGL calls, OpenGL was still king.

In typical MS fashion, they strong armed the standard to make their own NEW standard which of course only worked on windows. They got video card manufacturers to start making DirectX specific cards, they shipped versions of windows with drivers which were intentionally designed to make OpenGL run slower so that DirectX seemed like the better choice, and shipped OpenGL headers have been stuck at 1.1 forever.

Anyhow, MS kind of killed GL as the graphics library standard (at least on windows) and as a result it's difficult to use and not as reliable as it should be (ie for those people who have the slow GL drivers).

MS did this kind of thing against netscape years back too, this is just how they roll :P

For windows and xbox 360, directx is the way to go.

For wii and ds, they have their own 3d graphics library which is similar to directx and opengl, same for ps3, psp, etc.

for mac, ipod and linux, opengl is the way to go, but youc an see those aren't really big platforms that you are likely to make games for (ipod is pretty big but it depends what you want to do).

But hey, it's going to be difficult to get a job as a programmer.

I had been programming as a hobbyist game developer for 10 years, and a professional business software developer for 6 years and it took me 8 months of constant rigourous searching to find a company that would give me a chance.

That was about 3 years ago when the economy was ok too (;

Almost all of the people who i've worked with who were just breaking into the industry as programmers were fresh graduates from regular schools or game schools.

And one last thing, are you sure you want to be a programmer really? Have you considered the route of a scripter? Scripters have to be fairly technical folk but not as much as full on programmers so the learning curve is a lot less steep.

The bonus to being a scripter though is you often are classified a designer as well so you get to work with a alot of the creative aspects of the game as well, where as a programmer, mostly it's just designers figuring things out and asking you to make code for them.

HTH!

Share this post


Link to post
Share on other sites
Brain me    170
Quote:

They got video card manufacturers to start making DirectX specific cards, they shipped versions of windows with drivers which were intentionally designed to make OpenGL run slower so that DirectX seemed like the better choice, and shipped OpenGL headers have been stuck at 1.1 forever.


Microsoft isn't the only developer for opengl drivers for Windows platforms. The latest drivers from nvidia and ati are very reliable and fast.

Share this post


Link to post
Share on other sites
Atrix256    539
You are right but good luck footing the bill for techsupport when all those people call in and when your review scores suffer when players complain that the game runs really slow even with the graphics settings turned down :P

Share this post


Link to post
Share on other sites
rjhalvorson    100
Thanks for the reply Atrix, you've declouded a lot of the questions I had about the different aspects of visual aspect of programming.

I definitely want to go the route of the programmer. If I can't get a job right away, I want it to be a serious hobby. Also, I would think that if you can program, than scripting is probably something that is easy to pick up.

I mentioned I already have a BA in art, and I'm looking into getting a BS in Computer Science, but I do not want to spend the money when I can teach myself just as easily and without costing an arm and a leg. The education system is broken in this country when it costs nearly $1500 to take a class on calculus when I can buy a book on Amazon for $20 and learn nearly identical information, but that's a whole different subject.

Ultimately though, I want to make my own games and sell them. The cliche is everyone wants to own their own game company, but rather than post about how I'm making my own MMO, I am going about it from the ground up, and have no timetable, just long term goals. The benefit in learning programming is that I could go the route of software development as well.

In the short term I just want to learn how to program a visual appealing full functional tetris game, while learning what I need to know to get to Step 2.

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