Game
njdragonfly
关注在线游戏服务端设计,图形引擎,算法设计。
展开
-
网络游戏客户端同步方法
同步在网络游戏中是非常重要的,它保证了每个玩家在屏幕上看到的东西大体是一样的。其实呢,解决同步问题的最简单的方法就是把每个玩家的动作都向其他玩家广播一遍,这里其实就存在两个问题:1,向哪些玩家广播,广播哪些消息。2,如果网络延迟怎么办。事实上呢,第一个问题是个非常简单的问题,不过之所以我提出这个问题来,是提醒大家在设计自己的消息结构的时候,需要把这个因素考虑进去。而对于第二个问题,则是一个挺麻烦原创 2010-03-15 19:05:00 · 3286 阅读 · 0 评论 -
游戏引擎基础(八)(脚本系统)
第8部份: 脚本系统脚本系统 我们从第七部分的游戏网络问题来到了脚本系统,因为其呈现的故事叙述机会,最近已经形成一种很大的游戏元素。在一个需要以受控制的方式解释的情景,预先编制的电影脚本是解决问题的方法。在电影中,这通常用来处理或者由主角向一个伙伴解释情形,或者敌人对英雄解释。当然,有其它的方法来做这件事情 -- 叙事者,倒叙,等等 – 但通常是使用实时情景的人们和事件来完成。当然,游戏是不同的,游戏开发者在他们平常的FPS中不应该做太多的倒叙,因为通常会需要载入新的环境或者关卡,以及新的纹理和/或模型。转载 2010-06-28 21:47:00 · 694 阅读 · 0 评论 -
游戏引擎基础(七)(网络和连线游戏环境)
第7部份: 网络和连线游戏环境网络游戏 我记得一些年前坐在GDC(游戏开发者大会)听负责开发X-Wing Vs TIE Fighter的家伙们题为“淹没在Internet” 的演讲,全是关于让网络游戏实时地在Internet上工作的东西。他们选择那个题目是多么的正确啊。当它开始处理数据包的丢失,乱序,潜伏(一个数据包发送到它的目的地所花的时间)等等时,它确实淹没了。然而它是可能的。对于Internet需要一些聪明和经验,但它是肯定可能的。看看今天大量的连线游戏,从Quake III,Unreal Tour转载 2010-06-28 21:46:00 · 938 阅读 · 0 评论 -
游戏引擎基础(六)(声音系统,音频APIs)
第6部分: 声音系统,音频APIs声音系统 由于人们玩的游戏在种类和技术上的进步,声音和音乐近几年来在游戏中正逐渐变得重要起来(声音是一个实际游戏的可玩特点,比如在Thief和其它同类游戏中的听觉提示)。现在四声道环绕系统在游戏玩家的宝库中是负担得起的和平常的事。给定空间的声音,噪音的障碍和闭塞,和动态的音乐,如今许多游戏使用这些提高玩家情绪上的反应,更多的关注投入到这个领域就不足为奇了。 现在在PC竞技场中,游戏玩家实际上只有一种声音卡可以选择 -- PC声卡制造商创新公司(Creative Labs转载 2010-06-28 21:44:00 · 1264 阅读 · 0 评论 -
游戏引擎基础(四)(模型与动画,细节级别)
第4部份: 模型与动画,细节级别角色建模与动画 你的角色模型在屏幕上看起来怎么样,怎样容易创建它们,纹理,以及动画对于现代游戏试图完成的`消除不可信`因素来说至关重要。角色模型系统逐渐变得复杂起来, 包括较高的多边形数量模型, 和让模型在屏幕上移动的更好方式。 如今你需要一个骨骼模型系统,有骨架和网格细节层次,单个顶点骨架的评估,骨架动画忽略,以及比赛中停留的角度忽略。而这些甚至还没有开始涉及一些你能做的很好的事情,像动画混合,骨架反向运动学(IK),和单个骨架限制,以及相片真实感的纹理。这个清单还能够转载 2010-06-28 21:43:00 · 704 阅读 · 0 评论 -
游戏引擎基础(二)(3D环境的光照和纹理)
第2部份: 3D环境的光照和纹理世界的灯光 在变换过程中, 通常是在称为观察空间的坐标空间中, 我们遇到了最重要的运算之一: 光照计算。 它是一种这样的事情, 当它工作时,你不关注它,但当它不工作时, 你就非常关注它了。有很多不同的光照方法,从简单的计算多边形对于灯光的朝向,并根据灯光到多边形的方向和距离加上灯光颜色的百分比值,一直到产生边缘平滑的灯光贴图叠加基本纹理。而且一些 API 实际上提供预先建造的光照方法。举例来说,OpenGL 提供了每多边形,每顶点,和每像素的光照计算。 在顶点光照中,你转载 2010-06-28 21:41:00 · 928 阅读 · 0 评论 -
游戏引擎基础(一)(渲染和构造3D世界)
本系列转自:http://www.cppblog.com/orlando/archive/2007/12/03/37734.html第1部分: 游戏引擎介绍, 渲染和构造3D世界介绍 自Doom游戏时代以来我们已经走了很远。 DOOM不只是一款伟大的游戏,它同时也开创了一种新的游戏编程模式: 游戏 "引擎"。这种模块化,可伸缩和扩展的设计观念可以让游戏玩家和程序设计者深入到游戏核心,用新的模型,场景和声音创造新的游戏, 或向已有的游戏素材中添加新的东西。大量的新游戏根据已经存在的游戏引擎开发出来,而大多数转载 2010-06-28 21:39:00 · 938 阅读 · 0 评论 -
游戏引擎基础(十一)(最后的章节)
第11部份: 最后的章节前端 你已经看到了菜单系统,你可能理解游戏内的头顶显示(HUDs)时常是游戏经历中被忽视和诽谤的部分。最近,这个领域开始被给人印象非常深刻的Black and White所关注,这款游戏实际上没有HUD。在Peter Molyneux经历了Dungeon Keeper以后,它在屏幕上大量的图标,他决定游戏的大部分被这些图标占用了,主要的屏幕没有被足够利用。因此他决定废除所有这些东西。Peter迈了大胆的一步,我们为你喝彩。很不幸,这种方式适用于B&W这类风格的游戏,但它并不总是对其转载 2010-06-28 21:50:00 · 595 阅读 · 0 评论 -
游戏引擎基础(十)(人工智能和导航)
第10部分: 人工智能和导航(路径发现)人工智能(AI) 我们上面已经用了其他九个章节介绍了游戏引擎,现在让我们深入到非常有趣和重要的人工智能主题。人工智能如今正在变成被谈论得最多的仅次于游戏引擎渲染能力的游戏开发领域之一,确实如此。直到大约两年半以前,游戏似乎主要是在考虑你能够渲染多少个多边形,眼睛是多么的漂亮,和… 好…劳拉的胸部是多么的有弹性...既然我们现在已经能够渲染出非常真实的乳房,中心就开始转移到我们实际上用那些多边形做什么了(即玩游戏)。因为它给你提供实际玩游戏的刺激作用和参与游戏世界中正转载 2010-06-28 21:49:00 · 796 阅读 · 0 评论 -
游戏引擎基础(三)(内存使用,特效和API)
第3部份: 内存使用,特效和API关于内存使用的思考 让我们想一想,在今天实际上是如何使用3D 显卡内存的以及在将来又会如何使用。 如今绝大多数3D显卡处理32位像素颜色,8位红色, 8位蓝色,8 位绿色,和 8 位透明度。这些组合的红,蓝和绿256个色度,可以组成 16。7 百万种颜色-- 那是你我可以在一个监视器上看见的所有颜色。 那么,游戏设计大师John Carmack 为什么要求 64 位颜色分辨率呢? 如果我们看不出区别,又有什么意义呢? 意义是: 比如说,有十几个灯光照射模型上的点,颜色转载 2010-06-28 21:42:00 · 901 阅读 · 0 评论 -
即时战略游戏中如何协调对象移动
作者:Dave C. Pottinger翻译改写:lzc 在图论中人们研究了通过怎样的计算才能找到一条从A点到B点的通路,以图论本身来说这已经解决了从A到B的问题,剩下的只是从A沿着找到的路线移动到B就可以了。这样的认识基于一个默认的假设--道路中的一切障碍物都是固定的,但是在现在已经广泛流行的即时战略类游戏中问题却远远不止这些。举个例子说上下班高峰期的时候,路上的每一个人都原创 2010-04-05 01:00:00 · 3585 阅读 · 1 评论 -
游戏服务器的架构设计
游戏服务器的设计是一项颇有挑战性的工作,游戏服务器的发展也由以前的单服结构转变为多服机构,甚至出现了bigworld引擎的分布式解决方案,最近了解到Unreal的服务器解决方案atlas也是基于集群的方式。负载均衡是一个很复杂的课题,这里暂不谈bigworld和atlas的这类服务器的设计,更多的是基于功能和场景划分服务器结构。首先说一下思路,服务器划分基于以下原则:1:分离游戏中占原创 2010-01-06 12:46:00 · 1007 阅读 · 0 评论 -
游戏引擎基础(九)(现成产品与定做的游戏引擎设计工具,游戏特定主题)
第9部分: 现成产品与定做的游戏引擎设计工具,游戏特定主题现成产品与定做的设计工具 我们从第8部份的脚本引擎来到这一章节中的许多主题,我们认为那些铁杆游戏玩家和有志成为游戏开发者的那些人将会发现它们相当有趣。我们将开始讨论现成产品与定制的设计工具。 你的工具的选择是你引擎设计的一个非常重要的部份,因为这是你将用来给你的游戏产生内容的东西,是最耗时的部份。在这个过程中有助于节省时间和资源的任何东西都是好的。那些不能的东西就是糟糕的。在那里,那是容易的。 当然没有那么容易。有比这更多的事情可能会立刻被注转载 2010-06-28 21:48:00 · 960 阅读 · 0 评论