Starting with Game Programming

bobross419

Golden Member
Oct 25, 2007
1,981
1
0
Its been a while since I've done any game programming (Last I did was just some basic text based adventures in BASIC) and I came across a book in Barnes & Noble that really sparked my interest.

I'm not interested in doing Flash based stuff, and this would really just be for personal amusement.

Can anyone recommend a good book to help me get started? I'd prefer Java, but I also have access to Visual Studios .net.

I'm looking to do something along the lines of a Real Time Strategy (Warcraft, Starcraft, Age of Empires, etc)...

Any suggestions would be appreciated, thanks!
 

mundane

Diamond Member
Jun 7, 2002
5,603
8
81
Originally posted by: postmortemIA
java? better get acquainted with C#; there you can at least do the damage in directx.

Agreed. Java is fine if you're puttering around for general experience, but with XNA you will have the tools to make a professional product, limited only by your own skills and motivation.
 

MegaVovaN

Diamond Member
May 20, 2005
4,131
0
0
Umm....your local community college? It's cheap to begin with and even cheaper if you're not getting a degree...
 

Auryg

Platinum Member
Dec 28, 2003
2,377
0
71
If you're not interested in flash, go for XNA. Easy *and* powerful.
 

exdeath

Lifer
Jan 29, 2004
13,679
10
81
If you want to do any real game programming (which I assume based on your distaste for flash) start learning C++.

And forget about doing RPGs or RTS games right now. Those are the most complicated types of games you can possibly imagine. Just small elements like path finding make up entire topics in computer science all by themselves. Even if you were an experienced game programmer, those are such huge projects that you couldn't get anything done by yourself in any appreciable length of time (read: you'd never finish anything).

Start simple like Pong, Breakout, Tetris, or a old fashioned top down or side scrolling shooter. Get a feel for the main loop, object management, the concept of simulating multiple independent objects and their interaction methods, movement, input handling, and animation. Then move on to a side scrolling Sonic/Mario type platform game. Once you're happy with that, modify it to a 3D version.

Don't worry about 3D and all the fancy stuff, 3D graphics are easy. But it's the concepts of object management and positioning, game state, and main loop, that you need to get down, and those things are the same for Tetris as they are for Doom 3.

Basically don't get caught up in the fancy stuff. Don't worry about 3D programming or physics programming, worry about GAME programming ;)

Set out a game plan. Know everything you are going to do before you start and don't get caught up in perpetually modifying it and adding "unlimited features" on the fly and making it better before you ever finish your original idea. Lock yourself into a feature set and commit to it before you start straying from your goals with no end in sight. If you come up with new ideas mid project and can't fit them in, save it for the next project.

And the best advise and the most important part is FINISH WHAT YOU START. Even if it's just Pong or Tetris, FINISH IT and polish it up. You can't learn how to get better if you don't know what works and what doesn't because you never finished anything.


If you want cheap entry to actual game hardware and what to get down and dirty, but still make simple games to learn, check out http://www.gbadev.org.
 
Jan 22, 2008
37
0
0
exdeath up here just said it all.
I'm attending fullsail and they have an accelerated game programming course. I had never done C++ before and barely knew any coding and its been crazy since day 1, real crazy. As exdeath said, if you really want to do game programming start C++.
Gamasutra is an awsome website and maybe looking for a college is not a bad idea.
my 2 cents.
 

Journer

Banned
Jun 30, 2005
4,355
0
0
check out dark basic

it isnt very usefull for building real world games, but i think it will help build concept and it should be an easy transition considering you already know basic
 

bobross419

Golden Member
Oct 25, 2007
1,981
1
0
Thanks for all of the great replies...

I've started teaching myself C++ from some tutorial on cplusplus.com (I think that is the addy at least) and the basic syntax isn't that different from Java, so I'm plugging right along. I also looked through some of the begginer articles on gamedev.net and read an article that was basically the same as Exdeath said and it seems like really sound advise, so once I get through the basics of c++ i'll be starting work on my Tetris game and progress from there.

I had taken a little bit of a look at the RTSs and after some thought realized how much AI programming and whatnot needs to go into it, so I will be putting that off for some time (years lol) while I work on the basic skillsets.

Like I mentioned originally this is really just for personal amusement and to do something fun with programming instead of just doing data manipulation and whatnot... something I might even be able to use when I have kids... I'm from Orlando and I've heard alot of things about Full Sail (from both students and staff/faculty) and for what I'm looking to do I just don't think it is worth the money, but I wish you the best of luck Lipton.

Anyways, thanks for all of the great responses...

Bob
 
Jan 22, 2008
37
0
0
Ty Bob,
goodluck to you too and any questions please feel free to ask (even though these guys probably know a lot more than I do).
Have a good one man
 

invidia

Platinum Member
Oct 8, 2006
2,151
1
0
I also recommend going C++ first before ANY other programming language. Java's good but C++ is typical the core language in most games. It's not as hard as people say. Then you can build your way up and start learning Windows API/programming, directX, etc.
 

hanoverphist

Diamond Member
Dec 7, 2006
9,867
23
76
first game i wrote was a drag race game. had a choice of vehicles, random outcome and modifiers based on vehicle type, size and speed specs. it was fun to figure out how to get all those to work together, and fairly easy to write when broken down. the second was a shooter game, which was a bit harder. the hardest part of that was tghe timing, and calibrating the aim and the moving target dimensions/ placement id give a vote for C++ then C# also. java works well for web based games tho, the drag race game i ended up porting to java as well as director, and had it on a web page to mess around with for a while. the director file was too large to play unless you had dsl or cable, but the java one was very easy to run on dial up.