克里斯·索耶(Chris Sawyer)用汇编语言编写大多数过山车大亨将涉及多长时间以及哪种类型的复杂性?


14

关于这个问题,我还有另一个问题……
克里斯·索耶(Chris Sawyer)用汇编语言编写大多数过山车大亨将涉及多长时间以及哪种类型的复杂性?

为了指定并分解这个问题,我感兴趣;

  1. 您估计克里斯大约要花多少工时(有一个猜测)?或者,换句话说,用C / C ++编写整个程序,给出近似的汇编程序编码小时数百分比。

  2. 熟悉汇编程序的程序员是否会认为这对于如此低级的语言抽象来说是一项过于复杂的任务?除了性能优势外,这还只是克里斯拥有的一种奇特的自然能力,还是值得学习的技能?我很感兴趣,如果人们认为复杂性/性能值得值得(为了编写)学习汇编程序,或者如果您在汇编程序方面有很多天生的技能(大概是通过使用硬件工作),那么这仅仅是“值得”吗? /硬件驱动程序/电子设备/等)。


1
他可以先用C编写代码,然后根据需要将其部分更改为汇编器吗?
乔恩·昂斯托特

1
哈哈哈哈,这就像是一个正在阅读我的旧评论的人提出的问题。
Mark C 2010年

Answers:


12

通过阅读粗略的传记,看起来像是两年(1997年初至1998年底)。考虑到他似乎是“一次完成一个项目”的人,并且工具集和时间表对于“团队开发”而言并不是很好,我假设程序员连续工作24个月。

从1983年开始,他一直是专业的游戏程序员,从1983年开始从事汇编工作,所以我不会将“两个克里斯年”等同于“两个我年”。

鉴于大多数专业游戏的开发团队大约需要25人的时间,因此行业领先的游戏需要2人的时间是一个了不起的成就,这使人们深信以下话:

因此,在这种情况下,如果克里斯使用C或Java或Javascript或...,那么过山车大亨的编写速度会提高多少?除了他可能使用较慢的语言(他没有14年的工作经验)可能会稍微慢一点以外,可能没有其他问题。


好点,我认为可能是这样。
匿名类型

4

如果您认为C只是一个“高级”汇编程序而已,并且我们假设Chris在每个例程中都不会对他的汇编代码进行疯狂的优化,那么我会想想%时间更长,那么它对于熟练的汇编程序员而言,可能还不止这些。

当您执行C根本无法完成的所有疯狂的优化(向量化操作,使用特殊指令集(SSE等),有点儿乱七八糟的操作等)时,汇编会变得很复杂。如果您正在执行这些操作,那么时间实际上是在“摆弄,组装,测量...摆弄,组装,测量...”循环中,而不是在实际编码中。有了出色的宏汇编程序和熟练的程序员,那么编写汇编与编写C代码相比并不是一个很大的步伐。

不过,我将无法做到!我不禁思索要尝试直接在程序集中初始化DirectX!(编辑: 维基百科告诉我,他用C语言编写了一些部分以“与Windows操作系统接口”,所以我想他不是在组装时初始化DirectX,而是!)!


是的,那是我最初无法弄清楚的一点。但是后来我读到了有关将C用于DirectX的知识。感谢您提供有关优化的非常有趣的信息。
匿名类型

3

另一个以汇编程序编写大量Windows程序而闻名的人是ShieldsUp的SpinRite的作者Steve Gibson!和其他实用程序。他在这里讨论他对汇编语言的热爱。

兰迪·海德(Randy Hyde)(我俩曾经都为Apple II编写6502汇编代码的时候回想起),有一本名​​为《Windows汇编语言编程》的新在线书。他大力支持使用奇特的宏(包括循环结构)使汇编编程更像使用高级语言。索耶可能使用了类似的方法来提高生产率。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.