HackerURLs

一次又一次被重新发现的经典。

同一个链接,相隔一年以上,一次又一次被人重新发现、再次冲上 Hacker News 首页。能经受住这种时间检验的,大多是值得一读再读的文章。每篇附中文标题,讨论最热的那些再加上中文导读和高赞评论翻译。

从名人堂开始
  • 4,700+篇经过时间检验的经典

Hall of fame

名人堂

在经典库里看全部精选

上首页次数最多、而且有中文导读的 30 篇。时间轴上每个黑点是一次上首页,空心点是一次没冲上去的投稿。

  1. 正在载入经典…

Archive

经典库

按第一次上首页的年份分布,点柱子筛选。

排序

    About

    这些经典是怎么挑出来的

    1. 01

      合并同一个链接

      读取 Hacker News 自 2006 年以来的全部链接投稿,把 http/https、www、跟踪参数等写法不同的同一篇文章合并成一条。

    2. 02

      只留经得起时间的

      同一链接至少两次拿到 50 分以上(约等于上首页),而且两次相隔一年以上;再由 AI 剔除状态页、产品首页和新闻事件。

    3. 03

      写导读、译评论

      上首页次数最多的 2,000 篇配上中文导读、"为什么经久不衰",并精选翻译 HN 高赞评论。导读由 AI 生成,可能有误。

    编程与软件工程nothings.org

    1998 年《神偷:暗黑计划》的 3D 软件渲染技术(2011)

    3D Software Rendering Technology of 1998's Thief: The Dark Project (2011)

    3次上首页
    11年跨度
    351累计得分
    96条评论

    2011 — 2022,它一次次回到首页

    黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。

    导读

    这篇文章分析 1998 年《神偷:暗黑计划》在没有 3D 硬件加速时如何用纯软件实现 3D 渲染,重点涉及基于 cell 的可见性裁剪、透视校正等技巧,并与 Quake 等引擎的取舍作比较。这套引擎常被称为 Dark Engine,后来也用于 System Shock 2,其设计明显服务于 Thief 的潜行/RPG 体验而非 Quake 式高速多人 FPS。

    为什么经久不衰:它把软渲染时代的工程巧思和 Thief 的潜行设计放在一起讲,今天读来既是引擎考古,也能理解经典游戏体验从何而来。

    关键词 游戏引擎软件渲染Thief游戏史

    HN 评论精选

    作者举的走廊例子在 Quake 中可通过关卡设计师布置可见性边界来避免;文章没提 Dark Engine 之名,但该引擎为 Thief/System Shock 的潜行 RPG 调校得很好,不适合 Quake 式高速多人 FPS。

    这个结果可能没那么严格;例如一条长走廊连着许多侧室,如果长走廊是一个单独 cell,Quake 会总是尝试渲染所有侧室,而 Thief 只会尝试渲染通往每个侧室的入口 cell(因为这些 cell 总与走廊相邻且可见),但 Thief 可以在房间当前不可见时把房间本身剔除。但这是个大前提。如果你把这种布局留成一个长长的 vis chunk,那就是搞砸了。关卡设计师会沿走廊策略性地放置 vis 边界来控制这种行为。这有点像一门艺术,但并非什么秘密知识,就连 Quake 自带关卡也内置了这种调校。奇怪的是,文章通篇没有把整个引擎称作我和大概多数关卡/mod 设计师所称的“The Dark Engine”。不过它仍是经典,为 Thief 和 System Shock 的潜行/RPG 玩法调校得很漂亮,完全不适合 Quake 那种高速多人 FPS 玩法。把两者作比较总是很有趣。

    FooHentai查看英文原文

    >This result could be less tight; for example, if you had a long corridor with many side rooms, and that long corridor was a single cell, then in Quake it would always try to render all the side rooms, whereas Thief would only try to render the entry cell to each of the side rooms (since those cells would always be adjacent to the corridor and visible), but Thief could cull the rooms themselves if they weren't currently visible. Big if. You had screwed up if you left such a setup as one long vis chunk. Level designers would place vis boundaries strategically along a corridor to control this behavior. It was a bit of an art form but not exactly hidden knowledge, even the levels that shipped with quake SW had this kind of tuning built in. Weird that at no point in this article is the engine overall referred to as what I and presumably most level/mod designers referred to it as - 'The Dark Engine'. Still, she's a classic. Tuned beautifully for the sneak/rpg gameplay of Thief and System Shock. Not at all suitable for the high speed multiplayer FPS gameplay of Quake. A comparison between the two is always interesting to see.

    软件渲染时代对 CPU 浮点/整数并行的利用能决定游戏能否流畅运行,也影响了 Cyrix 等 CPU 的命运。

    他提到自己用过一个技巧:先发一条浮点除法做透视校正,随后跟整数指令;据说这招杀死了 Cyrix。Carmack 在 Quake 里发现初代 Intel Pentium 能让浮点除法和整数指令并行执行,并利用了这一点。没有这个技巧,Quake 帧率会令人失望。Cyrix 686 通常比 Pentium 快,但它的 FPU 不是那样工作的,因此它跑 Quake 效果很差。

    IMSAI8080查看英文原文

    The trick he mentions he used where he issues a floating-point divide for perspective correction followed by integer instructions allegedly killed Cyrix. Carmack figured out for Quake that the original Intel Pentium could execute a floating point divide in parallel with integer instructions and exploited it. Without that trick Quake produced a disappointing frame rate. The Cyrix 686 CPU was generally faster than the Pentium but the FPU didn't work like that which meant it couldn't play Quake very well.

    Thief 的渲染器当年不算突出,真正支撑潜行体验的是 AI、声音与光照;它在游戏史上影响深远。

    说来有趣,我最近一直在玩《神偷》(是这一部,不是那部垃圾新作)。哇,这游戏真难。但它玩起来也绝对过瘾,而且是游戏史的重要一环(最早的第一人称潜行游戏之一,帮助把 3D 潜行确立为一个类型;引擎后来用于 System Shock 2,还影响了 Warren Spector 的下一部作品《杀出重围》)。虽然它的渲染器在当时并不特别惊艳,但 AI、声音和光照引擎很出色,而这对一款潜行游戏至关重要。

    qwertyuiop924查看英文原文

    Funnily enough, I've been playing Thief recently (this one, not the rubbish new one). And wow that game is hard. It's also an absolute blast to play, and an important piece of gaming history (one of the first First Person Stealth games, helped codify 3D stealth as a genre, engine later used in System Shock 2, had some influence on Warren Spector's next game, Deus Ex). While the renderer wasn't particularly impressive for the time, the AI, sound, and lighting engines were, which was essential for a stealth game.

    Looking Glass 同时拥有创意叙事人才和引擎技术人才,这种团队组合非常难得。

    令人惊叹的是,Looking Glass 工作室不仅以技术闻名,也以写得好的故事和创新玩法闻名。前两者通常来自极具创造力的人,而他们未必受过高性能技术设计细节的训练。要组建这样一支团队,同时招募到有技术能力造出这个引擎的人,一定极其困难。

    AdmiralAsshat查看英文原文

    The amazing thing here is that Looking Glass studios was known for its well-written stories and innovative gameplay, in addition to its technology. The first two generally come from highly creative people that are not necessarily trained in the minutiae of high-performance technical design. It must be incredibly difficult to assemble a team like that while also recruiting someone with the technical chops to create the engine.

    历次讨论

    同类还值得读

    1. 开源应用架构

      The Architecture of Open Source Applications

      《开源软件架构》(AOSA)是一本在线免费书,邀请知名开源项目的作者亲自剖析其内部设计,涵盖 SQLAlchemy、LLVM、Audacity、Apache、Bash 等系统。

      编程与软件工程上首页 9 次 · 2011–2024aosabook.org编辑精选
    2. 编程语言简史:简短、不完整且多半错误

      A Brief, Incomplete, and Mostly Wrong History of Programming Languages

      一篇以戏谑、故意不准确的方式回顾编程语言史的博客文章,用夸张轶事和讽刺定义串起 Lisp、C、C++、Java、JavaScript、PHP 等语言。

      编程与软件工程上首页 8 次 · 2009–2021james-iry.blogspot.com
    3. SQLite 是如何测试的

      How SQLite is tested

      SQLite 官方文档页,系统介绍 SQLite 的测试体系:多种测试方法(TCL 测试、模糊测试、回归测试、静态分析等)和海量测试用例,展示了这个小型开源项目如何靠极致测试获得…

      编程与软件工程上首页 8 次 · 2009–2025sqlite.org编辑精选
    4. 高级编程语言(2009)

      Advanced programming languages (2009)

      Matt Might 的经典文章,按用途推荐“高级编程语言”:如果追求就业就选主流语言,如果追求表达力、学术研究或创业,则推荐 Haskell、OCaml、Scala 等函数式语…

      编程与软件工程上首页 8 次 · 2009–2022matt.might.net
    5. 我的 Forth 与栈机器经历

      Yosefk - My history with Forth & stack machines

      作者以亲身经历回顾了使用 Forth 语言和栈式机器的历程:既赞叹其简洁优雅、代码量小、可自举的优点,也坦率指出栈操作在实际编程中的痛苦,以及 Forth 社区文化中的问题。

      编程与软件工程上首页 8 次 · 2010–2024yosefk.com编辑精选

    打赏支持

    打赏二维码

    觉得有用,请作者喝杯咖啡。

    WeChat

    关注向阳乔木

    微信公众号「向阳乔木推荐看」

    微信公众号「向阳乔木推荐看」二维码

    微信扫一扫;在微信里打开本页时,长按二维码识别。