What level of C++ needed for game development?

Started by
8 comments, last by _paf 11 years, 11 months ago
What level of C++ needed for OpenGL of DirectX simple 2D or 3D game? I'm a beginner programmer and currently started learning C++ with book "Sams teach yourself C++ i 24 hours". Is it good book for beginner C++? it covers ANSI C++ 11 Standart, and is it enough for game development?
Advertisement
You've got a ways to go before you start game programming. Before you start game programming, read ApochPiQ's Become a Good Programmer in Six Really Hard Steps and related articles. This should help you see yourself, your future, and the work required in between.
Fastcall is right in that "major" games will be out of your league for a while. But you can still think in terms of game development as you work through learning a language. Start thinking of the types of problems you'll have to solve in order to make different types of games. As you learn the programming and engineering skills, think about how you could apply those techniques to the problems you've thought up. Even better, you can take a simple game component and try to implement that one piece. For example, you could work out a simple menu system or learn to read and write data files. These are not games themselves, but the skills are very applicable to games. And learning to solve problems on your own is one of the most important skills you can learn.
That depends on what you consider "simple" to mean exactly.

Simple as in Mario games?

Simple as in a Hangman sort of game?

Simple as in just moving a ball around a 640x480 window?

There are such great variances to this question that I, and many others for that matter, can't be totally precise here.

But if you truly just started learning, and you're that much of a beginner, I don't think you should be focusing on actual game development yet.

Better yet, try improving basics of programming, like loops, functions, memory management, pointers, structs, arrays, data types, etc.

Those kinds of small things are the building blocks for later development, and I am a beginner myself at actual game programming, but I have experience of C++ for many months(even though I'm not quite good at it much, and hate console window apps).
You need to learn many things before making a game.

Even an apparently simple 'Mario' game, takes a lot of work to be made.
Hey guys,

I have a question about health pack in my little ascii game :) Evry time when i walk on +(health pack) i incress the life by 10 but when i reach to max health (100) it incress again and i dont know how to fix it :(:(:(
Please help!Thx
I'm guessing the Sams book only covered the language itself, and not any application. I'd suggest you learn how to work with data structures (linked lists, trees, etc.).

I once read a book that covered the C++ language, and then immediately tried to create a game. I found that learning about data structures was the hardest part of creating a game.

As others have said, when you do try to make a game, keep it SIMPLE. Even a game like breakout or pong will be more complex than you first imagine.

You need to learn many things before making a game.

Even an apparently simple 'Mario' game, takes a lot of work to be made.


Yes, but no one in their right mind begins software development and jumps in to a major task(which not really major to a professional at all, but major to a beginner)you have to question their reasoning.

No one starts off with a Mario game. In fact most people start off with a picture on the screen and slide it around.

After that you can add two pictures to the screen and slide them around ... then three!

Then you can add event handlers for input, add sophisticated functions that work together and handle operations efficiently, add garbage collectors, add drawing/animation functionality, and then finally implement some artificial intelligence.

That, to me at least, is how absolute beginners should start out. There would be no discouragement if you start small and work bigger over time.

I'm currently working on a game with a square block that moves through walls to reach a checkpoint, and learning slowly how to implement collision on a 2-D basis.

It may sound dumb to some, but this is progress for me, and you don't need to have years of experience to code games like this, and even more complicated ones as well.

Lastly, even the simplest things in game programming and graphics is things like sliding images being handled by functions, etc.

I realized that these are the building blocks for everything, yet people think it's dumb and/or nothing of a success to do simple things(people have told me it's no big deal to blit images, use Windows API without documentation, etc.).

Many people discourage you by overthrowing a massive set of code, libraries, utilities, functions, data types, syntax, etc.

I recommend anyone with some decent C++ skill(possibly the OP)to try: http://www.lazyfoo.net

It's helped me get back up strong so far in programming since my last downfall from discouragement.
[color=#000000][font=Verdana]

[background=rgb(254, 254, 254)]Starting from the basics of programming is a great way to pave your way for complex software development. You won’t be able to run if you don’t learn to walk. Start with the beginner’s lessons and master everything that you learn. Once you have the basics, the advanced topics will be easier to understand. You might even be able to create your own advanced methods if you have mastered the basics.[/background][/font]
http://www.techyv.com/questions/designing-my-own-game-software


[quote name='3333360' timestamp='1336819377' post='4939534']
You need to learn many things before making a game.

Even an apparently simple 'Mario' game, takes a lot of work to be made.


Yes, but no one in their right mind begins software development and jumps in to a major task(which not really major to a professional at all, but major to a beginner)you have to question their reasoning.

No one starts off with a Mario game. In fact most people start off with a picture on the screen and slide it around.

After that you can add two pictures to the screen and slide them around ... then three!

Then you can add event handlers for input, add sophisticated functions that work together and handle operations efficiently, add garbage collectors, add drawing/animation functionality, and then finally implement some artificial intelligence.

That, to me at least, is how absolute beginners should start out. There would be no discouragement if you start small and work bigger over time.

I'm currently working on a game with a square block that moves through walls to reach a checkpoint, and learning slowly how to implement collision on a 2-D basis.

It may sound dumb to some, but this is progress for me, and you don't need to have years of experience to code games like this, and even more complicated ones as well.

Lastly, even the simplest things in game programming and graphics is things like sliding images being handled by functions, etc.

I realized that these are the building blocks for everything, yet people think it's dumb and/or nothing of a success to do simple things(people have told me it's no big deal to blit images, use Windows API without documentation, etc.).

Many people discourage you by overthrowing a massive set of code, libraries, utilities, functions, data types, syntax, etc.

I recommend anyone with some decent C++ skill(possibly the OP)to try: http://www.lazyfoo.net

It's helped me get back up strong so far in programming since my last downfall from discouragement.
[/quote]

You're absolutely right, that's how i started too.

In fact, i have to admit that when i started, everything was hard (and i'd look at someones piece of code and think, 'What in the world is this?'), but when you have something working, as minimal as it may be (at least to me), it's an amazing feeling of acomplishment.

And as you continue to make small progress, before you know it, you can (almost) make a game (or at least something good)!

This topic is closed to new replies.

Advertisement