日语 我不明白白了,为什么遇到的一大堆obj玩家

太平洋战争中,日军为了对付美军的近乎无敌的装甲部队,想了不少办法,也搞出了不少光怪陆离的武器备,既有黔驴技穷的色彩,也有丧心病狂的意味。&br&看上去比较正常一些的九三式反坦克地雷、燃烧瓶、九九式爆破筒、棒地雷,以及大家相对熟悉的王八一样的九九式磁性反坦克地雷就不介绍了,咱们来看看一些其他玩意儿。&br&水雷&br&对,水雷。就是非常任性地把九六式水雷和二式水雷从水里捞出来直接埋滩头。二式因为外形缘故,美军称为茶壶雷。&br&一式玻璃瓶氰氢酸毒气手榴弹&br&&figure&&img data-rawwidth=&1280& data-rawheight=&1707& src=&https://pic2.zhimg.com/v2-4cc1a40fbf1c459bfdb1_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic2.zhimg.com/v2-4cc1a40fbf1c459bfdb1_r.jpg&&&/figure&&br&英军于1942年遭遇过该武器,美军于1943年在瓜岛缴获过这个东西。这东西摔在坦克上碎裂之后,毒液流进坦克迅速蒸发,乘员两秒内失去意识,5分钟内死亡,10分钟后毒性实效,普通过滤式放毒面具无法抵御。但只能在一定封闭空间起作用,不适合对暴露在外人员使用。差不多的还有一式玻璃瓶烟雾手榴弹。&br&二式深水炸弹型简易反坦克地雷&br&&figure&&img data-rawwidth=&1280& data-rawheight=&1707& src=&https://pic1.zhimg.com/v2-db6a5682dbde41c48844_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic1.zhimg.com/v2-db6a5682dbde41c48844_r.jpg&&&/figure&&br&这个酷似大垃圾桶的深水炸弹被埋在了地下,重达113.4公斤,压发引爆,威力可以用丧心病狂形容。日军还将227公斤的航弹做过同样改装来达到让美军坦克坐土飞机的效果。&br&三式反坦克手榴弹&br&&figure&&img data-rawwidth=&471& data-rawheight=&398& src=&https://pic3.zhimg.com/v2-46522e2dbc70f5dce9a98e_b.jpg& class=&origin_image zh-lightbox-thumb& width=&471& data-original=&https://pic3.zhimg.com/v2-46522e2dbc70f5dce9a98e_r.jpg&&&/figure&&br&这个看上去极为lowB的武器需要用那个绳子甩出去,为了有足够的惯性和撞击力引爆手榴弹,日军必须使出很大力气,并且为了保证安全,要与目标至少保持11米的距离。最为坑爹的是投掷方式和链球差不多,需要不断旋转加速挥舞,一旦掌握不好出手时机,不慎撒手了……身边的队友……&br&三式、四式地雷&br&三式分为甲型和乙型,甲型为陶制,乙型为木制。四式地雷为木制,都是资源匮乏的无奈之作,类似的还有四式陶制手榴弹。&figure&&img data-rawwidth=&1707& data-rawheight=&1280& src=&https://pic1.zhimg.com/v2-5e5708d49acbd546a296a2e3fae637f0_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1707& data-original=&https://pic1.zhimg.com/v2-5e5708d49acbd546a296a2e3fae637f0_r.jpg&&&/figure&&br&试验型反坦克手榴弹&br&&figure&&img data-rawwidth=&1280& data-rawheight=&1603& src=&https://pic4.zhimg.com/v2-13d009a1ab70aa893733_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic4.zhimg.com/v2-13d009a1ab70aa893733_r.jpg&&&/figure&&br&这个黑球可以炸穿70毫米装甲,但极不安全,安全销拔掉之后,掉地上就响了。此款武器在游戏《战争之人》中的表现极为坑爹,甩到对方坦克上之后弹出去老远,炸出一大坨烟土之后对方坦克屁事没有。答主曾经用它炸过一辆苏军装甲汽车,仅仅崩飞了人家一个轮子,炮塔从容不迫地转过来把暗算的凶手突突了。&br&刺雷&br&&figure&&img data-rawwidth=&1280& data-rawheight=&1707& src=&https://pic3.zhimg.com/v2-6ed6dc720c886ce2fdf8f76_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic3.zhimg.com/v2-6ed6dc720c886ce2fdf8f76_r.jpg&&&/figure&&br&挺雷便刺的那位小哥手里的家伙就是刺雷,使用方法如图所示,拔掉销子上去怼就行了,玉碎精神不是很强的话可以当标枪甩出去。日军曾经强迫美军战俘使用刺雷攻击缴获来的坦克进行实验,击毁了m3,战俘也炸死了。从实验数据来看可以炸穿150毫米装甲,60度倾斜的可以炸穿100毫米,消灭M4是问题不大的。但是其使用方法限制了威力的发挥,绝大多数刺雷的攻击行动都惨遭失败。美军称为傻瓜棍。&br&吸盘雷&br&使用方法与刺雷一样,怼。&br&不同的是有10到18秒的延时,但感觉意义不大。&br&杆雷&br&在竹竿上绑着各类爆炸物都称为杆雷。可能绑九三式反坦克地雷、三式地雷以及炸药包等等,后来的钩雷多了一个挂住坦克的功能,也有用带钩绳子甩爆炸物的。&br&坐垫雷&br&基本上就是炸药包,战果寥寥。&br&背包式反坦克地雷&br&一个十多斤的木制盒子背在身后,当敌军坦克路过时突然钻入车底拉导线,玉碎。&br&简易空心装药雷&br&日军称为急造爆雷。木制盒子,有3公斤型,5公斤型,7公斤型,10公斤型,15公斤型,通常电控爆炸,可以炸穿70毫米装甲。&br&&figure&&img data-rawwidth=&1280& data-rawheight=&1707& src=&https://pic3.zhimg.com/v2-a1f7eb91e_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic3.zhimg.com/v2-a1f7eb91e_r.jpg&&&/figure&&br&工具箱地雷&br&……就是雷壳是工具箱的……地雷。为九三式的简易版。&br&混凝土雷&br&……就是雷壳是混凝土的……地雷。18.14公斤,电导线击发爆炸。&figure&&img data-rawwidth=&1280& data-rawheight=&1707& src=&https://pic3.zhimg.com/v2-2fbccce8bce615c_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic3.zhimg.com/v2-2fbccce8bce615c_r.jpg&&&/figure&&br&椰子雷&br&还有一个nb的称号——火炎丸。&br&&figure&&img data-rawwidth=&1280& data-rawheight=&1414& src=&https://pic3.zhimg.com/v2-6ad7c11aafbf5e_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic3.zhimg.com/v2-6ad7c11aafbf5e_r.jpg&&&/figure&&br&南太平洋的日军就地取材,将反坦克作战的普遍真理与当地实际情况相结合,走出了一条具有日军特色的军国主义反坦克新路。极富创造性,威力极为有限。&br&分为杀伤爆破型和燃烧型,杀爆型就是往椰子里插一个九一式手榴弹,能对小型车辆造成威胁。燃烧型就是把汽油橡胶塞进去,当燃烧瓶使。&br&还有其他各类改装“爆雷”都大同小异。&br&以及极富特色的反坦克居合斩,反坦克竹枪术等等……
太平洋战争中,日军为了对付美军的近乎无敌的装甲部队,想了不少办法,也搞出了不少光怪陆离的武器备,既有黔驴技穷的色彩,也有丧心病狂的意味。 看上去比较正常一些的九三式反坦克地雷、燃烧瓶、九九式爆破筒、棒地雷,以及大家相对熟悉的王八一样的九九…
&a href=&//link.zhihu.com/?target=http%3A//www.cppblog.com/vczh/archive//198769.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&伴随我成长的编程书&/a&
谢邀,手游页游和端游的服务端本质上没区别,区别的是游戏类型。&br&&br&&b&类型1:卡牌、跑酷等弱交互服务端&/b&&br&&br&卡牌跑酷类因为交互弱,玩家和玩家之间不需要实时面对面PK,打一下对方的离线数据,计算下排行榜,买卖下道具即可,所以实现往往使用简单的 HTTP服务器:&br&&figure&&img src=&https://pic4.zhimg.com/b6e288b02b8664afd843_b.jpg& data-rawwidth=&438& data-rawheight=&186& class=&origin_image zh-lightbox-thumb& width=&438& data-original=&https://pic4.zhimg.com/b6e288b02b8664afd843_r.jpg&&&/figure&登录时可以使用非对称加密(RSA, DH),服务器根据客户端uid,当前时间戳还有服务端私钥,计算哈希得到的加密 key 并发送给客户端。之后双方都用 HTTP通信,并用那个key进行RC4加密。客户端收到key和时间戳后保存在内存,用于之后通信,服务端不需要保存 key,因为每次都可以根据客户端传上来的 uid 和 时间戳 以及服务端自己的私钥计算得到。用模仿 TLS的行为,来保证多次 HTTP请求间的客户端身份,并通过时间戳保证同一人两次登录密钥不同。&br&&br&每局开始时,访问一下,请求一下关卡数据,玩完了又提交一下,验算一下是否合法,获得什么奖励,数据库用单台 MySQL或者 MongoDB即可,后端的 Redis做缓存(可选)。如果要实现通知,那么让客户端定时15秒轮询一下服务器,如果有消息就取下来,如果没消息可以逐步放长轮询时间,比如30秒;如果有消息,就缩短轮询时间到10秒,5秒,即便两人聊天,延迟也能自适应。&br&&br&此类服务器用来实现一款三国类策略或者卡牌及酷跑的游戏已经绰绰有余,这类游戏因为逻辑简单,玩家之间交互不强,使用 HTTP来开发的话,开发速度快,调试只需要一个浏览器就可以把逻辑调试清楚了。&br&&br&&b&类型2:第一代游戏服务器 1978&/b&&br&&br&1978年,英国著名的财经学校University of Essex的学生 Roy Trubshaw编写了世界上第一个MUD程序《MUD1》,在University of Essex于1980年接入 ARPANET之后加入了不少外部的玩家,甚至包括国外的玩家。《MUD1》程序的源代码在 ARPANET共享之后出现了众多的改编版本,至此MUD才在全世界广泛流行起来。不断完善的 MUD1的基础上产生了开源的 MudOS(1991),成为众多网游的鼻祖:&br&&figure&&img src=&https://pic2.zhimg.com/b647b152f0c29b29e2c9_b.jpg& data-rawwidth=&368& data-rawheight=&225& class=&content_image& width=&368&&&/figure&MUDOS采用 C语言开发,因为玩家和玩家之间有比较强的交互(聊天,交易,PK),MUDOS使用单线程无阻塞套接字来服务所有玩家,所有玩家的请求都发到同一个线程去处理,主线程每隔1秒钟更新一次所有对象(网络收发,更新对象状态机,处理超时,刷新地图,刷新NPC)。&br&&br&游戏世界采用房间的形式组织起来,每个房间有东南西北四个方向可以移动到下一个房间,由于欧美最早的网游都是地牢迷宫形式的,因此场景的基本单位被成为 “房间”。MUDOS使用一门称为LPC的脚本语言来描述整个世界(包括房间拓扑,配置,NPC,以及各种剧情)。游戏里面的高级玩家(巫师),可以不断的通过修改脚本来为游戏添加房间以及增加剧情。早年 MUD1上线时只有17个房间,Roy Trubshaw毕业以后交给他的师弟 Richard Battle,在 Richard Battle手上,不断的添加各种玩法到一百多个房间,终于让 MUD发扬光大。&br&&br&用户使用 Telnet之类的客户端用 Tcp协议连接到 MUDOS上,使用纯文字进行游戏,每条指令用回车进行分割。比如 1995年国内第一款 MUD游戏《侠客行》,你敲入:&go east&,游戏就会提示你:“后花园 - 这里是归云庄的后花园,种满了花草,几个庄丁正在浇花。此地乃是含羞草生长之地。这里唯一的出口是 north。这里有:花待 阿牧(A mu),还有二位庄丁(Zhuang Ding)”,然后你继续用文字操作,查看阿牧的信息:“look a mu”,系统提示:“花待 阿牧(A mu)他是陆乘风的弟子,受命在此看管含羞草。他看起来三十多岁,生得眉清目秀,端正大方,一表人才。他的武艺看上去【不是很高】,出手似乎【极轻】”。然后你可以选择击败他获得含羞草,但是你吃了含羞草却又可能会中毒死亡。在早期网上资源贫乏的时候,这样的游戏有很强的代入感。&br&&br&用户数据保存在文件中,每个用户登录时,从文本文件里把用户的数据全部加载进来,操作全部在内存里面进行,无需马上刷回磁盘。用户退出了,或者每隔5分钟检查到数据改动了,都会保存会磁盘。这样的系统在当时每台服务器承载个4000人同时游戏,不是特别大的问题。从1991年的 MUDOS发布后,全球各地都在为他改进,扩充,退出新版本,随着 Windows图形机能的增强。1997游戏《UO》在 MUDOS的基础上为角色增加的x,y坐标,为每个房间增加了地图,并且为每个角色增加了动画,形成了第一代的图形网络游戏。&br&&br&因为游戏内容基本可以通过 LPC脚本进行定制,所以MUDOS也成为名副其实的第一款服务端引擎,引擎一次性开发出来,然后制作不同游戏内容。后续国内的《万王之王》等游戏,很多都是跟《UO》一样,直接在 MUDOS上进行二次开发,加入房间的地图还有角色的坐标等要素,该架构一直为国内的第一代 MMORPG提供了稳固的支持,直到 2003年,还有游戏基于 MUDOS开发。&br&&br&虽然后面图形化增加了很多东西,但是这些MMORPG后端的本质还是 MUDOS。随着游戏内容的越来越复杂,架构变得越来越吃不消了,各种负载问题慢慢浮上水面,于是有了我们的第二代游戏服务器。&br&&br&&b&类型3:第二代游戏服务器 2003&/b&&br&&br&2000年后,网游已经脱离最初的文字MUD,进入全面图形化年代。最先承受不住的其实是很多小文件,用户上下线,频繁的读取写入用户数据,导致负载越来越大。随着在线人数的增加和游戏数据的增加,服务器变得不抗重负。同时早期 EXT磁盘分区比较脆弱,稍微停电,容易发生大面积数据丢失。因此第一步就是拆分文件存储到数据库去。&br&&figure&&img src=&https://pic4.zhimg.com/984d43af31dcbb20bfbdf6c22cce4947_b.jpg& data-rawwidth=&439& data-rawheight=&159& class=&origin_image zh-lightbox-thumb& width=&439& data-original=&https://pic4.zhimg.com/984d43af31dcbb20bfbdf6c22cce4947_r.jpg&&&/figure&&br&此时游戏服务端已经脱离陈旧的 MUDOS体系,各个公司在参考 MUDOS结构的情况下,开始自己用 C在重新开发自己的游戏服务端。并且脚本也抛弃了 LPC,采用扩展性更好的 Python或者 Lua来代替。由于主逻辑使用单线程模型,随着游戏内容的增加,传统单服务器的结构进一步成为瓶颈。于是有人开始拆分游戏世界,变为下面的模型:&br&&figure&&img src=&https://pic4.zhimg.com/68a2d231c4e2c1ba2fb37_b.jpg& data-rawwidth=&404& data-rawheight=&163& class=&content_image& width=&404&&&/figure&游戏服务器压力拆分后得意缓解,但是两台游戏服务器同时访问数据库,大量重复访问,大量数据交换,使得数据库成为下一个瓶颈。于是形成了数据库前端代理(DB Proxy),游戏服务器不直接访问数据库而是访问代理,再有代理访问数据库,同时提供内存级别的cache。早年 MySQL4之前没有提供存储过程,这个前端代理一般和 MySQL跑在同一台上,它转化游戏服务器发过来的高级数据操作指令,拆分成具体的数据库操作,一定程度上代替了存储过程:&br&&figure&&img src=&https://pic3.zhimg.com/cf87922d9cff5e0a6490abc5d396c4fe_b.jpg& data-rawwidth=&466& data-rawheight=&162& class=&origin_image zh-lightbox-thumb& width=&466& data-original=&https://pic3.zhimg.com/cf87922d9cff5e0a6490abc5d396c4fe_r.jpg&&&/figure&但是这样的结构并没有持续太长时间,因为玩家切换场景经常要切换连接,中间的状态容易错乱。而且游戏服务器多了以后,相互之间数据交互又会变得比较麻烦,于是人们拆分了网络功能,独立出一个网关服务 Gate(有的地方叫 Session,有的地方叫 LinkSvr之类的,名字不同而已):&br&&figure&&img src=&https://pic3.zhimg.com/6ae41d97c6bbf306d1319a_b.jpg& data-rawwidth=&486& data-rawheight=&289& class=&origin_image zh-lightbox-thumb& width=&486& data-original=&https://pic3.zhimg.com/6ae41d97c6bbf306d1319a_r.jpg&&&/figure&把网络功能单独提取出来,让用户统一去连接一个网关服务器,再有网关服务器转发数据到后端游戏服务器。而游戏服务器之间数据交换也统一连接到网管进行交换。这样类型的服务器基本能稳定的为玩家提供游戏服务,一台网关服务1-2万人,后面的游戏服务器每台服务5k-1w,依游戏类型和复杂度不同而已,图中隐藏了很多不重要的服务器,如登录和管理。这是目前应用最广的一个模型,到今天任然很多新项目会才用这样的结构来搭建。&br&&br&人都是有惯性的,按照先前的经验,似乎把 MUDOS拆分的越开性能越好。于是大家继续想,网关可以拆分呀,基础服务如聊天交易,可以拆分呀,还可以提供web接口,数据库可以拆分呀,于是有了下面的模型:&br&&figure&&img src=&https://pic1.zhimg.com/e0c141eb5954dcafcbb4bc86c475da30_b.jpg& data-rawwidth=&480& data-rawheight=&266& class=&origin_image zh-lightbox-thumb& width=&480& data-original=&https://pic1.zhimg.com/e0c141eb5954dcafcbb4bc86c475da30_r.jpg&&&/figure&这样的模型好用么?确实有成功游戏使用类似这样的架构,并且发挥了它的性能优势,比如一些大型 MMORPG。但是有两个挑战:每增加一级服务器,状态机复杂度可能会翻倍,导致研发和找bug的成本上升;并且对开发组挑战比较大,一旦项目时间吃紧,开发人员经验不足,很容易弄挂。&br&&br&比如我见过某上海一线游戏公司的一个 RPG上来就要上这样的架构,我看了下他们团队成员的经验,问了下他们的上线日期,劝他们用前面稍微简单一点的模型。人家自信得很,认为有成功项目是这么做的,他们也要这么做,自己很想实现一套。于是他们义无反顾的开始编码,项目做了一年多,然后,就没有然后了。&br&&br&现今在游戏成功率不高的情况下,一开始上一套比较复杂的架构需要考虑投资回报率,比如你的游戏上线半年内 PCU会去到多少?如果一个 APRG游戏,每组服务器5千人都到不了的话,那么选择一套更为贴近实际情况的结构更为经济。即使后面你的项目真的超过5千人朝着1万人目标奔的话,相信那个时候你的项目已经挣大钱了 ,你数着钱加着班去逐步迭代,一次次拆分它,相信心里也是乐开花的。&br&&br&上面这些类型基本都是从拆分 MUDOS开始,将 MUDOS中的各个部件从单机一步步拆成分布式。虽然今天任然很多新项目在用上面某一种类似的结构,或者自己又做了其他热点模块的拆分。因为他们本质上都是对 MUDOS的分解,故将他们归纳为第二代游戏服务器。&br&&br&&b&类型4:第三代游戏服务器 2007&/b&&br&&br&从魔兽世界开始无缝世界地图已经深入人心,比较以往游戏玩家走个几步还需要切换场景,每次切换就要等待 LOADING个几十秒是一件十分破坏游戏体验的事情。于是对于 2005年以后的大型 MMORPG来说,无缝地图已成为一个标准配置。比较以往按照地图来切割游戏而言,无缝世界并不存在一块地图上面的人有且只由一台服务器处理了:&br&&figure&&img src=&https://pic2.zhimg.com/c13a5acd999_b.jpg& data-rawwidth=&418& data-rawheight=&185& class=&content_image& width=&418&&&/figure&&br&每台 Node服务器用来管理一块地图区域,由 NodeMaster(NM)来为他们提供总体管理。更高层次的 World则提供大陆级别的管理服务。这里省略若干细节服务器,比如传统数据库前端,登录服务器,日志和监控等,统统用 ADMIN概括。在这样的结构下,玩家从一块区域走向另外一块区域需要简单处理一下:&br&&figure&&img src=&https://pic4.zhimg.com/424cd1ceecfeb_b.jpg& data-rawwidth=&388& data-rawheight=&290& class=&content_image& width=&388&&&/figure&玩家1完全由节点A控制,玩家3完全由节点B控制。而处在两个节点边缘的2号玩家,则同时由A和B提供服务。玩家2从A移动到B的过程中,会同时向A请求左边的情况,并向B请求右边的情况。但是此时玩家2还是属于A管理。直到玩家2彻底离开AB边界很远,才彻底交由B管理。按照这样的逻辑将世界地图分割为一块一块的区域,交由不同的 Node去管理。&br&&br&对于一个 Node所负责的区域,地理上没必要连接在一起,比如大陆的四周边缘部分和高山部分的区块人比较少,可以统一交给一个Node去管理,而这些区块在地理上并没有联系在一起的必要性。一个 Node到底管理哪些区块,可以根据游戏实时运行的负载情况,定时维护的时候进行更改 NodeMaster 上面的配置。&br&&br&于是碰到第一个问题是很多 Node服务器需要和玩家进行通信,需要问管理服务器特定UID为多少的玩家到底在哪台 Gate上,以前按场景切割的服务器这个问题不大,问了一次以后就可以缓存起来了,但是现在服务器种类增加不少,玩家又会飘来飘去,按UID查找玩家比较麻烦;另外一方面 GATE需要动态根据坐标计算和哪些 Node通信,导致逻辑越来越厚,于是把:“用户对象”从负责连接管理的 GATE中切割出来势在必行于是有了下面的模型:&br&&figure&&img src=&https://pic3.zhimg.com/bd2bec76b90651cfdf696da_b.jpg& data-rawwidth=&420& data-rawheight=&275& class=&content_image& width=&420&&&/figure&网关服务器再次退回到精简的网络转发功能,而用户逻辑则由按照 UID划分的 OBJ服务器来承担,GATE是按照网络接入时的负载来分布,而 OBJ则是按照资源的编号(UID)来分布,这样和一个用户通信直接根据 UID计算出 OBJ服务器编号发送数据即可。而新独立出来的 OBJ则提供了更多高层次的服务:&br&&ul&&li&对象移动:管理具体玩家在不同的 Node所管辖的区域之间的移动,并同需要的 Node进行沟通。&br&&/li&&li&数据广播:Node可以给每个用户设置若干 TAG,然后通知 Object Master 按照TAG广播。&br&&/li&&li&对象消息:通用消息推送,给某个用户发送数据,直接告诉 OBJ,不需要直接和 GATE打交道。&br&&/li&&li&好友聊天:角色之间聊天直接走 OBJ/OBJ MASTER。&/li&&/ul&整个服务器主体分为三层以后,NODE专注场景,OBJ专注玩家对象,GATE专注网络。这样的模型在无缝场景服务器中得到广泛的应用。但是随着时间的推移,负载问题也越来越明显,做个活动,远来不活跃的区域变得十分活跃,靠每周维护来调整还是比较笨重的,于是有了动态负载均衡。&br&&br&动态负载均衡有两种方法,第一种是按照负载,由 Node Master 定时动态移动修改一下各个 Node的边界,而不同的玩家对象按照先前的方法从一台 Node上迁移到另外一台 Node上:&br&&figure&&img src=&https://pic3.zhimg.com/0c4dcad7e6e8a694a46df5e_b.jpg& data-rawwidth=&162& data-rawheight=&181& class=&content_image& width=&162&&&/figure&
图11 动态负载均衡&br&&br&这样 Node Master定时查找地图上的热点区域,计算新的场景切割方式,然后告诉其他服务器开始调整,具体处理方式还是和上面对象跨越边界移动的方法一样。&br&&br&但是上面这种方式实现相对复杂一些,于是人们设计出了更为简单直接的一种新方法:&br&&figure&&img src=&https://pic3.zhimg.com/8e250bfe7fc15eb0a0d2925dab684ec2_b.jpg& data-rawwidth=&251& data-rawheight=&250& class=&content_image& width=&251&&&/figure&
图12 基于网格的动态负载均衡&br&&br&还是将地图按照标准尺寸均匀切割成静态的网格,每个格子由一个具体的Node负责,但是根据负载情况,能够实时的迁移到其他 Node上。在迁移分为三个阶段:准备,切换,完成。三个状态由Node Master负责维护。准备阶段新的 Node开始同步老 Node上面该网格的数据,完成后告诉NM;NM确认OK后同时通知新旧 Node完成切换。完成切换后,如果 Obj服务器还在和老的 Node进行通信,老的 Node将会对它进行纠正,得到纠正的 OBJ将修正自己的状态,和新的 Node进行通信。&br&&br&很多无缝动态负载均衡的服务端宣称自己支持无限的人数,但不意味着 MMORPG游戏的人数上限真的可以无限扩充,因为这样的体系会受制于网络带宽和客户端性能。带宽决定了同一个区域最大广播上限,而客户端性能决定了同一个屏幕到底可以绘制多少个角色。&br&&br&从无缝地图引入了分布式对象模型开始,已经完全脱离 MUDOS体系,成为一种新的服务端模型。又由于动态负载均衡的引入,让无缝服务器如虎添翼,容纳着超过上一代游戏服务器数倍的人数上限,并提供了更好的游戏体验,我们称其为第三代游戏服务端架构。网游以大型多人角色扮演为开端,RPG网游在相当长的时间里一度占据90%以上,使得基于 MMORPG的服务端架构得到了蓬勃的发展,然而随着玩家对RPG的疲惫,各种非MMORPG游戏如雨后春笋般的出现在人们眼前,受到市场的欢迎。&br&&br&&b&类型5:战网游戏服务器&/b&&br&&br&经典战网服务端和 RPG游戏有两个区别:RPG是分区分服的,北京区的用户和广州区的用户老死不相往来。而战网,虽然每局游戏一般都是 8人以内,但全国只有一套服务器,所有的玩家都可以在一起游戏,而玩家和玩家之使用 P2P的方式连接在一起,组成一局游戏:&figure&&img src=&https://pic4.zhimg.com/bfda3d0c5da7_b.jpg& data-rawwidth=&493& data-rawheight=&352& class=&origin_image zh-lightbox-thumb& width=&493& data-original=&https://pic4.zhimg.com/bfda3d0c5da7_r.jpg&&&/figure&玩家通过 Match Making 服务器使用:创建、加入、自动匹配、邀请 等方式组成一局游戏。服务器会选择一个人做 Host,其他人 P2P连接到做主的玩家上来。STUN是帮助玩家之间建立 P2P的牵引服务器,而由于 P2P联通情况大概只有 75%,实在联不通的玩家会通过 Forward进行转发。&br&&br&大量的连接对战,体育竞技游戏采用类似的结构。P2P有网状模型(所有玩家互相连接),和星状模型(所有玩家连接一个主玩家)。复杂的游戏状态在网状模型下难以形成一致,因此星状P2P模型经受住了历史的考验。除去游戏数据,支持语音的战网系统也会将所有人的语音数据发送到做主的那个玩家机器上,通过混音去重再编码的方式返回给所有用户。&br&&br&战网类游戏,以竞技、体育、动作等类型的游戏为主,较慢节奏的 RPG(包括ARPG)有本质上的区别,而激烈的游戏过程必然带来到较 RPG复杂的多的同步策略,这样的同步机制往往带来的是很多游戏结果由客户端直接计算得出,那在到处都是破解的今天,如何保证游戏结果的公正呢?&br&&br&主要方法就是投票法,所有客户端都会独立计算,然后传递给服务器。如果结果相同就更新记录,如果结果不一致,会采取类似投票的方式确定最终结果。同时记录本剧游戏的所有输入,在可能的情况下,找另外闲散的游戏客户端验算整局游戏是否为该结果。并且记录经常有作弊嫌疑的用户,供运营人员封号时参考。&br&&br&&b&类型7:休闲游戏服务器&/b&&br&&br&休闲游戏同战网服务器类似,都是全区架构,不同的是有房间服务器,还有具体的游戏服务器,游戏主体不再以玩家 P2P进行,而是连接到专门的游戏服务器处理:&br&&figure&&img src=&https://pic4.zhimg.com/bae1e94836cbb_b.jpg& data-rawwidth=&698& data-rawheight=&630& class=&origin_image zh-lightbox-thumb& width=&698& data-original=&https://pic4.zhimg.com/bae1e94836cbb_r.jpg&&&/figure&&br&和战网一样的全区架构,用户数据不能象分区的 RPG那样一次性load到内存,然后在内存里面直接修改。全区架构下,为了应对一个用户同时玩几个游戏,用户数据需要区分基本数据和不同的游戏数据,而游戏数据又需要区分积分数据、和文档数据。胜平负之类的积分可以直接提交增量修改,而更为普遍的文档类数据则需要提供读写令牌,写令牌只有一块,读令牌有很多块。同帐号同一个游戏同时在两台电脑上玩时,最先开始的那个游戏获得写令牌,可以操作任意的用户数据。而后开始的那个游戏除了可以提交胜平负积分的增量改变外,对用户数据采用只读的方式,保证游戏能运行下去,但是会提示用户,游戏数据锁定。&br&&br&&b&类型8:现代动作类网游&/b&&br&&br&从早期的韩国动作游戏开始,传统的战网动作类游戏和 RPG游戏开始尝试融合。单纯的动作游戏玩家容易疲倦,留存也没有 RPG那么高;而单纯 RPG战斗却又慢节奏的乏味,无法满足很多玩家激烈对抗的期望,于是二者开始融合成为新一代的:动作 + 城镇 模式。玩家在城镇中聚集,然后以开副本的方式几个人出去以动作游戏的玩法来完成各种 RPG任务。本质就是一套 RPG服务端+副本服务端。由于每次副本时人物可以控制在8人以内,因此可以获得更为实时的游戏体验,让玩家玩的更加爽快。&br&&br&说了那么多的游戏服务器类型,其实也差不多了,剩下的类型大家拼凑一下其实也就是这个样子而已。游戏服务端经历了那么多结构上的变迁,内部开发模式是否依然不变?究竟是继续延续传统的开发方式?还是有了更多突破性的方法?经历那么多次架构变迁,后面是否有共通的逻辑?未来的发展还会存在哪些困难?游戏服务端开发如何达到最终的彼岸?请看下节:技术的演进。&br&&br&&b&技术的演进&/b&&br&&br&(欢迎加入“游戏服务端架构交流” QQ群 ,共同讨论相关问题)&br&&br&(待续)
谢邀,手游页游和端游的服务端本质上没区别,区别的是游戏类型。 类型1:卡牌、跑酷等弱交互服务端 卡牌跑酷类因为交互弱,玩家和玩家之间不需要实时面对面PK,打一下对方的离线数据,计算下排行榜,买卖下道具即可,所以实现往往使用简单的 HTTP服务器: …
《WPF编程宝典C#2012版》既有拖控件、也有XML、更有写代码,读完三种同时学会。
《WPF编程宝典C#2012版》既有拖控件、也有XML、更有写代码,读完三种同时学会。
我挑一些有趣的算法,希望尽量提及相关算法在游戏中的应用。&br&&br&&b&光栅化&/b&&br&&ul&&li&&a href=&//link.zhihu.com/?target=http%3A//en.wikipedia.org/wiki/Bresenham%2527s_line_algorithm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Bresenham's line algorithm&/a& [1]:经典的绘画直线算法,后来还可以稍作修改用于绘画圆弧[2],都不用三角函数或除数,只需用整数加法、减法和乘法。 &/li&&/ul&&figure&&img src=&https://pic1.zhimg.com/b7cb85217babb238ac6c_b.jpg& data-rawwidth=&592& data-rawheight=&401& class=&origin_image zh-lightbox-thumb& width=&592& data-original=&https://pic1.zhimg.com/b7cb85217babb238ac6c_r.jpg&&&/figure&&br&&ul&&li&Perspective-Correct Texture Mapping [3]:透视正确的光栅化纹理贴图算法是1980才出现的。第一代Quake引擎引入后,才开始支持不垂直的墙、不水平的地面天花。&/li&&/ul&&figure&&img src=&https://pic4.zhimg.com/24681fdb28cfc1e4342f_b.jpg& data-rawwidth=&1000& data-rawheight=&352& class=&origin_image zh-lightbox-thumb& width=&1000& data-original=&https://pic4.zhimg.com/24681fdb28cfc1e4342f_r.jpg&&&/figure&(图片来自维基百科)&br&&br&&ul&&li&Polygon Rasterization with Edge Function [4]:Bresenham算法如果用来画多边形,两个多边形的共边会被重绘。后来发明了使用简单的edge function去解决这个问题,而且适合并行的硬件实现。现在的GPU都是使用这个算法。&/li&&/ul&&figure&&img src=&https://pic4.zhimg.com/bc6a762cbbfeb_b.jpg& data-rawwidth=&492& data-rawheight=&368& class=&origin_image zh-lightbox-thumb& width=&492& data-original=&https://pic4.zhimg.com/bc6a762cbbfeb_r.jpg&&&/figure&&br&&br&&b&全局光照&/b&&br&&ul&&li&Precomputed Radiance Transfer (PRT) with Spherical Harmonics(SH)[5]:储存静态环境对于各个方向光源的漫反射数据,可以实现动态低频光源的全局光照效果。这种表示方式非常神奇。Halo 3也使用到这种技术[6]。&/li&&/ul&&figure&&img src=&https://pic4.zhimg.com/4225d10efdd85cb81c6ef6fe855b14a3_b.jpg& data-rawwidth=&694& data-rawheight=&295& class=&origin_image zh-lightbox-thumb& width=&694& data-original=&https://pic4.zhimg.com/4225d10efdd85cb81c6ef6fe855b14a3_r.jpg&&&/figure&&br&&ul&&li&Screen-space Ambient Occlusion (SSAO)[7]:Crytek提出的首个屏幕空间环境光遮蔽算法,之后引来大量的研究及改进算法。也有用类似的概念去做近距离的反射,如SSDO[8]。&/li&&/ul&&figure&&img src=&https://pic4.zhimg.com/1faa1a94f23aa9b4b1eb_b.jpg& data-rawwidth=&798& data-rawheight=&316& class=&origin_image zh-lightbox-thumb& width=&798& data-original=&https://pic4.zhimg.com/1faa1a94f23aa9b4b1eb_r.jpg&&&/figure&&br&&ul&&li&Light Propagation Volume (LPV)[9]:Crytek提出的首个动态全局光照算法,不需要预计算。但要在体积数据中计算传播,性能较慢,所以之后再优化成 Cascaded LPV [10]。&br&&/li&&/ul&&figure&&img src=&https://pic3.zhimg.com/cda20e301ccbaa6d3b823b22_b.jpg& data-rawwidth=&1198& data-rawheight=&377& class=&origin_image zh-lightbox-thumb& width=&1198& data-original=&https://pic3.zhimg.com/cda20e301ccbaa6d3b823b22_r.jpg&&&/figure&&br&&ul&&li&Voxel Cone Tracing [11]:也是不需要预计算的动态全局光照算法。把场景动态生成层阶式的体素数据(像mipmap那样的pre-filtering),从光源视角计算直接光照,然后逐像素追踪这组数据获取非直接光照。结果比LPV精确,也可以做到光泽反射(glossy reflection)。&/li&&/ul&&figure&&img src=&https://pic1.zhimg.com/a5bc6edfaf47c2be14ba70_b.jpg& data-rawwidth=&1086& data-rawheight=&333& class=&origin_image zh-lightbox-thumb& width=&1086& data-original=&https://pic1.zhimg.com/a5bc6edfaf47c2be14ba70_r.jpg&&&/figure&&br&&b&阴影&/b&&br&&ul&&li&Shadow Volume [12]:阴影体积是1977年发表的阴影技术,在屏幕空间光栅化阴影体积,可准确判断每个屏幕像素是否在阴影之内。可以处理平行光源和点光源的阴影。1991年[13]讲述如何用stencil buffer来实现此算法,适合在图形加速硬件(当时还没有所谓GPU)上使用。但很多人发现,如果摄像机在阴影体积内,就会出错。在年有多人发现一种解决方法,需要把John Carmack在2000年的电邮[14]中提及这个想法,后来成为2004年《毁灭战士3(Doom 3)》引擎的重要特徵,因他把这项技术发扬光大,即使他非首个发明人,此项技术通常被称为Carmack's Reverse。&/li&&/ul&&figure&&img src=&https://pic4.zhimg.com/c0aefec2d7cab_b.jpg& data-rawwidth=&461& data-rawheight=&346& class=&origin_image zh-lightbox-thumb& width=&461& data-original=&https://pic4.zhimg.com/c0aefec2d7cab_r.jpg&&&/figure&&br&&br&&ul&&li&Parallel Split Shadow Map (PSSM) [15][16] / Cascaded Shadow Map(CSM)[17]:虽然Shadow Volume很吸引,但它需要大量的内存频宽,而且通常不能实现软阴影。后来大部分游戏改为使用Shadow Map(阴影贴图),这更适合GPU,并且可以通过多次采样(Percentage Closer Filtering, PCF)来实现软阴影。然而,阴影贴图也有许多问题,例如远近景物都采用同一张纹理,就会令到近景的精度不足,出现锯齿。2006年香港中文大学的博士生Fan Zhang等人发表了一种 PSSM 算法 [15],为不同距离的场景渲染多张阴影贴图,在采样的时候按距离决定使用那一张。这个方法的变种CSM,在切割上和PSSM有点差异,被广泛使用于现时大部分游戏引擎中。&/li&&/ul&&figure&&img src=&https://pic2.zhimg.com/dba24fba68e2ff8eb5a5ab819c50a1a5_b.jpg& data-rawwidth=&511& data-rawheight=&327& class=&origin_image zh-lightbox-thumb& width=&511& data-original=&https://pic2.zhimg.com/dba24fba68e2ff8eb5a5ab819c50a1a5_r.jpg&&&/figure&&br&&ul&&li&Variance Shadow Map(VSM)[18]:之前谈到用PCF做软阴影,它的坏处就是要做多次采样。那么可否把阴影贴图直接模糊化来实现软阴影?答案是否定的。但是在2006年有学者发表了VSM,它是一种用统计方式来逼近软阴影的效果。 &a href=&http://www.zhihu.com/question//answer/& class=&internal&&如何推导方差阴影贴图(variance shadow map, VSM) ? - Milo Yip 的回答&/a&&/li&&/ul&&figure&&img src=&https://pic2.zhimg.com/6bb2fb0efc1d_b.jpg& data-rawwidth=&856& data-rawheight=&300& class=&origin_image zh-lightbox-thumb& width=&856& data-original=&https://pic2.zhimg.com/6bb2fb0efc1d_r.jpg&&&/figure&&br&&b&场景管理&/b&&br&&ul&&li&&a href=&//link.zhihu.com/?target=http%3A//en.wikipedia.org/wiki/Binary_space_partitioning& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Binary Space Partitioning&/a& (BSP)&br&&/li&&li&&a href=&//link.zhihu.com/?target=http%3A//en.wikipedia.org/wiki/Portal_rendering& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Portal rendering&/a&&br&&/li&&li&&a href=&//link.zhihu.com/?target=http%3A//en.wikipedia.org/wiki/Quadtree& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Quadtree&/a&、&a href=&//link.zhihu.com/?target=http%3A//en.wikipedia.org/wiki/Octree& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Octree&/a&:&a href=&http://www.zhihu.com/question//answer/?group_id=696704& class=&internal&&游戏场景管理的八叉树算法是怎样的? - Milo Yip 的回答&/a&&/li&&li&Potential Visibility Set (PVS)&/li&&li&Occlusion Culling by Software Rasterization&/li&&/ul&&br&&b&动画/物理&/b&&br&&ul&&li&Particle System&/li&&li&Smoothed Particle Hydrodynamics(SPH)&/li&&li&Curl Noise&/li&&li&Dual Quaternion Skinning&/li&&/ul&&br&&b&碰撞测试&/b&&br&&ul&&li&&a href=&//link.zhihu.com/?target=http%3A//en.wikipedia.org/wiki/Hyperplane_separation_theorem& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Hyperplane separation theorem&/a& (或称separating axis theorem/SAT):凸形状相交测试的基本原理。在&a href=&http://www.zhihu.com/question//answer/& class=&internal&&怎样判断平面上一个矩形和一个圆形是否有重叠? - Milo Yip 的回答&/a&中,其实背后也是使用了SAT。&br&&/li&&li&&a href=&//link.zhihu.com/?target=http%3A//en.wikipedia.org/wiki/Gilbert%25E2%Johnson%25E2%Keerthi_distance_algorithm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Gilbert-Johnson-Keerthi distance algorithm&/a& (GJK距离算法):计算两个凸形状的距离(可用于相交测试)&br&&/li&&li&&a href=&//link.zhihu.com/?target=http%3A//en.wikipedia.org/wiki/Sweep_and_prune& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Sweep and prune&/a&:用于broad phase碰撞检测,找出物体AABB是否相交。对于时空上连续的物体运动,算法最坏O(n^2)、最好O(n)。&br&&/li&&/ul&&br&&b&人工智能&/b&&br&&ul&&li&&a href=&//link.zhihu.com/?target=http%3A//en.wikipedia.org/wiki/Minimax& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Minimax&/a&&/li&&li&&a href=&//link.zhihu.com/?target=http%3A//en.wikipedia.org/wiki/Alpha%25E2%beta_pruning& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Alpha-Beta Pruning&/a&&br&&/li&&li&A* path finding&/li&&li&&a href=&//link.zhihu.com/?target=http%3A//en.wikipedia.org/wiki/Dijkstra%2527s_algorithm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Dijkstra's algorithm&/a&&br&&/li&&li&&a href=&//link.zhihu.com/?target=http%3A//en.wikipedia.org/wiki/Finite-state_machine& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Finite-state machine&/a&&br&&/li&&li&Behavior Tree&/li&&/ul&&br&(中午吃饭时间写不完,后补)&br&&br&&b&参考&/b&&br&&br&[1] Bresenham, Jack E. &Algorithm for computer control of a digital plotter.& &i&IBM Systems journal&/i& 4.1 (1965): 25-30. &a href=&//link.zhihu.com/?target=http%3A//www.cse.iitb.ac.in/%7Eparagc/teaching/2011/cs475/papers/bresenham_line.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cse.iitb.ac.in/~paragc/&/span&&span class=&invisible&&teaching/2011/cs475/papers/bresenham_line.pdf&/span&&span class=&ellipsis&&&/span&&/a&&br&[2] Bresenham, Jack. &A linear algorithm for incremental digital display of circular arcs.& &i&Communications of the ACM&/i& 20.2 (1977): 100-106. &a href=&//link.zhihu.com/?target=http%3A//www.cse.iitb.ac.in/%7Eparagc/teaching/2014/cs475/papers/bresenham_circle.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cse.iitb.ac.in/~paragc/&/span&&span class=&invisible&&teaching/2014/cs475/papers/bresenham_circle.pdf&/span&&span class=&ellipsis&&&/span&&/a&&br&[3] Catmull, Ed, and Alvy Ray Smith. &3-D transformations of images in scanline order.& &i&ACM SIGGRAPH Computer Graphics&/i&. Vol. 14. No. 3. ACM, 1980. &a href=&//link.zhihu.com/?target=http%3A//alvyray.com/Papers/CG/2pass80.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&alvyray.com/Papers/CG/2&/span&&span class=&invisible&&pass80.pdf&/span&&span class=&ellipsis&&&/span&&/a&&br&[4] Pineda, Juan. &A parallel algorithm for polygon rasterization.& &i&ACM SIGGRAPH Computer Graphics&/i&. Vol. 22. No. 4. ACM, 1988. &a href=&//link.zhihu.com/?target=http%3A//people.csail.mit.edu/ericchan/bib/pdf/p17-pineda.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&people.csail.mit.edu/er&/span&&span class=&invisible&&icchan/bib/pdf/p17-pineda.pdf&/span&&span class=&ellipsis&&&/span&&/a&&br&[5] Sloan, Peter-Pike, Jan Kautz, and John Snyder. &Precomputed radiance transfer for real-time rendering in dynamic, low-frequency lighting environments.& &i&ACM Transactions on Graphics (TOG)&/i&. Vol. 21. No. 3. ACM, 2002. &a href=&//link.zhihu.com/?target=http%3A//www1.cs.columbia.edu/%7Eravir/6998/papers/p527-sloan.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&www1.cs.columbia.edu/~r&/span&&span class=&invisible&&avir/6998/papers/p527-sloan.pdf&/span&&span class=&ellipsis&&&/span&&/a&&br&[6] Chen, Hao, and Xinguo Liu. &Lighting and material of Halo 3.& &i&ACM SIGGRAPH 2008 Games&/i&. ACM, 2008. &a href=&//link.zhihu.com/?target=http%3A//developer.amd.com/wordpress/media/08-Chen-Lighting_and_Material_of_Halo3.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&developer.amd.com/wordp&/span&&span class=&invisible&&ress/media/08-Chen-Lighting_and_Material_of_Halo3.pdf&/span&&span class=&ellipsis&&&/span&&/a&&br&[7] Mittring, Martin. &Finding next gen: Cryengine 2.& &i&ACM SIGGRAPH 2007 courses&/i&. ACM, 2007. &a href=&//link.zhihu.com/?target=http%3A//developer.amd.com/wordpress/media/2012/10/Chapter8-Mittring-Finding_NextGen_CryEngine2.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&developer.amd.com/wordp&/span&&span class=&invisible&&ress/media/2012/10/Chapter8-Mittring-Finding_NextGen_CryEngine2.pdf&/span&&span class=&ellipsis&&&/span&&/a&&br&[8] Ritschel, Tobias, Thorsten Grosch, and Hans-Peter Seidel. &Approximating dynamic global illumination in image space.& &i&Proceedings of the 2009 symposium on Interactive 3D graphics and games&/i&. ACM, 2009. &a href=&//link.zhihu.com/?target=https%3A//people.mpi-inf.mpg.de/%7Eritschel/Papers/SSDO.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&people.mpi-inf.mpg.de/~&/span&&span class=&invisible&&ritschel/Papers/SSDO.pdf&/span&&span class=&ellipsis&&&/span&&/a&&br&[9] Kaplanyan, Anton. &Light propagation volumes in cryengine 3.& &i&ACM SIGGRAPH Courses&/i& 7 (2009): 2. &a href=&//link.zhihu.com/?target=http%3A//www.crytek.com/download/Light_Propagation_Volumes.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&crytek.com/download/Lig&/span&&span class=&invisible&&ht_Propagation_Volumes.pdf&/span&&span class=&ellipsis&&&/span&&/a&&br&[10] Kaplanyan, Anton, and Carsten Dachsbacher. &Cascaded light propagation volumes for real-time indirect illumination.& &i&Proceedings of the 2010 ACM SIGGRAPH symposium on Interactive 3D Graphics and Games&/i&. ACM, 2010. &a href=&//link.zhihu.com/?target=http%3A//www.vis.uni-stuttgart.de/%7Edachsbcn/download/lpv.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&vis.uni-stuttgart.de/~d&/span&&span class=&invisible&&achsbcn/download/lpv.pdf&/span&&span class=&ellipsis&&&/span&&/a&&br&[11] Crassin, Cyril, et al. &Interactive indirect illumination using voxel cone tracing.&&i&Computer Graphics Forum&/i&. Vol. 30. No. 7. Blackwell Publishing Ltd, 2011. &a href=&//link.zhihu.com/?target=https%3A//research.nvidia.com/sites/default/files/publications/GIVoxels-pg2011-authors.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&research.nvidia.com/sit&/span&&span class=&invisible&&es/default/files/publications/GIVoxels-pg2011-authors.pdf&/span&&span class=&ellipsis&&&/span&&/a&&br&[12] Crow, Franklin C. &Shadow algorithms for computer graphics.& &i&ACM SIGGRAPH Computer Graphics&/i&. Vol. 11. No. 2. ACM, 1977. &a href=&//link.zhihu.com/?target=http%3A//excelsior.biosci.ohio-state.edu/%7Ecarlson/history/PDFs/crow-shadows.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&excelsior.biosci.ohio-state.edu&/span&&span class=&invisible&&/~carlson/history/PDFs/crow-shadows.pdf&/span&&span class=&ellipsis&&&/span&&/a&&br&[13] Heidmann, Tim. &Real shadows, real time.& &i&Iris Universe&/i& 18 (1991): 28-31.&br&[14] Carmack, John, &e-mail to Mark Kilgard on Shadow Volume&, 23 May 2000. &a href=&//link.zhihu.com/?target=http%3A//web.archive.org/web/35/http%3A//developer.nvidia.com/attach/6832& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&web.archive.org/web/200&/span&&span class=&invisible&&/http://developer.nvidia.com/attach/6832&/span&&span class=&ellipsis&&&/span&&/a&&br&[15] Zhang, Fan, et al. &Parallel-split shadow maps for large-scale virtual environments.& &i&Proceedings of the 2006 ACM international conference on Virtual reality continuum and its applications&/i&. ACM, 2006.&br&[16] Zhang, Fan, Hanqiu Sun, and Oskari Nyman. &Parallel-split shadow maps on programmable gpus.& &i&GPU Gems&/i& 3 (2007): 203-237. &a href=&//link.zhihu.com/?target=http%3A//http.developer.nvidia.com/GPUGems3/gpugems3_ch10.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GPU Gems 3 - Chapter 10. Parallel-Split Shadow Maps on Programmable GPUs&/a&&br&[17] Dimitrov, Rouslan. &Cascaded shadow maps.& &i&Developer Documentation, NVIDIA Corp&/i& (2007). &a href=&//link.zhihu.com/?target=http%3A//www.cse.chalmers.se/edu/year/2011/course/TDA361/Advanced%2520Computer%2520Graphics/cascaded_shadow_maps.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cse.chalmers.se/edu/yea&/span&&span class=&invisible&&r/2011/course/TDA361/Advanced%20Computer%20Graphics/cascaded_shadow_maps.pdf&/span&&span class=&ellipsis&&&/span&&/a&&br&[18] Donnelly, William, and Andrew Lauritzen. &Variance shadow maps.&&i&Proceedings of the 2006 symposium on Interactive 3D graphics and games&/i&. ACM, 2006. &a href=&//link.zhihu.com/?target=http%3A//www.punkuser.net/vsm/vsm_paper.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&punkuser.net/vsm/vsm_pa&/span&&span class=&invisible&&per.pdf&/span&&span class=&ellipsis&&&/span&&/a&
我挑一些有趣的算法,希望尽量提及相关算法在游戏中的应用。 光栅化
[1]:经典的绘画直线算法,后来还可以稍作修改用于绘画圆弧[2],都不用三角函数或除数,只需用整数加法、减法和乘法。 Perspective-Correct Texture Mapping …
的确,外星人的生存环境很有可能千奇百怪、各种各样,完全颠覆我们的三观。比如:&br&&br&&br& 可能它们存在基本粒子中,比如质子、中子、电子中,这谁能知道?也没人能把基本粒子完全剖开,研究透。&br&&figure&&img src=&https://pic3.zhimg.com/b75333dddc4a1ed60a122c1ff08d1552_b.jpg& data-rawwidth=&390& data-rawheight=&312& class=&content_image& width=&390&&&/figure&&br& 也许他们是纯能量体,在外界看来是一束光;&figure&&img src=&https://pic3.zhimg.com/56c09a91f88efba9f86feeaa75d1f0ae_b.jpg& data-rawwidth=&1536& data-rawheight=&1024& class=&origin_image zh-lightbox-thumb& width=&1536& data-original=&https://pic3.zhimg.com/56c09a91f88efba9f86feeaa75d1f0ae_r.jpg&&&/figure&&br&&br& 也许他们是硅基生命,像一块石头,生活在辐射很严重的环境中。&figure&&img src=&https://pic4.zhimg.com/a6f4e290fedf24ec85cefe4ecb19a963_b.jpg& data-rawwidth=&550& data-rawheight=&388& class=&origin_image zh-lightbox-thumb& width=&550& data-original=&https://pic4.zhimg.com/a6f4e290fedf24ec85cefe4ecb19a963_r.jpg&&&/figure&&br&&br& 也许他们活在暗物质、暗能量中,那里我们一直不太明白。&figure&&img src=&https://pic4.zhimg.com/47b8d87f0533a82debc55a7_b.jpg& data-rawwidth=&500& data-rawheight=&375& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic4.zhimg.com/47b8d87f0533a82debc55a7_r.jpg&&&/figure&&br&&br& 也许他们活在恒星里,靠捕食光子过活 。&figure&&img src=&https://pic1.zhimg.com/b505debab7bc_b.jpg& data-rawwidth=&1440& data-rawheight=&900& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&https://pic1.zhimg.com/b505debab7bc_r.jpg&&&/figure&&br&&br&也许他们活在一些行星的地下面。&br&&figure&&img src=&https://pic3.zhimg.com/872e9acdcbf7cb7b5e2a1a2_b.jpg& data-rawwidth=&580& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic3.zhimg.com/872e9acdcbf7cb7b5e2a1a2_r.jpg&&&/figure&&br& ……………………&br&&br&&br& 宇宙很有可能有无穷种生命形式,而地球生命只是其中一种。&br&&br&&br& 就像人类造出来的计算机。如果有一天,人类夺天地造化,能实现强人工智能,赋予机器生命,让它学会自主思考。那么计算机的世界我们能够理解?我们最多只能明白计算机的实现原理、构造,却不能明白它的世界。也会惊异计算机智慧的存在方式吧。&figure&&img src=&https://pic2.zhimg.com/be81fd27d714d19af12b9_b.jpg& data-rawwidth=&293& data-rawheight=&220& class=&content_image& width=&293&&&/figure&&br&&br& 不说计算机,就说地球上的碳基生命。&br&&br& 灯塔水母,唯一永生不死的生物。长生不老,经过一定时间会返老还童。&figure&&img src=&https://pic2.zhimg.com/fefa2b10b98e_b.jpg& data-rawwidth=&371& data-rawheight=&276& class=&content_image& width=&371&&&/figure&&br&&br&&br&&br& 灯蛾毛虫,能在零下70摄氏度低温。&br&&figure&&img src=&https://pic3.zhimg.com/e76f58bdc8c9f244e4c6_b.jpg& data-rawwidth=&500& data-rawheight=&381& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic3.zhimg.com/e76f58bdc8c9f244e4c6_r.jpg&&&/figure&&br&&br&&br& 海底一万米深也有生物,你想想,这深度压强多大。&figure&&img src=&https://pic3.zhimg.com/e425910dfd852e05b5463ead6f8493ee_b.jpg& data-rawwidth=&500& data-rawheight=&333& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic3.zhimg.com/e425910dfd852e05b5463ead6f8493ee_r.jpg&&&/figure&&br&&br& 海底热液喷口,数百多度的高温,也有长管虫、蠕虫、蛤类、贻贝类,还有蟹类、水母、藤壶等特殊的生物群落。&figure&&img src=&https://pic3.zhimg.com/b0fb36b8118afdc47d0d52e_b.jpg& data-rawwidth=&584& data-rawheight=&400& class=&origin_image zh-lightbox-thumb& width=&584& data-original=&https://pic3.zhimg.com/b0fb36b8118afdc47d0d52e_r.jpg&&&/figure&&br&&br&&br& 无脊椎动物水熊虫,不喝水能活120年。极耐干旱。&br&&figure&&img src=&https://pic3.zhimg.com/5ab5d59723eefd73eb5ca_b.jpg& data-rawwidth=&601& data-rawheight=&398& class=&origin_image zh-lightbox-thumb& width=&601& data-original=&https://pic3.zhimg.com/5ab5d59723eefd73eb5ca_r.jpg&&&/figure&&br&&br&&br&&br& 巨形蘑菇,美国俄勒冈州马胡尔国家公园中一种绰号“巨型蘑菇”的蜜环菌。这个学名为奥氏蜜环菌的巨型真菌是在1998年被发现的,它占地965公顷,至少相当于1350个标准足球场。科学家猜测,它的实际年龄可能高达8650岁。&br&&figure&&img src=&https://pic4.zhimg.com/3df239ba3c3b038fea292e4bca5ccb93_b.jpg& data-rawwidth=&690& data-rawheight=&473& class=&origin_image zh-lightbox-thumb& width=&690& data-original=&https://pic4.zhimg.com/3df239ba3c3b038fea292e4bca5ccb93_r.jpg&&&/figure&&br& 同一个生态圈、同样的生命形式(碳基生命)就有这么多千奇百怪,各种耐极端环境的生物。那辽阔宇宙会有多少种千奇百怪 的生命形式存在?地球上各种极端环境都能有各种生物,那宇宙中各种极端环境为何不可能出现生命?&br&&br& 同样的,我们寻找外星文明的方式还是很简陋。比如说,向外发射电磁波。可你怎么知道外星人是用电磁波和外界交流的?也许他们是用中微子通信呢。&figure&&img src=&https://pic2.zhimg.com/79ff823ab62324a3abfedd9_b.jpg& data-rawwidth=&492& data-rawheight=&307& class=&origin_image zh-lightbox-thumb& width=&492& data-original=&https://pic2.zhimg.com/79ff823ab62324a3abfedd9_r.jpg&&&/figure&&br&&br& 中微子通信,是利用中微子运载信息的一种通信方式。中微子是一种质量极小,又不带电的中性基本微粒。它能以近光速进行直线传播,并极易穿透钢铁、海水,以至整个地球,而本身能量损失很少,因此是一种十分诱人的理想信息载体。(百度百科)&br&&br& 我们屁颠屁颠向外发射电磁波,并尝试接受外面的电磁波,也许外星人也正在向外界发射中微子,并尝试接受中微子信息。然后我们就这样错过了。我们找不到有意义的电磁波,然后我们一些人,就说宇宙中没有智慧生命。而没准人家外星人也正在这样想,宇宙中没找到有意义的中微子信息,因此很可能其他智慧生命不存在。&br&&br&举一个极端例子,他们如果科技发展方向,跟地球一模一样。但哪怕慢了一百年,也就不知道在宇宙中如何探查电磁波通信,哪怕快上一百年,也许就会用其他方式通信。而两百年时间,在宇宙中实在太短了。&br&&br&&br& 我们的存在形式很可能非常不同,我们的科技发展方向也不会相同。&br&&br& 比如说,我们是在科技非常发达后,才出现互联网的。可也许外星人长的像树一样,他们扎根在地下的根系很长,外星“树”与“树”之间通过盘根错节的根互相连接、交流。根与根之间通过光子加载信息交流,组成了一个庞大的原始生命互联网。他们发展科技,很可能还没学会钻木取火,就凭借自己生命原始属性创造了互联网了。&br&&figure&&img src=&https://pic1.zhimg.com/9cf55df8ecdfc_b.jpg& data-rawwidth=&618& data-rawheight=&346& class=&origin_image zh-lightbox-thumb& width=&618& data-original=&https://pic1.zhimg.com/9cf55df8ecdfc_r.jpg&&&/figure&&br&我们在各种介质上雕刻各种图案符号,记录知识(文字、书)。而他们有可能脑中有硬盘一样的东西,靠这个记录知识,存满了就自动脱离大脑。然后脑中继续生长新的硬盘。别的“人”可以查看阅读这硬盘里的信息。&br&&figure&&img src=&https://pic2.zhimg.com/ea7fb41ff1c41da73849_b.jpg& data-rawwidth=&648& data-rawheight=&384& class=&origin_image zh-lightbox-thumb& width=&648& data-original=&https://pic2.zhimg.com/ea7fb41ff1c41da73849_r.jpg&&&/figure&&br& 我们靠灵活的双手创造工具,他们很有可能靠胃肠的蠕动,和胃酸的侵蚀雕刻创造工具。我们因此首先发展物理学,他们可能先从化学着手。&br&&br&&br& 我们原始交流方式,是把信息加载在声波上,通过空气传播出去(声带振动,说话),应用电磁波传递信息是在工业革命后。他们原始交流方式很有可能是把信息加载在电磁波上,传播出去。(比如身体发光)。而他们应用声波传递信息,没准也是在工业革命后。(假如他们有工业革命的话)。&br&&figure&&img src=&https://pic3.zhimg.com/3669c8aadab055fcfa2c4e6_b.jpg& data-rawwidth=&307& data-rawheight=&250& class=&content_image& width=&307&&&/figure&&br&&br& 甚至,由于他们处在宇宙的某些极端环境中,原始交流方式可能是通过中微子交流、或者身体互相接触传递神经递质、或者,或者由于他们体积小,可能通过电信号来交流……&br&&br& 我们首先制造的是宏观大小的工具,纳米层次的工具我们很难制造,因为我们体积大。而他们有可能体积非常小,像一个细胞一样小,一开始直接制造纳米级别的工具,宏观大小的工具对于他们来说是一个难题。&figure&&img src=&https://pic4.zhimg.com/0aeee59e11321ede0d5d9ac8c0b197a3_b.jpg& data-rawwidth=&300& data-rawheight=&240& class=&content_image& width=&300&&&/figure&&br&&br& 我们对暗物质暗能量丝毫不了解,对我们这些物质能量挺熟悉,因为我们生活在这当中。而他们很有可能生活在暗物质暗能量中,能利用暗物质暗能量,却对我们这些常规的物质能量无从下手。&br&&br&&br& 另外,外星人的科技水平,可能极其高,以至于能适应宇宙中绝大部分极端环境。如果分析人类历史,会发现人类的科技发展速度是呈指数级爆炸的,我们现今的手机、电脑、互联网你跟一百年前的人讲,他们会感到极度不可思议。那你想想,一百年后的人拿他们的科技给你看,你是不是也会不可思议?而外星人呢?假设他们比我们先进一万年、十万年、百万年呢?它们的科技会有多恐怖?以至于恐怕和天地同寿,与宇宙同存吧。而我们和他们相比,恐怕差距比细菌和我们相比还大吧。而你要知道,百万年在宇宙的时光中,也不过是一瞬的事。宇宙中很有可能有存在了几十亿年的智慧文明……这我实在不敢想象。那么按地球的环境来寻找外星人有何意义?&figure&&img src=&https://pic3.zhimg.com/c03b708f07f91ed6a1cde6_b.jpg& data-rawwidth=&1920& data-rawheight=&1200& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&https://pic3.zhimg.com/c03b708f07f91ed6a1cde6_r.jpg&&&/figure&&br&&br& 他们的存在方式、科技发展方向、科技水平很有可能和我们极度迥异,以至于即使他们遍布宇宙,我们也发现不了。因为差别、差距实在太大了。就像细菌无法感知人类的存在一样。&br&&br&&br&&br& 那么问题来了,既然这样,我们寻找外星人为何要按照人类的生存条件寻找?很简单,因为我们对宇宙实在是一无所知。&br&&br&&br& 我们不知道什么环境能诞生智慧生命,什么环境不能诞生。我们唯一知道的是地球这种环境诞生了人类,而人类的高效交流方式是电磁波。&br&&br&&br& 因此我们可以推断出,其他环境能不能产生智慧生命我们不知道,但地球这种环境是绝对可以产生智慧生命的,因为人类就是。那么我们寻找和地球一样的环境,不就行了吗?至少在这样的环境中,存在生命的可能性是很大的,人类就是一个好例子。&br&&br&&br& 那么我们又为何想通过电磁波和外星人联系呢?因为同样的,我们对宇宙的规律也不熟,电磁波是我们目前知道的比较高效、容易普及的交流方式。外星人当然可能通过中微子啊、量子纠缠啊、甚至建立虫洞连接啊等等一系列方式交流。但我们只熟悉电磁波啊,至少我们知道可以通过电磁波交流,而且挺高效方便,而其他方式能不能,我们不知道。即使知道其他方式可以,我们也不会啊。&br&&br&&br& 说白了,就是我们科技还很不发达,不知道其他生命会以怎样的方式存在,我们只能从简单的入手,至少地球环境能造出人类,那就按地球环境寻找。至少人类用电磁波挺顺溜,那外星人也有可能用电磁波,那就尝试用电磁波。外星人可不可能存在方式极其迥异,生活在和地球环境极其不同的地方?可能的。外星人可不可能不用电磁波交流,也是可能的。但问题是,我们不这样找,我们根本无从下手啊。&br&&br&&br& 顺便按我的理解解释费米悖论。为啥我们见不到外星人或外星人的痕迹呢?&br&&br& 第一种可能,我前面说的,他们存在方式可能和我们完全迥异,他们可能存在四维空间,而我们是三维。他们可能一个细胞一样大,而我们很庞大;他们可能是暗物质、暗能量;甚至整个宇宙本身就是一个庞大的智慧生命,为啥这么说?宇宙的一小部分物质可以诞生人?那么宇宙本身为啥不可能是一个生命?他们甚至可能科技极度发达,移居在每一个电子当中。&br&&br& 第二种可能,科技爆炸,他们科技太高太高。我们和他们相比,就像细菌和我们相比,完全不是一个等级,差距达到没边了。他们遍布宇宙,我们也发现不了。&br&&br& 第三种可能,科技发展方向不同,就像我前面说的。我们用电磁波,他们可能用中微子,完全错过了双方。
的确,外星人的生存环境很有可能千奇百怪、各种各样,完全颠覆我们的三观。比如: 可能它们存在基本粒子中,比如质子、中子、电子中,这谁能知道?也没人能把基本粒子完全剖开,研究透。 也许他们是纯能量体,在外界看来是一束光; 也许他们是硅基生命,像…
【关于意大利军的一些辟谣】&br&[ 转自铁血社区 铁血论坛 铁血社区 ]&br&&br&谣言一: 当其他国家都在忙着开发新型武器时,意大利因为想要吃好吃的军食而发明了冷冻干燥的保存食物法……让联合国大为震惊。&br&&br&事实:联合国成立于二战之后的1945年。二战意大利军队的伙食是特别差的,阿拉曼战役的时候,德军把意大利人吃的午餐肉罐头叫做“墨索里尼的屁股”,因为这罐头太难吃了,德军还把意大利人吃的压缩饼干叫做“水泥块”,因为这压缩饼干硬的就像水泥块,说明书上说饼干要用水泡成糊吃,可是地处沙漠的阿拉曼哪来这么多水,大家只能干嚼水泥块。&br&&br&&br&谣言二:意大利抓到的俘虏每天都能吃豪华套餐……一个英军飞行员被意大利抓获,投入了俘虏集中营。当天晚上,他在监牢中得到了自己的晚餐。那是从前菜开始到通心粉和肉食,连最后的水果和红酒都配备齐全,豪华到不自然的料理。&br&“这就是所谓最后的晚餐吗……”&br&第二天早上,一个看起来阶级很高的将校出现在他面前:“昨天我们犯了一点小小的错误,给身为将校的阁下提供的是一般士兵的晚餐。这绝对不是有意虐待俘虏,能看在我的面子上原谅那位出错的看守吗?”&br&&br&事实:这位飞行员是英国的一位皇室成员,其他飞行员可不是这个待遇,否则大部分意大利官兵会把自己关起来。&br&(注:英文维基并没有摘录这件事,所以事实有待商榷,希望有专业人士解答)&br&&br&&br&谣言三:5000人的意大利军遇到一个连的英军设下的路障后就地缴械。&br&丘吉尔打电话询问英军司令奥金莱克俘虏多少意大利的时候,奥金莱克得意洋洋的说:“数不清,大概五亩地的军官,200亩地的士兵。”&br&&br&事实:阿拉曼战役失利后,隆美尔决定撤退,并夺走意大利的淡水和油料补给,意大利人在没有淡水的情况下,步行在沙漠地区撤退,很多士兵要么被拥有机械化优势的英军追兵消灭,要么就是因为缺水被活活渴死,最后4的意大利师向英军投降。顺便提一下,当年波斯王远征利比亚沙漠,就在这地方因为缺水渴死3万人。&br&&br&&br&&br&谣言四: 德军在沙漠中接收到意大利的救援请求,派出了一个中队的兵力前往救援。当他们与意大利会合的时候,发现对方正用宝贵的水煮通心粉……&br&&br&事实:这个地方就是阿拉曼,意大利军队在此抵抗英国军队蒙哥马利集团军主力的猛攻,意大利彻底战败了,所有士兵都要步行撤到200公里以外,路上,他们碰到了一个意大利将军,将军知道意大利的淡水和油料补给被德国人抢走了,他没能力把部队撤回来,回去后墨索里尼会枪毙他的,他要和他的勤务兵一起死在战场,最后一战前,将军说:“孩子们,我想我们可以吃一点家乡的通心粉.”………….&br&&br&&br&谣言五:跟同盟国宣战了之后才开始想作战计划…偷袭投降前的法国还被打回来的事迹也是家喻户晓。&br&&br&事实:即使是墨索里尼在欧洲问题上也本想坚持一贯的中立政策,因为希特勒压力胁迫参战,试问一个爱好和平的国家军队除了本土防御计划之外为何要准备侵略计划?&br&法国佬一直以为他们的马奇诺防线会重演一战绞肉机的盛况,英国人也会为之流尽最后一滴血,经历过一战的名将贝当指挥当时法国最精锐的军队在法意边境戒备………贝当的军队成为维希政府的最后依靠。要不你以为希特勒为什么会让法国人保留那么一个政府?&br&&br&&br&当时意大利进攻的重点孚日要塞,是法国马奇诺防线上十分坚固的环节,孚日要塞还是一个建立在地形险峻孚日山脉上的要塞,进攻这样一个建立在崇山峻岭上的要塞难度之大可想而知,别忘了德国人是绕过去的马奇诺防线,不是正面突破。大家在看看德国人在布列斯特要塞的表现吧,就知道从正面突破一座要塞是多困难,一战时俄国人就意识到现代战争中要塞的作用已经不如从前了,于是打算把要塞改成军营,德军攻打布列斯特要塞时,俄国人已经把要塞的火力点和炮台拆的差不多了,但是德军为了攻克这做防护能力薄弱的要塞,仍然付出了惨重的伤亡。&br&&br&&br&谣言六:意大利有一次找不到适合放置炸药的仓库,便心想教堂不会遭到敌军的空袭而将100吨以上的炸药堆到了城市中间的圣纳扎罗教堂。结果教会尖塔被雷劈中……城市因大爆炸而瞬间炸飞了五分之一…&br&&br&事实:即使在现代战争中,将武器库隐藏在宗教建筑中不仍是虽然有失道义但合理的办法吗?海湾战争中伊拉克钢筋混水泥的机库抵挡不住美军穿地炸弹,伊拉克把战机拖出机库,安放到清真寺中,躲过了不少美军轰炸。爆炸当天没有打雷,爆炸原因是在于盟军飞机误炸。&br&&br&&br&&br&谣言七:为了外贸的资金来源,意大利会将连自己空军都没有配备的先进装置卖给外国甚至敌国……&br&某种战斗机在设计时曾经采用过密闭机舱的先进设计,然而由于有飞行员抱怨说“感觉不到风的气息”而恢复了开放式的设计。因此,直到二战最后意大利也没有开发出高速战斗机……&br&&br&事实:当时意大利的尖端工业能力很差,连坦克电台都无法量产,大规模加工密封机舱的能力也没有,虽然率先研发,但无法大规模列装投入作战,当空军司令痛苦的向飞行员们通报这个消息们时,小伙子淡然的开玩笑说:“没关系,将军,我们更喜欢风的气息……….”&br&&br&&br&谣言八:枪枝设计师为了保持战场清洁,而发明了可以把弹壳塞回弹鼓的机枪……(意大利摇白旗:我爱环保!!)&br&&br&事实:那是意大利布瑞达(Breda)M37式重机枪,又称Breda M-1937。这是一款非常优秀的机枪,使用20发弹板供弹,与哈其开斯等其他弹板供弹式机枪不同的是:M37发射过的弹壳并不直接抛出枪外,而是抽出膛后重新卡在弹板上。此枪是意大利军队在二战中使用最多、也是最得心应手的一种重机枪。二战结束以后,意大利军队在较长一段时间仍继续使用M37布瑞达重机枪和8mm布瑞达步枪弹。布瑞达重机枪之所以受欢迎,是因为弹壳可以塞回弹鼓的机枪,枪管温度更稳定,射击速率更快,作战效率极高。&br&&br&&br&谣言九:1943年盟军在意大利登陆,有一个战场,盟军激战一早晨,无一伤亡。惟一的损失是自己的飞机把空降兵投到了大海里(把沙洲当成了滩头)。&br&西西里战役,美军投放“炮弹传单”,传单说,这些传单可作为“投降证”,带上它门就可以到盟军的后方领取食物并获得安全。&br&就在第二天清晨,一批意大利人跑了过来,每个人的手中都拿着传单,有的人还忐忑不安地问:“这是投降用的凭证吗?”在得到肯定的答复后,他门全都高兴地交出了手中的武器。第三天、第四天……开始是数十名一批,后来则是成百人拿着传单跑过来。有一次,两个意大利士兵带着传单投降后,告诉美军说,他们连队还有60 多人想来投降但是又不敢过来,因为他门手中没有“投降证”,于是,美军马上派人带上“投降证”将这些人全部带来。还有一次,一名意大利士兵专程过来要求在给他一份传单,以便让他的弟弟也能来投降。&br&美军登陆意大利,与意大利对峙的时候,美军感觉到意大利人毫无战争意志,因此刻意减弱了攻击力度。一次德军侦察机飞过战场侦查,意大利军指挥官心想面子太挂不住而下令装作正在作战的样子攻击,美军也毫无干劲地反击。这场战斗被德军侦察机发现,感慨地说:“厉害!意大利人制止了美军的攻势!”(神啊) 之后德国的增援部队到达,开始了一场真正的激战。&br&&br&事实:意大利国王此时已经宣布加入盟国,只是军队还没脱离接触,所以美军向意大利人投放“炮弹传单”;之后发生的激战,不过是法西斯德国和忠于国王政府的意大利军队在激战,说1943年盟军攻到意大利家时,迎战的是德军,这是因为意大利国王宣布解除墨索里尼职务后,希特勒派军队救出墨索里尼,并占领意大利北部山区布防,节节抵抗盟军。&br&&br&&br&谣言十: 以伟大的科学家“伽利略”命名的潜水艇在与英国一艘武装渔船的对决中失败,并被对方捕获。开始时“伽利略”号对对方发起攻击,却被连照明瞄准器都没有配备的渔船(注意:是渔船!)连续命中,最终因舰长受伤而投降。&br&&br&事实:伽利略号潜水艇在一次世界大战前下水,一战爆发后意大利迅速投靠英国为首的协约国,意大利会攻击英国盟友的渔船吗?&br&&br&&br&谣言十一: 日,意大利驻利比亚总督巴尔博元帅在托卜鲁克上空被意大利自己的高射炮兵击落。意大利人为了掩饰这一杯具,便宣布元帅是在同英国人进行空战中遇难的。&br&&br&事实:托卜鲁克是英军在北非重要战略要点,被意大利围困后孤立无援,巴尔博元帅喜好亲赴前线观察布置战线,行程被间谍获知,英国皇家空军为了突破意大利完善的高射炮阵地大规模空降物资趁此机会出动,彪悍的巴尔博元帅在座机上下令无差别开火,九个月后,物资告罄的托卜鲁克陷落,成就了隆美尔的元帅军衔。&br&(注:@vagus在英文维基查到巴尔博元帅的确是被意大利军队高射炮击落的,特此说明)&br&&br&谣言十二:在南斯拉夫,一名被游击队俘虏的德军军官十分惊讶地问:“你们哪来的反坦克炮啊?”当游击队员告诉他是从他们的盟军--意大利人手里缴获的后,他感慨不已:“唉!这些可爱的意大利人。&br&&br&事实:他们的盟军,意大利共产党游击队,后来吊死过墨索里尼,实力可见一般了吧?意大利共产党实力直到冷战初期仍是实际上的意大利第一大党。&br&意大利游击队在二战中还是很活跃的,德军经常被意大利游击队打的满地找牙,1944年夏,武装党卫军SS16“全国领袖”装甲掷弹兵师在意大利北部对左翼游击队“加里波地旅”、“红星旅”展开血腥镇压,如果实在找不到游击队,就拿当地居民出气,通常是将他们指认为游击队而大肆枪杀。&br&当年8月11日,该师一部在圣安娜地区执行反游击战时,因找不到游击队,而把怒火发泄在当地平民身上,枪杀了100多名平民,连还在吃奶的婴儿也不放过。&br&为此该师不少士兵获得了反游击战勋章,战后国际法庭判定任何获得这枚勋章的士兵都被定为战争罪犯。但是在战后的西德和德国统一后的联邦德国政府,这种大屠杀而颁发的专门勋章又“合法”了,联邦政府还向不少参加过大屠杀的德国老兵,重新颁发的勋章,只不过新的勋章去掉了上面的纳粹鹰徽罢了。&br&&br&&br&谣言十三: 英国海军的旧式双翼战斗机攻击了塔兰托湾的意大利舰队,结果意大利舰队一艘战舰沉没,两艘战舰中度受损。而英军完全没有遭到任何损失。&br&&br&事实:英国人间谍了解了意大利在塔兰托湾防御部署的情况,英国人从情报得知的意大利防空力量薄弱,才派出航母舰队奇袭塔兰托。这些旧式双翼战斗机后面可是有一整个航母舰队做靠山。英军完全没有遭到任何损失也是错的,两架“箭鱼”式飞机被击落,一名飞行员被击毙,其余被俘。&br&&br&&br&谣言十四:1942年12月 苏联&br&意大利在顿河河畔遭到苏军攻击,立刻放弃了所有装备撤退。而在11月时遭受同样攻击且装备落后的罗马尼亚军队则坚持战斗了数天。 并且,10月时罗马尼亚军曾提出过趁苏军攻势停顿时主动出击的提案,但因为补给上的问题最终没有实行。而意大利军从来没有提出过如此具有建设性的提议。&br&&br&事实: 日,防守斯大林格勒优势苏军向外围猛攻,在罗马尼亚和匈牙利的防线被摧毁后,意大利军队面对4倍于自己的敌军开始后撤!整整苦战了一个月才冲出顿河“口袋”,随后到达了死亡谷(估计是意大利人自己说的名字)首次碰到在包围圈中的苏联军队,因为意大利军队的补给有很重大的问题,而德国自己的部队都还补给不够,德军还征用了一支意大利车队给自己运输补给,导致意大利军队弹药严重紧缺!最后远征军中的前锋部队“都灵”步兵师奋不顾身冲向敌人据点内徒手肉搏最后在Chertkovo打开一条缺口,直到撤出包围圈总计损失了26000人!&br&这场战役除了德军第六集团军被包围以外,所有德军跑在意大利军队前面。我个人认为罗马尼亚军队提出过最有建设性的提议是全军投降。&br&&br&&br&&br&大家相信这些谣言的原因无非就是意大利打个埃塞俄比亚都要用吃奶的劲,打个希腊死活打不下来。&br&但是其中的原因大家可能都不了解,首先大家把意大利入侵埃塞俄比亚的情况都搞错了,意大利一共有两次入侵埃塞俄比亚,第一次发生的时间还在19世纪,当时意大利热兵器还停留在燧发枪水平,意大利还错误地选择了雨季作战,雨季对意大利人用的燧发枪就是个噩梦,当年中国的三元里抗英也是发生在雨夜的,加上指挥上的严重失误,战败在所难免。我记得也就是这个时候,世界上最强大日不落帝国——英国,在 1839—1919年间三次入侵阿富汗,结果战争以阿富汗胜利而告终。 英军在向贾拉拉巴德撤退的时候,英国1.6万人的部队除了,一名军医侥幸逃生外,其余全军覆没,小国家实力是不容藐视的。&br&&br&意大利第二次入侵埃塞俄比亚的时候,埃塞俄比亚已经进入热兵器时代了,埃塞俄比亚花费巨资从西方购买了大量枪械,还从瑞典雇佣了教官,埃塞俄比亚禁卫军就是瑞典教官手把手教出来的的精锐,他们连身上穿的军装和脚上的军靴都是从国外买的。&br&&br&更坑爹的是意大利入侵埃塞俄比亚的时候,他们伟大的德国盟友,却向埃塞尔比亚提供了一万条步枪,一千万发子弹,60门以上的火炮,3架飞机,其中还不包括德国的后续援助。德国盟友这样做的目的是,让意大利深陷埃塞俄比亚战争泥潭,减少对欧洲事物的干预。&br&&br&我好像记得,苏德战争爆发后,英美向苏联提供大量军事援助,不少德粉还在叫嚷嚷,如果没有英美援助德军早就打败苏联了。&br&&br&意大利人在埃塞俄比亚用毒气也没什么大不了的,当年小日本在中国不是连对付小小游击队都要用毒气,连贺龙元帅都中过小日本的毒气,难道使用毒气就说明小日本的战斗力是很菜的,那么抗战还用打八年吗?埃塞俄比亚最后是靠英国的出兵才复国的。&br&&br&入侵希腊的失败和墨索里尼的错误指挥有很大关系,当时意大利统帅部的资深军官,就明白希腊正处季节交换,要给作战部队准备两套不同季节的军装;希腊的山地地形容易设伏,携带重武器的军队行军困难,部队不宜迅速推进;在阿尔巴尼亚的登陆点水太浅,不适宜登陆作战,应该另选他处。结果墨索里尼在做他雅典阅兵的美梦,毫不理会下级的意见,不顾现实要求部队快速推进,荒诞地认为希腊一定会被人多势众的意大利吓坏了,然后向意大利宣布投降,如此荒唐的指挥哪有不败之理……&br&&br&纵观整个二战墨索里尼真是个军事庸才,二战开战的时候意大利是仓促上阵,很多该储备的战略物质都没有储备好,石油储备量连一个月的量都不到。武器多是为了国土防御研发的,例如坦克,意大利的坦克之所以要设计的这么轻,是因为它是用来国土防御的,轻型坦克更能适应意大利的山地地形。结果北非一开战,意大利轻型坦克防护力火力弱的缺点就暴露出来了,意大利坦克纷纷被英军坦克击毁,用步兵兵团吧,可是步兵兵团在旷野上根本就不是坦克兵团的对手,最后叫来了德国坦克才守住防线避免溃败,怪不得墨索里尼会这么遭意大利老百姓痛恨。&br&&br&---------------------------------------------------------------------------------------------------------------------------&br&&br&我贴这篇文章出来不是说要打脸,而是看到很多人对意大利军队有一些误解,所以出来说明一些情况而已。&br&&br&总的来说,这篇辟谣应该是真的。至于文中可能的疏漏,因为这不是我写的,所以我也不好改。如果有谁能指出其中的错误,可以把事实根据和修改建议写到评论里,我来修改一下。&br&&br&--------------------------------------------------------------------------------------------------------------------------------------------&br&&br&&b&有很多人质疑这篇辟谣文的真假,这并不是什么坏事,相反我很欢迎。就像前文所说,如果这篇文章有哪些错误之处,可以在评论里写出事实根据和修改建议,我修改一下。&/b&&br&&br&但我希望&b&无意义的质疑能少一些,有证据的批判能多一些。&/b&&br&&br&例如“你这篇文章一看就是假的/你这是钓鱼文/你被骗了/事实不是这样的等等&,这些&b&没有论据,只有观点的话就是无意义的质疑,&/b&而像“根据XX书/XX文章提到的,第XX条有问题。“这样&b&有论据,并且论据比较可靠的话才是批判,才是大多数作者想要看到和听到的。&/b&&br&&br&&br&&b&事实上质疑每个人都会,上下嘴皮子一张一碰,质疑轻轻松松地就出来了,但这样的质疑不仅浪费作者的时间,也浪费读者自己的时间。&/b&&br&&b&&br&PS.&/b&其实辟谣文的意义并不仅仅是揭露事实真相,也包括告诉人们不要简单地认定某些东西就是错的,某些东西就是对的。&br&&br&&b&所有的“谣言”未必都是错的,所有的“辟谣”也未必都是对的,如果只是根据一篇文章就轻易地改变看法,那未免有些不合适。最重要的是自己去思考,去求证,只有这样才能得出事实真相。&/b&
【关于意大利军的一些辟谣】 [ 转自铁血社区 铁血论坛 铁血社区 ] 谣言一: 当其他国家都在忙着开发新型武器时,意大利因为想要吃好吃的军食而发明了冷冻干燥的保存食物法……让联合国大为震惊。 事实:联合国成立于二战之后的1945年。二战意大利军队的伙食…
在德国人心里,他们制造的东西都不叫产品而称之为工艺品。他们造汽车造的经久耐用,刁钻到让我们需要花时间适应他们生产的轿车,但当你真正适应了之后你会发现德国人的设计。日本人造东西,都是作为消耗品来生产。他们认为产品就是用来服务人的,让人少操心、把人伺候舒服这是他们的追求。正是这两种制造理念分开了这两个国家的产品。&br&&br&
我目前使用的是樱桃Cherry G80-3000 青轴,生产国是捷克,背面印着 Made in Czech Republic。这款手感极其出色,每天打两万多字也不感觉到多累。捷克造与德国造有什么区别以及德国跟捷克有什么特殊的关系吗?&br&&br&
普及下捷克德国的关系。二战前期德意志民族大量涌入捷克,在希特勒上台之后,在捷克的大部分德意志民族开始进行分裂活动,然后被捷克驱逐出境。希特勒气愤不过,于是臭名昭著的《慕尼黑条约》一举分裂了捷}

我要回帖

更多关于 你说什么我不明白 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信