can you advise me a good book / course on c ++ for videogames? I have the basics of C ++ but I would like to use them for video games
https://ocw.mit.edu/courses/electri...nce/6-096-introduction-to-c-january-iap-2011/ Although Unity uses C# for scripting and these are Unity forums so unless you are a Pro user and have access to the whole source code you really should learn C# instead.
No, and it's definitely not for a lack of trying. Back before I started looking for a game engine I looked around for books covering game development with C++ and none of them covered more than the basics of each topic. If you want to go beyond the basics with a topic, you need to have a book dedicated to just that topic. Mixing topics doesn't work.
C++ for video games doesn't exist, makes no sense. Do you mean: C++ for graphics engines? C++ for physics? Cos C++ for game logic is not hard. It's going to be pretty much the same as basic. I suspect you mean "how do I make games outside of Unity" and this would be heavily manager based - you have managers for everything. These are simply lists of a class you iterate through and update. It's not C++ centric, it's basically non-unity centric and that's why the topic doesn't make much sense.
I imagine game dev in C++ is exactly the same as I’m C# considering how similar the languages and structures are. Anything you could write in C# could be ported to C++ fairly easily (assuming you had the right libraries.). Understanding the concepts is what’s important in any development, once you’re a more senior developer you’ll realize that language is largely superfluous. Each languages has its own quirks and pros and cons but overall design doesn’t care about language.
Linguistically, sure, but - in the specific use case of high-performance real-time code, such as that in games - design wise that would at very least lead to poor use of resources. The main reason that C# is simpler to work in than C++ is that it abstracts memory management away from you. The thing is, if you're making the choice to work in C++ rather than C# then you're probably doing that because you want to either manage memory yourself, or take advantage of how things work under the hood. If someone's looking for a book I would assume that the basics are a good start? Off the top of my head, since my books are still all packed up after moving house... Not language specific, though I think the examples were in C++... As an all-rounder, I'd suggest Jason Gregory's Game Engine Architecture, whatever the latest edition is. It's definitely a case of just covering the basics of each area of a game engine, but I found it immensely useful when I was getting into this stuff. I was already making games at the time, but it helped give me a theoretical grounding in how engines worked across the board, rather than just the specific implementations I had direct experience with. One thing I distinctly remember apprciating about this book was it's discussion about the limitations of various approaches. I found Data Structures and Algorithms for Game Developers to be pretty useful. As the name suggests, it's basically a more contextualised version of what would be covered in the Data Structures and Algorithms part of a computer science course. If you're self taught then learning this stuff is really, really useful! Knowing how to efficiently store, access and operate on data in different scenarios is a major part of the body of knowledge behind making your games perform nicely. Next, specific to rendering, the book Real Time Rendering is just a freaking goldmine. Again, not C++ specific, though I believe the examples are in C++. I suspect that much of the content of my copy is now out of date, but as a book it's both enlightening and practical. In fact, contrary to what I said above, this one might even go past the basics (though, not being a rendering specialist myself, I can't say for sure). As for "C++ for video games"... learning programming and learning game development aren't the same thing. Game programming isn't a subset of programming, it's a specialisation. So if you want to be good at it then learn general purpose programming and use that to make games. In other words, any good C++ programming book or course is a reasonable starting point. Note that once you're fluent in a language a heck of a lot of stuff like software design and architecture is language agnostic, and that's probably why it's hard to find a game dev book that covers advanced topics and is C++ specific.
I'm pretty sure the person who has 257 posts and has been on the forums for six years is well aware that Unity uses C#.
Can we get the Brainfuck language added to Unity? I would be in stitches if someone made that an asset >_<