Game development PC specs

Yeah, what Linoleum and BTG said.

I’ve worked on giant C/C++ codebases and the only ones where build times were a huge problem were ones in which the project was full of horrible header file abuse, like header files including dozens of other header files willy-nilly and stuff like that (often when they don’t even need to and could have just forward-declared a couple of things).

Thankfully I barely ever have to code in C/C++ anymore and with languages that are sane enough to not force you to split the declaration and definitions of code, compilation time tends to stay managable even if the programmers aren’t ubercareful.

Our game is 1.6 million lines of code. I have to believe that Braid was much smaller.

How big was Duke Nukem Forever at the end?

Yeah, my new game (which is in 3D) can do a full rebuild in 22 seconds on my laptop. (That’s without my having done any optimization with regard to compile time… once things hit 30 seconds I will probably do some of that).

It’s worth noting that under Visual C++ 6, with the much slower computers of the time, a code base very close to this compiled in 11 seconds. Let’s assume I added enough code to slow things down by a factor of 2 since that time (unlikely, but okay). That means Visual Studio has eaten all machine-speed increases that have happened in the past 8 years. While providing very little benefit in return.

That said, the MSVC linker is ridiculously bad and probably the biggest bottleneck for significant sized projects.

I have learned to love ‘static’ for file scope (and, by inference, not declaring things as methods unless I really want them that way for whatever strange reason).

Yeah, pretty much…


http://cloc.sourceforge.net v 1.08  T=3.0 s (170.3 files/s, 48718.0 lines/s)
-------------------------------------------------------------------------------
Language          files     blank   comment      code    scale   3rd gen. equiv
-------------------------------------------------------------------------------
C++                 234     26984      8781     78185 x   1.51 =      118059.35
C/C++ Header        259      4805      3161     13626 x   1.00 =       13626.00
C                     3      1046      2249      5986 x   0.77 =        4609.22
Perl                  7       160        79       343 x   4.00 =        1372.00
XML                   2         0         0       285 x   1.90 =         541.50
HTML                  1        64         2       255 x   1.90 =         484.50
make                  2        31         3        53 x   2.50 =         132.50
CSS                   1         5         3        46 x   1.00 =          46.00
DOS Batch             2         0         0         2 x   0.63 =           1.26
-------------------------------------------------------------------------------
SUM:                511     33095     14278     98781 x   1.41 =      138872.33
-------------------------------------------------------------------------------