Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Any suggestions for teaching myself C++?

2

Comments

  • steelrain666steelrain666 Member UncommonPosts: 140

    When I first wanted to learn C++ years ago for game programming, I found a site that was decent for learning and ended up getting alot of there series and such for game programming... Mind you its just giving you alot of basics and everything, Its a different world compared to making applications and websites. 

    Anyway check it out

    C++ 

    http://www.3dbuzz.com/xcart/product.php?productid=30&cat=12&page=1

     

    I found the C#(my language) XNA gamestudio series alot more fun and since I know C# it made it alot easier to work on for me.

  • dave6660dave6660 Member UncommonPosts: 2,699

    Originally posted by Cuathon

    http://www.cplusplus.com/

    I used that site for its excellent documentation of C++ when I was learning it. It also has a forum. You can also google pretty much anything in C++ and there are also libraries for many many things.

    You will probably have to learn openGL on top of C++ for graphics, or alternatively directX but, I prefer to use non commercial products with more open licenses.

    really good libraries for C++ include www.boost.org. Boost libraries are often added into the C++ standard.

    common libraries with the GPL license or something similar include things like libxml2, freetype6, and so forth.

    the most common openGL libraries are opengl32, glu, glut. there are also several superior windowing toolkits over glut, although for a simple 2d game glut is probably fine. it has mouse inputs and keyboard inputs and such as well as window functions.

    some people prefer to use more modern solutions even for simple games like, SDL, SFML and so forth.

    since you want to do games there are several gui libraries you can use like glgooey, cegui, glui, and glow. some haven't had actual development since 2006 or so however.

    you can also use widget stuff like wxwidgets, gtk+, and QT for simple interfaces.

    c++ is primarily used for very large games, if you want to do smaller 2d games and such you may find it easier to use a higher level language. Java appears to be the primary language for android apps. or maybe scripting like python.

    Damn man, slow down!  It's good information but the guy is just beginning to learn C++ .  Don't bog him down with all these 3rd party libraries yet.  First get a good handle on the language then move into Boost, OpenGL / DirectX, SDL GLUT,, QT or GTK.  First learn to crawl then learn to fly.

    “There are certain queer times and occasions in this strange mixed affair we call life when a man takes this whole universe for a vast practical joke, though the wit thereof he but dimly discerns, and more than suspects that the joke is at nobody's expense but his own.”
    -- Herman Melville

  • CuathonCuathon Member Posts: 2,211

    Originally posted by dave6660

    Originally posted by Cuathon

    http://www.cplusplus.com/

    I used that site for its excellent documentation of C++ when I was learning it. It also has a forum. You can also google pretty much anything in C++ and there are also libraries for many many things.

    You will probably have to learn openGL on top of C++ for graphics, or alternatively directX but, I prefer to use non commercial products with more open licenses.

    really good libraries for C++ include www.boost.org. Boost libraries are often added into the C++ standard.

    common libraries with the GPL license or something similar include things like libxml2, freetype6, and so forth.

    the most common openGL libraries are opengl32, glu, glut. there are also several superior windowing toolkits over glut, although for a simple 2d game glut is probably fine. it has mouse inputs and keyboard inputs and such as well as window functions.

    some people prefer to use more modern solutions even for simple games like, SDL, SFML and so forth.

    since you want to do games there are several gui libraries you can use like glgooey, cegui, glui, and glow. some haven't had actual development since 2006 or so however.

    you can also use widget stuff like wxwidgets, gtk+, and QT for simple interfaces.

    c++ is primarily used for very large games, if you want to do smaller 2d games and such you may find it easier to use a higher level language. Java appears to be the primary language for android apps. or maybe scripting like python.

    Damn man, slow down!  It's good information but the guy is just beginning to learn C++ .  Don't bog him down with all these 3rd party libraries yet.  First get a good handle on the language then move into Boost, OpenGL / DirectX, SDL GLUT,, QT or GTK.  First learn to crawl then learn to fly.



    Fair enough. When I really work at something I tend to go through it really fast. Like when I started with C++ I was on Code::Blocks 8 hours a day doing shit. I quit my programming class which is what first caused me to download CB and start on C++ after the second week because they were still talking about rock paper scissors and order of operations after a whole week. If a person has other stuff going on in their life they may want to disregard anything after the 2 lines under the website url :)

  • kermiekermie Member Posts: 2

    Try this book. One of the best ones I've read so far, both for the basics and a bit more advanced stuff. It also gives you a nice introduction to the world that is OOP (object-oriented programming), a concept you will need to get yourself familiar with whether you choose to learn C++, C# or Java. If you don't want to buy it find it at the library, or "borrow" it on the internet.

    Thinking In C++ 2nd Edition

    http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

    For your choice of compiler I would personally go for Visual Studio, there is a free Visual C++ IDE available. If you want to get your hands a bit dirtier go for G++, the command line compiler, and a makefile.

    Other than that, I suggest you find an interesting hobby project to work on, something that is fun. Programming, in the end, is not reading books. It's learning by doing. Just working through examples and tutorials alone will get you nowhere. The true progress will come from personal experience.

  • mad-hattermad-hatter Member UncommonPosts: 241

    If you don't have the "time" to take classes, what makes you think you have the "time" to learn C++?  Programming really isn't something you can just pick up and have a go at, some people have a knack for it, some will never grasp it no matter how much they learn.  I can understand the cash thing, but with financial aid and such I'd really suggest looking into a good school.  Then again, you might be one of those prodigies that teach themself and have no problem grasping it.  But seriously, if this is something you really have the drive for, having the schooling behind you can really help you in the job front, even if you only plan to make games in your spare time.

  • FrostWyrmFrostWyrm Member Posts: 1,036

    Originally posted by BartDaCat

    Great thread, and great feedback, thanks to the OP for posting it, and thanks to everyone else for the input, this helped me, too!

    Thank you indeed!

    Sorry for not replying sooner, but I'm at work and can't always freely read/post on the forums. I didnt expect to get this many replies. Thank you guys again for all the info. I'm slowly sifting through all the posts.

  • dave6660dave6660 Member UncommonPosts: 2,699

    Originally posted by kermie

    Try this book. One of the best ones I've read so far, both for the basics and a bit more advanced stuff. It also gives you a nice introduction to the world that is OOP (object-oriented programming), a concept you will need to get yourself familiar with whether you choose to learn C++, C# or Java. If you don't want to buy it find it at the library, or "borrow" it on the internet.

    Thinking In C++ 2nd Edition

    http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

    For your choice of compiler I would personally go for Visual Studio, there is a free Visual C++ IDE available. If you want to get your hands a bit dirtier go for G++, the command line compiler, and a makefile.

    Other than that, I suggest you find an interesting hobby project to work on, something that is fun. Programming, in the end, is not reading books. It's learning by doing. Just working through examples and tutorials alone will get you nowhere. The true progress will come from personal experience.

    Something I would like to add to this statement.  Make sure your project is within your skill and can be completed in a reasonable time frame.  I learned this from experience.  It's always fun starting a new project but completing it is another animal entirely.  You get a few days in and realize that you bit off way more than you can chew and get discouraged.  Set reasonable goals for yourself.

    “There are certain queer times and occasions in this strange mixed affair we call life when a man takes this whole universe for a vast practical joke, though the wit thereof he but dimly discerns, and more than suspects that the joke is at nobody's expense but his own.”
    -- Herman Melville

  • SythionSythion Member Posts: 422

    Originally posted by dave6660

    Something I would like to add to this statement.  Make sure your project is within your skill and can be completed in a reasonable time frame.  I learned this from experience.  It's always fun starting a new project but completing it is another animal entirely.  You get a few days in and realize that you bit off way more than you can chew and get discouraged.  Set reasonable goals for yourself.

    Or not.

    There's great value in trying something and failing to complete it as well :)

    image
  • CuathonCuathon Member Posts: 2,211

    Originally posted by mad-hatter

    If you don't have the "time" to take classes, what makes you think you have the "time" to learn C++?  Programming really isn't something you can just pick up and have a go at, some people have a knack for it, some will never grasp it no matter how much they learn.  I can understand the cash thing, but with financial aid and such I'd really suggest looking into a good school.  Then again, you might be one of those prodigies that teach themself and have no problem grasping it.  But seriously, if this is something you really have the drive for, having the schooling behind you can really help you in the job front, even if you only plan to make games in your spare time.

    It totally is something you can just pick up and have a go at, (are you british?), people do it all the time. Everyone can learn programming, they might not be very good at it though.

    He doesn't sound like he wants to work in the games industry, and frankly most of the time in the industry you don't get to have fun making games at all.

    If he was making games with 3d graphics and physics and not using a preexisting engine he might need to be a prodigy because of all the math and objects and crap, otherwise no.

    In any case going to school for programming is mostly about the math and having a degree to show employers. For 2d game programming and graphics he can easily learn it in just a few hours a day over a couple months or a year.

    Excellent google fu is almost like having a private tutor also. And asking questions on programming forums helps too.

  • CuathonCuathon Member Posts: 2,211

    Originally posted by dave6660

    Originally posted by kermie

    Try this book. One of the best ones I've read so far, both for the basics and a bit more advanced stuff. It also gives you a nice introduction to the world that is OOP (object-oriented programming), a concept you will need to get yourself familiar with whether you choose to learn C++, C# or Java. If you don't want to buy it find it at the library, or "borrow" it on the internet.

    Thinking In C++ 2nd Edition

    http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

    For your choice of compiler I would personally go for Visual Studio, there is a free Visual C++ IDE available. If you want to get your hands a bit dirtier go for G++, the command line compiler, and a makefile.

    Other than that, I suggest you find an interesting hobby project to work on, something that is fun. Programming, in the end, is not reading books. It's learning by doing. Just working through examples and tutorials alone will get you nowhere. The true progress will come from personal experience.

    Something I would like to add to this statement.  Make sure your project is within your skill and can be completed in a reasonable time frame.  I learned this from experience.  It's always fun starting a new project but completing it is another animal entirely.  You get a few days in and realize that you bit off way more than you can chew and get discouraged.  Set reasonable goals for yourself.



    Most people in tutorial creation like to have a player complete a series of exercises where they create a more complex game at each step, although you do want to learn programming basics first, which takes a while.

    Its not so much choosing a properly sized project as it is making a solid plan. Ie each step should be a reasonable goal, but the end result, something like a simple 3d shooter or rts game, doesn't have to be reasonable at all.

    For C++ a new programmer definitely wants to avoid any sort of multiplayer. Network programming is a bitch.

  • CuathonCuathon Member Posts: 2,211

    Originally posted by Sythion

    Originally posted by dave6660

    Something I would like to add to this statement.  Make sure your project is within your skill and can be completed in a reasonable time frame.  I learned this from experience.  It's always fun starting a new project but completing it is another animal entirely.  You get a few days in and realize that you bit off way more than you can chew and get discouraged.  Set reasonable goals for yourself.

    Or not.

    There's great value in trying something and failing to complete it as well :)

    This is incredibly true. When I was working on my mmorpg intensely I learned a lot of things and downloaded a lot of programs that later helped me on other projects. I am currently doing some GAE modding and maybe some source altering and when I was compiling the various libraries I realized, hey, I already have CMake on my machine from earlier and I have enough knowledge to use it to build this program. I also already know why I need freetype and libxml2. I felt really good :) Maybe I am too easily pleased though.

  • MendelMendel Member LegendaryPosts: 5,609

    Learning to code in any language is a skill.   I've worked professionally in Basic, Cobol, Algol, Fortran, Pascal, C, C++, Java, 8086 Assembly language, Forth, Newp and many others on a casual basis.  About the worst to learn was Forth, because it is almost a write-only language.  The biggest issue with learning C and the C derivatives is knowledge of the various standard libraries.

    If you are wanting to create a game, I'd suggest looking at various threads in the Developer's Corner, general discussions.  Of those responding to a poll I recently posted there, most people rank the technical skill of coding rather low when asked what is most important in building a game -- finances and a solid business/project plan were believed to be much more important.  If you're looking at trying to build a major game, you would probably be far better off learning basic business skills.

    If you're just wanting to play around with a new language, there's nothing more interesting to do.  Just don't convince yourself that barriers to building a quality AAA game disappear simply because you know C++ or any other programming language du jour.  There's much more to it than knowledge of a specific programming language.

    Logic, my dear, merely enables one to be wrong with great authority.

  • nomssnomss Member UncommonPosts: 1,468

    I would start with Java. I think Java might be easier than c++. I would recommend this book:

    http://www.amazon.com/Program-early-objects-Edition-Deitel/dp/0132575663/ref=sr_1_1?ie=UTF8&qid=1335193689&sr=8-1

    After you're good in Java, then you can pick a C++ book and start learning that too.

    I would love to help you learn Java if you're really interested. I have been wanting to write notes for people starting out in programming.

  • ButregenyoButregenyo Member UncommonPosts: 483

    Hello, first of all if you really want to grasp the basic fundementals of programming, i suggest you start learning C by following procedural approaches. Deitel's C: How to Program book may do just fine. Afterwards, you should observe why you would need object oriented programming for well designed large projects. This is when you can easily learn how to use C++. Thinking in C++ by Bruce Eckel is a nice book and helped me out a lot during my 2nd year in school.

    Learning a language is not a big deal, you should learn how to design well-built object models, relations and patterns. I think the best way to achieve that is to set up a project way above your current level with each step and jump into the ocean you are unfamiliar with and try to swim back to the land. Always search your issues on sites like stackoverflow.com, read other people's experiences. Start and design on paper, dont design your projects on the code at first. Read good practices about writing code.

    On the way of learning i also highly suggest that you start using a subversion system like git or mercurial.

     

  • CuathonCuathon Member Posts: 2,211

    Originally posted by Butregenyo

    Hello, first of all if you really want to grasp the basic fundementals of programming, i suggest you start learning C by following procedural approaches. Deitel's C: How to Program book may do just fine. Afterwards, you should observe why you would need object oriented programming for well designed large projects. This is when you can easily learn how to use C++. Thinking in C++ by Bruce Eckel is a nice book and helped me out a lot during my 2nd year in school.

    Learning a language is not a big deal, you should learn how to design well-built object models, relations and patterns. I think the best way to achieve that is to set up a project way above your current level with each step and jump into the ocean you are unfamiliar with and try to swim back to the land. Always search your issues on sites like stackoverflow.com, read other people's experiences. Start and design on paper, dont design your projects on the code at first. Read good practices about writing code.

    On the way of learning i also highly suggest that you start using a subversion system like git or mercurial.

     

    Why would he need to know git to make a 2d video game?

  • ButregenyoButregenyo Member UncommonPosts: 483

    for future benefits i suggested that: while working with other people. Also while working alone, the abitlity to branch out to different versions and having the luxury of rollback is really nice and a good practice for larger projects. And it helps you keep your code well documented more easily. :)

  • CuathonCuathon Member Posts: 2,211

    Originally posted by Butregenyo

    for future benefits i suggested that: while working with other people. Also while working alone, the abitlity to branch out to different versions and having the luxury of rollback is really nice and a good practice for larger projects. And it helps you keep your code well documented more easily. :)

    Oh. I just use another folder for that.

    I do agree that working in a team might require git though. Working in a team is such a pain.

  • maskedweaselmaskedweasel Member LegendaryPosts: 12,180

    Originally posted by nomss

    I would start with Java. I think Java might be easier than c++. I would recommend this book:

    http://www.amazon.com/Program-early-objects-Edition-Deitel/dp/0132575663/ref=sr_1_1?ie=UTF8&qid=1335193689&sr=8-1

    After you're good in Java, then you can pick a C++ book and start learning that too.

    I would love to help you learn Java if you're really interested. I have been wanting to write notes for people starting out in programming.

    He should not start with Java,  while Java is an easy language to learn,  that would be like saying.. "Try learning .net first"  

     

    C++ is possibly the best language to start with as its complex, has a ton of applications, has a lot of existing libraries,  a very strong company backed compiler, and if you can learn C++ you can pretty much learn anything.  If you ask instructors they would say to start with either c++ or Python,  but C++ is truly the way to go.

     

    Even if he wanted to be strictly an android developer,  start with C++, once you learn -- at least -- command line basics, move over to java and your understanding will grow 10 fold.  The main issue between Java and Android programming is structure... which you can pick up quickly with a good android developers book. (they usually require some java experience prior to reading)



  • Creslin321Creslin321 Member Posts: 5,359

    In response to OP...

    If you just want to make indie games by yourself or with a few buddies and you aren't eventually looking to get a job in the game industry, then I would say don't even worry about C++ and get the Unity3D game engine!

    Unity3D is pretty amazing IMO, it's free, it's multi-platform, it uses C# or Javascript as its scripting language, it's heavily GUI based, and it's extremely versatile and powerful.  In addition, it will also teach you lots of concepts about how game engines work. 

    If you try to start making games by using C++ and DirectX or something, you have a daunting task ahead of you.  Before you make a game, you have to make an engine in which it runs and not only is that not easy, it's also unnecessary in most cases.  Unity3D can handle a ton of different game concepts just fine, so why reinvent the wheel?

    Anyway, if you want to use Unity3D, my recommendation would be to just DL it from their site, and then get the book "Unity 3.x Development Essentials."  That book will have you creating a prototype game with real functioning physics in chapter 1.

    Are you team Azeroth, team Tyria, or team Jacob?

  • JeroKaneJeroKane Member EpicPosts: 6,965

    Originally posted by Creslin321

    In response to OP...

    If you just want to make indie games by yourself or with a few buddies and you aren't eventually looking to get a job in the game industry, then I would say don't even worry about C++ and get the Unity3D game engine!

    Unity3D is pretty amazing IMO, it's free, it's multi-platform, it uses C# or Javascript as its scripting language, it's heavily GUI based, and it's extremely versatile and powerful.  In addition, it will also teach you lots of concepts about how game engines work. 

    If you try to start making games by using C++ and DirectX or something, you have a daunting task ahead of you.  Before you make a game, you have to make an engine in which it runs and not only is that not easy, it's also unnecessary in most cases.  Unity3D can handle a ton of different game concepts just fine, so why reinvent the wheel?

    Anyway, if you want to use Unity3D, my recommendation would be to just DL it from their site, and then get the book "Unity 3.x Development Essentials."  That book will have you creating a prototype game with real functioning physics in chapter 1.

    This... or this is also an option: http://udk.com/   < this is the free version of Unreal Engine 3. :)

  • maskedweaselmaskedweasel Member LegendaryPosts: 12,180

    Originally posted by Creslin321

    In response to OP...

    If you just want to make indie games by yourself or with a few buddies and you aren't eventually looking to get a job in the game industry, then I would say don't even worry about C++ and get the Unity3D game engine!

    Unity3D is pretty amazing IMO, it's free, it's multi-platform, it uses C# or Javascript as its scripting language, it's heavily GUI based, and it's extremely versatile and powerful.  In addition, it will also teach you lots of concepts about how game engines work. 

    If you try to start making games by using C++ and DirectX or something, you have a daunting task ahead of you.  Before you make a game, you have to make an engine in which it runs and not only is that not easy, it's also unnecessary in most cases.  Unity3D can handle a ton of different game concepts just fine, so why reinvent the wheel?

    Anyway, if you want to use Unity3D, my recommendation would be to just DL it from their site, and then get the book "Unity 3.x Development Essentials."  That book will have you creating a prototype game with real functioning physics in chapter 1.

    Thats pretty much what I said,  but in truth you can create an entire game without creating an engine.

     

    If he just wants to create a game (though it likely won't be very good, even with Unity's asset store)  then learning C++ isn't the way to go, you are correct.



  • FrostWyrmFrostWyrm Member Posts: 1,036

    Originally posted by Creslin321

    In response to OP...

    If you just want to make indie games by yourself or with a few buddies and you aren't eventually looking to get a job in the game industry, then I would say don't even worry about C++ and get the Unity3D game engine!

    Unity3D is pretty amazing IMO, it's free, it's multi-platform, it uses C# or Javascript as its scripting language, it's heavily GUI based, and it's extremely versatile and powerful.  In addition, it will also teach you lots of concepts about how game engines work. 

    If you try to start making games by using C++ and DirectX or something, you have a daunting task ahead of you.  Before you make a game, you have to make an engine in which it runs and not only is that not easy, it's also unnecessary in most cases.  Unity3D can handle a ton of different game concepts just fine, so why reinvent the wheel?

    Anyway, if you want to use Unity3D, my recommendation would be to just DL it from their site, and then get the book "Unity 3.x Development Essentials."  That book will have you creating a prototype game with real functioning physics in chapter 1.

    I've checked out Unity before. Even found some tutorial videos on it from 3DBuzz (I first found them for their Maya tutorials). It seems you need to know C# to really work with Unity, though. In any case indy games is just a mid-term goal. Long-term I really would like to move into a more professional programming field.

    As I mentioned, though, I cant afford school (cant get financial aid/loans for the moment) but I'd still like to build some demonstratable skills. I understand this will take time, but its something I'm willing to work towards.

  • maskedweaselmaskedweasel Member LegendaryPosts: 12,180

    Originally posted by FrostWyrm

    Originally posted by Creslin321

    In response to OP...

    If you just want to make indie games by yourself or with a few buddies and you aren't eventually looking to get a job in the game industry, then I would say don't even worry about C++ and get the Unity3D game engine!

    Unity3D is pretty amazing IMO, it's free, it's multi-platform, it uses C# or Javascript as its scripting language, it's heavily GUI based, and it's extremely versatile and powerful.  In addition, it will also teach you lots of concepts about how game engines work. 

    If you try to start making games by using C++ and DirectX or something, you have a daunting task ahead of you.  Before you make a game, you have to make an engine in which it runs and not only is that not easy, it's also unnecessary in most cases.  Unity3D can handle a ton of different game concepts just fine, so why reinvent the wheel?

    Anyway, if you want to use Unity3D, my recommendation would be to just DL it from their site, and then get the book "Unity 3.x Development Essentials."  That book will have you creating a prototype game with real functioning physics in chapter 1.

    I've checked out Unity before. Even found some tutorial videos on it from 3DBuzz (I first found them for their Maya tutorials). It seems you need to know C# to really work with Unity, though. In any case indy games is just a mid-term goal. Long-term I really would like to move into a more professional programming field.

    As I mentioned, though, I cant afford school (cant get financial aid/loans for the moment) but I'd still like to build some demonstratable skills. I understand this will take time, but its something I'm willing to work towards.

    If you have a job,  go to your local community college and see what the classes cost...  usually you can get away with spending a couple hundred or so.. (not including books, but in C++, you usually don't need the same exact book, all beginner books use roughly the same structure)  and just take the C++ class.. of introduction to programming, or programming fundamentals,, or whatever they call it....

     

    Honestly though,  if you study hard for about a month, you'll likely pass anything you would learn in an introductory class.



  • Creslin321Creslin321 Member Posts: 5,359

    Originally posted by FrostWyrm

    Originally posted by Creslin321

    In response to OP...

    If you just want to make indie games by yourself or with a few buddies and you aren't eventually looking to get a job in the game industry, then I would say don't even worry about C++ and get the Unity3D game engine!

    Unity3D is pretty amazing IMO, it's free, it's multi-platform, it uses C# or Javascript as its scripting language, it's heavily GUI based, and it's extremely versatile and powerful.  In addition, it will also teach you lots of concepts about how game engines work. 

    If you try to start making games by using C++ and DirectX or something, you have a daunting task ahead of you.  Before you make a game, you have to make an engine in which it runs and not only is that not easy, it's also unnecessary in most cases.  Unity3D can handle a ton of different game concepts just fine, so why reinvent the wheel?

    Anyway, if you want to use Unity3D, my recommendation would be to just DL it from their site, and then get the book "Unity 3.x Development Essentials."  That book will have you creating a prototype game with real functioning physics in chapter 1.

    I've checked out Unity before. Even found some tutorial videos on it from 3DBuzz (I first found them for their Maya tutorials). It seems you need to know C# to really work with Unity, though. In any case indy games is just a mid-term goal. Long-term I really would like to move into a more professional programming field.

    As I mentioned, though, I cant afford school (cant get financial aid/loans for the moment) but I'd still like to build some demonstratable skills. I understand this will take time, but its something I'm willing to work towards.

    Well from what I hear C++ is the most prominent language in the professional game dev scene...so you will probably want to know it if that's what you want.

    Back in 1998 when I learned C++ I started with the SAMS "Learn C++ in 21 days" book, and it taught me a lot of useful things.  That said though, when I actually took C++ in college I found out how little I really knew.

    Languages with manual pointer manipulation and memory allocation are just harder to learn, even though you do get benefits from knowing that stuff.  You can do it, I did it, but you should prepare yourself for a lot of frustration.

    Anyway...I still don't know if C++ is the best place for you to start.  Programming isn't the only thing you need to know for game development.  You also need to know a lot of the typical game dev algorithms that apply to universal concepts like collision detection, 3d geometry, etc.  So you really may want to start with a pre-existing engine as it will help you learn how that stuff is typically done.

    In the end, it's all up to you.  You have a lot of skills to learn, so I suggest just pick one to learn at a time and stick to it :).

    Are you team Azeroth, team Tyria, or team Jacob?

  • kjempffkjempff Member RarePosts: 1,759

    Learning by doing. If you get the thrills from making things happen, you will find out how to do it.

    Find some language tutorials for whatever you want to code in, plow em through and don't worry if you don't understand all the concepts because it may suddenly dawn on you as you gain experience.

    I would start with java is it is very well documented, C++ is great for a more pure understanding of object oriented programming but is also more advanced and thereby harder to learn. C++, java, C# are all object oriented languages and not that far apart, so when you learn one you can switch to the others without too much trouble.

     

    Specifically if you want to code small games, you could go for flash instead of using c++/java because those languages can grow over your head fast as a novice programmer. Sorry I cant give any specific tutorials to use, its been way too many years.. only thing I can say is, either you got that thrill of coding or its a chore, and if it is a chore to you find something else to do :)

     

    ps. Android apps are coded in java only afaik. Eclipse is the programming environment to use for java programming and it is free, see eclipse.org.

Sign In or Register to comment.