网游都是以网页网游排行榜形式的吗?如果不是有什么

随笔 - 20&
文章 - 223&评论 - 2&trackbacks - 0
十月一的假期间,在知乎上看到一个问题《》, 我是一个网页游戏开发者,对这个问题非常感兴趣,印象比较深刻。当时是在游玩,也没时间细看这个问题。后来,在微博上,有一位朋友的转发,又让我看到这个 问题,冥冥中,有种想回答的冲动。上周六时,研发部门内部周会时,听到其他项目组的一个整型溢出问题,导致刷钱的bug,又让我想起这个问题,更加坚定我 要回答这个问题的决心,总结一下这项目中,所有经历过的webgame安全问题的经验,以加固当前项目安全壁垒,避免损失。亦可分享给其他做 webgame研发的朋友,做交流探讨。
知乎中的原问题是『网页游戏都有哪些安全问题?』,我觉得不妥,我给改成了『网页游戏都有哪些安全问题?如何做得更安全?』,同时,问题也从『大家 来研究探讨一下,网页游戏攻防技术。必定,这个话题很敏感。目前,网页游戏已经很多了,会不会被黑产盯上?网页游戏会不会被黑,数据库会不会被拖库』改成 了『大家来研究探讨一下,网页游戏攻防技术。必定,这个话题很敏感。目前,网页游戏已经很多了,会不会被黑产盯上?网页游戏会不会被入侵?入侵方式有哪 些?如何做好网页游戏的入侵防御?挽救措施有哪些?如何才能最小化减少厂商损失?入侵方式有哪些?如何做好网页游戏的入侵防御?挽救措施有哪些?如何才能 最小化减少厂商损失?』,更改的理由是『本文原提问者开篇提到「大家来研究探讨一下,网页游戏攻防技术。」,那么应该不光提到如何入侵,更应该提到如何防御,应该细心描述漏洞形成原理,规避方式,以提高研发者技能水平;应该详细讲解安全事件发生后,如何最小化减少厂商损失,减少用户损失,保护游戏平衡。』,幸运的是,这个修改,被知乎通过了。对此,表示感谢。
在后来阅读这篇提问以及回答时,已经有几位网友回答了,多数是站在安全工作者角度上回答了这个问题。在这篇日志里,我将以webgame研发者角度,切合游戏业务模块逻辑,从业务需求,数据库设计,程序编写,操作方式上来讲解漏洞形成原理,规避方案,也欢迎大家讨论。
近几年,网页游戏几乎都是以联运方式运营,意味着游戏服务器本身不保存用户密码,用户登录在平台,通过平台跟游戏服务器的接口对接登录。接口做加密认证。 故webgame的帐号密码安全问题,这里不提了。但登录认证的hash字符串安全,也还是要注意的。比如登录hash字符串的生效时间,hash字符串 的加密参数来源,比如包括用户名、登录IP,浏览器user-agent等数据,以防止改hash被泄漏了,也是很难通过服务器的验证。
webgame的游戏充值流程,跟普通网页充值流程一致,没有特殊的地方,其不同点就是跟其他众多平台做联合运营时,势必要每个公司做接口对接,且接口规 范各式各样,且游戏厂商没有话语权,必须按照他们的接口规范来,这实在棘手。腾讯的充值接口的验证方式,安全性做的较为突出,大约代码:
$signKey = array('openid','appid','ts','payitem','token','billno','version','zoneid','providetype','amt','payamt_coins','pubacct_payamt_coins');
$sign = array();
foreach($signKey as $key ) {
&&&&if (isset($data[$key]))
&$sign[$key] = $data[$key];&
######开始生成签名############
$url = rawurlencode($url);
ksort($sign);
$arrQuery = array();
foreach ($sign as $key =& $val )
&&&&$arrQuery[] = $key . '=' . str_replace('-','%2D',$val);
$query_string = join('&', $arrQuery);
$src = 'GET&'.$url.'&'.rawurlencode($query_string);
$key = $this-&config-&get('qq_appkey').'&';
$sig = base64_encode(hash_hmac("sha1", $src, strtr($key, '-_', '+/'), true));
if ( $sig != $data['sig'] ) {
&&&&$return['ret'] = 4;
&&&&$return['msg'] = '请求参数错误:(sig)';
&&&&$this-&output-&set(json_encode($return));
&&&&return ;
在此基础上,还可以做的严谨点:
增加随机参数名、参数值。随机参数名、参数值由联运方随机生成,按照参数名的字符串所属ASCII码顺序排序,参数名、参数值均参与sign的计算,增加暴力破解密钥(app key)难度。
增加回调验证订单号,金额信息。游戏充值服务器接收到充值请求时,反向到该平台回调接口,确认此笔订单有效性,以防止加密密钥泄漏的问题。
远程文件引入
在网页游戏的研发中,多数都是使用框架来做,即使用REQUEST来的参数,作为请求文件名的一部分,来使用,那么很容易形成远程文件引入的漏洞。在我们之前的游戏中,曾出现过一例这样的漏洞问题。
if ( ! file_exists(APPROOT.'controllers/'.load('Router')-&getDirectory().load('Router')-&getClass().EXT))
&load('Errors')-&show404('Unable to load your default controller.& Please make sure the controller specified in your Routes.php file is valid.');
include(APPROOT.'controllers/'.load('Router')-&getDirectory().load('Router')-&getClass().EXT);
load('Benchmark')-&mark('load_basic_class_time_end');
webgame中的远程文件引入
从代码以及案例图中,可以看到对于REQUEST的参数没有过滤处理,直接作为文件名来include引入的,故导致这种问题,类似上页图中QQ群 网站的漏洞。若PHP version & 5.3.4 ,还会发生Null(%00) 截断的问题,带来更大的安全问题。在我们新的项目中,我们更改了实现方式,我们游戏所有接口都会走gateway,gateway里,对控制器名做类名规 范的检测处理,再在指定几个目录下做autoload加载文件,且还会对REQUEST的类名、方法用ReflectionClass反射类的处理,检测 到类、方法、参数是否合法。一来避免『远程文件引入』漏洞问题,二来便于前后端联调时,抛出更详细的异常,方便调试。下面为参考代码:
require_once CONFIG_PATH . "/auto.php";
spl_autoload_register("__autoload");
$view-&clear();
$view-&error(MLanguages::COM__INVALID_REQUST);
$msg = new Afx_Amf_plugins_AcknowledgeMessage($val-&data[0]-&$messageIdField);
$msg-&setBody($view-&get());
$message-&data = $msg;
$a = new Yaf_Request_Simple();
$a-&setControllerName($method[0]);
$a-&setActionName($method[1]);
$objC = new ReflectionClass($method[0]."Controller");
$arrParamenter = $objC-&getMethod($method[1]."Action")-&getParameters();
$arrRequest = isset($val-&data[0]-&body[0]) ? (array)$val-&data[0]-&body[0] : array();
$bCanCall =
foreach ($arrParamenter as $objParam)
&&&&$parm = $objParam-&getName();
&&&&$bIsOption = $objParam-&isOptional();&&&
&&&&if (isset($arrRequest[$parm]))
&&&&&&&&$a-&setParam($parm , $arrRequest[$parm]);
&&&&elseif ($objParam-&isOptional())
&&&&&&&&$bCanCall =
if ($bCanCall)
&&&&$rp = $app-&getDispatcher()-&dispatch($a);
&&&&$msg = new Afx_Amf_plugins_AcknowledgeMessage($val-&data[0]-&$messageIdField);
&&&&$msg-&setBody($view-&get());
&&&&$message-&data = $msg;
SQL注入原理、方式,跟普通web应用一样,没什么特别的,在使用REQUEST来的参数时,过滤处理即可。可能在消息格式,以及注入操作简便上,会蒙蔽研发人员的眼睛,被忽略掉了。比如我们项目的AMF消息格式,在前端界面没出来之前,我们后端程序员一般使用来模拟操作,调试程序。前端界面出来之后,会使用Charles proxy来捕捉http请求。在这些过程中,请求接口、参数的构造,没有普通web那么简单。研发人员也容易忽略对请求参数的过滤,故很容易形成这种问题。形成原理见:《》,防御方式做过滤处理,或SQL预编译。
AMF消息格式的WEBGAME中的SQL注入
AMF消息格式的WEBGAME中的SQL注入
为了提高游戏服务器的吞吐能力,网页游戏的架构也是一直在演变的。在之前以Mysql作为数据存储的webgame架构中,其他节点都是可以水平扩
展,或者说依赖简单粗暴的增加服务器来解决,单单作为唯一数据存储中心,不能这么做。为此,很多webgame的数据存储改用Nosql来代替,甚至
java、C/C++的游戏数据,直接在内存中操作,游戏关服时,才写入到DB中。故SQL注入的问题,也会越来越少。
通讯协议与消息格式
网页游戏虽然名字叫网页游戏,但通讯协议并非全是http,也有很多使用socket,以及http+socket并用的做法。我们是http协
议+amf消息格式,以及socket并用来实现。在http与https的取舍上,我们考虑到ssl的启用后,大量的ssl解密加密运算,势必会增加服
务器大量的CPU计算压力。而传输的内容,多数是游戏业务的操作,响应,是能接受被***嗅探的行为的(认证信息除外)。站在安全角度,这不能理解。但站在
产品角度,考虑一下
投入产出,然后选择http通讯,也是可以理解的。socket在我们游戏中,除了在聊天应用上使用外,在一些组队、帮派战之类需要多个玩家之间同步数据
信息时,我们也会使用socket来推送数据。在使用socket作为所有业务传输的协议时,协议格式一般都是开源协议,比如msgpack、protobuf之类,或者自定义的协议。使用自定义协议时,务必检测整个消息包的每一个参数,类型范围,避免个别超大数值、边界数值出现,导致主程序内存越界,以至于服务宕机,无法正常服务的情况发生。
金币复制-整型溢出
上周周六开周会时,听到其他项目组的一个关于整型溢出导致产生刷金币的问题。在这里,我抽象该案例,分享一下。商城出售开启背包格子的所需道具『梧桐
木』。在游戏中,用户包裹格子数量一般都会作为一个收费点,一款游戏的格子大约为每行7格子,一共8行这样。比如前面3行是默认开放的,第4行是收费的,
而且第一个格子所需品梧桐木的价格1个银子,第二个梧桐木是2个银子,第三个是4个银子。依次类推,意味着这些梧桐木的价格总和其实就是一个第一项为1,
公比为2,项为35的等比数列。
当用户选择购买梧桐木数量大于31时,比如32-36中这些数字时,这些等比数列的和就是大于。(只是举例,实际上不会以这样的价格
在java中,4字节的存放int型变量的范围是-至。在java、c的有符号int型中存储时,数的最高位描述符号位,4字节共32位,除去最高位的符号位,剩下31位,每个位上能表示2个数字,4字节的有符号的整数表示范围为:负整数2^31个,范围为『-1至-』;正整数2^31个,范围为『至1』。 比如下图(注意十进制数字跟二进制表示的变化顺序):
当开启格子数字为大于31时,比如32,那么所需费用就是个银两,再买点其他物品,凑成超过的数字,比如又买了3个银子的其他道具,总共花费个银子,在4字节的有符号int中表示出来的结果,变成符号位为1,即负整数。数值位为00 ,也就是00 ,对应十进制的-。
程序逻辑上,再判断现有银两是否足够支付此笔花费时,是通过的。当使用当前余额减去这笔花费时,将变成减去一个负数,那么实际上就是加上一个正整数。变成
了自己银两账户余额的增长。而余额字段类型是long,则正确的存储了这些余额,溢出漏洞被利用。在C中,使用无符号的数值类型,即可完成数值类型溢出刷
钱的行为,但在java中,好像没有无符号的类型。这也可以先确定所有参与计算的数值必须为正整数作为必要条件(游戏业务特性,游戏内所有数字,肯定全为
正整数,甚至都不包括零),先做大小判断,再做正正相加,不能得负;负负相加,不能得正。来判断是否发生了溢出问题。在PHP中,不用担心溢出问题。
金币复制-并发请求
Rpg类型的网页游戏中,多数都有道具出售的功能,直接卖到商店,以及道具材料从商店买入功能。当玩家同时针对买入、卖出两个操作,瞬间大量并发请求时,在服务器的处理逻辑一般有分别的两个进程处理,共享数据分别数据库中的对应账户余额表,如下图:
webgame买入、卖出并发请求处理
$iBalance = $obj-&getBalance('user1');&
if(!$obj-&setBalance('user1',$iBalance + 100))
if (!$obj-&delItems($items))
$iBalance = $obj-&getBalance('user1');&&&
if(!$obj-&setBalance('user1',$iBalance - 50))
if (!$obj-&addItems($items))
卖出请求的处理进程为1,买入请求的处理进程为2。在进程1还没将结果写入到DB时,进程2也从DB读取到余额为50。这是,两个进程拿到的余额信
息都是50。进程1按照逻辑代码,计算出剩余余额是150;进程2计算出的剩余余额是0。最后,不管那个进程最后写入余额,都是错误的结果。(注:这里的
代码逻辑操作,跟mysql事务无任何关系,事务只能保证单个进程的事务范围内多条语句都正确执行,或回滚。比如能保证扣钱成功,且物品删除掉的两个语句
都正确执行。能保证其中之一的语句执行失败时,都正确回滚。)
其实,在事物开启时候,SELECT语句是否可以取到最新的数据,或者是否需要等待锁释放,取决于。在MYSQL的事务隔离级别中,有一下几种隔离级别:
READ-UNCOMMITTED(读取未提交内容)级别
READ-COMMITTED(读取提交内容
REPEATABLE-READ(可重读)
SERIERLIZED(可串行化)
对于READ-UNCOMMITTED,可以读取其他事务中未提交的数据,而且据说性能还高不到哪里去,几乎没有在实际应用中使用;对于READ-
COMMITTED,在同一事务中,会因为其他事务随时可能有新的commit,导致同一select可能返回不同结果。这个也不适合游戏业务;再说第四
个SERIERLIZED,只要事务开启,所有其他查询,均排队等待该事务提交之后,对于上面提到的卖出买入情况,第二个事务的SELECT操作,不会立
刻返回,会处于锁等待状态,一直到前一个事务结束。这个隔离级别,虽然能避免上面的问题,但性能较差,一般不会去使用。而REPEATABLE-READ
隔离级别,也是mysql默认的隔离级别,从功能上,比较符合游戏业务需要,也应该是广大webgame架构中mysql的默认隔离级别。
对于这个问题,你可能很快就给出解决办法,把UPDATE语句改为UPDATE `role_gold` SET gold = gold
+ 100 WHERE role_id = 1或者UPDATE `role_gold` SET gold = 150 WHERE role_id = 1 AND gold = 100来解决,但这种多个事务同时操作修改多个表的多条记录时,还容易引发死锁问题,比如《》。而且,当条件为跨表内数据是否存在,或者另外条件不在MYSQL中,而在其他网络接口的响应中时,如何做呢?
金币复制--逻辑漏洞
引用DNF的漏洞新闻 《利用网游漏洞狂刷游戏币赚钱 玩家自曝3天赚17万》
玩家曝出刷币漏洞 一个游戏道具可刷400人民币
该漏洞到底是什么?原来游戏中&云幂袖珍罐&这个道具,可以开出2件一样的游戏装备,还有极少几率开出游戏币,开出的装备不值钱,但如果开出金币了,则分
为5000万、8000万以及1亿游戏币。而1亿游戏币,按正常市场行情,可在交易网上卖400多元人民币。据玩家称,在游戏中,角色的装备是需要用包裹
来存放的,不过目前角色的包裹最多只有48格,也就是只能存放最多48件装备。漏洞就是利用包裹的有限空间,存放47件装备(存放满了又无法开罐子),只
留下一格空位,而在开&云幂袖珍罐&出装备时,就会因包裹空间不足,而导致开罐失败,而罐子还存在。玩家继续开罐,直到出现金币,但金币不会占据包裹的空
间,因此开罐成功,然后罐子消失。发现这个漏洞后,部分玩家狂刷游戏币,然后马上在第三方交易平台出售游戏币,兑换成现金。
这种问题,都是研发人员逻辑不严谨导致,这种问题,也较难发现。规避方式可以依赖下面提到的『运营数据监控』。
道具复制--背包整理
跟上面的卖出、买入一样,同时穿装备、整理包裹。在设计时,可能会将身上装备设计在装备表中;将不在身上的装备,设计到背包表中。当同时进行穿装备
跟整理包裹的请求并发时,也会发生跟上面卖出,买入的情况,线程1读取DB,发现包裹里有这装备,然后准备删除背包表的这条记录,当准备写入到装备表时,
另外一个整理包裹请求的线程来了,读取了整个背包表,进行道具的合并、排序。这时,之前的线程将这个装备写入到装备表,并删除了背包表里的数据,并提交事
务。这个穿装备的所有操作都是合理、正常,且正确执行的。但另外一个整理背包的线程读取了之前的背包表里的数据,包括那件被穿上的装备。
在游戏中,整理背包需要对可堆叠道具做堆叠操作的,意味着需要合并多个道具,删除部分道具。这意味着这里的操作,当前cgi线程的内存中的数据,将都会以
覆盖的形式,写入到DB中,那么意味着,之前被穿到身上的那件装备,也会重新被写入到背包中。那就变成两张表里出现了两个相同唯一ID的相同属性的道具。
玩家就可以把背包中的这个道具出售给其他玩家。
在java或者C之类程序中,数据放内存中的游戏,也会存在这个问题,除非做读锁,但读锁会带来锁等待,锁等待会导致线程被占用,阻塞后面请求的处
理,堆积大量请求。导致系统负载升高,服务器繁忙,以至于无法响应。好了,大约理解道具复制的形成原因了吗?这个问题,我们从根本原因想想,问题到底出现
在哪里?如何规避呢?细心的同学不难发现,对于穿装备的操作结果,会对下一个请求产生影响的,当前操作未得到服务端响应之前,服务端是不能处理下一个响应
的。对此,我们做了响应处理锁--『用户并发请求锁』。
用户并发请求锁的实现,php中session以文件形式存储时,php会对session文件加锁,不释放(如果不特意执行
session_write_close),知道当前响应完成。另外一个线程才可以正常读取,这简介的形成了单个用户的并发请求锁,但是,后面的进程一直
处于等待状态,也会占用一个php-fpm进程,阻塞其他用户的正常请求对php线程的使用。为此,我们使用NOSQL的K-V形式结构,以
user_name为key的形式,实现用户并发请求锁,第一个请求,生成这个k-v数据,后一个请求发现有这个key了,那么立刻抛出异常,结束响
应,FLASH根据异常内容,提醒用户不要进行恶意操作。即不会发生并发请求,又不会阻塞请求处理。同时,在请求结束的析构函数里,对这个锁进行删除操
作,不影响下一个正常请求。若因为程序异常,发生语法错误,导致析构函数没法执行,没有删除用户锁时,可以在生成锁的时候,设置过期时间,比如5秒,甚至
2秒,利用nosql的过期机制,实现用户解锁,避免用户长时间无法正常游戏。
类CC攻击-多用户共享资源锁的timebomb
我们现在研发的项目,是以NOSQL
Redis作为DB,来存储数据的,redis并没有成熟的事务处理机制,watch甚至算不上关系型数据库中的事务处理。对此,更需要对表进行加锁解
锁。java之类语言的项目,很多都是直接操作内存的,更是需要资源锁,来解决并发问题,解决多个请求操作同一份数据的问题。公司有另外一个项目,出现过
一次因为锁的颗粒度较大,带来的锁等待timebomb的问题,也导致了线程繁阻塞忙,请求堆积,系统负载上升,导致宕机的问题。这个项目的锁是针对所有
用户的锁,每个用户的请求发来时,当前线程会对所有用户的数据加锁,直到响应完成,才释放掉。这么做,是为了解决因当前操作,会影响到其他用户数据,比如
多人PK,多个玩家之间的交互。
当其他请求一并发来时,那么资源会立刻被锁住,直到上一个请求结束,才释放锁,那么其他线程都处于等待状态。用户基数小时,是看不出来锁带来的影响的,内
存操作都比较快。当用户基数大时,或者说请求数增大时,后面的请求的等待时间会越来越长,超过webserver的等待时间,直接返回timeout,不
能正常提供服务。
这种问题的发生,是因为锁的颗粒太大了,不应该将所有用户都锁住,最好细化到当前请求所影响到的单个用户,只锁住单个用户的数据。这样,才减少timebomb的发生。
知乎里的朋友提到,很多webgame
的前端做了判断,而后端没做判断的问题,这种问题,实属不该存在。在我们的项目中,后端做的验证判断,远比前端多的多。有时候,为了界面上的动画表现,前
端flash一般会在用户操作之后,立刻渲染,然后,再根据后端响应,决定是否继续做界面元素改动。比如脱装备,玩家操作时,会先渲染装备从角色面板,跳
到背包里的动画,然后,再根据后端响应结果,决定是否回滚动画。这样,避免显得操作后,一定时间的反映迟钝假象,以提高用户体验。当然,后端是一定会做判
断的,判断角色背包是否有空格之类。现在的webgame研发,一般都不会存在前端判断,而后端不判断的做法了。如果有,也应该是个别遗漏情况。
比如去年的time33算法的hash dos的问题,使用json消息格式的webgame一定要注意,php只是在接收请求时,做了最大数量的限制。但在json解码之后的数据中,是没有处理的。这里千万别忘记了。
运营数据异常监控
再完善的防御措施,都仍会有安全漏洞。适当的监控措施,也一定要有,监控等级、金币、游戏币、经验、珍贵物品的变化等等,一旦发现,立刻报警,在漏洞未扩散之前,第一时间去修复漏洞,以减少损失,维护游戏平衡。
日志系统一定不能漏掉,所有操作,必须写入日志,当安全事件发生后,可以作为各种数据回滚,交易纠纷处理的可靠数据。也是作为数据监控的最准确的数据来源。
如果你用了我画的小清新般的插图,请记得为图片写上署名来源,画图是最花费我时间的一件事。
原文地址:/experience-with-webgame-of-security-and-defense/
阅读(...) 评论()网页游戏有哪些类型?
15:22:40 本文行家:
网页游戏种类区分:
&&&&&&&&网页游戏和网络游戏分类大体上是一样的,但是网页游戏因为其本身的特殊性的关系,比网络游戏要多一些游戏的类别。目前网页游戏的类别大致可以分为:战争策略类、角色扮演类、模拟精英类三个大类,以及模拟养成类和休闲竞技类两个小类。
战争策略网页游戏是怎样的
&&&&&&&&战争策略类网页游戏也可以叫做策略角色扮演。策略角色扮演的特点在于战斗系统上。敌我双方都有若干个角色组成的作战单位,在地图上按照自身的能力和限定规则进行移动、支援或攻击,以达成特定的胜利条件。但是现在随着游戏多元化的发展,目前的战争策略类网页游戏还包含了经营、外交、养成等特色在里面,丰富了游戏的可玩性。
&&&&&&&&最初策略角色扮演又被称之“战棋类”游戏,但是在网页游戏中,互动性和即时性更强,所以网页游戏中的战争策略类游戏已经和以前的策略角色扮演大不一样了,无论是可玩性,还是艺术性,都更胜一筹。
战争策略类网页游戏代表作:《》、《》、《》、《》、《》
模拟养成网页游戏是怎样的
&&&&&&&&模拟养成网页游戏顾名思义就是玩家模拟培养虚拟“人”物的游戏。
&&&&&&&&将模拟游戏分成两个种类,主要是想对游戏中需要培养的对象加以区分。在模拟养成游戏中,玩家培养的对象主要是人或生物,也可以是机器人或者机械生命体,其游戏目的就是让培养对象不同方面的能力得到提升,根据能力差异可以达成不容的目标。而模拟模拟经营网页游戏一般是以企业、城市等非生命体为培养对象。
&&&&&&&&模拟养成网页游戏的特点在于可以培养的对象多种多样,可以是小动物,可以是好友,可以是外星人,可以是战斗宠物,可以是可爱娃娃,只有你想不到,没有你培育不了的。再加上许多换装爱好者的加入,让模拟养成游戏的世界变的多姿多彩,各种奇怪的装扮,搞怪的,灵异的,鲜艳的,古典的,让人目不暇接,大大的增加的游戏的娱乐性。
&&&&&&&&模拟养成类网页游戏代表作:《》、《》、《》、《》、《》、《》
休闲竞技网页游戏是怎样的
休闲竞技类网页游戏其实是2个种类,由于这2个种类中的游戏相对稀少,故而将休闲类和竞技类归结成一类。而且竞技类和休闲类网页游戏有一个共通点就是以大回合为主,通常是在对战过程中要切换场景进行游戏。
随着网页技术的发展,休闲竞技类网页游戏的画面和娱乐性也飞速发展,由于性质的特殊,休闲竞技类的游戏出现了网页3D的游戏,在赛车,坦克,滑雪等游戏中已经有成熟的3D游戏面世。
休闲竞技类网页游戏代表作:《》、《》、《》、《》、《》
角色扮演网页游戏是怎样的
角色扮演网页游戏一般是指由玩家在网页游戏中扮演的一个或数个角色,有完整的故事情节,强调剧情发展和个人体验。具有升级和技能成长要素的游戏。
目前角色扮演游戏的战斗方式分为即时制和半即时制,半即时制需要切换战斗场景来进行战斗。在角色扮演网页游戏中,可以和其他玩家一起参加副本活动和国战活动,在辉煌的场景中体验万军丛中探敌首级的吸引力一直是角色扮演网页游戏的特色所在。
角色扮演类网页游戏的代表作:《》、《》、《》、《》、《》
模拟经营网页游戏是怎样的
&&&&&&&&模拟经营网页游戏一般是以企业、城市等非生命体为培养对象,玩家扮演的是投资者或决策者的角色,主要目的是在经营过程中获取利润,并不断扩大规模。模拟经营类网页游戏的最大特色在于与人之间的较量。除了本身城市、企业的发展之外,还需要借助对手来发展自己并且利用各种方法来打击对手以达到最大的利益。当然最有意思的就是这些对手可能都是你的好友或者是熟人,让大家可以充分的互动和娱乐起来。
网页游戏《地产风云》游戏截图
&&&&&&& 模拟经营网页游戏代表作:《》、《》、《》、《》
百科的文章(含所附图片)系由网友上传,如果涉嫌侵权,请与***联系,我们将按照法律之相关规定及时进行处理。如需转载,请注明来源于。
游戏资深玩家,游戏行业从业人员。共收录939款游戏
&>&&>& & 十大经典网游 你都玩过哪些
十大经典网游 你都玩过哪些
导读:【武侠谷网页游戏平台】十大经典网游 你都玩过哪些你知道第一个文字类网络MUD游戏是什么吗?你知道第一个图形类网络游戏是什么吗?你知道第一款中国人自己的网游是什么吗?你知道中国迄今为止人数最多的网游是什么吗?
十大经典网游 你都玩过哪些
你知道第一个文字类网络MUD游戏是什么吗?你知道第一个图形类网络游戏是什么吗?你知道第一款中国人自己的网游是什么吗?你知道中国迄今为止人数最多的网游是什么吗?这些问题你都能够回答出来吗?如果你能够回答出来,恭喜你,你是一个中毒很深的网游用户了。
我想,现在20多岁的朋友们,都是在将近8、9年前接触网游的吧!这其中有多少网络游戏,可能所有的人都没有办法回答。可能现在的一些新玩家只知道魔兽世界、跑跑卡丁车。
让我么你怀念的经典网游
可是,他们一定没有听过万王之王、网络创世纪、江湖、精灵、魔剑、A3、金庸群侠传、石器时代、魔力宝贝、决战、科洛斯、疯狂坦克、红月等这一系列经典的老网游。这些老网游,有的已经逝去了,有的却仍然顽强的活着。
你玩过多少网游呢?
他们到底谁是经典?我们没有一个能够满足所有人的说法,但是,为了让大家以后都能够记住他们,我们决定今天,给大家来一个总结,让大家记住其中的一些经典的网游,让新的玩家们看看我们老玩家的过去。
以下网游以中国经典网游为主,排名不分先后,网络创世纪,万王之王本人没玩过,知道是经典,但是无法下结论。
网游名称:江湖
网游类型:文字类MUD武侠网游
经典指数:★★★★★★★★
当年的江湖的火热,远不是今天的聊天室所能媲美的
上榜原因:此江湖并非现在的一些不知名的武侠类网游,而是在2000年初的时候,兴起的一个文字类的MUD网游。这款网络游戏我相信不是一个老网虫的朋友一定没有听说过。很多人会说它只是一个聊天室,不过,我想,当时没有那个聊天室会有江湖那么多功能。你在里面可以是一个侠士,一个捕快,一个无赖,一个帮主,很多的朋友为了它而彻夜不眠。我想,那种气氛是现在玩3D网游的孩子们无法了解的。
网游名称:石器时代
网游类型:2D图形类幻想网游
经典指数:★★★★★
可爱的风格和回合制的战斗方式,今天仍让人回味
上榜原因:此款游戏可以说是开创了中国网络游戏的先河,点卡的收费方式,回合制人宠合战为主要战斗方式,操作战斗与当时的网络游戏有所区别,要求组队意识非常强。就以此款游戏而言,能够吸引当时1/5游戏玩家,已经算是个不错的表现了。不过遗憾的是,由于各种原因,这款网游渐渐的没落了。虽然有过几次复活的挣扎,但是都没有能够兴起。
网游名称:传奇
网游类型:2D图形类玄幻网游
经典指数:★★★★★★★★★★
在今天看来,我们也只能说他是传奇了!
上榜原因:传奇,在今天看来,真的能算是一个传奇了。盛大凭借这这款游戏,从一个快要倒闭的公司转眼间成为中国首屈一指的大型游戏网络公司,其力量之大可想而知。其实,传奇生得逢时,正赶上当年游戏饥荒,再加上传奇的半个武侠类的形式,符合中国人的口味,因此能够红遍全国。就当时的网吧里玩传奇的人数,以及遍地的si服就可以看出传奇是多么的火。
网游名称:金庸群侠传Online
网游类型:2D图形类武侠网游
经典指数:★★★★
目前已经有了网金2,看来生命力非凡啊
上榜原因:作为首个中国人自己的武侠类网游,金庸群侠传Online可以说是继承了很多老的江湖玩家的愿望。其实,老点的游戏玩家都知道,金庸群侠传本是一个经典的单机游戏。后来,金庸群侠传Online被人们亲切的称之为网金。时至今日,在死去了一大批网游后,网金依然存活着,这不得不说是一个长寿的网游,不得不说中国人对于武侠还是情有独钟。
网游名称:奇迹
网游类型:3D图形类奇幻网游
经典指数:★★★★★★★★
可以说是九城今天成功的起步
上榜原因:此游戏是继传奇后又一个力作,唯美的游戏画面,独特的游戏类型,丰富的游戏场景,都是一个成功的网游。并且,老开其游戏内容和一些任务操作,单凭其一个玛雅石头5元人民币,就可以看出当时的火热程度了。其实,奇迹比较像暗黑破坏神2这个经典的单机游戏。很多玩家都认为奇迹是个3D类网游,其实,只能算是一半,奇迹只有背景是3D的,人物是2D建模。可以说,今天的九城的成功,完全归功于奇迹。
网游名称:魔力宝贝
网游类型:2D图形类幻想网游
经典指数:★★★★★★★
经典的魔力宝贝,至今还在进行着...
上榜原因:继石器时代后又一款经典回合制游戏,此款游戏在画风已经操作形式上与石器时代相仿。不过其最大的卖点是,完备的职业系统,庞大而完美的游戏内容,更优秀的宠物系统,这都是其成功的原因。在当时疯狂的传奇浪潮中,魔力宝贝能够挺立到今天,还是有他的实力的。当然,史克威尔艾尼克斯这个经典的单机游戏公司,在制作网游上,还是有一手的。
网游名称:大话西游/梦幻西游
网游类型:2D图形类神怪网游
经典指数:★★★★★★
从大话西游到梦幻西游,两代经典
上榜原因:其实,这款网游能够成为经典,除了要感谢吴承恩老爷子以外,还要感谢周星驰星爷。除了因为西游记在中国的脍炙人口以外,星爷的大话西游电影也让其在中国提前拥有了不少用户。并且它是款回合制网络游戏,也许是中国玩家对回合制比较有兴趣,无论是石器还是魔力,都有无数的玩家为他倾倒。此后的小辈,梦幻西游也不例外。独特的任务剧情和简单方便的操作方式,吸引了大部分玩家,尤其是女玩家更是对他情有独中。
网游名称:精灵/魔剑
网游类型:3D图形类奇幻网游
经典指数:★★★★★
两个悲情而有伟大的游戏
上榜原因:为什么要把这两个游戏放在一起?因为,他们两个都是好游戏,但是他们两个都是悲情的网游。精灵,以当时,甚至以现在的眼光来看,其游戏制作都是相当的精良,遗憾的是,外挂,让他提早推出了网游舞台。魔剑,不说别的,能够让全世界的中国人,拧成一股绳,去抗击外敌,这就能够说明他是一款好的网游。不过,再好的网游,没有好的经营者,也只能无奈的逝去。
网游名称:热血江湖
网游类型:3D图形类武侠网游
经典指数:★★★
免费,让热血江湖成功
上榜原因:此款游戏是中国第一款以免费为宣传手段的大型3D网游。无论是从人物的外形还是环境的设定。都比较新颖.尤其是免费游戏使很大一部分玩家,都掉进此款游戏的陷阱之中无法自拔。
网游名称:魔兽世界
网游类型:3D图形类魔幻网游
经典指数:★★★★★★★★★★
魔兽世界,暴雪出品,必是精品
上榜原因:暴雪出品,必是精品,这句话说的一点不假。从单机游戏界,进军网络游戏,借魔兽争霸之威,以魔兽世界进军网游,暴雪是聪明的。不仅是中国,魔兽世界引起了全球玩家的一致蜂拥欢迎。作为一个成功的网游,魔兽世界更多的是人性化,并且不断的推陈出新,抓住更多的老玩家,吸引更多的新玩家。新版《燃烧的远征》,还没登陆中国,就让不少玩家望眼欲穿了。
我们的口号是:找、激活码、大礼包,百度搜索“”,无需注册5秒免费领取。
与相关的文章有:
2.5D/大型角色扮演/玄幻/ 动作

参考资料

 

随机推荐