Books

8b0572976ea35e359cb649b52f403deb
0
cometlove1 101 Jun 19, 2013 at 18:59

What are some good books for starting game dev? I tried Game coding complete, 4th ed.

5 Replies

Please log in or register to post a reply.

A8433b04cb41dd57113740b779f61acb
0
Reedbeta 167 Jun 19, 2013 at 22:24

And? What was your experience with that book?

C3f13de21cea2014cf8aa4c4f58070fd
0
glaze 101 Aug 04, 2013 at 12:19

I’ve learned a lot from:

  • Code Complete (general programming best practices),
  • Effective C++ (C++ best practices) and
  • GPU Pro series (Graphics algorithms)
B5262118b588a5a420230bfbef4a2cdf
0
Stainless 151 Aug 05, 2013 at 01:08

When I worked at Digital Integration, we had a guy turn up for an interview.

His CV was amazing, 1st class honours degree from Oxford, masters from Cambridge.

Talking to him, he answered all our questions correctly, avoided the trick questions, laughed in the right places.

Then we introduced him to our development environment, showed him the software we used, and he got all offended. “I don’t write CODE! I write algorithms!” and he stormed off.

My point is, PUT DOWN THE F&*KING BOOKS AND WRITE SOMETHING.

A8433b04cb41dd57113740b779f61acb
0
Reedbeta 167 Aug 05, 2013 at 01:27

It’s possible to go too far the other way, too. :) I’ve interviewed a few guys who did an okay job writing code, but when we asked them to compare the performance of algorithms (i.e. using big-O) or to derive a simple vector math formula, they’d stop dead and have no idea how to even get started. Of course coding is fundamental, but if you want to do game programming well, there’s some theory you gotta know.

B5262118b588a5a420230bfbef4a2cdf
0
Stainless 151 Aug 05, 2013 at 08:01

And there is no better way to compare performance than to experiment.

Comparing performance of algorithms on paper is not enough, you can make sweeping judgments, but they don’t take into account things like cache size , garbage collection, etc.

Having said that, I have interviewed a few no hopers who had years of professional coding experience, but the code they produced was abysmal.

I worked for a Japanese company making mobile phones, the process was we did a phone then sent the code to Japan and they did the next while we worked on new technology.

One subroutine always got changed every time it went to Japan. My version.

bool isPowerOfTwo(unsigned int v)
{
     return (v & (v - 1)) == 0;
}

Their version

bool isPowerOfTwo(unsigned int v)
{
     switch (v)
     {
        case 2:
        case 4:
        case 8:
        case 16:
        case 32:
        case 64:
        case 128:
        case 256:
        case 512:
        case 1024:
        case 2048:
        case 4096:
        case 8192:
        case 16384:
         ....... etc
              return true;
      }
      return false;
}

Now I know my version has a false positive for the value 0, but that was never an issue.