在计算机发展的过程中,还有一股非常强大的力量:电子游戏。在上面提到的程序中,总是说计算机的发展是由政府和企业驱动的,一般来说,要么是为了科学和军事研究,要么是为了计算机在企业中的使用。其实我觉得还有一个重要的驱动力——游戏。
对于大多数普通人来说,我们玩电脑只是为了好玩。现在我相信99.99%的人玩电脑和手机只是为了玩游戏和看视频,绝对不做什么科研。我觉得这很人性。如果超过10%的人用电脑或手机做研究,这个社会肯定有问题。
现在有专门玩游戏的电脑,比如任天堂,微软的XBOX,索尼的PS。(换个说法,我觉得下一代主机索尼会被微软打死。前两天看了索尼的发布会,觉得一点诚意都没有。现在还不清楚PS5长什么样,兼容性也不好。微软的人已经把评测拆开了。如果每个人只买一台机器,他们就会买XBOX。再谈对索尼有特殊的信仰。先说当年的历史。20世纪70年代,绝对没有专门用于游戏的电脑。本期我就来说说早期电脑是怎么用来玩游戏的。
有一本著名的书《黑客》,作者是史蒂文·利维。这本书讲了一个故事:在麻省理工学院,有一个从事建模的组织,主要是铁路建模。这个组织叫做技术模型铁路俱乐部,至今依然存在。如果你用这个作为关键词在YouTube上搜索,可以找到视频。我还在微信官方账号和bilibili里贴了一个视频,是2012年拍的。你可以看到这些模型真的很逼真。看视频就能看出来,不仅铁路,火车都栩栩如生,连周围的房子,电车,火车经过后开走的车厢都很准,感觉太NB了。
在这个实验室工作的大多数人都是麻省理工学院的教授和学生,其中两人是约翰·麦卡锡和马文·明斯基。这两位教授一定知道,原因是现在人工智能这么流行,而且是约翰·麦卡锡提出来的。我给你讲个故事。在我的电台里,曾经讲过《十年学编程》和电台的122期。本文作者是彼得·诺维格,非常厉害。
这个人最喜欢推广python语言。2002年,他去麻省理工学院讲课,当然是为了推广Python语言。讲座的主题是Python是一个Lisp。演讲结束后,为了进入提问环节,他虔诚地问了一个头发凌乱、胡须凌乱的来访者,这个来访者就像一个从旅游团上摔下来的游客,完全迷路了,来到这里坐下来休息。彼得·诺维格非常关切地问:约翰,你有什么问题吗?
然后,约翰·麦卡锡只问了一句。问题是:“如果Python可以创造性地将Python代码作为数据来操作。”Python能像数据一样处理自己吗?彼得·诺维格想了一会儿,回答说:没有。然后,他静静地等待约翰·麦卡锡的下一个问题,但老人一句话也没说。这时,无语已经赢得千言万语。
虽然Python肯定不是Lisp,但是我觉得Ruby是可以接受的Lisp
DEC公司,刚刚在广播里提到的公司,在1961年9月送了一台PDP-1电脑到这个铁路模型技术俱乐部。PDP-1大概有三个冰箱那么大,但却是世界上第一台可以和用户互动的电脑。这台电脑有键盘和图形显示器。这群学生中最好的程序员是史蒂夫·拉塞尔,他是约翰·麦卡锡的学生。
举个例子,史蒂夫罗素编程有多好。Lisp是一种函数式编程语言,但这种语言在引入时并不打算设计成编程语言,只是为了更简洁地定义图灵机,Lisp的编写方法也只是为了满足论文写作的需要。发明家约翰·麦卡锡不想用它来编写Lisp程序并在计算机上运行。最后,约翰·麦卡锡的学生史蒂夫·拉塞尔做了一个Lisp的翻译,然后这种语言就在电脑上实现了。在此之前,约翰·麦卡锡特别建议他的学生注意理论和现实之间的差距,这可能是写不出来的。但是人可以变成现实。
他不仅制作了Lisp,还制作了世界上第一款可以在电脑上运行的游戏“Tai 空 War”。后来在UNIX上移植的第一款游戏也是《泰空大战》。有人说UNIX的作者做UNIX是为了玩这个游戏,这个无法考证。但是很容易证实史蒂夫·拉塞尔的老师是约翰·麦卡锡,他后来成为了一名教师,并在西雅图的一所名为湖滨学校的中学担任编程老师。1968年,他有两个著名的学生,一个是比尔·盖茨,另一个是保罗·艾伦,他们在这里学会了如何使用PDP-10主机。
我觉得这是一种长期的文化,可能需要长期的积累。我不知道每个人的老师是什么样的,但我知道我的老师是什么样的。我总是想起我的生物老师。当他教我们的时候,他打算退休。他不懂生物,是残疾人。当时我们傻到不知道发生了什么,就想这个人怎么会是老师呢?后来慢慢了解到,他年轻的时候被不人道的对待了十年,没结婚就当了老师。然后那十年,老师倒霉,去山上炸石头。我不知道他是被炸还是被打。总之他的腿有问题。后来他平反了,回来当老师。他年轻的时候被学生打。后来我们这些傻逼不敢打他,还瞧不起他,学会了走路一瘸一拐的。因为他想评个职称,领个养老金,就要上课。据说他以前教语文,被折磨了十年,脑袋不太好使,就来教一些生物之类的不重要的课。后来还没退休就去世了,一生就这样过去了。我已经忘记了他的名字,只记得他姓王,因为他的腿是残疾人,他不能骑自行车,所以他一步步地搬到学校来教我们功课,我们所有的SB孩子都不尊重他。我经常想起这个老师,但我再也没有机会对他说对不起。
我们来谈谈马文·明斯基教授,他是约翰·麦卡锡的同事,发明了Lisp。两人都获得了图灵奖。当时,他发明了一种在显示器上画画的方法,可以在PDP-1显示器上形成美丽的图案。其他同学用他的算法画画。结果史蒂夫罗素用这个算法画出了一艘飞船。画完飞船后,他开始思考如何制作飞船的轨迹。于是大家说:“我们玩个游戏吧。”他还夸口说不会动手。
别人问他你为什么不玩游戏?他说,这个游戏还有一个算法没有修复,不修复就无法启动。人家问他什么算法不做?他说正弦函数。俱乐部里的一个人说他会这么做。这个人叫艾伦·科托克,他认识DEC公司的一个员工,正好有正弦函数的代码。然后艾伦·科托克把代码拿回来,告诉史蒂夫·拉塞尔,你应该尽快开始工作。
1961年圣诞节,史蒂夫·拉塞尔每天都在研究这个游戏,花了几个星期制作了一个控制面板,上面有控制方向和加速、减速、转弯的按钮。一个程序用来生成飞船,一个程序用来生成导弹。如果导弹和飞船重叠,就会爆炸。到1962年2月,游戏终于结束了。
当时没有源代码收费。游戏结束后,副本很多。作为一个开源项目,很多人来改进代码。一个叫丹·爱德华兹的人给这个游戏增加了一个重力系统。星球会吸引飞船。如果飞得太近,会把飞船吸进去。
另一个叫彼得·萨姆森的人认为行星应该是真实的,于是他制作了一个软件,根据天文地图重新设计了行星,并模拟了每颗恒星的相对亮度。随着飞船的前进,恒星空会慢慢向后运动。
在这种合作开发合作下,开发商做出了许多其他贡献。一个做了类似作弊的功能。发现敌人太多,可以点击进入第四维空,然后消失。但是从第四维空,很难说是从哪里出来的。这个是随机的,有可能导弹一出来就打,也有可能导弹一出来就打太阳。有两个人做了更好的改进。两个人对战,史蒂夫罗素设计的键盘不舒服。这两个家伙做了两个遥控器,算是原装手柄。有了这两个遥控器,人们可以舒适地坐在椅子上玩游戏。
这款游戏的传播如此广泛,以至于面向对象这个词的发明者、《闲聊》(SmallTalk)的作者之一艾伦·凯(Alan Kay)说:“只要有可能连接电脑显示器,游戏《泰空战争》(Tai 空 Wars)自然就很受欢迎。”
游戏《泰空战记》非常厉害,后来诞生了全球第一家以电脑为主要装备的游戏厂商雅达利。这是我下一期要做的。
给我在节目最后录的视频打广告。lmzdx.com
1.《太空大战游戏 233. 第一个电脑上的游戏:太空大战》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《太空大战游戏 233. 第一个电脑上的游戏:太空大战》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/jiaoyu/1148275.html