Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

104 Neutral

About SpagSauce

  • Rank
  1. OpenGL Programming Guide uses GLUT (which you'd never use in a real game).  Other than that, it's a decent book to learn from.  It's arranged more logically than the Superbible, and I haven't found any better beginner books on OpenGL.  Beginning OpenGL Game Programming is also extremely easy to learn from and doesn't use external libraries for initialization.
  2. I started off with self-teaching, but it's a very limited environment and relies heavily on putting trust in other people whose credibility is up for debate.  Books, talks, lectures, and interviews from reputed professionals (Google Talks, Bjarne Stroustrup, Herb Sutter, etc.) were the most helpful.  Online tutorials and developer blogs were often sketchy, taught deprecated or outright incorrect material, and left out important details.  Self-teaching also makes it harder to gain team experience or learn to debug someone else's code or figure out what's actually done in the industry.  Eventually I went to university for game development, and it taught me me far more than I could have picked up on my own, and corrected the flaws in half of what I had learned.  Also, I wanted to do graphics programming for a living and couldn't find an employer who didn't throw out resumes that lacked a proper education, so there's that.
  3. SpagSauce

    Starting out - Game programming questions

    Heard its pretty good too   Also, after I finish reading the books you linked, should I move to reading   I've also heard its great.   What can I read or do to actually apply the knowledge from the books read to game development? Thank you! I haven't read Accelerated C++, so I can't comment on it.  Game Coding Complete is a great book, but the "complete" title is misleading, as it does glaze over or leave out a few important aspects of game development (by the author's own admission).  Still a good book though.  If you want to actually get some practice, I'd say get some practice with just any regular old C++ exercises.  It doesn't have to be game-specific yet if you're just starting.  The best way to do that is to go to coding competition sites like TopCoder, Project Euler, or CodeEval and do their exercises.  They tend to be a little math-heavy.  For a beginner learning to debug, you could go to little Q&A sites like Yahoo Answers or something and attempt to fix the code other people post.  Beware of those sites though - I'd advise just fixing people's code on your own and not participating in the discussions.  Definitely don't pay any attention to the answers from other people because the people in those communities are straight up retarded, and incorrect answers are chosen as best on a regular basis.  If you have actual questions you want correct answers to, look them up on Stackoverflow.com, which is a much more professional community.  If you get to a point where you feel confident in your new skills and want guidance on making your first actual game, then Programming A Multiplayer FPS in DirectX is decent, and it uses DirectX9 which in my opinion is much easier for beginners to learn 3D graphics programming with than DX11 or OpenGL.  If you're not ready for 3D yet, then Programming 2D Games is also a decent guide and also uses DirectX9.
  4. SpagSauce

    Starting out - Game programming questions

    Choosing a "beginner language" is bad advice.  C++ is not too hard as a first language.  If it is, then you don't have what it takes to ever be a good programmer regardless.  Have you ever heard that some people are just naturally better at specific things than others?  Programming is the same.  It's all about logic.  Some people are good problem-solvers, some are not.  The type of person who can't learn C++ as a first language is the type who is not, and all they will do is become a lousy C++ programmer later and be hated by their team.  They should be exploring other career fields.  C++ is simply a language.  All a language is is a collection of syntax rules.  You use it to solve problems.  It really is that simple.  C# is like a flat-tip screwdriver.  C++ is like a swiss army knife.  It's still just a simple tool you use to solve problems, but it has greater flexibility and thus potential for greater efficiency.  If you have strong logic skills, learning C++ isn't hard.  If you have poor logic skills, you might feel more productive with "easier" languages, but you'll still forever be a bad programmer.  Learning C++ first and then learning any other language will be a piece of cake.  It does not work the other way around.  Disregard anyone telling you to learn something else first just because it's an easier beginner language.  They don't know what they're talking about.  I do.
  5. SpagSauce

    Starting out - Game programming questions

    Bad idea.  C++ is for game programming.  C# is for pansies who wish they could program.  Seriously, C# programmers never have an easy transition into C++, but C++ programmers can easily pick up C#.  Start with C++ and leave C# for the cute little GUI apps.  Unless you just plan on making tiny little single-player 2D sprite-based games, in which case go ahead and use C#.  If you plan on making real games, use C++.   Why?  C++ facilitates both procedural and object-oriented paradigms.  It facilitates both high and low level programming.  It gives you complete control over your resources with less overhead than C# or Java.  You can write your own assembly code if you so desire, or you can write several layers of API's to abstract everything away.  Also, the vast majority of game programming books have code samples written in C++.  A handful of them use pseudocode and even fewer might have some Java, but I haven't come across any that use C#, and my office walls are lined with shelves of game programming books.     That has an easy answer:  They don't know what they're talking about.  For example, this answer:   was clearly written by someone who has never programmed a game in their life.  "Most of game code" is definitely not in a scripting language.  Most of the game logic should be.  That is but a tiny piece of the puzzle.  The engine itself will be written with C++.  The guy further down who suggested C# and went on to claim that he was a paid "C++ 3D coder" is a liar, at least based on his posts in other forums in which he claims to be an indie developer and prefers C# because he's slow at figuring out how to use C++.  The only other suggestions to use C# were suggestions either for non-game related development or for beginning programming because C++ is "too hard."  Most, like me, suggest C++ for game development.   When I tutored C++, I always recommended this book: SAMS Teach Yourself C++ In 21 Days (5th edition) Don't let the title mislead you.  You can't master C++ in 21 days, but it's the best beginner book nevertheless.  Also, don't get the 6th or 7th editions.  The 7th edition claims to include C++11 but it doesn't, and both are written by a horrible author.  Buy the 5th edition (or view the similar 2nd edition for free here), and then buy The C++ Standard Library (2nd edition) to fill in the gaps.   As far as Unity, that's a good tool for quickly prototyping an idea, but it's not something you'd use for your own game engine.  Yes, it uses C# for scripts, but if you know C++, you know 90% of C# and the other 10% is stuff that takes a 12-second Google search to figure out, like namespaces being scoped in with . instead of :: and little things like that.  On the flip side, if you know C#, you won't figure out the quirks of C++ without investing significantly more time into it than the other way around.  You can think of C# as the slower and dumbed down version of C++.  Learning C# to prepare for C++ is like learning to ride a tricycle to prepare for a motorcycle.   If you want to develop for Android, go with Java.  If you want to develop for iOS, go with Objective C.  If you want to develop for PC or console or any other machine that can support an MMORPG, go with C++.  If you want to make a D&D Character Generator or something, then use C#.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!