当前位置:首页 » 编程软件 » 含羞草脚本

含羞草脚本

发布时间: 2023-07-30 12:48:05

A. 大家推荐日本动画片~

强推宫崎骏作品:

宫崎骏(Hayao Miyazaki)1941年1月5日生于东京,在四兄弟中排行第二。他们家原本住在东京都文京区,后来二次大战因战时疏散,举家迁往宇都宫市和鹿沼市。住在鹿沼市的伯父经营了一家飞机工厂,宫崎骏的父亲在那间工厂担任主管。宫崎骏的母亲是个严格而聪明的女性,对宫崎一生的影响甚大。宫崎骏的弟弟后来回忆说,他看到《天空之城》中的海盗婆婆不禁想起了自己的母亲,虽然长得完全不像,但是个性神似。

《天空の城ラピュタ》
1985年,宫崎骏和高畑勋一起创办了一个动画制作单位,即后来着名的吉卜力工作室(Studio Ghibli)。Ghibli是地中海附近的一种旋风的名字。这个规模不大的工作室拥有最好的制作人员,但是财力并不雄厚,甚至有点反商业化。吉卜力平均一年也制作不出一部动画电影,然而就是这样一个反商业化的群体却能取得商业上的成功——每一部电影的票房收入都足以让任何电影公司嫉妒。
1986年,吉卜力推出了成立以来的第一部电影《天空之城》(天空の城ラピユタ)。影片围绕有魔力的飞行石展开,主角是在矿山工作的男孩派舒和从天而降的少女希达。他们为了让和飞行石相关联的浮岛勒普泰岛(典出斯威夫特的《格列佛游记》)避免被坏人利用,而展开了一次冒险。女主角希达的台词令人深思:“我终于明白勒普泰灭亡的原因了:……尽管有可怕的武器,有很多很多的机器人,但是,离开泥土它就活不成了。这些,难道你都不知道吗?”拥有毁灭世界能力的浮岛最终被人们抛弃,然而总是有人想找到它、利用它控制世界。这是一部节奏明快,色彩鲜艳的作品。尽管很有点娱乐片的味道(如果你要入门,这部影片确实是首选),然而同样具有思想的深度。

《风之谷》
1982年,宫崎骏在德间书店的杂志Animage上开始连载漫画《风之谷》。1984年,宫崎骏和高畑勋合作把这部作品搬上了银幕。电影《风之谷》(风の谷のナウシカ)讲述了一个虚构的故事:巨大的工业文明毁于一旦,1000年之后,地球上充满了能致人于死地的污染和可怕的巨虫(称为“王虫”)。有一个偏僻的小国坐落于风之谷——少数几个没有污染的绿洲。小国的公主娜乌西卡勇敢而善良。她是家里唯一健康活下来的孩子,善于使用滑翔机御风而行,有点“大逆不道”的和王虫接近。为了保卫风之谷不被污染,她勇敢地面对那个尔虞我诈的世界,用充满爱的纯洁心灵发现了这世界的守护者与破坏者的真正秘密。娜乌西卡这个名字来自于《奥德赛》,她是宫崎骏塑造的代表勇敢、健康和希望的象征。

娜乌西卡成为了观众最喜欢的女性动画角色,其魅力经过10多年仍然长盛不衰。而宫崎骏也因为这部电影而成为了有影响力的动画导演。他作品中重要的“人与自然”这一主题,就是这时奠定的。

值得一提的是,宫崎骏用了13年才把漫画版《风之谷》画完,这部漫画对人类、自然、文明、冲突、生命及其存续等主题进行了比电影版《风之谷》更深的探讨,可以说是宫崎骏本人的思想发展历程,它被称为史诗般的作品,是经典中的经典

《幽灵公主》
从《风之谷》开始,宫崎骏就一直思考着人与自然的关系问题。1995年,他开始制作一部筹划已久的电影,其内容正是为了表现人与自然的冲突,这就是着名的《幽灵公主》(もののけ姬)。故事发生在日本的室町时代(公元14世纪到16世纪)。在那个动荡的时代,人们随意开采自然资源,对环境造成了相当大的破坏,人与自然界的各种神灵的矛盾也就此产生(这是日本一种泛神论观点,即万物都有对应的神灵掌管)。人类要生存就要砍伐森林,而森林的消失令动物无栖身之处。少年阿席达卡为了寻求破除自身咒语的方法而来到日本西部,却意外地卷入了这一场两败俱伤的战争。他与被犬神抚养长大的人类少女小珊(人称“幽灵公主”)结识。这部影片同时也是一个“少女爱的物语”。小珊到底应该属于人类还是自然?人与自然的冲突究竟如何才能化解?宫崎骏感到无法回答这个问题。影片以掌管万物生命的麒麟兽之死换来自然环境的恢复作为结局。小珊对阿席达卡说:“我喜欢你,但是我无法原谅人类。”她得到的回答是:“没关系,一起活下去吧!”既然没有解决的办法,也只能继续共存下去。

《红猪》.
“我宁肯当一只猪也不愿加入法西斯!”《红猪》(红の豚,1992)的故事发生在两次世界大战之间的意大利。罗素·波哥(意大利语“红猪”的译音)过去是王牌飞行员,现在以追捕亚得里亚海上的空中强盗为生。然而谁也不知道他的本来面容——因为他对自己下了一个诅咒,变成了一张猪脸。

这部影片被认为是宫崎骏“自传式”的作品。生着一张猪脸的波哥正是步入中年的宫崎骏的写照。宫崎骏喜欢飞行、喜欢意大利、喜欢猪(!),这几样元素全都体现在了影片之中。

宫崎骏曾经说过,进入中年,你就会变成一只猪。然而在影片的结尾,波哥终于领悟到人性的真谛,从而变回了人的模样——有人说,假如能看到那张脸的话,恐怕就是宫崎骏本人的脸。

魔女宅急便
原作: 角野荣子 (福音馆书店刊)
脚本.监督: 宫崎骏
作画监督: 近藤胜也 大冢伸治 近藤喜文
美术监督: 大野广司
色彩指定: 保田道世
音乐: 久石让
公开日期: 1989.07.29
制作时间: 1988.4.1-1989.7.1
上映时间: 102分46秒
作画枚数: 67,317枚
使用色数: 462
版权: ?角野荣子.二马力.德间书店

十三岁的魔女琪琪,在一个晴朗的满月之夜,带着黑猫吉吉至别的城市修行 。1989年摄制的《魔女宅急便》(魔女の宅急便,意为魔女的特快专递)的主人公琪琪也不能例外。她来到一个海边的小镇,寄宿在好心人的家中,以“魔女的特快专递”(就是骑扫帚飞行替别人送邮包)谋生。一个人独自在陌生的城市谋生总会遇到挫折,琪琪因此暂时失去了飞行的能力。只有在朋友友情的温暖下,琪琪才能恢复自信,重新飞上蓝天。尽管骑扫帚飞行的场面相当令人赏心悦目,这部影片中更重要的是“成长”,是友情的力量。

如果说《天空之城》是男孩子冒险的影片,《龙猫》是全家人喜爱的作品,那么《魔女宅急便》就是关于女孩子成长的电影。女性观众或许更能体会到其中的滋味。

萤火虫之墓

(火垂るの墓)

原作:野坂昭如
脚本.监督:高畑 勲
音楽:间宫芳生
作画监督:近藤喜文
レイアウト:百瀬义行
美术:山本二三
色彩设计:保田道世

二次大战末,美军对日本展开猛烈的轰炸,城市陷入一片火海。诚田与节子的家被烧毁,母亲也因而身故,兄妹投靠至阿姨家。
“昭和20年9月21日,我死了。”这是开头的台词D盖自诳障�兴劳觯�映黾颐诺?4岁的清太和妹妹节子,在战火中两个人相依为命。客观来说,从开头处就知道故事的最后结果了。让我们与两个死了的人一同回首他们以前的生活吧!
整部影片完全沉浸在一种灰暗、悲凉的气氛中,静静地进行着。故事讲述了在二次世界大战中的日本,两兄妹成为了战争的孤儿,因为与被迫照顾他们的远房亲戚相处不来而到附近的废弃防空洞下生活,最终逃不过饥饿的折磨而相继死去。
哥哥与妹妹死去的时候几乎带走了所有观众的眼泪,的确整个故事是一场悲剧,在电影开头用倒叙的方式由两兄妹的灵魂和萦绕其中的萤火虫来带出悲惨的故事,观众的心马上就已经沉下一大半了。

尽管再现当时情景很难,但作品中还是描写了空袭后燃烧的原野和当时的生活。这是高畑勲监督所倡导的真实再现日常生活的作品。创作人员通过此片来控诉战争的残酷,以及警示人们战争的祸害。希望我们可以尽量地避免战争的出现吧。

猫的报恩
原作:柊青
脚本:吉田玲子
监督:森田宏幸
企画:宫崎骏
制片:高桥望
音乐:野见佑二
幕后配音:池胁千鹤、丹波哲郎
制作:吉卜力工作室
发行:东宝
片长:1小时15分
首映:2002年7月20日
物语*

猫的王国,时间静止的所在;
日子咕噜噜滚过,
白天睡大觉,吃吃喝喝,
讨厌的事,全部忘掉。
猫的王国,欢迎那些厌恶旧日生活的人;
如果你是这样,最后变成猫,也无所谓吧?

龙猫

有一种神奇的小精灵,它在林间小径播下树种,它在月光下吹着奥卡利那笛。然而只有心地纯洁的孩子才能看见它。这就是1988年的《龙猫》(となりのトト口)。在影片中,姐妹两人不用语言就能够和龙猫沟通。妹妹为了去见生病住院的母亲而在乡间迷路,而龙猫最终帮助他们见到了妈妈。龙猫看起来有点像猫和熊的混合体,它是最受大人孩子欢迎的动画角色之一。《龙猫》是宫崎骏作品中最温馨感人的一部,适合全家人一起观看,也许它能唤起你封尘已久的童心。孩子们与胖胖的龙猫在夏夜里种橡树,站在陀螺上飞过田野,一定会有温柔的凉风随行吧,啊,那是一个美梦吗?

《哈尔的移动城堡》

宫崎骏的《千与千寻》曾经在日本创造了2340万人次的最高上座率,更获得了美国奥斯卡奖和柏林金熊奖。
时隔三年后,宫崎骏又推出了最新作品《哈尔的移动城堡》,故事发生在19世纪末的欧洲,善良可爱的苏菲被恶毒的女巫施下魔咒,从18岁的女孩变成90岁的婆婆,孤单无助的她无意中走入镇外的移动城堡,据说它的主人哈尔以吸取女孩的灵魂为乐,但是事情并没有人们传说的那么可怕,性情古怪的哈尔居然收留了苏菲,两个人在四脚的移动城堡中开始了奇妙的共同生活,一段交织了爱与痛、乐与悲的爱情故事在战火中悄悄展开……

《千与千寻》的故事发生在现代,却是一个带有幻想色彩的作品。十岁的荻野千寻和父母在搬家过程中误入了一个不可思议的小镇。在那里,千寻的父母误食了给神吃的食物而变成了猪。千寻被少年小白所救,在镇上的澡堂做工,但是她的名字被澡堂的主人汤婆婆夺走,只剩下“千”一个字。如果忘记自己本来的名字,千寻就永远无法回到正常的世界;如果不及时救出父母,他们就会被吃掉。面对这些从未遇到过的困难,千寻从内心深处爆发出了“生命的力量”,最终拯救了朋友和父母,离开了这个幻境。
千寻是普通的再不能普通的女孩,她与《风之谷》中的娜乌西卡形成了鲜明的对比:千寻虚弱、从未遇到过危险,对外界一副冷漠、毫不关心的神情。然而,在困境中,她却能显示出令人惊叹的勇气和毅力。这不是寻常意义上的冒险,而是一次心灵的冒险。宫崎骏认为,现代的儿童受到了太好的照顾,反而丧失了最珍贵的本能。这部影片就是反映了千寻的这种成长的过程。

宫崎骏作品表

1963
◆《汪汪忠臣藏》;わんわん忠臣藏;Watchdog Bow Wow。剧场。仅做为中间人。
◆《狼少年Ken》;狼少年ケソ;Wolf Boy Ken。TV,仅做为中间人。高畑勋导演其中11集。

1964
◆《格列佛的宇宙旅行》;ガリバの宇宙旅行;Gulliverls Space Travels。短剧。仅做为中间人。
◆《少年忍者》;忍者风のフヅ丸;Boy Ninja Fujimaru The Wind。TV,原画。

1965
◆《大冲撞》;ハッズル·バソチ;Hassle Punch。TV,原画。高畑勋导演开场。

1966
◆《彩虹战队罗宾》;レイソボ—战队口ビソ;Rainbow Trooper Robin。TV,原画。

1968
◆《太阳王子历险记》;太阳の王子ホルスの大冒险;Prince Of Sun。剧场,场景设计和原画。高畑勋导演。
◆《魔女莎莉》;魔法使いサ;Sally The Witch。TV,第77和78集的原画。

1969
◆《穿长靴的猫》(魔法猫);长靴をはいた猫;Puss In Boots。剧场,原画。
◆《幽灵飞船》;空飞ぶゆうれい船;The Flying Ghost Ship。剧场,原画。

1970
◆《神秘的阿寇》;ひみつのアユちヤん; Secret Little Akko。TV,44和61集的原画。
◆《沙漠之民》;沙漠の民;Desert Tribe。漫画。

1971
◆《动物们的宝岛》;どうぶつ宝岛;Animal Treasure Island。剧场,原画。
◆《阿里巴巴和四十大盗》;アリババと四十四の盗贼;Alibaba And The 40 Thieves。剧场,剧本,主要动画制作者。
◆《Sarutobi Ecchan》。TV,原画。(未完成)
◆《皮皮的长袜》;Pippi Longstockings。开发。高畑勋也有参与。
◆《鲁邦三世》(雷朋三世);Lupin III。23集TV,与高畑勋共同导演6-23集。

1972
◆《Yuki's Sun》(未能公映)。
◆《熊猫熊猫》;パソダ·コパソダ;Panda Kopanda。短剧,剧本,人物设计,动画。高畑勋导演。
◆《Dokonjo Gaeru》。TV,为第一集设计了原型(遭拒)。

1973
◆《熊猫熊猫:雨天杂耍》;雨ふリサ-カス9卷;Rainy Day Circus。短剧,片长 38 分。剧本,设计,动画。高畑勋导演。
◆《荒野少年》;荒野の少年イサム;Wasteland Boy Isamu。TV,15集的原画,高畑勋为本集导演。
◆《武士巨人》;侍ジヤイアソツ;Samurai Giants。TV,第1集的原画。

1974
◆《飘零燕》(阿尔卑斯山的少女:凯迪);アルプスの少女ハイジ;Girl Of The Alps。52集TV,场景设计。高畑勋导演。

1975
◆《无所事事的狗》;フラソダスの犬;The Dog Of Flanders。TV,第15集的动画助理。

1976
◆《寻母三千里》;母をたずねて三千里;3000 Leagues In Search Of Mother。51集TV,场景设计。高畑勋导演。

1977
◆《小坏熊》(苦儿流浪记);あらいぐまラスカル;Rascal The Raccoon。TV,4-6,10,12-22,24-28集的原画。

1978
◆《高立的未来世界》(未来少年柯南);未来少年コナン;Future Boy Conan。TV,监督。

1979
◆《红发少女小安》;赤毛のアン;Anne of Green Gables。TV,场面设定、画面构成。
◆《鲁邦三世:卡里奥斯特罗城》;ルバン三世-カリオストロの城;Lupin III Castle of Cagliostro。剧场,脚本、监督。

1981-1982
◆《名侦探福尔摩斯》;名探侦ホ-ムズ;Sherlock Hound。TV,脚本。

1982
◆在月刊Animage上连载漫画《风之谷》,此后就断断续续,连载了12年之久,并成为未来电影的蓝本。

1984
◆《风之谷》;风の谷のナウシカ;Nausicaa of the Valley of the Wind;映画,原作、脚本、监督、原画。

1986
◆《天空之城》;天空の城ラピュタ;Laputa - Castle in the Sky;映画,原作、脚本、监督。
成立新公司知步里工作室。

1988
◆《龙猫》(豆豆龙);となりのトトロ;My Neighbor Totoro;映画,原作、脚本、监督。
同时亦上映知步里高畑勋负责制作、导演的《再见萤火虫》(萤火虫之墓)。

1989
◆《魔女宅急便》;魔女の宅急便;Kiki's Delivery Service;映画,原作、脚本、监督。
◆《岁月的童话》(点点滴滴的回忆);おもひでぽろぽろ;Omohide Poro Poro;映画,制作。

1992
◆《红猪》(飞天红猪侠);红の豚;Porco Rosso (the Crimson Pig);映画,原作、脚本、监督。

1994
◆《百变狸猫》(平成狸合战、欢喜碰碰狸);平成狸合战ぽんぽこ;Heisei Tanuki Gassen Pom Poko;映画,企划。

1995
◆近藤喜文执导的《侧耳倾听》(梦幻街少女、心之谷)上映;耳をすませば;Whisper of the Heart;映画,宫崎骏担任制作,剧本,分镜原画。
◆《On Your Mark》;MV,原作、脚本、监督。

1997
◆《幽灵公主》(魔法公主);もののけ姫;Monster Princess;映画,导演,剧本,原作。

2001
◆《千与千寻》(神隐少女);千と千寻の神隐し;Spirited Away;映画,原作、脚本、监督。

2002
◆《猫之报恩》;猫の恩返し;The Cat Returns;映画,监制。

2004年
◆《哈尔的移动城堡》(霍尔的移动城堡);ハウルの动く城;Howl's moving castle;映画,导演。
参考资料:http://..com/question/7646391.html

B. 端游,手游服务端常用的架构是什么样的

端游、手游服务端常用的架构是什么样的?
类型1:卡牌、跑酷等弱交互服务端卡牌跑酷类

因为交互弱,玩家和玩家之间不需要实时面对面PK,打一下对方的离线数据,计算下排行榜,买卖下道具即可,所以实现往往使用简单的 HTTP服务器:

登录时可以使用非对称加密(RSA, DH),服务器根据客户端uid,当前时间戳还有服务端私钥,计算哈希得到的加密 key 并发送给客户端。之后双方都用 HTTP通信,并用那个key进行RC4加密。客户端收到key和时间戳后保存在内存,用于之后通信,服务端不需要保存 key,因为每次都可以根据客户端传上来的 uid 和 时间戳 以及服务端自己的私钥计算得到。用模仿 TLS的行为,来保证多次 HTTP请求间的客户端身份,并通过时间戳保证同一人两次登录密钥不同。

每局开始时,访问一下,请求一下关卡数据,玩完了又提交一下,验算一下是否合法,获得什么奖励,数据库用单台 MySQL或者 MongoDB即可,后端的 Redis做缓存(可选)。如果要实现通知,那么让客户端定时15秒轮询一下服务器,如果有消息就取下来,如果没消息可以逐步放长轮询时间,比如30秒;如果有消息,就缩短轮询时间到10秒,5秒,即便两人聊天,延迟也能自适应。

此类服务器用来实现一款三国类策略或者卡牌及酷跑的游戏已经绰绰有余,这类游戏因为逻辑简单,玩家之间交互不强,使用 HTTP来开发的话,开发速度快,调试只需要一个浏览器就可以把逻辑调试清楚了。

类型2:第一代游戏服务器 1978

1978年,英国着名的财经学校University of Essex的学生 Roy Trubshaw编写了世界上第一个MUD程序《MUD1》,在University of Essex于1980年接入 ARPANET之后加入了不少外部的玩家,甚至包括国外的玩家。《MUD1》程序的源代码在 ARPANET共享之后出现了众多的改编版本,至此MUD才在全世界广泛流行起来。不断完善的 MUD1的基础上产生了开源的 MudOS(1991),成为众多网游的鼻祖:

MUDOS采用 C语言开发,因为玩家和玩家之间有比较强的交互(聊天,交易,PK),MUDOS使用单线程无阻塞套接字来服务所有玩家,所有玩家的请求都发到同一个线程去处理,主线程每隔1秒钟更新一次所有对象(网络收发,更新对象状态机,处理超时,刷新地图,刷新NPC)。

游戏世界采用房间的形式组织起来,每个房间有东南西北四个方向可以移动到下一个房间,由于欧美最早的网游都是地牢迷宫形式的,因此场景的基本单位被成为 “房间”。MUDOS使用一门称为LPC的脚本语言来描述整个世界(包括房间拓扑,配置,NPC,以及各种剧情)。游戏里面的高级玩家(巫师),可以不断的通过修改脚本来为游戏添加房间以及增加剧情。早年 MUD1上线时只有17个房间,Roy Trubshaw毕业以后交给他的师弟 Richard Battle,在 Richard Battle手上,不断的添加各种玩法到一百多个房间,终于让 MUD发扬光大。

用户使用 Telnet之类的客户端用 Tcp协议连接到 MUDOS上,使用纯文字进行游戏,每条指令用回车进行分割。比如 1995年国内第一款 MUD游戏《侠客行》,你敲入:”go east”,游戏就会提示你:“后花园 - 这里是归云庄的后花园,种满了花草,几个庄丁正在浇花。此地乃是含羞草生长之地。这里唯一的出口是 north。这里有:花待 阿牧(A mu),还有二位庄丁(Zhuang Ding)”,然后你继续用文字操作,查看阿牧的信息:“look a mu”,系统提示:“花待 阿牧(A mu)他是陆乘风的弟子,受命在此看管含羞草。他看起来三十多岁,生得眉清目秀,端正大方,一表人才。他的武艺看上去【不是很高】,出手似乎【极轻】”。然后你可以选择击败他获得含羞草,但是你吃了含羞草却又可能会中毒死亡。在早期网上资源贫乏的时候,这样的游戏有很强的代入感。

用户数据保存在文件中,每个用户登录时,从文本文件里把用户的数据全部加载进来,操作全部在内存里面进行,无需马上刷回磁盘。用户退出了,或者每隔5分钟检查到数据改动了,都会保存会磁盘。这样的系统在当时每台服务器承载个4000人同时游戏,不是特别大的问题。从1991年的 MUDOS发布后,全球各地都在为他改进,扩充,退出新版本,随着 Windows图形机能的增强。1997游戏《UO》在 MUDOS的基础上为角色增加的x,y坐标,为每个房间增加了地图,并且为每个角色增加了动画,形成了第一代的图形网络游戏。

因为游戏内容基本可以通过 LPC脚本进行定制,所以MUDOS也成为名副其实的第一款服务端引擎,引擎一次性开发出来,然后制作不同游戏内容。后续国内的《万王之王》等游戏,很多都是跟《UO》一样,直接在 MUDOS上进行二次开发,加入房间的地图还有角色的坐标等要素,该架构一直为国内的第一代 MMORPG提供了稳固的支持,直到 2003年,还有游戏基于 MUDOS开发。虽然后面图形化增加了很多东西,但是这些MMORPG后端的本质还是 MUDOS。随着游戏内容的越来越复杂,架构变得越来越吃不消了,各种负载问题慢慢浮上水面,于是有了我们的第二代游戏服务器。

类型3:第二代游戏服务器 2003

2000年后,网游已经脱离最初的文字MUD,进入全面图形化年代。最先承受不住的其实是很多小文件,用户上下线,频繁的读取写入用户数据,导致负载越来越大。随着在线人数的增加和游戏数据的增加,服务器变得不抗重负。同时早期 EXT磁盘分区比较脆弱,稍微停电,容易发生大面积数据丢失。因此第一步就是拆分文件存储到数据库去。

此时游戏服务端已经脱离陈旧的 MUDOS体系,各个公司在参考 MUDOS结构的情况下,开始自己用 C在重新开发自己的游戏服务端。并且脚本也抛弃了 LPC,采用扩展性更好的 Python或者 Lua来代替。由于主逻辑使用单线程模型,随着游戏内容的增加,传统单服务器的结构进一步成为瓶颈。于是有人开始拆分游戏世界,变为下面的模型:

游戏服务器压力拆分后得意缓解,但是两台游戏服务器同时访问数据库,大量重复访问,大量数据交换,使得数据库成为下一个瓶颈。于是形成了数据库前端代理(DB Proxy),游戏服务器不直接访问数据库而是访问代理,再有代理访问数据库,同时提供内存级别的cache。早年 MySQL4之前没有提供存储过程,这个前端代理一般和 MySQL跑在同一台上,它转化游戏服务器发过来的高级数据操作指令,拆分成具体的数据库操作,一定程度上代替了存储过程:

但是这样的结构并没有持续太长时间,因为玩家切换场景经常要切换连接,中间的状态容易错乱。而且游戏服务器多了以后,相互之间数据交互又会变得比较麻烦,于是人们拆分了网络功能,独立出一个网关服务 Gate(有的地方叫 Session,有的地方叫 LinkSvr之类的,名字不同而已):

把网络功能单独提取出来,让用户统一去连接一个网关服务器,再有网关服务器转发数据到后端游戏服务器。而游戏服务器之间数据交换也统一连接到网管进行交换。这样类型的服务器基本能稳定的为玩家提供游戏服务,一台网关服务1-2万人,后面的游戏服务器每台服务5k-1w,依游戏类型和复杂度不同而已,图中隐藏了很多不重要的服务器,如登录和管理。这是目前应用最广的一个模型,到今天任然很多新项目会才用这样的结构来搭建。

人都是有惯性的,按照先前的经验,似乎把 MUDOS拆分的越开性能越好。于是大家继续想,网关可以拆分呀,基础服务如聊天交易,可以拆分呀,还可以提供web接口,数据库可以拆分呀,于是有了下面的模型:

这样的模型好用么?确实有成功游戏使用类似这样的架构,并且发挥了它的性能优势,比如一些大型 MMORPG。但是有两个挑战:每增加一级服务器,状态机复杂度可能会翻倍,导致研发和找bug的成本上升;并且对开发组挑战比较大,一旦项目时间吃紧,开发人员经验不足,很容易弄挂。

比如我见过某上海一线游戏公司的一个 RPG上来就要上这样的架构,我看了下他们团队成员的经验,问了下他们的上线日期,劝他们用前面稍微简单一点的模型。人家自信得很,认为有成功项目是这么做的,他们也要这么做,自己很想实现一套。于是他们义无反顾的开始编码,项目做了一年多,然后,就没有然后了。

现今在游戏成功率不高的情况下,一开始上一套比较复杂的架构需要考虑投资回报率,比如你的游戏上线半年内 PCU会去到多少?如果一个 APRG游戏,每组服务器5千人都到不了的话,那么选择一套更为贴近实际情况的结构更为经济。即使后面你的项目真的超过5千人朝着1万人目标奔的话,相信那个时候你的项目已经挣大钱了 ,你数着钱加着班去逐步迭代,一次次拆分它,相信心里也是乐开花的。

上面这些类型基本都是从拆分 MUDOS开始,将 MUDOS中的各个部件从单机一步步拆成分布式。虽然今天任然很多新项目在用上面某一种类似的结构,或者自己又做了其他热点模块的拆分。因为他们本质上都是对 MUDOS的分解,故将他们归纳为第二代游戏服务器。

类型4:第三代游戏服务器

2007从魔兽世界开始无缝世界地图已经深入人心,比较以往游戏玩家走个几步还需要切换场景,每次切换就要等待 LOADING个几十秒是一件十分破坏游戏体验的事情。于是对于 2005年以后的大型 MMORPG来说,无缝地图已成为一个标准配置。比较以往按照地图来切割游戏而言,无缝世界并不存在一块地图上面的人有且只由一台服务器处理了:

每台 Node服务器用来管理一块地图区域,由 NodeMaster(NM)来为他们提供总体管理。更高层次的 World则提供大陆级别的管理服务。这里省略若干细节服务器,比如传统数据库前端,登录服务器,日志和监控等,统统用 ADMIN概括。在这样的结构下,玩家从一块区域走向另外一块区域需要简单处理一下:

玩家1完全由节点A控制,玩家3完全由节点B控制。而处在两个节点边缘的2号玩家,则同时由A和B提供服务。玩家2从A移动到B的过程中,会同时向A请求左边的情况,并向B请求右边的情况。但是此时玩家2还是属于A管理。直到玩家2彻底离开AB边界很远,才彻底交由B管理。按照这样的逻辑将世界地图分割为一块一块的区域,交由不同的 Node去管理。

对于一个 Node所负责的区域,地理上没必要连接在一起,比如大陆的四周边缘部分和高山部分的区块人比较少,可以统一交给一个Node去管理,而这些区块在地理上并没有联系在一起的必要性。一个 Node到底管理哪些区块,可以根据游戏实时运行的负载情况,定时维护的时候进行更改 NodeMaster 上面的配置。于是碰到第一个问题是很多 Node服务器需要和玩家进行通信,需要问管理服务器特定UID为多少的玩家到底在哪台 Gate上,以前按场景切割的服务器这个问题不大,问了一次以后就可以缓存起来了,但是现在服务器种类增加不少,玩家又会飘来飘去,按UID查找玩家比较麻烦;另外一方面 GATE需要动态根据坐标计算和哪些 Node通信,导致逻辑越来越厚,于是把:“用户对象”从负责连接管理的 GATE中切割出来势在必行于是有了下面的模型:

网关服务器再次退回到精简的网络转发功能,而用户逻辑则由按照 UID划分的 OBJ服务器来承担,GATE是按照网络接入时的负载来分布,而 OBJ则是按照资源的编号(UID)来分布,这样和一个用户通信直接根据 UID计算出 OBJ服务器编号发送数据即可。而新独立出来的 OBJ则提供了更多高层次的服务:

对象移动:管理具体玩家在不同的 Node所管辖的区域之间的移动,并同需要的 Node进行沟通。

数据广播:Node可以给每个用户设置若干 TAG,然后通知 Object Master 按照TAG广播。

对象消息:通用消息推送,给某个用户发送数据,直接告诉 OBJ,不需要直接和 GATE打交道。

好友聊天:角色之间聊天直接走 OBJ/OBJ MASTER。整个服务器主体分为三层以后,NODE专注场景,OBJ专注玩家对象,

GATE专注网络。这样的模型在无缝场景服务器中得到广泛的应用。但是随着时间的推移,负载问题也越来越明显,做个活动,远来不活跃的区域变得十分活跃,靠每周维护来调整还是比较笨重的,于是有了动态负载均衡。动态负载均衡有两种方法,第一种是按照负载,由 Node Master 定时动态移动修改一下各个 Node的边界,而不同的玩家对象按照先前的方法从一台 Node上迁移到另外一台 Node上:

图11 动态负载均衡

Node Master定时查找地图上的热点区域,计算新的场景切割方式,然后告诉其他服务器开始调整,具体处理方式还是和上面对象跨越边界移动的方法一样。但是上面这种方式实现相对复杂一些,于是人们设计出了更为简单直接的一种新方法:

图12 基于网格的动态负载均衡

于网格的动态负载均衡还是将地图按照标准尺寸均匀切割成静态的网格,每个格子由一个具体的Node负责,但是根据负载情况,能够实时的迁移到其他 Node上。在迁移分为三个阶段:准备,切换,完成。三个状态由Node Master负责维护。准备阶段新的 Node开始同步老 Node上面该网格的数据,完成后告诉NM;NM确认OK后同时通知新旧 Node完成切换。完成切换后,如果 Obj服务器还在和老的 Node进行通信,老的 Node将会对它进行纠正,得到纠正的 OBJ将修正自己的状态,和新的 Node进行通信。

很多无缝动态负载均衡的服务端宣称自己支持无限的人数,但不意味着 MMORPG游戏的人数上限真的可以无限扩充,因为这样的体系会受制于网络带宽和客户端性能。带宽决定了同一个区域最大广播上限,而客户端性能决定了同一个屏幕到底可以绘制多少个角色。

从无缝地图引入了分布式对象模型开始,已经完全脱离 MUDOS体系,成为一种新的服务端模型。又由于动态负载均衡的引入,让无缝服务器如虎添翼,容纳着超过上一代游戏服务器数倍的人数上限,并提供了更好的游戏体验,我们称其为第三代游戏服务端架构。网游以大型多人角色扮演为开端,RPG网游在相当长的时间里一度占据90%以上,使得基于 MMORPG的服务端架构得到了蓬勃的发展,然而随着玩家对RPG的疲惫,各种非MMORPG游戏如雨后春笋般的出现在人们眼前,受到市场的欢迎。

类型5:战网游戏服务器

经典战网服务端和 RPG游戏有两个区别:RPG是分区分服的,北京区的用户和广州区的用户老死不相往来。而战网,虽然每局游戏一般都是 8人以内,但全国只有一套服务器,所有的玩家都可以在一起游戏,而玩家和玩家之使用 P2P的方式连接在一起,组成一局游戏:

玩家通过 Match Making 服务器使用:创建、加入、自动匹配、邀请 等方式组成一局游戏。服务器会选择一个人做 Host,其他人 P2P连接到做主的玩家上来。STUN是帮助玩家之间建立 P2P的牵引服务器,而由于 P2P联通情况大概只有 75%,实在联不通的玩家会通过 Forward进行转发。

大量的连接对战,体育竞技游戏采用类似的结构。P2P有网状模型(所有玩家互相连接),和星状模型(所有玩家连接一个主玩家)。复杂的游戏状态在网状模型下难以形成一致,因此星状P2P模型经受住了历史的考验。除去游戏数据,支持语音的战网系统也会将所有人的语音数据发送到做主的那个玩家机器上,通过混音去重再编码的方式返回给所有用户。

战网类游戏,以竞技、体育、动作等类型的游戏为主,较慢节奏的 RPG(包括ARPG)有本质上的区别,而激烈的游戏过程必然带来到较 RPG复杂的多的同步策略,这样的同步机制往往带来的是很多游戏结果由客户端直接计算得出,那在到处都是破解的今天,如何保证游戏结果的公正呢?

主要方法就是投票法,所有客户端都会独立计算,然后传递给服务器。如果结果相同就更新记录,如果结果不一致,会采取类似投票的方式确定最终结果。同时记录本剧游戏的所有输入,在可能的情况下,找另外闲散的游戏客户端验算整局游戏是否为该结果。并且记录经常有作弊嫌疑的用户,供运营人员封号时参考。

类型7:休闲游戏服务器

休闲游戏同战网服务器类似,都是全区架构,不同的是有房间服务器,还有具体的游戏服务器,游戏主体不再以玩家 P2P进行,而是连接到专门的游戏服务器处理:

和战网一样的全区架构,用户数据不能象分区的 RPG那样一次性load到内存,然后在内存里面直接修改。全区架构下,为了应对一个用户同时玩几个游戏,用户数据需要区分基本数据和不同的游戏数据,而游戏数据又需要区分积分数据、和文档数据。胜平负之类的积分可以直接提交增量修改,而更为普遍的文档类数据则需要提供读写令牌,写令牌只有一块,读令牌有很多块。同帐号同一个游戏同时在两台电脑上玩时,最先开始的那个游戏获得写令牌,可以操作任意的用户数据。而后开始的那个游戏除了可以提交胜平负积分的增量改变外,对用户数据采用只读的方式,保证游戏能运行下去,但是会提示用户,游戏数据锁定。

类型8:现代动作类网游

从早期的韩国动作游戏开始,传统的战网动作类游戏和 RPG游戏开始尝试融合。单纯的动作游戏玩家容易疲倦,留存也没有 RPG那么高;而单纯 RPG战斗却又慢节奏的乏味,无法满足很多玩家激烈对抗的期望,于是二者开始融合成为新一代的:动作 + 城镇 模式。玩家在城镇中聚集,然后以开副本的方式几个人出去以动作游戏的玩法来完成各种 RPG任务。本质就是一套 RPG服务端+副本服务端。由于每次副本时人物可以控制在8人以内,因此可以获得更为实时的游戏体验,让玩家玩的更加爽快。

说了那么多的游戏服务器类型,其实也差不多了,剩下的类型大家拼凑一下其实也就是这个样子而已。

热点内容
计算机代码经典编程 发布:2025-02-05 19:25:09 浏览:756
安卓抖音怎么换不了白色背景 发布:2025-02-05 19:11:16 浏览:810
安卓手机如何变成手写 发布:2025-02-05 19:11:14 浏览:979
esp32搭建自己的服务器 发布:2025-02-05 18:58:00 浏览:318
wampphp升级 发布:2025-02-05 18:50:53 浏览:920
源码地带 发布:2025-02-05 18:46:37 浏览:615
我的世界服务器怎么骑别人的头 发布:2025-02-05 18:46:32 浏览:90
怎么卸载ftp账号 发布:2025-02-05 18:41:52 浏览:63
SQL指定的服务并未以 发布:2025-02-05 18:40:09 浏览:974
电脑连接不了服务器什么意思 发布:2025-02-05 18:34:46 浏览:356