- Nov 21, 2010
- 2,460
- 4
- 81
Son wants to learn to be a game programmer. I really know nothing about this so, what direction should I point him in?
ANY help is great...Thanks!
ANY help is great...Thanks!
Eh....I wouldn't start anybody on C++. Start with learning basic concepts about design, flow control and algorithms, and see if they grok them. Don't want to do that in C++, too easy to get bogged down by how close to the metal they are.
He'll need to get to that level of detail eventually, but I'd start with something simple, Java or .net games of a very simple nature.
C++ for a 12 year old? uhh no.
I was making games on the C64 when I was 12, but that was in Commodor BASIC, very easy to learn. By the time I was 14 I was able to optimize small sections of code using assembly, but that was after a thorough understanding of the system learned through BASIC.
Java/C# with a pre-built API would probably be the way to go. you want him to have fun while doing it. XNA comes to mind but that might be too high of a starting hurdle. I would possibly look into the Java and C# API's for Lego Mindstorms, very easy to get started. Building robots and programming them, now that would be fun.
/facepalm
Don't give a 12 year old a book about C++ and OpenGL. You'll destroy any hope they had of ever writing a game when they haven't even blitted a couple of bitmaps together after a month of staring at books.
Look at some kind of simple 2D oriented BASIC style language. Something where there are built-in constructs for handling graphics and sound and they only thing the kid has to worry about is handling input and moving a couple of images around the screen. Have them start with something simple and manageable like a Combat style game. It's a single screen, can be as simple as four objects (two tanks and two bullets) and can be built upon as the kid learns, adding buildings that block shots, item pickups, etc.
After he's comfortable with basic programming concepts then maybe start thinking about moving on to lower level languages and APIs.
I'm not saying to start the kid off with Opengl. I'm saying, get him familiar with programming in c++. Teach him what a function is, what a class is, ect. Then, once he can comfortably chug out some simple text parsers is when you spring the mess of opengl on him.
Make him a programmer first, then teach him how to program games. If you start by trying to program games, you'll end up not programming anything.
GameObject bot = new Bot();
bot.moveFoward();
GameObject bot = new Bot();
if (!bot.isWall(bot.getX() +1, bot.getY())) {
bot.moveFoward();
} else {
bot.moveRight();
}
This.scratch.mit.edu
This.
And to the guy who suggested C++: Seriously?
I stand by my claim, C++ isn't THAT bad. Sheash, You would think I had suggested assembly
i've heard good things about DarkBASIC
haven't used i first hand, but it looks good and has been around a pretty long time
It looks like someone can get a "success" in a short amount of time, which i think is important to keep the interest up.
Spending a week (yes, i'm exaggerating slightly) trying to get c++ to display "hello world" is a poor choice, imo.
Also might want to consider the lego robotics "Mindstorms" construction kit(s). Although it's a bit off your topic, it teaches what else "programming" can do.
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World\n";
}