The Mythical Beer Month

A new paper I co-authored with a few of my colleagues is scheduled to appear at SIGLP* 2011:

Abstract: The Mythical Beer Month is a software project management method that builds on the close relationship between software engineers and their beer. The method exploits properties of Booze Law to maximize the effectiveness of software developers by carefully rationing them beer.  Software developers are placed into a matrix organization according to their individual Ballmer Peak and rewarded with beer during and immediately following accomplishment of a milestone.  In this paper we present the Mythical Beer Month method, a summary of projects that have implemented the method, and finally some criticisms of the method.

(ACM Special Interest Group on Lazy Programming)

Killing the graphics API

bit-tech got all excited by some statements from AMD’s head of GPU developer relations where he advocates killing the graphics API.
This is great for console gaming, in fact it’s already the norm, but its a terrible idea for PC gaming.

A graphics programmer working on PC titles doesn’t want to have to code a game using the display list language of a bazillion different graphics cards.  At the very least you would have to support the “common” set of cards from nVidia, ATI AMD, and Intel.  In order to make your game marketable, you would end up essentially recreating DirectX or OpenGL yourself, negating the benefit of eliminating these APIs in the first place.

On a console, especially if you are a first party developer, you want access to the display list language because that’s the most efficient way to make the best use of the hardware, hands down.  And you only have one target platform to worry about, so it makes sense.  I don’t know about Xbox, but on PSP and PS3 the only way to push the hardware to its limits is to code display list generation commands directly into your game and skip the graphics APIs all together.  On PS3 you need to do this anyways in order to be able to generate graphics from the SPUs.

I would be surprised if Sony isn’t taking this approach on PSP2 also.  It’s good for the console manufacturer to lock developers into a platform–and I suspect that might be where the AMD guy is coming from also.

But he’s wrong to advocate this for PCs.  It would probably stifle innovation more than advance it (as he claims it would), because now hardware vendors would feel compelled to make their opcodes backwards-compatible for free of breaking compatibility with older, popular games.  You would recreate the same problem we have now with the “venerable” x86 platform.

Unless he’s talking about reconfigurable ISAs on the GPU.  That could be interesting.