游戏开发

专业和独立游戏开发人员的问答


5
好的2D Platformer物理[关闭]
我为Box2D的2D平台游戏者设置了基本的角色控制器,并且我开始对其进行调整以使其感觉良好。物理引擎有很多旋钮需要调整,我不清楚,我是第一次使用物理引擎编写,我应该使用哪种。跳跃应该施加力几次tick吗?一时冲动?直接设定速度?如何在不消除化身的所有摩擦的情况下阻止化身粘在墙上(或者我消除了所有的摩擦,但仅限于空中)?我应该将角色塑造成胶囊吗?有圆角的盒子吗?一个有两个轮子的盒子?只是一个大轮子?我觉得以前一定有人做过! 在网络上,似乎只有很少的资源不是“婴儿的第一物理学”,这一切都切断了我希望有人已经解决了这些问题的地方。用于平台游戏的物理引擎的大多数示例都具有浮动感控件,空中跳跃或当临时穿透力过高时容易利用的行为等。 我的意思的一些例子: 轻按一下跳会跳很短距离;长按会跳得更高。 高速停止或反转方向时打滑短。 稳定地站在斜坡上(但在避开时可能会滑下)。 使用模拟控制器时的模拟速度。 所有其他将优秀平台游戏者与劣质平台游戏者区分开的事物。 我敢说,稳定的移动平台吗? 我并不是真正在寻找“嘿,这样做”。显然,正确的做法取决于我在游戏中想要的东西。但是我希望某个地方的人经历了各种可能性,并说“技术A的X很好,技术B的Y很好,但是不适用于C”,或者除了“如果(key = = space)character.impulse(0,1)“
76 box2d  physics  input 

5
巨大的程序产生的“荒野”世界
我敢肯定,大家都知道像《矮人要塞》这样的游戏-由程序产生的庞大荒野和土地。这样的东西,摘自这篇非常有用的文章。 但是,我想知道如何将其应用到更大的规模。我的世界的规模浮现在脑海(这不是地球表面大小的8倍吗?)。伪无限,我认为最好的术语是。 这篇文章讨论了分形佩林噪声。我不是专家,但是我有一个大概的主意(它是某种随机产生的噪声,是半相干的,因此不仅仅是随机像素值)。 我可以按大小定义X的X区域,添加一些区域加载类型的东西,并产生一点噪声来生成一个区域。但这将导致大量的岛屿。 在另一个极端,我认为我真的不能产生出巨大的珀林噪声表。我认为,那将是一个大岛。 我很确定Perlin的噪音或某种噪音会以某种方式解决。我的意思是,该地图看起来非常好看。而且您可以用瓷砖替换ascii,并获得非常漂亮的外观。

6
如何优化Minecraft风格的体素世界?
我发现即使使用四核和多肉的显卡,《我的世界》奇妙的大世界也极难导航。 我认为Minecraft的运行缓慢来自: Java,因为空间分区和内存管理在本机C ++中更快。 弱世界分区。 两种假设我都可能错了。但是,这让我开始思考管理大型体素世界的最佳方法。由于这是一个真实的3D世界,其中块可以在世界的任何部分存在,它基本上是一个大的3D阵列[x][y][z],其中在世界的每个块具有类型(即BlockType.Empty = 0,BlockType.Dirt = 1等) 我认为要使这种世界表现良好,您需要: 使用某种树(oct / kd / bsp)将所有多维数据集拆分出来;似乎oct / kd会是更好的选择,因为您可以仅在每个多维数据集级别而不是每个三角形级别进行分区。 使用某种算法来确定当前可以看到哪些块,因为距离用户最近的块可能会混淆后面的块,从而使其变得毫无意义。 保持块对象本身轻巧,因此可以快速将其从树中添加和删除。 我想对此没有正确的答案,但是我很想看到人们对此问题的看法。 在大型体素世界中,您将如何提高性能?

4
在完全下载游戏之前,如何使游戏可玩?
《暗黑破坏神3》和《星际争霸2》具有一个不错的功能:我可以在完整游戏或更新下载完成之前开始玩游戏。 我猜暗黑破坏神3下载了诸如UI资产之类的强制性文件,以及首先在多个级别上使用的某些网格和纹理。但是,在开始游戏时,假设我有适当的存款,我可以选择所需的任何级别。玩游戏时,我从未遇到过这样的滞后现象,起步总是非常流畅。 这是如何运作的?如何实现类似功能?

11
如何设计重放系统
那么我将如何设计一个重放系统? 您可能从某些游戏(例如《魔兽争霸3》或《星际争霸》)中知道了这一点,您可以在游戏玩完后再次观看。 您最终得到一个相对较小的重播文件。所以我的问题是: 如何保存数据?(自定义格式?)(小文件大小) 应该保存什么? 如何使其具有通用性,使其可以在其他游戏中用于记录时间段(例如,不是完整的比赛记录)? 使前进和后退成为可能(据我记得,WC3无法后退)

5
游戏循环中更新独立渲染的目的是什么?
游戏循环中有许多文章,书籍和讨论。但是,我经常碰到这样的事情: while(running) { processInput(); while(isTimeForUpdate) { update(); } render(); } 这种方法基本上困扰我的是“独立于更新”的渲染,例如,在完全没有变化的情况下渲染帧。所以我的问题是,为什么经常教这种方法?

4
程序…带房间发生器的房子
我一直在看一些有关程序化生成地牢的算法和文章。问题是,我正在尝试建造一间带房间的房子,而这些房间似乎不符合我的要求。 首先,地牢有走廊,房屋有大厅。虽然最初看起来似乎一样,但大厅不过是不是房间的区域,而走廊是专门设计用来将一个区域连接到另一个区域的。 房屋的另一个重要区别是,您必须具有特定的宽度和高度,并且必须用房间和大厅填充整个物件,而使用地牢则要有空白空间。 我认为房子的大厅介于地牢走廊(可带您进入其他房间)和地牢中的空白空间(未在代码中明确定义)之间。 更具体地说,要求是: 有一组预定义的房间, 我无法即时创建墙壁和门。 房间可以旋转但不能调整大小 ,因为我有一组预定义的房间,所以我只能旋转它们,不能调整它们的大小。 房屋尺寸已设定,必须完全填充房间(或大厅), 即我想用可用的房间填充14x20的房屋,以确保没有可用空间。 以下是一些图片,可以使它更加清晰: 如您所见,在房子里,“空空间”仍然是可步行的,它将您从一个房间转移到另一个房间。 因此,说了这么多之后,也许一所房子只是一个真正非常紧凑且带有走廊的地牢。还是比地牢更简单。也许那里有东西,但我还没有找到,因为我真的不知道要搜索什么。 这就是我希望得到您帮助的地方:您能否给我一些有关如何设计此算法的指导?关于将采取什么步骤有什么想法?如果您创建了地下城生成器,您将如何修改它以满足我的要求?您可以根据需要特定或通用。确实,我正在寻找您的大脑。

7
学习现代OpenGL(3.0或更高版本)的良好资源?[关闭]
我偶然发现了从OpenGL(3.0或更高版本)开始的良好资源搜索。好吧,我发现了很多书,但是没有一本可以被认为是很好的资源! 这里有两个例子: OpenGL编程指南(第7版) http://www.amazon.com/exec/obidos/ASIN/0321552628/khongrou-20 这是已弃用的材料!几乎每个章节都以注释开头。 OpenGL Superbible(第5版) http://www.amazon.com/exec/obidos/ASIN/0321712617/khongrou-20 本书使用作者创建的库来解释主要的论点,隐藏您想学习的内容!我不想学习如何使用您的图书馆!我想学习OpenGL! 我希望您理解的问题不像“嘿,我无法使用Google ...告诉我如何学习OpenGL”之类的问题。我刚刚完成了一次全面而深入的搜索,但是我找不到一个很好而又完整的资源来学习“新的” OpenGL,避免了过时的主题。 有人可以朝正确的方向前进吗?我知道C ++,我有10年的开发经验...在哪里可以找到好的资源?我想花时间在上面,并且我想深入学习。
73 opengl  assets 

6
如何编写网络游戏?[关闭]
基于为什么开发MMO如此困难?: 网络游戏的发展并非易事。不仅要克服延迟,而且还要防止作弊,状态管理和负载平衡,这是一大障碍。如果您没有编写网络游戏的经验,那么这将是一个困难的学习练习。 我知道有关套接字,服务器,客户端,协议,连接之类的理论。 现在,我想知道如何学习编写网络游戏: 如何平衡负载问题? 如何管理游戏状态? 如何保持事物同步? 如何保护通信和客户端免受逆向工程的影响? 如何解决延迟问题? 应该在本地计算哪些内容,在服务器上计算哪些内容? ... 是否有关于此的好书,教程,网站,有趣的文章或其他问题? 我正在寻找广泛的答案,但是也可以使用特定的答案来学习区别。

9
易于使用的跨平台3D引擎进行C ++游戏开发?[关闭]
我想尝试编写3D游戏。但是,我不想从如此低的水平开始绘制单个三角形并编写自己的3D对象加载器等。我听说过Irrlicht,Crystal Space 3D和Cafu之类的东西,但是我对它们没有任何经验。我正在从具有这些或其他引擎经验丰富的人那里寻求建议,这些引擎在其上写得很好,并且易于上手,而无需学习大量的3D数学理论以及GPU在内部的工作方式。
73 c++  3d  cross-platform 


10
有生命的目的是什么?
我认为,在游戏设计中,提出问题的原因非常重要,尤其是对于已经成为生活标准的事物。所以我问,具有生命概念的游戏的目的是什么?为什么有生命?

6
为什么RPG会让您知道需要升级多少XP?
我在阅读这篇名为“ 行为游戏设计”的文章,内容为: ...我们如何使玩家保持高水平且一致的活动率?...答案是一个可变比率的计划表,每个响应表都有机会产生奖励。 RPG(我想到的是像《最终幻想1-6》这样的传统JRPG)在升级角色时不这样做。您可以随时暂停游戏,并查看需要再次升级的XP数量。我以前没有玩过《魔兽世界》,但我怀疑它也可以让您知道需要升级多少XP。在《魔兽世界》中,游戏中其他地方有很多“可变比率计划”的例子,那么为什么不升级XP呢? 我怀疑大多数专业游戏设计师都知道本文中的课程。那么,为什么对于XP来说,通常需要了解下一个级别?他们可以设计游戏,使其具有随机性,在这种情况下,您永远不知道要为下一个关卡杀死多少敌人。那么,为什么他们不以此为契机制定“可变比率表”呢?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.