当前位置:  开发笔记 > 编程语言 > 正文

游戏是最复杂/令人印象深刻的应用吗?

如何解决《游戏是最复杂/令人印象深刻的应用吗?》经验,为你挑选了9个好方法。

我今天在想什么可能是有史以来最复杂/最令人印象深刻的应用程序.所以我开始考虑我喜欢和使用日常数据库.

然后我进入了未知领域(对我们大多数人来说,我猜),政府.我只能想象NASA应用程序的复杂性,它们允许它们与火星上的流动站进行通信.

但后来我开始思考自从小时候以来我每天都在使用的东西,游戏.不是游戏开发者,这给我带来了大量关于人工智能和计算复杂性的问题,超出了我能想到的任何问题.

游戏是最复杂/令人印象深刻的应用吗?



1> cletus..:

简答:不.

答案很长:游戏实际上并不是那么复杂.这取决于你说"游戏"时你所谈论的内容,但大多数复杂游戏的两个竞争者将是3D游戏和在线游戏(特别是大型在线游戏).

3D游戏的复杂性来自于拍摄世界模型并将其渲染为3D并使其表现为"现实"(在世界规则中)的方式.从中创建视觉和听觉环境实际上并不那么难.它几乎都是线性代数,是计算机科学的成熟领域.

真正的诀窍在于使该过程实时具有高性能.多年来,游戏程序员不得不在现实主义和性能之间做出很多权衡(例如,如果你能够制作一个性能算法,它将生成看起来很实际的树,实际上值得花很多钱).因此,随着计算和图形处理能力的提高,多年来游戏自然会变得更好(视觉上).

现在,一些游戏程序员已经在这个领域做出了真正的创新,他们(正确地)为他们赚了很多钱.想到John Carmack(id Software:Doom和Quake)和Tim Sweeney(虚幻).

然而,制作游戏的实际成本是内容.只需看看现代FPS(第一人称射击游戏)游戏的积分,您通常只会看到6位程序员,但会有30-50位艺术家.内容并不复杂(从软件的角度来看).这只是耗时.

至于网络游戏,我记得当Everquest问世时,人们对它的难度大加赞赏.Bzzzt,错了.对于那些熟悉MUD(多用户地下城)到90年代(可能是80年代)开发的人(比如我自己),在架构上,Everquest服务器并不复杂.

"魔兽世界"或任何其他游戏也是如此.

如果你想谈谈复杂的,那么Windows XP操作系统如何运行,估计有4000万行代码?天知道Vista有多少.或者Linux内核呢?

现在,在政府,军队和私营部门,你会发现其他几千年来投入其中的应用程序.


这可能取决于你对复杂的定义.如果你认为在windows中的代码行那么对你来说很好,但最好的人工智能仍然有更多的复杂性.
-1:对不起,游戏本质上是在简单的人类思维的帮助下重建我们的世界.那怎么不棒?如果他存在/存在,这就是上帝所做的.当然,除了调用API之外,大多数程序员从未做过任何事情,但这并不意味着支持游戏编程和研究的所有内容都不是很壮观.人工智能,物理学,3D渲染本身就是研究课题.将这种知识结合到一个软件中只是复杂性的顶峰.顺便说一句.复杂和复杂之间存在差异.
实际上,不,Go不是计算机擅长的问题类型.我的意思是,如果我们有无限的记忆和无限的时间,那么是的,我们可以做蛮力.但是直到最近我们才能有一个像9x9游戏那样小到一半的体面游戏.对于国际象棋来说,这是一个体面的人工智能,永远不会蛮力,因为只有一场比赛,蛮力最终会占用比宇宙存在更多的时间!
深蓝!!!!!!

2> Greg Hewgill..:

空中交通管制系统具有容错能力,安全关键性,高可用性和分布式.没有停机时间,系统必须一年365天,每天24小时运行,即使在系统升级期间也是如此.实际上没有任何计算复杂的东西(例如,没有AI,因为你希望系统是可预测的),但从系统的角度来看,没有太多其他东西必须在那个级别运行.即使是太空任务软件也只需要在任务期间运行.


我认为我无法应对空中交通管制系统的压力,更不用说成为一名真正的控制器了.
其中一些相同的条件适用于其他安全关键系统,例如发电站和炼油厂以及某些医疗设备.
我支持这一评论,空中交通管制系统在一周中的任何一天都以复杂和令人印象深刻的方式击败了游戏系统中的焦油(除非你唯一令人印象深刻的是图形).

3> T.E.D...:

我已经为NASA的一个卫星地面站的代码做了一些工作.该系统的工作是以电子方式跟踪并控制NASA的所有卫星.听起来可能听起来不多,但是如果你在指挥卫星的过程中系统崩溃,你可以将数十亿的纳税人资金转移到太阳下.因此,该设置中内置的容错和冗余将使暴雪嫉妒.IIRC,在50个服务器附近的某个地方,其中更重要的是有一个热备用,如果主要故障,可以在不到一秒的时间内接管.如果两个系统失败,那么这些系统中的每一个都有一个冗余的系统就绪,可以接管.我还没有看到任何游戏那么复杂(或以其自己的方式令人印象深刻).

这些地面站中的每一个都实时相互作用(电子方式,通过人类交互作用),当然还有所有卫星本身,以及当它在那里时的穿梭,以及处理轨道数据的各种地面终端,并且可以因此被认为仅仅是一个更大,更复杂的系统,NASA称之为TDRSS.这是我在网上找到的一个非常概念图:

替代文字

"白沙综合体" 位于新墨西哥州南部,靠近Los Cruces.正如你所看到的那样,它有三个完整的地面终端,就像我描述的那样,全部联网在一起,并与卫星网络连接.另外还有两个偏远的(我不确定它们在哪里).


GWB会因为提供此信息而称您为恐怖分子.

4> Renaud Bompu..:

游戏当然涵盖了广泛的计算技术,从硬件优化到数据库,AI,高级数学,你都可以命名.

建立复杂性的基准很难,我不确定是否存在任何复杂性.如果你仔细想想,今天对我们来说微不足道的事情在几年前就很难解决,所以复杂性是一个不断变化的目标,我们都在建立在它之上.

如果我们必须分析刚刚阅读问题所涉及的内容,那么要解决的问题就很多了:想象一下用于为您的机器,我的机器以及所有其他机器制造电子元件的软件的复杂性.之间.
想象一下,让计算机可靠地将信息传递给彼此的复杂程度.
想象一下操作系统管理所有这些硬件所需要的东西,让浏览器发展到可以在屏幕上显示复杂布局信息的程度......
这一切对我来说都是惊人的.

你可以指出一个特别复杂的应用程序,但是如果你考虑一下,可能总会有另一个看起来很简单的表面,但是当你考虑到所有内容时可以看得更复杂.



5> Uri..:

我会说肯定没有.

现代游戏当然令人印象深刻,尽管它们的软件和硬件技术远远落后于学术界,工业界和军方的最新技术水平.毕竟,它们意味着在足够普通的家用硬件上运行.我确信军方训练他们的人员进行更真实的模拟.

从计算的角度来看,游戏也不是那么有趣.现代游戏(例如,辐射3,GTA4)看起来确实令人惊叹,因为它们的"开放世界"和极长的故事,但这与技术无关,而是与产品价值无关.流行游戏现在需要比一些好莱坞电影更大的演员和投资.当然,你有一个纽约的模特而不是一个街区,但那又怎样呢?

即便是MMORPGS也不是那么令人印象深刻.是的,他们有很多互动代理商.但是,包含自动代理的企业应用程序具有更多代理,运行速度更快,并且具有更高的可靠性要求.

最后,我要说的是,除了使用国际象棋等游戏测试的尖端算法,因为这些算法用作基准,游戏AI并不是那么先进.再次,军方(和金融公司)有更聪明的应用程序.



6> Todd Gamblin..:

看看能源部开发的一些物理应用:

http://www.scidac.gov/

那里有应用程序:

气候模拟

聚变能

分子动力学

流体动力学

量子色动力学.

这些都是一些中存在的计算最密集的问题,以及数以百万计的CPU时间是每年投入到他们在不同的 超级计算机 中心.这些是高度并行的代码,理解物理以及如何有效地将其映射到网络和处理器(例如,使用MPI)是非常复杂的.

预计到2012年,拥有数百万核心的机器将运行其中一些内容.



7> Adam Hawes..:

从复杂性的角度来看,游戏并非令人印象深刻.我假设您正在考虑FPS风格的游戏,它们的图形功能肯定令人惊叹.就计算而言,它们确实做了很多,但它主要是大量经过尝试和验证的算法,这些算法运行在越来越多的多边形和更高分辨率的纹理贴图上.

模拟物理环境也不是那么难; 如果你希望环境遵守已知的物理定律,因为大部分内容都是基本的,并且很好理解.

火星探测器的任务是令人印象深刻的壮举.没有动态内存分配,在火星运行时调试代码,在火星上,以及动态上传修复bug.在稳健性方面,我认为接近于吃蛋糕.



8> ryan.scott..:

我会告诉你我认为游戏程序最独特的东西,对我来说,它们可能是最令人印象深刻的...是错误如何影响整体产品.如果你有一个错误说,Outlook(哈哈),有几种不同的方法可以解决它(我将在这里过分简化):

    修复错误.

    如果有另一种方法可以完成同样的事情,请为用户提供一种解决方法.

    只要保持原样,随身携带,不要担心.

对于大多数游戏,尤其是多人游戏,您通常无法选择#2或#3.玩家寻找利用游戏的方法,所以如果你留下一个可以利用的bug,它就会被利用.因此,由于滥用潜力,游戏中的错误容忍度实际上远低于大多数商业/生产力软件.

对我而言,这是使像WoW或Everquest等大型复杂游戏系统真正令人印象深刻的主要因素之一.人们在游戏中滥用任何漏洞的时间长度都非常惊人,而且记录得非常好.这与Photoshop或办公软件等产品形成了鲜明的对比,只要有一些方法可以完成你需要做的事情,其他一些工作流程可能被打破的事实并不一定是关键任务的缺陷. ..至少有可能被忽视.这并不是游戏开发者所拥有的奢侈品.

现在......与空中交通管制或空中客车飞行软件相比,游戏没有任何类型的生活在线限制...这是另一类挑战.



9> Brian Postow..:

我并不反对这里已有的任何答案,但我觉得非常有趣的是,当人们想到"游戏的复杂性"时,他们会考虑GTA或MMORG.我想去和国际象棋.

流行的游戏可能是计算密集型的,有很多图形,但这本身并不难.另一方面,Go是一个计算难以处理的问题.

此外,如果您采用"复杂性"的技术定义,那么这不是一个主观问题.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有