John Carmack's Keynote Address from Quakecon 2006. Topics include multi-cpu programming for next-gen games, exploiting parallelism, uncertainty of next-gen features, diminishing returns of increased complexity, programmer productivity, side projects and the full question and answer session ( ~70 minutes ).