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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Commander Keen's adaptive tile refresh

417 点作者 atan2将近 2 年前

21 条评论

mortenjorck将近 2 年前
The fluidity of the scrolling in Commander Keen 4-6 was unmatched on PC for years, even as games moved to 256-color graphics. Between Carmack&#x27;s incredible technical work and Adrian Carmack&#x27;s [1] art, Id had perhaps the best-looking PC platformer well into the 1990s.<p>[1] No relation to the more famous Carmack, but IMO the unsung master of the 16-color palette.
评论 #36902660 未加载
评论 #36904547 未加载
评论 #36901668 未加载
评论 #36901721 未加载
评论 #36902092 未加载
评论 #36902951 未加载
评论 #36904486 未加载
AndrewStephens将近 2 年前
I remember writing a tile-based game for Window98 using DirectX 5. I originally implemented something similar to what is described in this article. My case was not as complex because the screen didn&#x27;t scroll but large numbers of tiles could potentially need redrawing.<p>I ended up ripping out all of that code because when I tried to profile the cost of drawing the whole screen with my RIVA TnT card I literally couldn&#x27;t measure the tiny amount of time it took.<p>I am glad I missed the EGA period of PC development, I never would have gotten anything done.
评论 #36900378 未加载
评论 #36904026 未加载
djmips将近 2 年前
I worked at a different game company in the same time frame and I invented the same technique as the second approach. I don&#x27;t think it&#x27;s that amazing - if you were working on it at the same time you probably would have come around to it. Just as we also made our own PWM audio driver to play sampled sounds through the PC speaker - so did everyone else it seems. The PC didn&#x27;t get enough love before we were all on to the consoles. I get excited when I see demos like 8088 MPH by Hornet.
评论 #36902799 未加载
评论 #36904479 未加载
评论 #36904294 未加载
janvdberg将近 2 年前
In the excellent Masters of Doom it is explained that Keen was the Mario-like game (i.e. sideways scrolling). They offered the tech to Nintendo as an option to port Mario to the PC. Nintendo declined, thus Keen was born.<p>It was a vast leap for PC gaming and it opened an new era of PC gaming.<p>However, here is what I never quite understood, what was so different about the NES and PC tech that Nintendo had figured out to do sideways scrolling years before the PC?
评论 #36904096 未加载
评论 #36903988 未加载
评论 #36904003 未加载
评论 #36904618 未加载
评论 #36904540 未加载
sentientmachin3将近 2 年前
The Lex Friedman podcast with J. Carmack goes over all the major innovations in every game, really interesting episode, strongly advised if you have time (roughly 5 hours long)
评论 #36904586 未加载
zelphirkalt将近 2 年前
I still rememner the time, when I knew almost every secret (or so I believed) in Commander Keen Goodbye Galaxy, and other pupils at school asking me to tell them secrets in levels they played after classes on a school computer.
评论 #36901763 未加载
Dwedit将近 2 年前
I see fabiensanglard.net, I upvote.
评论 #36900016 未加载
thristian将近 2 年前
I can understand how to scroll vertically by adjusting the frame buffer start by a scanline at a time, but it wasn&#x27;t clear to me how scrolling horizontally would work without horribly shearing the framebuffer.<p>Now that I&#x27;ve thought about it a little more, I realised it&#x27;s like painting a picture on the side of a cylinder. No matter where you draw the left-hand edge of the image, there&#x27;s always a way to rotate the cylinder (set the CRTC_START and PEL registers) so you can see the whole thing clearly.<p>&gt; <i>I took the easy solution of when you finally did run to the edge of the screen I accepted a hitch and just copied the whole screen up.</i><p>I remember when Keen started up it would usually mention something about &quot;VGA compatibility mode enabled&quot;, and I always wondered what that meant.
sdfghswe将近 2 年前
Oh man Commander Keen was such a lovely little game. I gotta find a way to run it again.<p>BTW. Recommendations how to run this? As a &quot;grown up&quot; I haven&#x27;t used windows in about... 20 years? How do I play this on Debian?
评论 #36900887 未加载
评论 #36901335 未加载
评论 #36901493 未加载
评论 #36900802 未加载
评论 #36901869 未加载
评论 #36900893 未加载
geon将近 2 年前
I implemented the second method a couple of years ago, but drawing even just the leading edge was very slow. I did it in C though and have never really mastered asm programming.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;geon&#x2F;kate&#x2F;blob&#x2F;master&#x2F;src&#x2F;platform&#x2F;dos&#x2F;ega.c">https:&#x2F;&#x2F;github.com&#x2F;geon&#x2F;kate&#x2F;blob&#x2F;master&#x2F;src&#x2F;platform&#x2F;dos&#x2F;eg...</a>
legendofbrando将近 2 年前
Just piping in to say how much I loved this piece. This is what the internet is excellent for.
clintfred将近 2 年前
Anyone here read &quot;Doom Guy&quot;<a href="https:&#x2F;&#x2F;amzn.to&#x2F;43DLW2U" rel="nofollow noreferrer">https:&#x2F;&#x2F;amzn.to&#x2F;43DLW2U</a>? I&#x27;d love to hear what you think of it.<p>I have really enjoyed Jason Schreier&#x27;s recent books on game dev.
评论 #36901247 未加载
评论 #36901435 未加载
评论 #36901159 未加载
评论 #36901099 未加载
magnawave将近 2 年前
Oh this is awesome. When I was a kid I really really attempted to write a Keen knock off (doctor who themed) on my 386 and it was ok although never really did enough level development to make it super playable. But TO THIS DAY, never knew how the heck they made it scroll so smoothly. I just ended up just jump scrolling. Figured it was some mad assembler skills, never imagined there was a hw register!<p>Did figure out the double buffering stuff on my own though ;)<p>Seems so obvious, learn something new everyday, even if it would have been more useful, say maybe ~30yrs ago ;)
dreadlordbone将近 2 年前
hugged to death: <a href="https:&#x2F;&#x2F;archive.is&#x2F;eX21w" rel="nofollow noreferrer">https:&#x2F;&#x2F;archive.is&#x2F;eX21w</a>
评论 #36902457 未加载
andai将近 2 年前
Most surprising part of this for me is that IBM used to invent computer hardware! (And it sounds like they were pretty good at it!) Why&#x27;d they stop?
评论 #36910353 未加载
评论 #36908969 未加载
NovaDudely将近 2 年前
So the second trick looks like how the background layers work on systems like NES&#x2F;Master System&#x2F;SNES&#x2F;Genesis. Just update tiles outside of the visible range and just have the view window constantly looping around. Or am I missing something?<p>I mean to do that on EGA is very neat (well duh!) considering those consoles all have dedicated VPU&#x27;s for this task. Just wanted to make sure I am understanding it correctly.
I_am_tiberius将近 2 年前
&gt; The second Keen trilogy used a better trick -- just keep panning and redrawing the leading edge, letting the screen wrap around at the 64k aperture edge.<p>Isn&#x27;t this similar to virtual scrolling?
lowbloodsugar将近 2 年前
I mean, we were doing the wrap-around “trick” in 1981 on the BBC Micro - and I didn’t know it was a trick so much as in the manual. The Defender and Scramble clones on the beeb were super smooth.
评论 #36901715 未加载
timcederman将近 2 年前
Maybe it&#x27;s explained in Doom Guy, but why does the author use &quot;ATS&quot; as the TLA for &quot;Adaptive Tile Refresh&quot;? I can&#x27;t find any references other than this article.
评论 #36902221 未加载
wizardforhire将近 2 年前
Just gonna leave this here for the spelunkers…<p><a href="https:&#x2F;&#x2F;www.dopefish.com&#x2F;fishinfo.html" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.dopefish.com&#x2F;fishinfo.html</a>
ensocode将近 2 年前
One of my favourites together with Lemmings
评论 #36910773 未加载