游戏开发流程都是什么流程呢.

企业服务: 工 具 箱:
┊ 认证:
当前位置:
>> 文章内容
网络游戏开发流程管理
联盟会员: 转载
发布时间:
2008-3-14
尽管游戏的历史是悠远久长的,但人类把它当作一种理论研究对象却是在近代才开始的事。德国诗人和剧作家席勒在研究艺术起源的问题上曾以‘艺术起源于游戏’的大胆一说而语惊四海。他认为,人类在现实生活中要受到精神与物质的双重束缚,在这两种束缚中常常失去了理想和自由,人们就设法用剩余的精神创造一个自由的世界,这个自由的世界就是游戏。 网络游戏开发人员必备素质
所谓游戏引擎,是指游戏开发的核心技术。基于一个游戏引擎,可以设定不同的人物和情节等,从而开发出多款不同的游戏。 开发心得: 今天的游戏产业已经初具规模,尤其网络游戏这一块更是如日中天,于是就有很多青年人投身到了这个领域来。他们怀揣着美好的梦想。希望有一天可以开发出一款令人难忘的游戏。 要有顽强的意志力。因为无论开发什么类型的游戏都要经历一个艰苦的过程,其间总会碰到各种各样的问题,这些问题可能你之前遇到过,有些却是没见过的技术难关。一旦短时间内无法解决,人们必然会产生厌烦的情绪,但是如果就这样向困难低头,显然是不明智的。这个时候意志力就表现得十分重要。 项目经理博客
要有坚实的数学功底。现在很多的游戏开发技术都牵涉到较深的数学知识,尤其是3D游戏,它所覆盖的数学知识更加广泛,从立体几何到线性代数无所不包。 www.mypm.net
要有出色的计算机能力。当前开发游戏的主流语言是C++,但也有许多游戏是用C来编写的,例如我们常Quake引擎,它主要就是C,其中只有一小部分涉及到C++。为什么要选择C呢,设计者主要还是考虑了效率因素,相比之下C要比C++在程序执行上要快。其中一个原因是C++类中的函数要消耗部分执行时间。除了C和C++以外程序员为了尽可能地提高程序执行速度,他们还会使用汇编语言,汇编语言是最接近底层的语言,像游戏对效率要求极高的应用,如果没有精确到指令的代码,那么想挖掘机器的所有潜力几乎是不可能的。了解计算机的运行机理可以帮助我们编写出更加高效的代码,但是应该指出的是不要一味只追求代码的高效性,而把系统的良好架构给破坏了。 转自项目管理者联盟
网络游戏的设计
项目经理圈子
网络游戏,作为游戏与网络有机结合的产物,把玩家带入了新的娱乐领域。网络游戏在中国开始发展至今也仅有3、4年的历史,跟已经拥有几十年开发历史的单机游戏相比,网络游戏还是非常年轻的。当然,它的形成也是根据历史变化而产生的可以说没有互联网的兴起,也就没有网络游戏的诞生。作为新兴产物,网络游戏的开发对广大开发者来说更加神秘,对于一个未知领域,开发者可能更需要了解的是网络游戏与普通单机游戏有何区别,网络游戏如何将玩家们连接起来,以及如何为玩家提供一个互动的娱乐环境。 转自项目管理者联盟
让我们首先来看看二个游戏引擎和游戏本身之间的主要区别。许多人们会混淆游戏引擎和整个游戏。这有点像把一个汽车发动机和整个汽车混淆起来一样。你能够从汽车里面取出发动机,建造另外一个外壳,再使用发动机一次。游戏也像那游戏引擎被定义为所有的非游戏特有的技术。游戏部份是被称为‘资产’的所有内容(模型,动画,声音,人工智能和物理学)和为了使游戏运行或者控制如何运行而特别需要的程序代码,比如说AI——人工智能。 网络游戏引擎设计与实现
让我们从渲染器来开始游戏引擎设计的探讨吧,当构造一个游戏引擎的时候,你通常想做的第一件事情就是建造渲染器。因为如果看不见任何东西,那么你又如何知道你的程序代码在工作呢?超过50%的CPU处理时间花费在渲染器上面;通常也是在这个部分,游戏开发者将会受到最苛刻的评判。然而,在真实的游戏情形中,应用程序时常在后台做着许多其他的事情——多边形的3D变换,光照计算。 案例——角色扮演游戏引擎的设计原理
项目经理圈子
角色扮演游戏(RPG)是深受广大游戏迷们喜爱的一种游戏,它以独特的互动性和故事性吸引了无数的玩家。它向人们提供了超出现实生活的广阔的虚拟世界,使人们能够尝试扮演不同的角色,去经历和体验各种不同的人生旅程或奇幻经历。这些体验都是在现实生活中无法实现的。在玩过许多游戏后,许多玩家都不再仅仅满足于一个游戏玩家的身份,而会思考游戏是如何制作的,并且打算制作一个自己的游戏,网上的各种游戏制作小组更是如雨后春笋般涌现。游戏引擎是一个为运行某一类游戏的机器设计的能够被机器识别的代码(指令)集合。它像一个发动机,控制着游戏的运行。一个游戏作品可以分为游戏引擎和游戏资源两大部分。游戏资源包括图象,声音,动画等部分,列一个公式就是:游戏=引擎(程序代码)+资源(图象,声音,动画等)。游戏引擎则是按游戏设计的要求顺序的调用这些资源。 项目经理博客
项目经理圈子
<<上一页
相关文章
网友互动
发表评论
对不起,你的浏览器不支持框架
栏目说明 《文库》栏目为项目管理者联盟网站核心栏目,收录了十大行业项目管理文章5000余篇,囊括了项目管理五个阶段、九个知识领域的相关文章,是广大项目管理爱好者学习的知识库,欢迎大家发表原创文章、转贴文章,或直接
。须联盟会员且
后才能发表文章。
原创排行榜 55 41 34 29 28 27 26 19 18 18 16 15
搜索文章
关键词:
行 业:
-- 请选择 --
综合应用
工程设计***
生产制造
汽车与零部件
通信与网络
能源煤电油
政府与NPO
生物化工
教育科研培训
商业物流贸易
媒体广告文体
农林畜牧 专题集锦
---请选择更多专题---
研发团队绩效管理
工程项目合同管理
工程项目管理之EPC
虚拟团队管理
如何处理项目客户关系
软件项目风险管理
软件工程与项目管理
软件项目管理流程
项目管理的核心项目经理
软件外包项目管理
项目管理与企业文化
项目启动阶段的管理
企业项目化管理
手机研发项目管理
航天国防科研项目管理
企业多项目管理模式
项目融资之 模式
项目成本核算体系建设
组织级项目管理
项目管理绩效考核
项目管理办公室(PMO)
项目组织结构设计与选择
做好工程项目收尾工作
能源工程项目管理
基础设施建设工程管理
房地产项目管理
国际工程索赔与反索赔
工程招投标管理
建筑工程项目分包管理
项目融资模式—BOT
工程项目管理—代建制
项目管理承包PMC
如何做好项目沟通计划
工程项目之总承包管理
项目需求管理
技术人员转做项目管理
如何开好项目会议
项目经理的素质和职责
工作***结构WBS
无处不在的项目管理
工程项目管理FIDIC
经理访谈
--请选择更多访谈--
马健锋:易和元通
包晓春:普华科技
郑杰:外专局
潘东:神州数码
苗云升:中国电子
王守清:清华大学
陈信祥 薛 岩
赵春明: 复斯管理
陈芳: 神州数码
孔争昕 :上海奔驰
吴年发 :中国寰球
张大鹏:神州数码
林森:天津辰达工程.
高学武:中国石化.
李福和:上海攀成德.
武晔卿:瑞迪航科技.
孙磊:上海锐科无线.
潘津平:天津天士力.
蔡培堃:泰克赛尔软.
曹蕾:第29届奥组委.
卢有杰:清华大学建.
石海东:北京视锐达.
崔惠钦:中国建筑工.
刘毛华:制造业项目.
占文松:制造业项目.
许江林:项目管理者.
符志民:中国航天科.
关一卓:中油吉林化.
王宇红:HP项目管理.
丁昌银:广州市建筑.
席相霖:中国科学院.
洪布坤:上海普华科.
丁荣贵:山东大学管.
侯岚:德创赛思工程.
王宇:英国格利资工.
曹德成:清华大学建.
李大明:英国WSP集.
李卫星:项目管理专.
王爱华:北京广联达.
何磊:神龙汽车有限.
陈虔:项目管理专家
曹济:项目管理专家
刘大双:项目管理软.
王树文:华南资讯科.
王守清:清华大学教.
吴之明:北京中科项.
卢毅访谈:合力金桥.
钱福培:国际项目管.
赵巍:神州数码中国.
王景山:制造业项目.
吴建中:西气东输工.
潘东:神州数码金融.
陈奕雍:游戏项目管.
刘景梅:朗讯公司项.
周小桥:项目管理专.
陈和兰:项目管理高.
黄绍良:项目管理专.
甄进明:项目管理专.
个人专栏
---请选择更多会员---
联盟会员专栏—于学勇
联盟高级顾问—吴之明
联盟高级顾问—强茂山
联盟高级顾问—蔚林巍
联盟高级顾问—乔 东
联盟高级顾问—杨光清
联盟高级顾问—黄绍良
联盟高级顾问—徐成彬
联盟高级顾问—熊培霖
联盟高级顾问—王景山
联盟高级顾问—陈和兰
联盟高级顾问—黄萌凌
联盟高级顾问—何 丰
联盟高级顾问—刘大双
联盟高级顾问—袁月建
联盟高级顾问—郑文彬
联盟高级顾问—周小桥
联盟高级顾问—甄进明
联盟高级顾问—胡允清
联盟高级顾问—沈 音
联盟高级顾问—许江林
联盟高级顾问—刘景梅
联盟高级顾问—卢 毅
联盟高级顾问—石海东
联盟高级顾问—侯利军
联盟高级顾问—黄堰江
联盟高级顾问—周坤坪
联盟高级顾问—李子健
联盟高级顾问—徐 非
联盟高级顾问—李大明
联盟高级顾问—马正肖
联盟高级顾问—郑承满
联盟高级顾问—孙爱军
联盟高级顾问—吴 超
联盟高级顾问—杜寿兴
联盟高级顾问—胡云峰
联盟顾问—人月神话
联盟高级顾问—王树文
联盟高级顾问—耿岚岚
联盟高级顾问—孙 武
联盟高级顾问—赵春明
联盟高级顾问—商蓉蓉
联盟高级顾问—刘 睿
联盟高级顾问—白思俊
联盟会员专栏—郭远刚
联盟会员专栏—周铁人
联盟会员专栏—王 建
联盟会员专栏—张 坤
联盟会员专栏—刘培臣
联盟会员专栏—焦英博
联盟会员专栏—朱行军
项目管理者联盟特刊
联盟特刊是对网站会员发行的内部刊物,刊物内容包括:案例及分析等,得到了会员好评。
电子期刊:
---请选择---
2010年10月
2010年09月
2010年08月
2010年07月
2010年06月
2010年05月
2010年04月
2010年03月
2010年02月
2010年01月
2009年12月
2009年11月
2009年10月
2009年09月
2009年08月
2009年07月
2009年06月
2009年02月
2009年01月
2008年12月
2008年11月
2008年10月
2008年09月
2008年08月
2008年07月
2008年06月
2008年05月
2008年04月
2008年03月
2008年02月
2008年01月
2007年12月
2007年11月
2007年10月
2007年09月
2007年08月
2007年07月
2007年06月
2007年05月
2007年04月
2007年03月
2007年02月
2007年01月
2006年12月
2006年11月
2006年10月
2006年09月
2006年08月
2006年07月
2006年06月
2006年05月
2006年04月
2006年03月
2006年02月
2006年01月
2005年12月
2005年11月
2005年10月
2005年09月
2005年08月
2005年07月
2005年06月
2005年05月
2005年04月
2005年03月
2005年02月
2004年11月
2004年10月
2004年09月
2004年08月
2004年07月
2004年06月
2004年05月
特刊下载:
---请选择---
10年04-06月
09年07-09月
09年01-03月
08年10-12月
08年07-09月
08年04-06月
08年01-03月
07年10-12月
07年07-09月
07年04-06月
07年01-03月
06年10-12月
06年07-09月
05年特刊
02年04-06月
02年10-12月
02年1-7合集 施工企业管理
《施工企业管理》创刊于1986年1月,中国施工企业管理协会主办,是反映施工企业管理杂志。
浏览往期:
---请选择---
2011年05月刊
2011年04月刊
2011年03月刊
2011年02月刊
2011年01月刊
2010年12月刊
2010年11月刊
2010年10月刊
2010年09月刊
2010年08月刊
2010年07月刊
2010年06月刊
2010年05月刊
2010年04月刊
2010年03月刊
2010年02月刊
2010年01月刊
2009年12月刊
2009年11月刊
2009年10月刊
2009年09月刊
2009年08月刊
2009年07月刊
2009年06月刊
2009年05月刊
2009年04月刊
2009年03月刊
2009年02月刊
2009年01月刊
2008年12月刊
2008年11月刊
2008年10月刊
2008年09月刊
2008年08月刊
2008年07月刊
2008年06月刊
2008年05月刊
2008年04月刊
2008年03月刊
2008年02月刊
2008年01月刊
2007年12月刊
2007年11月刊
2007年10月刊
2007年09月刊
2007年08月刊
2007年07月刊
2007年06月刊
2007年05月刊
2007年04月刊
2007年03月刊
2007年02月刊
2007年01月刊
2006年12月刊
2006年11月刊
2006年10月刊
2006年09月刊
2006年08月刊
2006年07月刊
2006年06月刊
2006年05月刊
2006年04月刊
2006年03月刊
2006年02月刊
2006年01月刊
2005年12月刊
2005年11月刊
2005年10月刊
建造师杂志
《建造师》杂志由清华国际工程项目管理研究院主办,是中国面向建设企业管理人的高端杂志。
浏览往期:
---请选择---
2011年03月刊
2011年02月刊
2011年01月刊
2010年11月刊
2010年09月刊
2010年07月刊
2010年05月刊
2010年03月刊
2010年01月刊
2009年11月刊
2009年10月刊
2009年09月刊
2009年08月刊
2009年07月刊
2009年06月刊
2009年05月刊
2009年04月刊
2009年03月刊
2009年02月刊
2009年01月刊
2008年12月刊
2008年11月刊
2008年10月刊
2008年09月刊
2008年08月刊
2008年07月刊
2006年12月刊
2006年11月刊
2006年10月刊
2006年09月刊
2006年08月刊
2006年07月刊
2006年06月刊 推荐文章
项目管理者联盟 版权所有 京ICP证070584号
如转载本站文章,必须于文章开头处注明转自“项目管理者联盟”,并注明原作者
赞助链接:有懂程序的朋友吗,360的成就系统是什么架构开发运行的
查看完整版本 :
2007-03-14, 11:40
成就系统有可能是单独一个线程这样运行的吗?它的触发机制是怎样的呢?而且可想像的是每个游戏都带有着自己的成就数据库,只是这个库的结构应该是各个游戏统一的。
但即使这样,一些过关的成就可能比较好操作,如果是一些实时的成就呢?例如一次性杀掉多少多少人这样的,这样实时的监察这些数据效率应该不高,而且这些实时成就如果很多的话,如何管理也是一个大问题。
有哪位高人想过成就系统的运行、触发是大概一个怎样的情况吗?
华裔大魔王
2007-03-14, 14:21
真是无聊的问题
你去CSDN上问好了
DBA路过
2007-03-14, 18:54
真是无聊的问题
你去CSDN上问好了
DBA路过
CSDN上未必有对360有兴趣的人,连成就系统都不知道的话,没法讨论啊
lionheart
2007-03-14, 19:35
成就的触发这个应该是游戏自己实现的,在触发的时候,调用一下微软提供的api,把相应的成就id传给360的os,os将成就进行加密然后存在硬盘的某处,成就的数据结构应该是微软定义好的,只要开发商按照文档写就可以咯...........以上只是我个人的理解.
2007-03-14, 20:09
成就的触发这个应该是游戏自己实现的,在触发的时候,调用一下微软提供的api,把相应的成就id传给360的os,os将成就进行加密然后存在硬盘的某处,成就的数据结构应该是微软定义好的,只要开发商按照文档写就可以咯...........以上只是我个人的理解.
你说的这个应该是达成成就条件后游戏程序通知360操作系统解开相关成就的过程,但其实我想讨论是游戏的程序是利用何种机制去监察成就的达成如否。。。 chris
2007-03-14, 22:12
努力啦,早晚搞个软件破解成就系统(罪孽啊!!)
ArmSlavE
2007-03-14, 22:14
其实这样可以让你通关了解这个游戏而已……
2007-03-14, 22:31
只是一个类似check point的小程序而已,在某个游戏的分数(以前街机游戏都有分数,现在很多游戏数值都是隐藏的)或者控制角色到达某个游戏地图的经纬度的时候,就会上传这个check point。当然达成不同游戏的任务,可以完成不同的check point,以及得到相应的点数。
虽然现在还没有发现某些刷XBOX360成就点数的变态,那是因为微软对游戏成就点数有比较严格的规定,不允许一些滥用点数的游戏出现。
因为这些点数都有相应的游戏记录作为参考,因此,如果发现有人点数异常,在参考具体解开的游戏游戏成就以后,微软会按照破坏游戏服务规则对该用户的游戏点数加以清楚。我想,按照会员服务运营惯例,微软是绝对有权对某些***玩家进行清分处理的。
我们现在玩D版,也能上网对战,也能解开成就。要知道,微软是绝对有这个技术(通过网上注册,解开游戏上网帐号)让你玩不成联网对战的。之所以我们现在玩D版能玩得这么幸福,还是要感谢大门的宽宏大量。千万不要再做什么多余的刷点数之类的行动了。
2007-03-15, 01:57
只是一个类似check point的小程序而已,在某个游戏的分数(以前街机游戏都有分数,现在很多游戏数值都是隐藏的)或者控制角色到达某个游戏地图的经纬度的时候,就会上传这个check point。当然达成不同游戏的任务,可以完成不同的check point,以及得到相应的点数。
虽然现在还没有...
这个还只是说了达成条件后解开的过程而已,确实达到条件后通知360操作系统解开某个成就(其实也就是改变成就数据库相应记录的某个字段)只是很简单的几行代码就可以,但我始终觉得如何实时的去监察成就要需要达成的条件在游戏中是否有发生是比较复杂而且应该是比较巧妙的。
例如,一个成就说“利用一个炸弹一次性杀死三个敌人”,那么游戏程序是怎么实时地去监察玩家有没有一次用炸弹杀掉三人了?这个是由一个专门负责管理成就的线程主动实时去监察,还是游戏主程序本身作判断,然后调用系统函数解开成就呢?如果类似的成就有多个,那么无论是前面说的哪一种方法,消耗的资源都一定不少,肯定是有另外一种机制,但就是没有好的思路想到。。。
fsra it
2007-03-15, 08:48
这个还只是说了达成条件后解开的过程而已,确实达到条件后通知360操作系统解开某个成就(其实也就是改变成就数据库相应记录的某个字段)只是很简单的几行代码就可以,但我始终觉得如何实时的去监察成就要需要达成的条件在游戏中是否有发生是比较复杂而且应该是比较巧妙的。
例如,一个成就说“利用一个炸弹一次性杀死...
应该是程序自己监测的,以机器的性能,实时的检测并不会影响性能。即使你所说的“利用一个炸弹一次性杀死3人”这种判断其实不会很花资源,大概是:
炸弹爆炸了;
if 有3人或以上同时生命值为0 THEN 解开成就并记录在硬盘里;
继续游戏;
很复杂吗?
tiger7404
2007-03-15, 10:46
其实这些应该是用事件完成的,比如说一次炸弹炸死几个人的数据是放在一张表的一个字段里,就可以做一个字段修改的事件,当这个字段被修改后就引发了这个事件,然后在事件里执行一个IF判断后,是不是能解开成就
2007-03-15, 10:52
应该是程序自己监测的,以机器的性能,实时的检测并不会影响性能。即使你所说的“利用一个炸弹一次性杀死3人”这种判断其实不会很花资源,大概是:
炸弹爆炸了;
if 有3人或以上同时生命值为0 THEN 解开成就并记录在硬盘里;
继续游戏;
很复杂吗?
当然,如果游戏只有这样一个类似的成就的话当然好写,也不会牺牲多少性能,但如果类似成就多了,还是这样一般的条件/分支代码的话,性能的下降就明显了,而且这样的成就判断语句散落在程序各处的话,也会使代码混乱,不好管理,不好修改,所以很想知道它究竟用了什么机制。
不知道MSDN上有没有讨论这个问题呢
2007-03-15, 10:59
其实这些应该是用事件完成的,比如说一次炸弹炸死几个人的数据是放在一张表的一个字段里,就可以做一个字段修改的事件,当这个字段被修改后就引发了这个事件,然后在事件里执行一个IF判断后,是不是能解开成就
这肯定是其中一种可行的方法吧,但一个重要的问题就是这些修改数据表、条件判断的语句在程序里面是怎样统一组织的呢?没有统一的组织的话,开发过程的debug,修改就会很麻烦了,感觉成就系统不会令游戏开发厂商增加多少负担,那么微软提供一个有效的管理机制就很重要了
2007-03-15, 11:01
跟《无双》里unique武器和特殊道具的取得是一样的道理吧。
PS2都可以轻松搞定的。
2007-03-15, 11:32
检测成就是否达成和检测主角生命值是否到0对于游戏来说是一回事情,lz你问这个问题等于就是在问游戏是怎么写出来的。。。
每个游戏的检测方法都可以是不一样的,一样的地方只是他们检测到成就达成后调用微软规定的函数相同而已,来让主机给玩家帐号增加成就,然后传输到网络上,当然,这之间肯定是有加密措施的,而不同的密钥可能就是微软发给每个游戏商的。
2007-03-15, 11:34
我认为,如果为了方便游戏在各个平台之间移植,成就系统就应该是游戏框架之外的一个独立的模块。这个模块可以被游戏脚本系统加载。游戏脚本系统就是有穷状态机,实时监控各种游戏状态并作出反应。当然在CPU那里,这就是几个线程罢了。
XBOX360是3核心的CPU,处理脚本系统是很轻松的。
楼主的问题还是很有意思的,虽然脚本系统的具体实现我没有过深入的经验。但是我感肯定,触发一个成就与触发一个地雷是一样的,解开一个成就与打开一扇窗户也没有分别。唯一区别大概就是游戏程序这时候会调用XBOX360的操作系统接口而已。
JamesLee
2007-03-15, 11:37
也许微软的服务器会控制每个游戏的最大成就分,以避免成就分被破解后的滥用。
XMatrix
2007-03-15, 12:08
这么点实时监控的数据算什么。(而且不是每个成就都实时监控的)
看看实况足球的赛后数据统计吧。(Xbox上的实况9,XO版的实况X好像没有)
场上每个队员的跑位,传球次数,成功率等等。
实时监控数据量大的惊人,我都怀疑他们怎么做出来的。
估计人家的程序已经很规范,优化了很多次了。
这其实就是一个程序规范化,优化的问题。
至于消耗系统资源根本不用怎么担心了,PS2、Xbox都能搞的定的,XO还搞不定吗。
2007-03-15, 12:10
我认为,如果为了方便游戏在各个平台之间移植,成就系统就应该是游戏框架之外的一个独立的模块。
虽然我也觉得这样是最好的,但是实现起来有不小的困难,因为每个开发商用到的技术都不一样的,这也是为什么MGS自己发布的游戏成就系统往往都很复杂,而一些全平台的作品成就系统就做得比较草草了事(比如金刚,但也有例外,比如NFSCarbon的成就真是变态)但是因为有统一的开发工具,所以我觉得在程序里嵌入成就代码也不是很麻烦的一件事情。 2
2007-03-15, 12:28
楼猪真的很无聊啊,讨论是不是为了准备把它破解,然后再搞个99999999成就出来
coolish
2007-03-15, 12:58
请问成就点多了有什么用?只是用来炫耀?
2007-03-15, 14:02
我认为,如果为了方便游戏在各个平台之间移植,成就系统就应该是游戏框架之外的一个独立的模块。这个模块可以被游戏脚本系统加载。游戏脚本系统就是有穷状态机,实时监控各种游戏状态并作出反应。当然在CPU那里,这就是几个线程罢了。
XBOX360是3核心的CPU,处理脚本系统是很轻松的。
楼主的问题还是很...
谢谢你的意见,我也觉得只有成就系统能独立360游戏框架之外,由微软提供的统一架构运行才比较符合现代的软件工程规范。不过真要深究,真的要在这样的大公司、大开发团队呆上几年才会由深刻理解吧
2007-03-15, 14:05
楼猪真的很无聊啊,讨论是不是为了准备把它破解,然后再搞个99999999成就出来
我才没这么无聊为了破解去讨论呢,因为我自己也是读计算机的,所以对这个问题比较有兴趣而已
babyking
2007-03-15, 16:15
支持LZ,现在人都懒了,一点专研精神都没有了.
fsra it
2007-03-16, 12:04
当然,如果游戏只有这样一个类似的成就的话当然好写,也不会牺牲多少性能,但如果类似成就多了,还是这样一般的条件/分支代码的话,性能的下降就明显了,而且这样的成就判断语句散落在程序各处的话,也会使代码混乱,不好管理,不好修改,所以很想知道它究竟用了什么机制。
不知道MSDN上有没有讨论这个问题呢
是否把问题想复杂化了呢?其实用这种简单的判断不会影响性能,你想想,一个游戏算它有50个成就,有一半是这种实时的判断够多了吧,也只有25个判断,25个判断对于这种性能的机器简直没有影响。而且不是每种事件都判断25次的,例如爆炸事件只需判断与爆炸有关的成就,射击击中事件只需判断与射击有关的成就等等。
babyking
2007-03-16, 12:30
个人想法:
我觉得应该还是数据库的方式还完成成就的跟踪的.也就是说在游戏的过程中,把必要的统计信息记录在存储空间中,包括成就的及其它非成就的.而一些特定的事件(比如说一***打死十人)就会触发成就点,在存储空间中做好该成就的标记同时传相应成就信息到live网络服务器中心,当然这里会有相应的加密机制的.
流程应该不复杂.
asdw226
2007-03-16, 13:24
你说的这个应该是达成成就条件后游戏程序通知360操作系统解开相关成就的过程,但其实我想讨论是游戏的程序是利用何种机制去监察成就的达成如否。。。
估计每个游戏中都有专用的一部分数据用于记忆成就达成的情况。
比如杀100人的成就,就在存储空间中。每杀一个人就加1,当这个数达到100,成就解开!
这是我能想到的比较合适的方法,大部分游戏应该是这样设计的。
2007-03-16, 13:44
是否把问题想复杂化了呢?其实用这种简单的判断不会影响性能,你想想,一个游戏算它有50个成就,有一半是这种实时的判断够多了吧,也只有25个判断,25个判断对于这种性能的机器简直没有影响。而且不是每种事件都判断25次的,例如爆炸事件只需判断与爆炸有关的成就,射击击中事件只需判断与射击有关的成就等等。
首先我个人觉得这样写代码的话,肯定会有性能影响的,即使机器再强劲,也不太符合软件工程原则。
再退一步说,即使在性能上一点都不影响,这样一些成就判断的程序片段散落于游戏框架各处,对代码管理和重用是很大的问题。例如,如果这款游戏要多平台移植的话,这些“成就代码”因为只能用于360上,不能用于其他机器上,那么按你说的方法写代码的话,修改的工作就会变得很复杂,而且会增加出错的机会了
2007-03-16, 13:47
估计每个游戏中都有专用的一部分数据用于记忆成就达成的情况。
比如杀100人的成就,就在存储空间中。每杀一个人就加1,当这个数达到100,成就解开!
这是我能想到的比较合适的方法,大部分游戏应该是这样设计的。
确实一直以来的游戏都是这样写的,但我只是觉得成就系统会有一些特别巧妙的设计而已,但自己就是想不出个所以然来:-)
2007-03-16, 15:12
把成就系统做成一个独立的系统模块在底层运行,内含一系列成就变量,游戏运行时定义变量,设定好触发值,然后在游戏进行中实时对变量进行修改,比如战争机器live对战中每赢一次某个成就的对应变量就加一。一旦达成某个触发值成就系统自己就“啵“的一声跳出来了。
这么安排成就系统的话消耗的资源微乎其微。
看360的成就,好像都是用一个确定的数值来触发的。
当然以上只是猜测,真正怎么实现的得问微软了。
2007-03-16, 15:47
把成就系统做成一个独立的系统模块在底层运行,内含一系列成就变量,游戏运行时定义变量,设定好触发值,然后在游戏进行中实时对变量进行修改,比如战争机器live对战中每赢一次某个成就的对应变量就加一。一旦达成某个触发值成就系统自己就“啵“的一声跳出来了。
这么安排成就系统的话消耗的资源微乎其微。
对啊 ,可以肯定这个系统是独立于游戏程序,直接跟操作系统打交道的,另一方面可能是独立一条线程运行的吧
Visenioi
2007-03-16, 16:05
网络游戏玩过吗?
你用本机的数据玩游戏,得到的分数,会自动记录到live服务器..
细节就不讨论了..
如果想UE修改..进live服务器吧先..
2007-03-16, 16:12
简单,只要微软的平台提供一个统一的接口,直接调用。
2007-03-16, 17:30
网络游戏玩过吗?
你用本机的数据玩游戏,得到的分数,会自动记录到live服务器..
细节就不讨论了..
如果想UE修改..进live服务器吧先..
你所说的不是我想讨论的问题啊
上帝本人
2007-03-16, 17:54
首先我个人觉得这样写代码的话,肯定会有性能影响的,即使机器再强劲,也不太符合软件工程原则。
再退一步说,即使在性能上一点都不影响,这样一些成就判断的程序片段散落于游戏框架各处,对代码管理和重用是很大的问题。例如,如果这款游戏要多平台移植的话,这些“成就代码”因为只能用于360上,不能用于其他机器上...
你怎么还是没明白,我感觉上面他们都已经说的很清楚了。
X0系统提供API接口,游戏商按照接口设计成就提交程序。
而X0所需要做的就是建一个“成就文件夹或数据库”来管理仅仅每个游戏几K的成就需求数据。
X0机器第一次放入游戏,比如《天诛》,X0会自动加载成就需求数据,放入硬盘。
而后进行游戏过程中,X0会预载游戏数据,并判定成就达成度,这个不是会不会影响性能,而是机器必须这么做。
成就提交:比如说《天诛》的忍杀100人。
就如上面几位朋友所说,
忍杀100人
if 敌人被杀100人 then 解开忍杀100人成就
游戏继续
X0只需要显示成就就可以了。
很简单的道理,有什么不明白的。
由此说来,破解成就只需要破解系统+取得游戏密匙就OK,不需要凭空去刷,每张游戏1000分,现在为止各位朋友手中少说30+的游戏盘,3W分到手,出去炫耀也是相当有资本。
2007-03-16, 18:11
你怎么还是没明白,我感觉上面他们都已经说的很清楚了。
X0系统提供API接口,游戏商按照接口设计成就提交程序。
而X0所需要做的就是建一个“成就文件夹或数据库”来管理仅仅每个游戏几K的成就需求数据。
X0机器第一次放入游戏,比如《天诛》,X0会自动加载成就需求数据,放入硬盘。
一来,这个帖子不是真正“悟”出成就系统是怎么设计的,只是写出来让大家讨论一下,活动活动脑筋。
二来,关键的地方,就是你写的那几句伪代码,我想凡是读过计算机的人都知道可以用这种方法去判断,但作为类似游戏这种大型程序,是不可能这样随便写进去的。我真正想知道的其实只是这些代码如何组织管理的问题。另外,多平台移植的问题你有想到吗?
Visenioi
2007-03-16, 18:33
java类。
我想,Coder应该知道明白是什么意思了..
2007-03-16, 18:39
java类。
我想,Coder应该知道明白是什么意思了..
原理上,面向对象,继承这些是肯定了。但MS跟J***A。。。呵呵
上帝本人
2007-03-16, 19:09
一来,这个帖子不是真正“悟”出成就系统是怎么设计的,只是写出来让大家讨论一下,活动活动脑筋。
二来,关键的地方,就是你写的那几句伪代码,我想凡是读过计算机的人都知道可以用这种方法去判断,但作为类似游戏这种大型程序,是不可能这样随便写进去的。我真正想知道的其实只是这些代码如何组织管理的问题。另外,多...
第一,不回答了,这个要看你的意图了。
第二,程序不是要搞的越复杂就越有效率,程序要尽可能的做到,几十条命令一行代码搞定。我不太清楚你学的计算机是涉及的哪个方面,只要游戏里预先有成就这个函数,一条代码判断调用就可以了,并不像你想象的需要非常复杂的指令才可以完成,比尔的团队做了几十年的代码,应该比你我更理解这个道理。
至于组织管理,我设想应该是这样的,游戏光盘的程序大体两部分,一部分是运行游戏所设计的核心,一部分就是我们所讨论的“成就模块”,多平台移植只需要删除“成就模块”就OK了。
并不是多复杂的问题,核心代码提供游戏的运行,跟成就模块没有任何关系,成就模块实时坚控游戏进度,条件符合提交到X0系统输出显示就OK了。
这还不明白?
2007-03-16, 19:30
第一,不回答了,这个要看你的意图了。
第二,程序不是要搞的越复杂就越有效率,程序要尽可能的做到,几十条命令一行代码搞定。我不太清楚你学的计算机是涉及的哪个方面,只要游戏里预先有成就这个函数,一条代码判断调用就可以了,并不像你想象的需要非常复杂的指令才可以完成,比尔的团队做了几十年的代码,应该比...
我都说了,我不是说要代码多复杂,而是在于代码的架构。也就你所说的“成就函数”的封装的层级的问题,其实我这个更多是从软件工程的角度去探讨这个问题,而不是具体到几句代码的实现
上帝本人
2007-03-16, 19:36
我都说了,我不是说要代码多复杂,而是在于代码的架构。也就你所说的“成就函数”的封装的层级的问题,其实我这个更多是从软件工程的角度去探讨这个问题,而不是具体到几句代码的实现
SO,LZ在这里也得不到什么结论了,自己试试解开X0的程序吧
2007-03-16, 20:32
SO,LZ在这里也得不到什么结论了,自己试试解开X0的程序吧
若是能解开XO的程序的话,我想我就看这个已经够好玩了,不用玩游戏了,呵呵
asdw226
2007-03-26, 13:24
这样的话楼主可以研究下XNA,关于提交成就数据,里面有相应的API。
vBulleti reg; v3.6.8,版权所有 2000-2011,Jelsoft Enterprises Ltd.

参考资料

 

随机推荐