I work as a game engine programmer, and my experience has been that programmers in this industry are as good as anywhere else. The best among them, are as good as the best programmers you'll find anywhere. We're on the cutting edge in many areas (3d graphics techniques evolve so rapidly that programmers specialize in it, and if they stop doing graphics programming for as little as 2 years, they get left behind). Modern games are huge and complicated, containing hundreds of thousands, sometimes millions of assets. 50+ programmer teams and multi-million line codebases are the norm now.mar wrote:I basically agree that nowadays it's a big mess. Most use existing engines.diep wrote: You are overestimating the Game Industry. Most hire very bad programmers to get their 3d stuff done; guys who have algorithmic little clue but all share they want to work for very small salaries. $60k a year is not uncommon, whereas other programmers, even here in The Netherlands who do well they're closer to 100k euro which including pension is $150k a year, than to $60k a year; it goes so far that even some major gaming companies simply buy in 3d engines from other companies as they simply do not know how to produce a 3d engine themselves.
We have our own 3d engine here by the way... (OpenGL)
Though a tad outdated by nowadays standards it's still better than those some games use that sell or sold bigtime... ..it's all about the graphics anyway.
Graphics is 99% of the work, not the game engine.
Game engine is just 1 programmer, no matter what platform.
Most of those game engines are from algorithmic viewpoint seen pretty bad. Basically they let bandwidth in the GPU solve their problem.
Simple examples are that one first has to sort its graphics objects, that speeds up things exponential in some cases. Not many do it...
Anyway, the gpu's are so much superior to what the graphics artists are capable of designing anyway - hardware is far ahead of the software anyway.
Note it's always a mystery to me how some game companies manage to survive. Yesterday i checked Blizzard software. Statement when i googled from bloomberg was turnover of Q1 of 500+ million dollar in 2011.
Yet in 2011 basically only Diablo3 released.
Cost $60 a piece. What wouldbe blizzards profit on that? Maybe $25 maybe $30? Not that much more. The shops want big profit!
$30 * 6.3 million copies sold from diablo3 is under $200 million.
If we compare that 200 million dollar with the 2 billion turnover there is a big gap, even if i'm afew factors off. Because basically no other game theirs sold that well AFAIK, though i could be mistaken. There is a huge gap between income of the company and published sales...
Would it be all government subsidy?
They claim 4500 employees or so. Probably that's creative counted as usual - but even then. A game like that, person or 20-60, from which majority graphics designers, that is the max.. So the rest is probably subsidized.
They seem to have 3 big titles. So that's under 200 employees what you need.
Most of the chessprogrammers from 90s are really a lot better than anyone i ever met in the game industry. As for the new guys with engines nowadays - i haven't seen anyone of them invent something new past years so can't judge there, yet i do realize they didn't invent anything new; this whereas todays hardware really allows inventing new algorithms. Most seem to copy from another guy and creatively rewrite existing code and then claim it's theirs. That's easy to do.
But I think you underestimate game industry. I was of course talking about nineties when there was a boom. No GPUs, just a single core CPU at 75MHz, FPU was very slow at that time, no SIMD either, no MMX. I was referring to guys who wrote the first DOS quake, that's 1996.
The first game to have precomputed visibility, precomputed lighting (now outdated lightmaps), dynamically offset world geometry to reduce collision detection to raycasting, a game which ran at playable rates using software rasterizer with adaptive perspective correction on early Pentiums. So certainly i wasn't talking about copy-paste guys or noobs.
A game engine is not only about graphics, that's just a tiny fraction of what it has to do. Collisions and physics, sounds, networking, scripting, game logic + AI and pathfinding, persistent game state and of course rendering (geometry LOD, visibility, lighting, shadows, particle systems, skeletal animations and inverse kinematics, GUI, some stream huge texture to cover the geometry) and editing tools. Some have to do realtime content streaming and today writing for multiple cores is a must. And everything has to be optimized to the maximum. And everything has to run on multiple systems so portability is also a must.
There's algorithmically so much more to it that a chess engine compared to it looks like a toy.
As for Diablo3, Blizzard's profit from box sales of Diablo3 is only part of the picture. It has a real-money auction house, and Blizzard takes a cut from every sale.