Search Unity

advice book c ++

Discussion in 'General Discussion' started by Bolt, Nov 22, 2018.

  1. Bolt

    Bolt

    Joined:
    Dec 15, 2012
    Posts:
    296
    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
     
  2. Ryiah, Kiwasi and Antypodish like this.
  3. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,205
    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.
     
  4. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    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.
     
    Ryiah and Murgilod like this.
  5. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    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.
     
    XCPU likes this.
  6. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    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.
     
    Lurking-Ninja likes this.
  7. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    I'd ask this over on the Unreal forums, seeing that Unreal uses C++ while Unity uses C#.
     
  8. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,160
    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#.
     
  9. ToshoDaimos

    ToshoDaimos

    Joined:
    Jan 30, 2013
    Posts:
    679
    Maybe he wants to write a plugin. :)
     
  10. Or a Unity-replacement! *alwayshavesomegoodideas*
     
  11. Deleted User

    Deleted User

    Guest

    Can we get the Brainfuck language added to Unity? :p I would be in stitches if someone made that an asset >_<