软件项目与网络游戏DNF的部分联系和猜想
这一年中在为公司的客户服务部做一个系统级的管理软件(“远程监控项目”),还是让人感觉收获非常大的,对我来说,自学和相互讨论是非常好的学习方式,我们每一个人都需要不断的学习和进步才能适应这个飞速发展的信息时代。
老实说,编写MFC程序时遇到的多线程机制和线程通讯我并不熟练,应该要继续学习和巩固。春节回家,走亲戚访朋友是件辛苦而快乐的事情,在这个时候我看到网上有提到腾讯的DNF部门有48个月的工资作年终奖,非常羡慕,联想到以前玩过这个游戏,想写下一些我自己的看法和见解。
游戏产业很火爆在这个信息时代是个无法逆转的趋势,各个游戏的玩家们在游戏上花掉的时间、金钱对于很多人来说是个可怕的天文数字。DNF无疑是非常成功的一款网络游戏,炫装、宠物、强化是烧钱的好方式,不过今天主要是联想下之前玩游戏碰到的一些东西和现在编程学到知识做简单的分析。
在DNF游戏里,“刷图”是个并不陌生的词,毫无疑问,腾讯调低了各类装备的爆率(其中打出顶级装备比如粉色的几率和买彩票中大家都有一拼了),因而延长了人民币玩家和普通玩家的装备差距时间和游戏的寿命。根据我个人的想法,每一个或几个玩家进入一个图时是会开启一个多线程任务的。在这个多线程任务中,每个玩家是个线程,每个大怪物或者小怪物也是个线程,代表玩家的线程有自己的血量和魔法,比如说是个有最大值的函数,玩家对怪物攻击时会和怪物线程的函数通讯,当怪物这个函数的值小于零时,怪物线程被kill;反之,玩家线程被kill。当一个图中的所有代表怪物的线程都被kill 的时候,就触发另一个函数,这个函数是玩家可以通过一个“门”进入下一个图。
在游戏中,每kill掉一个怪物的线程,都有一定几率触发一个函数,应该是个switch 好多case的这种,(好装备的几率非常低),这个函数是控制装备爆率、金钱爆率、材料爆率的。游戏的开发者可以通过调低该函数的触发几率来控制游戏中装备的数量、金钱的数量、材料的数量在一定范围以下,我想腾讯应该是将这些函数都做过调整,因为以前看过的DNF韩服游戏,顶级装备的爆率很高,至少3倍于国服DNF。
对于一个成功的游戏来说,外挂是个可恶而又说明受欢迎程度的“寄生虫”,根据我的经验,如果一款游戏没有被人做过外挂,那这个游戏不受市场欢迎,同时被市场淘汰的几率也非常大。在玩地下城与勇士的时候,我经常能碰到使用外挂的人,有的外挂可以原地伤害一张图上的全部怪物和人,即线程通讯可以做到既减少玩家血量的函数值又减少怪物血量的函数值,蛮犀利的。这样的队友如果碰到了后,所有其他的队友在第一个图里就会被杀死,然后再吃少量的经验,轻松结束一次地下城冒险。还有的外挂仅可以做到伤害怪物函数,这样的外挂使用者有时会让队友先通通死掉,再一张张图自己闯关。
目前缺乏游戏的编程经验,外挂啥的就更别提了,以上仅是我个人的一些想法,希望以后能学习并补充。
2013.02.16晚于沈阳家中
还听说有个外挂可以复制装备,这个挂没见识过真假,根据我知道的,网络游戏都应该有个很大的数据库,这个数据库中插入操作应该是严格受限制的,那复制装备这种数据的增加操作就应该不能通过玩家自己完成,目前依然受困于对游戏内部逻辑程序的不了解,希望以后不断补充程序方面的知识。
2013.02.18 晚于上海宿舍
软件项目与网络游戏DNF的部分联系和猜想相关推荐
- 软件项目开发过程中主要遇到的核心问题小结
最近在北京组织管理某银行的现金管理系统项目的开发,对软件项目开发过程中遇到的问题进行一些心得体会小结,怕时间长了没及时写下来时间久了被遗忘了,现在趁项目还在开发过程,把体会相对深刻时,感受到的一些问题 ...
- 软件项目随着数据量的不断增加,有什么优化方案么?
作者 l 会点代码的大叔(CodeDaShu) 随着软件项目中的数据量不断增加,有哪些方法可以让我们的系统依然运行的非常的流畅,响应时间很短呢?让我们看一下: 01 单体架构 下面这个架构,大家一定很 ...
- 死鱼——--摘自《项目百态:深入理解软件项目行为模式 》
自打开工起,项目就完全不可能完成目标,项目团队中的大多数人都很清楚 这一点,但却都缄口不言.--摘自<项目百态:深入理解软件项目行为模式 >
- 头脑风暴-如何减少软件项目对于人的依赖性。
如何减少软件项目对于人的依赖性. 通过代码review,代码评审,交叉编码,增加个人对于项目的整体认识,减少项目对人的依赖性. 还可以增加个人知识储备,拓宽编码视野,增强个人对于项目的主人翁感. 本文 ...
- 去年一个百万级的小软件项目经验分享,20来个功能模块,项目不太好做有些棘手...
别人总觉得是在显吧,干脆把这个项目认为是小项目了,不知道把这个项目是小了,别人会不会又觉得又显吧了?说大也不行.说小也不行,也的确没招了. 我想主要把项目里遇到的问题分享给大家一起探讨,也并不是为了什 ...
- 2周修改了1000多个Bug后软件项目扭转了局面,未交付银行的现金管理系统健壮起来了...
为什么80%的码农都做不了架构师?>>> 一方面是项目的工期紧急.另一方面也难做到公司招聘的程序员个个都是精英程序员,其次客户的需求变化.商业逻辑经常性的变更也导致系统的不稳定 ...
- 如何对软件项目团队成员进行角色和岗位的划分
职责和角色不清楚往往是造成软件项目团队管理混乱的一个重要原因,一个好的软件团队必须根据团队规模的不同和项目本身的特点对项目成员的角色和岗位进行明确的划分,这样团队中的每个成员才可能有清晰的责任和目标. ...
- 软件项目开发无成熟框架套路之成本代价
很多年前刚毕业没多久时也参与组织了一个小型的信息管理系统,就是家政管理系统,整个项目组有6个人,由于当时经验不足,也没成熟的软件开发套路,很多技术也都略懂一二但是多人同时开发同一个项目的经验实在不足, ...
- 软件项目第一次Sprint评分表
软件项目第一次Sprint评分表 组名:JYJe族 姓名:陈杰.周雪莹.孟祥娟 1.本阶段目标是否明确? 组名 分数 原因 9 ...
最新文章
- OKR的火爆,正是基于这些价值
- python免费试听-哈尔滨Python人工智能课程免费试听
- hdu4920 矩阵乘法%3
- MySQL基础之增删改查
- 科研工作者的神器-zotero论文管理工具
- oracle 数据导入 数据和备注(comment)乱码问题解决办法
- 为什么要“男孩穷养、女孩富养”
- java异常—— finally 子句+带资源的 try语句
- thinkPHP利用ajax异步上传图片并显示、删除
- 《关于Win10系统下Oculus Senser USB无法识别的问题》
- iOS利用HealthKit框架从健康app中获取步数信息
- 软件平台与框架的生命周期
- web之Attribute
- mysql如何更新一个表中的某个字段值等于另一个表的某个字段值
- nohup 命令的简单理解
- iOS:下载/创建证书
- 常用的oracle时间计算
- 读《七周七语言》,感悟其魂
- 物理每日一题(hyq的1、2)
- 【软件工程习题(含参考答案)】总复习
热门文章
- 第二章 Fragment
- MySQL类型和属性
- 2014台州学院ACM集训队寒假练习赛2
- 王道C语言督学营oj练习(全部更新完成)
- cf 1012B Chemical table
- 【Sketchnotes】Machine Learning for Beginners 初学者机器学习
- Windows 磁盘管理时磁盘删除卷解决方法
- c语言如何使一行抹去,c语言,clrscr();怎么清除指定的内容,不是页面都清除掉。比如第一行是标题,我只想清除第二行...
- 不愧是诸葛亮 先知啊!!
- 路由器上的LOOPBACK地址的作用是什么?