工具与资源github.com
《指挥官基恩》源代码发布
Commander Keen source code released
2014 — 2022,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
《Keen Dreams》(俗称“指挥官基恩3.5”或“失落的一集”)的源代码被公开到 GitHub。这是 id Software 为履行与 SoftDisk 的合同义务而制作的游戏,其引擎和美术介于基恩前两部三部曲之间,也是唯一一款没有标志性的弹簧跳杆和神经冲击枪的基恩游戏。
为什么经久不衰:这是 id Software 早期历史的珍贵一手资料,其中包含卡马克著名的“自适应瓦片刷新”平滑滚动技术的实现,对游戏开发史和引擎技术感兴趣的人至今仍值得研读。
HN 评论精选
说明 Keen Dreams 在基恩系列中的独特定位与来历
注意《Keen Dreams》就是有时被称为“指挥官基恩3.5”或“失落的一集”的游戏;与由 id 制作、Apogee 发售的第1-3集和第4-6集不同,Keen Dreams 是 id 为履行与 SoftDisk 的合同义务而制作的最后一款游戏。它在很多方面都很有意思——引擎和美术明显处于第一和第二基恩三部曲之间,而且是唯一一款基恩没有他标志性的弹簧跳杆和神经冲击枪的游戏。
thristian查看英文原文
Note that "Keen Dreams" is the game sometimes called "Commander Keen 3.5" or "The Lost Episode"; unlike episodes 1-3 and 4-6 which were made by ID for sale by Apogee, Keen Dreams was (I think) the last game ID made to fulfill their contractual obligations with SoftDisk. It's interesting in a number of ways - the engine and art is very clearly halfway between the first and second Keen trilogies, it's the only game where Keen doesn't have his iconic pogo-stick or his Neuralizer Ray gun.
指出源码中包含卡马克开创性的平滑滚动技术
关于指挥官基恩的技术基础,补充一点历史背景:“接着,第一个突破出现了。John Carmack 设计出一种平滑滚动程序,类似于任天堂游戏背景所用的技术,但在 PC 上此前从未实现过。”这项技术叫做“自适应瓦片刷新”。
Arjuna查看英文原文
A little slice of history regarding one of the technical foundations of Commander Keen, for those that aren't aware: "Then, the first breakthrough. John Carmack devised a smooth, scrolling routine similar to that used for the background of Nintendo games but never before possible on the PC." [1] The technique is called, adaptive tile refresh. [2] [1] http://www.3drealms.com/keenhistory [2] https://en.wikipedia.org/wiki/Adaptive_tile_refresh
发现源码中随机数表里的斐波那契数列有误
哈哈,他把斐波那契数列写错了(应该是 ...13, 21, 34, 55, 89, 144,除非他是故意的)。
ahomescu1查看英文原文
https://github.com/keendreams/keen/blob/master/id_us_a.asm#L65 > baseRndArray dw 1,1,2,3,5,8,13,21,54,75,129,204 Hah he got the Fibonacci series wrong (it's supposed to be ...13, 21, 34, 55, 89, 144, unless he did this on purpose).
源码公开让人能亲眼验证书中的技术传奇
我之前不知道基恩的源码已经公开了。我记得在《Masters of Doom》里读到过那个滚动技术,以及 id 如何试图用它把马里奥移植到 PC。现在我终于可以读代码本身了。
emmanueloga_查看英文原文
I did not know the sources of keen game/(s?) were available. I remember reading in "Masters of Doom" about the scrolling technique [0], and how ID tried to use it to create a port of Mario for the PC. Now I can read the code, too :-). [1] 0: https://en.wikipedia.org/wiki/Adaptive_tile_refresh 1: https://github.com/keendreams/keen/blob/4348b4719be87a0b873f5f4f77b4de82ddf7050c/id_rf.c#L1057-L1069
历次讨论
同类还值得读
直接在浏览器中启动 Linux 内核
Boot a linux kernel right inside your browser.
Fabrice Bellard 的 JSLinux 页面,用 JavaScript 在浏览器里启动一个 Linux 内核,并提供一个可交互的终端环境。
工具与资源上首页 5 次 · 2011–2025bellard.orgHacker News 未公开功能与行为清单(2018)
A List of Hacker News's Undocumented Features and Behaviors (2018)
数据科学家 Max Woolf 整理的 Hacker News 未公开功能与行为清单,涵盖投票机制、排名算法、账号惩罚等社区运作细节。
工具与资源上首页 5 次 · 2019–2025github.comMapSCII:在终端中用盲文和 ASCII 渲染地图
MapSCII – Braille and ASCII map renderer for the console
MapSCII 是一个在命令行终端里渲染地图的开源工具,用盲文字符和 ASCII 字符把地理数据画成可交互浏览的字符地图。
工具与资源上首页 5 次 · 2017–2025github.com顶尖大学的免费在线课程
Free Online Courses from Top Universities
Open Culture 整理的一份免费在线课程合集,汇集了全球顶尖大学(如 MIT、斯坦福、耶鲁等)向公众开放的网络课程资源,涵盖音频、视频等多种形式。
工具与资源上首页 5 次 · 2010–2022openculture.com淘气字符串:容易引发用户输入问题的字符串清单
Naughty Strings: A list of strings likely to cause issues as user-input data
一个 GitHub 仓库,收录了大量容易让程序出问题的用户输入字符串,如特殊字符、emoji、SQL 注入片段、系统命令等,供开发者用于测试输入处理逻辑。
工具与资源上首页 4 次 · 2015–2020github.com