Sign in to follow this  

Game Design and Development Curriculum

This topic is 3782 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello everyone! I'm not really new to programming, but it has been awhile since I've programmed. I'm looking to this community for a curriculum designed to learn more about designing and programming games. For example: Trig Calc C++ AI I'd like to make sure I actually understand what I'm doing and what you guys think is most important. Thanks so much for any help you can give! I look forward to interacting with the community! :) Condy

Share this post


Link to post
Share on other sites
Condy,

I'm going to go out on a limb here and assume you're relatively young, perhaps high school or junior high. I only say this due to your questions about Trig and Calculus. Either way, it's fine.

As with everything, just start from the beginning. Make sure you've got a solid background in Algebra, as programming has a strong basis in mathematics, and algebra in specific.

Once you're comfortable with Algebra, move on to Geometry and Trig. This will better prepare you for graphics programming, etc...While Calculus is good to know, it's not inherently useful in *most* game programming, at least not the stuff you'll need to do initially. Better is to move on to Linear Algebra, which deals with vectors, matrices, and projections and and transforms into do different spaces.

That should cover you on the math. Once you've got a good grip on the above, or while you're working on Linear Algebra, move on to learning a programming language. On these forums, C++ is not advised as a starting language. Better is C# if you're interested in compiled language, or Python if you're more interested in interpreted languages. They both have their trade-offs so which you pick is ultimately irrelevant. You want to learn as many modern languages as possible, and with each you learn, the next becomes easier to pick up.

Finally, after you've got a good grasp on mathematics and programming, then pick up various books on game-development related issues such as Graphics, Artificial Intelligence, Physics, Audio, etc...

More often then not, people get burnt out because they try and learn too much at once. Take small steps, learn one thing at a time, and when you've attained the level of journeyman or accomplished, then move on to the next topic.

That's just my advice, mind you, and others are sure to disagree.

Cheers!

Share this post


Link to post
Share on other sites
Well lol I guess I should have introduced myself a bit more...
I'm 26 I have an associate degree in computer science. I know the following languages: C++, Java, PHP, C#, C...you get the point lol. I've been up to and through derivative and integral calculus. I'm just looking for a way to turn my current knowledge into something more productive and fun. My degree is wasting away basically so yea that's how I ended up here. I don't intend to make a career out of this per say, but I'd like to use it as a fun alternative to keeping my skill set up to date for future job hunts. I've looked at game design schools as far as seeing what "courses" they offer but I'd like to kinda get the details of the courses if you know what I mean. Thanks again :)

Share this post


Link to post
Share on other sites
One of the best ways to learn is to try. Since you have a degree, you probably have a good chunk of the background material in your head there somewhere. Why don't you try to make a simple game? Something fun, but not too ambitious -- whatever you feel you might be capable of. Tic-tac-toe is fine, as is Hangman. Or you could look in the C# Workshop forum at their current "Project #1" which is a maze generation program if you're up for a bit more challenge. That could easily turn into a pretty neat Roguelike.

Share this post


Link to post
Share on other sites
Condy: AHAHA!!

Sorry about that. Hopefully you can understand my poor assumption.

At any rate, if you're already familiar with a few programming languages and mathematics, then as Josh said, the next best thing is to just jump in and get started.

There are various areas of study related to game development: Graphics, Artificial Intelligence, Audio, Physics, UI Design & Implementation, Animation & Skinning, Networking, Database...and the list goes on and on.

At this point, you just need to pick one and get familiar with the philosophies, tools, and libraries available at your disposal. In general, people tend to jump the gun and go straight to graphics - largely I think, because like to see shiny things on their screen. So it's completely understandable.

If you're interested in beginning with graphics, then you historically had 3 options.

1. A course in graphics theory, ie. transforms, projections, lighting, color-blending, etc... With this route you could either roll your own graphics engine or at least become familiar with the "mathy" stuff involved in games. However, you're not likely to develop much to speak of with this method as anything you do will likely not be hardware accelerated (unless you write your own device drivers - not recommended)

2. Option 2 is OpenGL. This was historically easier than option 3, still very powerful, and portable between Windows, Linux, and Mac. Not a bad option by any means, but slightly less common in commercial games than option 3.

3. Option 3 is DirectX Graphics (aka Direct3D). Direct3D tends to be a little more difficult to work with than OpenGL, but is arguably more powerful. Option 2 vs. 3 has created historic religious debates so I wont bother. But I will say that if you go with option 2, the NeHe site is a well known site of tutorials to help you get started with OpenGL.

However, besides the above two there is a third, more recent option - XNA. XNA is a managed (C#) wrapper around Direct3D which makes it much easier to work with (easier than OpenGL), while at the same time only exposing the functionality of DirectX which also usable on XBox 360. So this option is particularly attractive for people who want a long-term hobby relationship with console games, etc...

My advice, if you're interested in graphics, is to check out XNA with C#, explore some of the math behind computer graphics and start on something simple - such as a terrain engine. Once this is done there are TONS of places to go from there.

If you're interested in something other than graphics, AI, Audio, etc...just say so, and we can provide resources for those as well.

Cheers!

Share this post


Link to post
Share on other sites
Cool thank you :) My main problem isn't the language as I'm pretty capable of learning a new one in a week or two anymore these days. I just didn't know where to go when I hit graphics. I can do business related things with ease, but I've always been the person to want to know more. Again, thanks for the information I'll definitely be checking it out and reading more around the site!

Condy

Share this post


Link to post
Share on other sites
Where I'd really like to start is with something simple. I understand how to read other code and understand what it's doing. I understand how to design something before I start. Where I lack mainly is how to determine what the key parts to a game are.

I get stuck because I'll read through some sample source code and I'll understand what it's doing, but I often find myself wondering: "how did they even figure this out." More importantly: "how do I teach myself how to be able to make this as easy as developing a class."

I'd be MORE MORE MORE than happy just being able to code a simple game such as the space invader java example I've been examining for the past few days.

I guess my ultimate question is how do I fill in the gaps? I want to be at the point of reading someone's code and being like yep I knew that. Not, wow what are they doing with this timer and how do they determine how that affects movement."

I do read through the API's and such but I just can never make sense of things and when I happen across something that seems so simple as "public class aldjs extends Canvas" and I don't understand it. Tutorials tend to leave out the information I need and that's where I get frustated...I hate having code like that in there without reference how to really use it and understand it. I mean this person does a little bit, but I'm left wondering why I've never seen this before lol.

Hopefully this makes sense as I read back through it it's probably just as confusing as how I feel reading sample game code...but then again if I'm confused to begin with I guess it wouldn't make much sense if I could explain myself...wow yea. Thanks again everyone!

Condy

PS - Here is a link http://www.cokeandcode.com/node/6 to the Java tutorial with space invaders I was referring to. Honestly game tutorials don't come much simpler than this lol!

Share this post


Link to post
Share on other sites

This topic is 3782 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

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