c++ Programming Game Programming, Where do I start?

Started by
18 comments, last by tufflax 13 years, 9 months ago
I have been looking for a forum that wasn't full of people unwilling to help you for a while.

A few years I have been trying to find out how to code c++, possibly Java, But I prefer c++.

I understand Java is similar and in some ways slightly easier, but it does networking better.

Anyways.
I have read many books probably over 800 pages of c++ books, and none of them have helped me. all I know pretty much is

const int
int
string
I always forget how to do vectors.

c output
c input cin cout

I have pretty much given up over the last year and forgot how to do a lot. Even though I didn't learn much.

I don't even remember how to start a function :\.

My goal since the beginning was to be able to catch peoples eyes, and help them using Games, Software, or anything related. But so far the most I have done is make a word game where I forgot even this how to type a number and it prints words then gives you another choice of what to do.

I know about object orientation because that is how my mind has worked for my entire life.

All I ask, is if anyone can help. Where do I start, what books, what sites, What info do I need to tell you.

I have been looking at nehegl. But I feel I am not ready for it. OpenGL is where I want to start in game programming, and then I want to move to DirectX.

Any Suggestions?
Advertisement
In all honesty you don't have to remember everything when it comes down to programming it's why references are widely available with examples of how to use certain features.

Which books do you have?

Ideally you want a strong grasp of fundamentals before starting on anything involving graphics including:
pointers and references
standard library containers and algorithms
functions
classes

The great thing about standard library containers and algorithms is they possess a common interface so it is fairly easy to use a new one.

DirectX uses a lot of pointers and I would guess OpenGL also makes use of them. Once you have a fairly good grasp of the fundamentals you should make a few console games and then move onto a 2D library such as SFML or SDL which will help a lot when it comes to OpenGL as both provide things which OpenGL doesn't (input, sound, etc) and give you a nice interface to using OpenGL rather than the Win32 API.
A couple of ideas for you...

First of all, you don't necessarily need to be able to memorize lots of stuff in order to be able to program. There are plenty of references available, and there's no shame in looking stuff up when you need to. (The more comfortable you get with a language though, the less often you'll find yourself having to look things up.)

That said, if you're having trouble retaining the basics of C++, you might want to give some other languages and/or game development tools a try. A commonly recommended programming language for beginners (or anyone, for that matter) is Python; commonly recommended game authoring tools include Game Maker and Unity. (Of these, I'd recommend trying Game Maker first.)
Tip: Get "C++ Programming for Game Developers" each chapter has exercises related to it, when you manage to finish the first module u may say u are a decent c++ beginner. (my first post here:P )
#include <iostream>#include <string>int main(){ std::cout<<"I will kill your stack"; return main();}
Thankyou all for replying without being completely negative about it :) you have no Idea how long I have been looking for a website where people are mature about stuff and not like the guy from grandmas boy
I'm a n00b myself, and glad that you posted this thread to read on it too.

I have 'some' c++ experience like yourself, but never really grasped it. Maybe we can help each other out? :)
It seems like you read the book only for the sake of saying you've read it, constantly forgetting last page's content as you advance.

This is not a war between c++/java, differences between the two are nearly trivial. Nearly any algorithm can be implanted in a similar way in most language out there. What's important is having a good idea of what you want to do, how to use libraries to help you do it, and how to structure your data and function calls. Then, you can code it using the language documentation/book as a reference. A lot of C++ programmers with years of experiences may still don't know the exact syntax to create a templated class without looking in the documentation.

Most C++ books just explain everything about the language from the start to finish, with examples. What it don't tell is you is everything else, from programming paradigms (Object-Oriented/Procedural) designs, mathematics, binary logic operations, stuff like that. For example, If you are lucky, it may tells you about your IDE debugger and the thing it can do, but not actually how to track down everyday life's bugs with it. I hate to say it, but having a good teacher guiding you through it can help a lot.

Unfortunately, you need to know the basics about functions calls, class/objects hierarchies, variable types, pointers and things like that before coding anything, but it's nothing impossible. A focused programmer who already know a language can easily learn how to use another (even C++) in a matters of just a few hours in one evening.

Bottom line: don't focus on your book, don't focus on the language. Simply think about what you want to achieve, and how to use programming languages to do it. With experience, and by looking at code, you will learn better ways to do things and learn proper programming habits.

That said, don't jump into programming your own game engine with complete opengl/directx gfx engine, shaders, physics, entity management, assets loading, maps and the whole package by yourself right now because that's your goal. That's not an achievable goal. You better take an existing engine like Unreal3 and modify it if that's what you want to do. On the other hand, using a library like SDL/SFML, minus the OpenglGL parts, trying to paint a simple bitmap rectangular surfaces reacting to keyboard arrows inputs on a black fullscreen background can be a nice project to start with, when you are bored of trying to understand how to overload << operators with multiple data types without even having the slightness idea yet of why you would want to do that..

Ok, I'm finished talking.
ok, thankyou :P

I have done quite a bit of learning the basics

A while ago earlier this year I was coding this http://pastebin.com/KRw2r1hA

but never finished

When I can create a game similar to Zelda Ocarina of Time is when I know that I have reached my goal. I can do modeling similar to that.


And yeah, maybe we can work together Labombadog.

Do you have a form of msn? yahoo messenger?

jdfskitz@hotmail.com
jdfskitz@yahoo.com


those are mine :P

I use my Msn more. or we could use the chatroom up there? aren't we able to join our own rooms?
>>
>>
>>
>>
>>Go to channel wecanworkitout
>>
>>on the chatroom and we can talk there if you don't have msn
...or you could just ask in #gamedev if you're going to use the IRC applet.

This topic is closed to new replies.

Advertisement