TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

The Exceptional Beauty of Doom 3's Source Code

62 点作者 gjenkin超过 12 年前

8 条评论

akkartik超过 12 年前
The most tantalizing idea here was that "Local code should explain, or at least hint at the overall system design." I was disappointed that there was no further reference to it after the introduction.<p>In the end, much of the article was yet another articulation of syntactic preferences.
评论 #5059920 未加载
gebe超过 12 年前
And don't forget the check the discussion about Carmack's comment from yesterday <a href="http://news.ycombinator.com/item?id=5055808" rel="nofollow">http://news.ycombinator.com/item?id=5055808</a> .
edu超过 12 年前
More or less dupe <a href="http://news.ycombinator.com/item?id=5055808" rel="nofollow">http://news.ycombinator.com/item?id=5055808</a><p>edit: spelling
gbraad超过 12 年前
I wouldn't call it exceptional beauty. Code can be beautiful, but most projects in gaming (or actually any other branch), just as the author of this article says, gets released under pressure. And yes, this pressure is more common and results in bad, smelly or messy code. However, quake and doom's source code were released/open sourced after the game was released. Maybe they cleaned it beforehand... This does not take away they have a strict procedure and quality control during the development. I have seen/read the code and it is well written!
zhazam超过 12 年前
It's also worth checking out Sanglard's code review at <a href="http://fabiensanglard.net/doom3/index.php" rel="nofollow">http://fabiensanglard.net/doom3/index.php</a>
stonemetal超过 12 年前
Could some one explain the preference for printf over streams?<p>I find streams much easier to maintain since there is only one list instead of printf's two. I find Niether is really good at large string interpolation jobs, but streams seem to scale better to me.
评论 #5060962 未加载
hackingwombat超过 12 年前
The section on Minimal Templates is wrong on many points. There's usually no need to sacrifice genericness for readability; that's what typedefs are for. Also, C++11 now has foreach loops.
jacques_chester超过 12 年前
How 'bout that.<p>I thought this would have been submitted days ago.