Game Programming and Development Tools

games programming? LOST!! – spade89



Posts: 561
From: houston,tx
Registered: 11-28-2006
hi i am a highschool senior and so far i've learned c++,java,vb&sql but i've never programmed a single game i hear about opengl,directx and the java3d library,but i don't know where to start learning? if anybody could point me to a tutorial or some game codes online it'd would be very helpful.

ps:if anyone can find any c/c++ networking source codes for windows i would really appreciate it. ^__^

a real programmer can write assembly code in any language



Posts: 1828
From: Indiana
Registered: 10-11-2004
Hey Spade89!

Welcome to CCN!

Wow, well you certainly ask some broad questions.

That's great to hear about everything you've been learning! I started writing my first multiplayer game when I was back in high school -- the starting place that I used was just a simple chat program, then sortof built my game on top of it.

A great site that I used back then (and still use now) is Planet Source Code -- fantastic site for finding snippet example projects to do various things. You asked about a networking example for Windows in C++ -- you asked and you shall receive. It's pretty bare-bones, but I imagine that's what you're looking for.


In Christ,

Realm Master


Posts: 1971
From: USA
Registered: 05-15-2005
spade, i evny you. You know WHAAAAY more langauged than I do... Well, I know BB3d, C++ and Java, but not very well... at all...

Prety much, in evny every person on the forum.

Which, btw, I welcome you to.

You outrank me by 2 years...

Well, game programming is very simple, except in C++, you have to download and become familiar with a GFX library.

1: Form an Idea. Easy, either go for the inginuity (Space-battle Pong) of an old game, or just plan a little somehting.

2: begin programming your game. Start with some classes and then reovle functions around them. Start with, say, (if your making that space-battle pong) a pong paddle class. Yay. Give it some umm... what do you call them? Fields? Yes, call them fields. Give your pong paddle some x and y coordinates, and some health for starts (If its a space battle, its gotta be destroyable) yipee. Create a function in the pongpaddle class. W00tness. if your key is pressed up, move your y coordinate of your paddle up. if the key is pressed down move your pongpaddle down.
create a ball class and spaceship class, and create functions for them. Have your spaceships float across the gap between the two pong paddles and shoot bullets at randome intervals (a bullet class will be needed as well) You'll need to know how to use images and how to draw them and move them, however, wich I can't tell you in C++, or Java. Only know the basics of those, sorry.

3. Create a game class (if your in java... and maybe C++ too...) preceed to create a game function. wee!! In the game funciton run your buffers and image drawing stuff and your pongpaddles and balls and spaceships and bullets and such.

4. Slap me for being so vague and not helping at all.

Its hard to explain, but I tried.

Sorry, no online tutorials I know of.

I learned most of my stuff outa a book titled "Game Programming for Teens" I know the language it would have you use is below you, but the ideas are what you really need. How a game works and all that.

yeah, im a little crazy
Check out my crazy sig that I made:



Posts: 1398
From: Fort Wayne, IN, USA
Registered: 10-23-2006
I'm a bit confused, what is your problem? You know some languages.

RM: I read the same book, but as for experience, You are much more experienced than I. I'll only be doing programming at all for 1 yr in March, and thats only Blitz.

MM out-
Thought travels much faster than sound, it is better to think something twice, and say it once, than to think something once, and have to say it twice.
"Frogs and Fauns! The tournament!" - Professor Winneynoodle/HanClinto



Posts: 91
From: Romania, Tg Mures
Registered: 11-26-2005
Originally posted by spade89:
hi i am a highschool senior and so far i've learned c++,java,vb&sql but i've never programmed a single game i hear about opengl,directx and the java3d library,but i don't know where to start learning?

OpenGL and DirectX are low level APIs. They are being used in building rendering pipelines. Unless you have a special interest for 3D graphics pipeline I recommend using a library that takes care of that for you.

CCN had recently a few threads discussing various engines and game toolkits. Besides that you have plenty of external resources. Use Google and Wikipedia as starting point.


My projects page:

'As there are plants which will flourish only in mountain soil, so it appears that Mercy will flower only when it grows in the crannies of the rock of Justice; transplanted to the marshlands of mere Humanitarianism, it becomes a man-eating weed, all the more dangerous because it is still called by the same name as the mountain variety.'
The Humanitarian Theory of Punishment
by C. S. Lewis

[This message has been edited by fearless (edited December 01, 2006).]



Posts: 561
From: houston,tx
Registered: 11-28-2006
hanclinto you have no idea how much of a help you've been i am looking up and so far i am really enjoying it .

and fearless i know some languages but i've been learning programming for the past 2 and a half years,so far i've been able to master the core languages of c++/c ,java and vb but the thing is there are so many libraries ,headers,api's,classes and in vb's case activex's to learn that i don't think it is possible to ever master an entire language because as technolgy grows more and more of this libraries will be made so just when you master one set of libraries you find a new one is released.

so far in c++ i've been able to master most of the dos and file i/o libraries but still i don't know mfc,owl,windows socket libraries and ofcourse 3d programming,so i have a long way to go,i was thinking of choosing a career in systems security or cryptography i am a member of and i gotta admit hacking and security related stuff is cool but since i joined ccn i am starting to think of going into games programming so far i've been using the c++ library for graphics(graphics.h) to build some little games but it is 2d ,low resolution and i can't get the the screen to stop flickering.directx sounds like a great library to get started with so i am looking up some of the links hanclinto gave me.

oh and incase you are stil confused about what my problem is ,my problem is i want to learn 3d/2d programming and network programming in c++ but i don't know where to start i mentioned i am i highschool student because i wanted to indicate the fact that i didn't take any programming college courses, i just read a couple of books and took some tutorial softwares i downloaded and most tutorials teach about programming in the standard libraries not on advanced libraries like directx,opengl,or winsock.h,so i was asking help for someone to point me to the right resources that you belive will help me out.

PS: "Thank you very much for your responces and help,you have no idea how much flaming you could get for asking broad questions like that on other sites,This has got to be the friendliest site ever."

a real programmer can write assembly code in any language



Posts: 484
From: Queensland, Australia
Registered: 03-16-2006
For your problem with the flickering, you need to implement whats called double buffering. It's where you have an offscreen buffer which you draw to and then flip it (when the drawing for that current update, and also when the screen has done a vertical retrace of the screen) with the onscreen buffer.

DirectX I would recommend the "Introduction to DirectX 9.0" by (I think) Frank Luna. I bought the "Shader Approach" one just about a fortnight ago and it goes into a great depth of information.

For OpenGL I would recommend the NeHe website. He has pretty much the best opengl tutorials (and most indepth) around.

As for the networking, winsock is pretty good, there is also DirectPlay as well (part of DirectX).

For winsock check out:

Other sites I'd recommend:
I joined them about 5 years ago when I started programming, they have a lot on general programming and also a bit into games programming.
Seems to have some pretty good information.

Also, just ask questions here, there should be someone who could answer the question(s).