Starting to learn C++ and game programming, what should I learn?

Started by
15 comments, last by AverageJoeSSU 13 years, 2 months ago
Start yourself by writing first small 2D games in C++ using SDL
then after practice move towards OpenGL and D3D
Advertisement

'NEXUSKill' said:

Ok first step is as you are, learn to code, C++ is a good language for it, but as jump starting for beginners oriented to game development it wouldn't be my first choice.

I would advice you to begin with a more game oriented framework such as Flash ActionScript, Unity or XNA, once you have the basics of object oriented game programming you can migrate to other languages with more ease.



I agree, and I cannot stress enough how important it is to do this. These environments are controlled environments, ie. it is more difficult to cause a problem.

Unity, XNA, all provide you with a foundation for making games, a community to ask questions, and tutorials galore at your disposal. This may not be the exact technology you want to use with your game (i actually think they could be very easily you just dont know that yet, especially unity), but it is a great foundation to help you learn the basics of coding in games.

Couple this with learning C++ on the side, and you would be very surprised how fast the 2 will meet together. You will learn what classes make up a framework, what parts of a framework you REALLY like, (ie automatic asset loading from a folder on your computer) and see how you would use them in making a game. I cannot say how important this kind of knowledge is when coding a game engine of any kind.


Okay, thanks for both of you. However, I really don't like C# and I dont want it to confuse me, so can I use XNA, Unity or Flash ActionScript (never heard before) with C++? If not, can I learn to use SDL instead of those? Is SDL and XNA etc. even the same thing?

PS. I have a great game idea, but it really pisses me off that I can't start my game anytime soon :)

'AverageJoeSSU' said:

'NEXUSKill' said:

Ok first step is as you are, learn to code, C++ is a good language for it, but as jump starting for beginners oriented to game development it wouldn't be my first choice.

I would advice you to begin with a more game oriented framework such as Flash ActionScript, Unity or XNA, once you have the basics of object oriented game programming you can migrate to other languages with more ease.



I agree, and I cannot stress enough how important it is to do this. These environments are controlled environments, ie. it is more difficult to cause a problem.

Unity, XNA, all provide you with a foundation for making games, a community to ask questions, and tutorials galore at your disposal. This may not be the exact technology you want to use with your game (i actually think they could be very easily you just dont know that yet, especially unity), but it is a great foundation to help you learn the basics of coding in games.

Couple this with learning C++ on the side, and you would be very surprised how fast the 2 will meet together. You will learn what classes make up a framework, what parts of a framework you REALLY like, (ie automatic asset loading from a folder on your computer) and see how you would use them in making a game. I cannot say how important this kind of knowledge is when coding a game engine of any kind.


Okay, thanks for both of you. However, I really don't like C# and I dont want it to confuse me, so can I use XNA, Unity or Flash ActionScript (never heard before) with C++? If not, can I learn to use SDL instead of those? Is SDL and XNA etc. even the same thing?

PS. I have a great game idea, but it really pisses me off that I can't start my game anytime soon :)


You cant use c++ with XNA/Unity/Actionscript, but you can use C# with Unity.(btw Unity is really easy to use and you can get some really impressive result fast)
If you want to go with c++ i suggest you stick with SDL but if you never programmed before its gonna be hard.
SDL and XNA isnt the same thing, SDL wont run on the xbox360 and dont support 3D(correct me if am wrong)

'InD_Games' said:

'AverageJoeSSU' said:

'NEXUSKill' said:

Ok first step is as you are, learn to code, C++ is a good language for it, but as jump starting for beginners oriented to game development it wouldn't be my first choice.

I would advice you to begin with a more game oriented framework such as Flash ActionScript, Unity or XNA, once you have the basics of object oriented game programming you can migrate to other languages with more ease.



I agree, and I cannot stress enough how important it is to do this. These environments are controlled environments, ie. it is more difficult to cause a problem.

Unity, XNA, all provide you with a foundation for making games, a community to ask questions, and tutorials galore at your disposal. This may not be the exact technology you want to use with your game (i actually think they could be very easily you just dont know that yet, especially unity), but it is a great foundation to help you learn the basics of coding in games.

Couple this with learning C++ on the side, and you would be very surprised how fast the 2 will meet together. You will learn what classes make up a framework, what parts of a framework you REALLY like, (ie automatic asset loading from a folder on your computer) and see how you would use them in making a game. I cannot say how important this kind of knowledge is when coding a game engine of any kind.


Okay, thanks for both of you. However, I really don't like C# and I dont want it to confuse me, so can I use XNA, Unity or Flash ActionScript (never heard before) with C++? If not, can I learn to use SDL instead of those? Is SDL and XNA etc. even the same thing?

PS. I have a great game idea, but it really pisses me off that I can't start my game anytime soon :)


You cant use c++ with XNA/Unity/Actionscript, but you can use C# with Unity.(btw Unity is really easy to use and you can get some really impressive result fast)
If you want to go with c++ i suggest you stick with SDL but if you never programmed before its gonna be hard.
SDL and XNA isnt the same thing, SDL wont run on the xbox360 and dont support 3D(correct me if am wrong)


Well I am always ready for challange :) And I have no intention to release any game that I make with SDL. I will use it only to learn and to expand my knowledge.

Okay, thanks for both of you. However, I really don't like C# and I dont want it to confuse me, so can I use XNA, Unity or Flash ActionScript (never heard before) with C++? If not, can I learn to use SDL instead of those? Is SDL and XNA etc. even the same thing?

PS. I have a great game idea, but it really pisses me off that I can't start my game anytime soon :)


Who said anything about C#?

Forget about languages at this point, you shouldnt be basing what technology you want to use based upon what languages you know, you barely know any ;).

Also, Learning C++ and making a game engine in C++ and making a GAME in C++ are all COMPLETELY different and require a lot of xp to even do!

you earn that xp by mucking around with something like Unity.

Unity is extremely easy to learn, and actually fun, the programming languages are boiled down to basic scripting (something you should be starting with for games anyways).

Now like i said, if you learn C++ AND make a game in unity (which you can do with minimal c++ knowledge), then some day the lightbulb will go off and you will understand what you need to do to make a game engine based in C++.

-J

Two last important things, I laugh every time i hear somebody complain about a language they dont like. I used to HATE Java with a passion, and now I have a full time job helping develop the Java libraries. So the language i used to despise is actually keeping me employed.

The reality is we are in a time in technology where people are learning to make products modular. With modularity comes different scopes and with different scopes comes different requirements and with that comes... you guessed it! different languages! My opinion is that yes learning one language is important and it should always be your home base, but if you want to make a game nowadays, you will be able to encounter quicker success if you don't set a mental limitation like that. And also my opinion, C# is a great language.

------------------------------

redwoodpixel.com

Sorry to hijack your thread abit,

But what would you guys suggest for someone like me who has done Java and OpenGL in java, who wishes to learn C++ and gain experience? Maybe even great a game that would be used in a portfolio?

I'm learning C++ and want to work on a game that will not only help me learn the language, but be useful when finding a job.

Sorry to hijack your thread abit,

But what would you guys suggest for someone like me who has done Java and OpenGL in java, who wishes to learn C++ and gain experience? Maybe even great a game that would be used in a portfolio?

I'm learning C++ and want to work on a game that will not only help me learn the language, but be useful when finding a job.


I would do the same thing i mentioned earlier, except you would catch on quicker since you have a little more experience.

------------------------------

redwoodpixel.com

This topic is closed to new replies.

Advertisement