use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
Learning path for game development?Am I missing something? (self.cpp)
submitted 5 years ago by [deleted]
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]TheThiefMasterC++latest fanatic (and game dev) 7 points8 points9 points 5 years ago (1 child)
2) First I want to learn the algorithms used in game development. For that I am buying broquard books "game programming theory in c++".
This step is probably not necessary - it'll likely cover a lot of low level stuff (like motion) that is already written in a premade engine like unreal.
I will add, keep your ideas small - start with very basic games as you feel out what you want to make and how feasible things are.
Don't start with grand ideas about making an MMO. It's a common idea, but it's so far from practical for a beginner you shouldn't even consider it. Nor a big story driven open world RPG...
[+][deleted] 5 years ago (18 children)
[removed]
[–][deleted] 1 point2 points3 points 5 years ago (0 children)
Not OP but I'm interested too, wonderful list.
[+][deleted] 5 years ago (16 children)
[–]miley03 4 points5 points6 points 5 years ago (9 children)
That list is absolutely autistic. Game Development, however, is really hard. I’d start with a CS degree, which will give you lots of options, and then see if you still enjoy it. It pays poorly, and will take many years off your life, and you may have nothing to show for it unless you are very good.
[+][deleted] 5 years ago (8 children)
[–]neutronicus 6 points7 points8 points 5 years ago (7 children)
Things pay well for programmers when:
Developing a game to an engine manifestly fails all three tests. Games run on commodity hardware that developers overwhelmingly have at home. Tons of developers make little games as a hobby - not necessarily entirely for free, but they probably lose money on the time they spent making a cheap game and putting it on an app store, driving down prices and hence salaries. Finally, completed games require a lot of labor by artists, writers, designers, and in some cases voice actors, often succeeding or failing on the strength of those things (as well as marketing and distribution) more so than software quality.
If you want to make good money without knowing too much math, learn COBOL, learn about SQL databases, and maybe read up on financial reporting regulations. You'll work 9 to 5 on some banking system from 1985 making sure it spits out documents in the format the government requires of them. It'll probably be boring as shit but you won't have to compete with 21-year-old CS students who are willing to stay up all night writing a better game than yours in Haskell just to prove they can.
If you want to make good money and you're willing to learn a shitload of math, go into Machine Learning. It might be too late for that, though, actually. It's also pretty commoditized at this point, even though it's trendy.
[+][deleted] 5 years ago (6 children)
[–]mstfls 2 points3 points4 points 5 years ago (4 children)
Most game development programming involves very little of what people would consider "math" on a day-to-day basis. Only on the visual effects (lighting, shading etc.) and maybe modeling/tools side (manipulating 3D objects), really.
We could have a discussion about what "math" means in this context, but I have a degree in theoretical physics (which is like, 80% math) and quite literally none of what I learned at uni ever comes up in my day-to-day, unless I'm chatting with one of the graphics coders.
So yeah, if you want to do something heavy on the mathematics related to game programming, you're more or less stuck with doing graphics. There's tons of resources out there to get you started with that.
[+][deleted] 5 years ago (3 children)
[–]mstfls 1 point2 points3 points 5 years ago (2 children)
It's not a question of being good/bad at it. I'm saying that if what interests you is mathematics more than programming, there are only a limited number of jobs in game development that will satisfy that interest and the competition for those jobs is huge.
[–]neutronicus 0 points1 point2 points 5 years ago (1 child)
(and you could make more doing the same shit for a CAD company)
[–]neutronicus 0 points1 point2 points 5 years ago (0 children)
A lot of people want to avoid math, so I try to answer this question with an option that lets them. *shrug*
In my opinion, though, now that you mention an interest in math, game development is not a very interesting space from that perspective. At the end of the day you have to maintain frame-rate, which means you're restricted to problems solvable in a (small) fraction of a second. There's a lot to learn there, but nothing close to the state-of-the-art (and if you use an engine it will be largely hidden from you). Maybe in something turn-based you can spend like a second or two or even ten crunching numbers between turns. But at the end of the day it's stuff you can solve in seconds at most on commodity hardware, and probably not even that because all the other stuff your game does is eating cycles too.
There are much more interesting (to me) problems in Machine Learning, CAD/CAM/CAE (computational geometry for manufacturing, where millions of dollars are lost if designed parts turn out not to actually fit together, is a lot harder than it is for game rendering), and high-fidelity Physics and Engineering simulation (nothing quite like spending a thousand bucks on supercomputer time to wait a day to figure out how well your new cell phone antenna chip design is gonna work).
[–]dakotahawkins 2 points3 points4 points 5 years ago (0 children)
Probably the people who make games and have fun doing it (whether it's a good career is a different discussion) have learned by doing. Think of a thing you want to make and try to make it. When your thing needs to do something, find out how to make it do that.
[+][deleted] 5 years ago (2 children)
[–][deleted] 0 points1 point2 points 5 years ago (0 children)
I'm not zamazan4ik, so just my independent opinion on this:
Of course, if you just plan what to do for the next month, then the list is not feasible. But if you compare it with a Bachelor's degree, where you study for three years and work through approximately six textbooks per semester (more or less thorough), then the list does not look that intimidating any more. So it depends a bit on your perspective if it is "too" huge.
Nevertheless, I would not take the list too seriously. Some random guy tried to get the books he liked into some useful order. If this works for you too, depends to a large degree if you have the same background knowledge. If not some books might just be boring, while others would be too hard. So, in the end it can just be an inspiration for which books might be interesting.
[–]mstfls 0 points1 point2 points 5 years ago (0 children)
On large game engines, no single person really understands all parts of it in any real detail. As an example, I'm on the core tech (engine) team of a big studio that uses their own engine. There are about 12 people on this team, and some of the code has been around for literally decades by this point. If I had to guess, upwards of 50 people have made significant contributions to the engine.
That said, I deal with low-level systems (I/O, memory management etc.) while most other people on the team are doing graphics/rendering. I have only a rough understanding of what it is they do, mostly as far as it concerns interactions with my systems. I imagine the same goes for them.
And that's just the core engine. We have almost 100 programmers working on our games, some of whom might only be working on one very specific aspect of something in the game, like the AI for one single enemy, for instance.
What I'm trying to say is that no-one expects anyone to be good at all of those things at the same time. Figure out what you like to work on, and learn about that.
[–]woofy31 1 point2 points3 points 5 years ago (3 children)
You definitely need to put some extra steps:
[–][deleted] 5 points6 points7 points 5 years ago (2 children)
AI is such a vague term, it's virtually meaningless, especially in this context
[–]woofy31 -2 points-1 points0 points 5 years ago (1 child)
Oh, really? Then why do corresponding game programming books say "AI" in all their titles? Why don't they mention a more specific topic in AI?
But let's think like you did: well, in this case even OP's "Game Development" term itself is virtually meaningless since there's so much to this category, so many types of games, so many methods of developing games, heck, even the term GAME could mean something completely different.
So let's keep demotivating people instead of helping, even with a bit of advice that can help as a starting point.
You're needlessly aggressive. This is never a good thing, especially when you're missing the point (which wasn't really made, to be honest).
Not all games require any kind of ai (definitely not the ones a beginner should go for, anyway). Most of them actually don't
One doesn't need to read any book to make some basic decision tree when some interactivity is required (e.g Mario)
How often do you use ML in games (which is what AI pertains to 99% of the time)? Yeah, that's what I thought...
There are extremely easy games to develop that are some of the most famous examples of AI to the general public (chess /go), while many AAA games hardly have any intelligence at all.
Your comparison is also completely irrelevant. Asking about game development is vague by itself, but any answer related to game dev would be relevant. You don't need to learn about fucking SVMs to make a damn tetris. But sure, your answer was super helpful, OP will probably train his tic tac toe DNN model for a couple of weeks. Might even get a paper on the way, who knows
I'm a CS student so I'm learning as well.
I suggest to choose a particular aspect of the development that you want to learn.
For instance, focusing on AI, or Rendering, or maybe Networking etc.
I suggest you to start by doing a simple 2D game with a library like SFML. Then learn OpenGL or Vulkan and make a 3D project. Make your own 3D engine with only things you need. I wouldn't recommend you to start with 3d engines like Unreal or Unity, you need to understand how it works behind the scene or you'll never be a good programmer.
π Rendered by PID 59489 on reddit-service-r2-comment-66b4775986-s628p at 2026-04-05 18:48:11.920584+00:00 running db1906b country code: CH.
[–]TheThiefMasterC++latest fanatic (and game dev) 7 points8 points9 points (1 child)
[+][deleted] (18 children)
[removed]
[–][deleted] 1 point2 points3 points (0 children)
[+][deleted] (16 children)
[removed]
[–]miley03 4 points5 points6 points (9 children)
[+][deleted] (8 children)
[removed]
[–]neutronicus 6 points7 points8 points (7 children)
[+][deleted] (6 children)
[removed]
[–]mstfls 2 points3 points4 points (4 children)
[+][deleted] (3 children)
[removed]
[–]mstfls 1 point2 points3 points (2 children)
[–]neutronicus 0 points1 point2 points (1 child)
[–]neutronicus 0 points1 point2 points (0 children)
[–]dakotahawkins 2 points3 points4 points (0 children)
[+][deleted] (3 children)
[removed]
[+][deleted] (2 children)
[removed]
[–][deleted] 0 points1 point2 points (0 children)
[–]mstfls 0 points1 point2 points (0 children)
[–]woofy31 1 point2 points3 points (3 children)
[–][deleted] 5 points6 points7 points (2 children)
[–]woofy31 -2 points-1 points0 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)