View Single Post
  #10  
Old 01-20-2010, 12:46 AM
dduff442 dduff442 is offline
Approved Member
 
Join Date: Jan 2010
Location: Ireland
Posts: 114
Default

Quote:
Originally Posted by mazex View Post
Well, you describe the "strange" scenario well above - how come that so few games use multiple cores effectively but rely on beefy GPU:s? I guess you are not a programmer? It's really hard to use many threads effectively in an application that uses a main render loop that runs the screen updates at very high steady speed (many threads doing the render is even worse - though in some cases possible). When you are going to synchronize/join data for that render thread with a number of separate other threads (AI, network, loading stuff etc), you will have to keep you tounge in the right mouth The threads running on different cores really live their own life (and should do so) so the syncronization has to be effective to not get threads waiting for other threads etc (producing stutters and lag). Getting a bunch of threads to dance together while the main render thread runs at a steady 60 loops/sec is like a tango with four wifes - without annoying any one of them
This is all just nonsense. The reasons games don't employ computing power effectively are:

A) The development cycle of nearly all PC games is tied to that of console games. Consoles focus almost totally on graphical bells and whistles to the exclusion of all else.

B) Game devs don't profit (or rather feel they will) from a focus on long-term, evolving codebases. Graphics engines etc are stable technology. Individual game engines on the other hand are throwaway crap for the most part, with few going through more than 2 or three iterations. If Blah I is a classic, Blah II will be derivative, and Blah III is sure to add loads of half-assed junk options as the devs know the wheezing wreck of a codebase is already beyond rescue. Most codebases are dead already if the original design team is disolved. This hasn't been the 1C:Maddox way in the past and I hope it doesn't go down this route now.

C) The development cycle of most games has little to do with engineering. It nearly always starts with the concept art, followed by rounds of meetings by the suits as the company considers distribution, market segment issues, the company's portfolio of other titles etc. The result is never something anyone might love: it's something random disinterested businessmen think is okay, the lowest common denominator creatively speaking.

D) The actual coders are only involved at a low level and only get their say after (C). 'Game engines', where they exist at all, cover graphics and (at best) some scattered elements of the modeled environment. The wheel is reinvented for each new release as far as gameplay is concerned. Why do you think gameplay in FPS games has barely moved forward since Thief in 1998?

Multi threading on multiple cores needn't even be that efficient on all processors with modern PCs to still make a big difference to gameplay. Not all processing need be done on a frame-by-frame basis. For example, top-level AI heuristics could provide direction to lower-level manoeuvre AI which could in turn guide AI behaviour on each frame. Synchronisation of the first two strands isn't critical and memory bandwith issues etc. would not be significant.

Developer commitment to high-quality engineering and a sustainable codebase can be very profitable as the Oracle example cited elsewhere proves. The reason it features so little in the gaming industry is that it no more guarantees profitable games than do good lighting and camerawork in the movies, so it takes a back seat to the often stupid ideas of the business 'creatives'. This attitude is short-sighted, however.

A stable, tightly-knit dev team committed to incrementally improving a sustainable product could blow away the competition in many areas of gaming. Flight sims are evidence of this. Image processing and compression tech are other good examples. Look at the humble jpeg, basically the technology that made the internet possible. JPEG (and MPEG, MP3, MP4 and other derivatives) will be 18 this year. That sort of thing is real technology, not the throwaway stuff pumped out by the games industry.

Regards,
dduff
Reply With Quote