游戏开发

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

1
由于网络集成,我是否应该编写自己的物理引擎?
我目前正在开发自上而下的实时僵尸射击游戏。我正在使用JBox2D作为我的物理引擎用Java编写此代码。我本周一直在编写网络代码,现在可以进行物理同步了​​。 我打算使用预测性客户端/权威服务器模型,只要服务器稍后批准,客户端就可以自由移动。这涉及到客户端向服务器发送包含运动数据的数据包,服务器计算延迟,并从较早的状态重新模拟环境。 我的问题是,我当前的物理引擎JBox2D(基本上是Box2D的端口)不支持回滚世界,而且显然不容易序列化世界数据。我有2个解决方案,可以修改/扩展当前的物理引擎,也可以编写自己的引擎。 编写我自己的物理引擎的原因- 我可以删除不必要的功能。在自上而下的游戏中,我真的只需要碰撞机制和处理力。不涉及重力。 我可以更好地理解代码,并且[最有可能]更容易实现回滚功能 扩展/修改JBox2D的原因 编写我自己的物理引擎将是大量的工作,可能会很麻烦 JBox2D有一个广泛支持的社区,可以为我的开发人员提供帮助 JBox2D针对碰撞检测等方面进行了特定的优化,使其非常有用 已经完成了一些工作,但是几乎没有共享代码 那您有什么意见。这是我的第一款游戏,我绝对不是专业的游戏开发商。如果有人可以提供一些指向该地区已经完成的工作的链接(最好使用JBox2D / Box2D / Java)。

3
如何在OpenGL中弯曲对象?
有没有一种方法可以使用OpenGL弯曲物体,例如圆柱体或平面? 我是OpenGL初学者(我正在使用OpenGL ES 2.0,尽管这很重要,尽管我怀疑数学在这种情况下最重要,所以它在某种程度上与版本无关),我了解基本知识:平移,旋转,矩阵转换等我想知道是否有一种技术可以允许您实际更改对象的几何形状(在这种情况下,通过弯曲它们)? 欢迎任何链接,教程或其他参考!

3
导出搅拌器骨骼
我为混合器模型编写了一个导出器,该模型非常适合网格物体。我正在尝试将其扩展到搅拌器中定义的骨骼。但是,我还没有找到导出骨骼数据的有用信息。如何访问骨骼数据?我想访问骨骼影响的所有顶点,每个顶点的权重和矩阵。我是否需要导出其他内容以进行骨骼动画和动态肢解?


2
在GPL游戏中使用Creative Common数据是否意味着代码必须为CC-BY-SA?
假设我们有一个游戏,其代码经过GPL许可,并且所有资源(如音乐,纹理等)均根据CC-BY-SA许可进行了许可。 现在,第一个问题是GPL与CC-BY-SA不兼容,但是由于它仅在实际链接代码时适用,因此在这种情况下还可以。我对吗? 真正的问题是,可以说游戏是基于音乐,纹理等“构建”(使用与许可相同的术语)的。因此,CC许可不要求在CC-BY下发布代码-SA也一样?
11 legal  licensing 


3
使用3D模型的OpenGL中的动画
我在Blender中创建了一个模型。现在,我想在我的C ++程序中阅读该3D模型。我认为模型可以导出为各种文件格式,例如.obj,.3ds或COLLADA,然后可以在c ++程序中读取。我已经在网上搜索了很久了,发现了很多教程。但是我大多数都遇到了问题。例如,在Nehe教程中,他们使用glaux,而我不想在程序中使用。其余教程使用Blender不支持的md2。 因此,谁能指导我导出3D模型所使用的文件格式以及如何在OpenGL程序中加载该文件格式?另外,我该如何为该模型制作动画?在使用OpenGL将其加载到c ++程序中之后,是否可以添加诸如色调映射之类的额外效果?如果是,那怎么办? PS我正在使用Linux进行游戏开发

3
格雷舍姆定律是否与允许使用真实货币作为额外货币的现代在线游戏相关?
越来越多的在线游戏正计划允许使用真实货币购买标准游戏货币以外的游戏物品。例如,将于明年发布的《暗黑破坏神III》将设有一个黄金拍卖行(仅允许游戏中的黄金)和一个真钱拍卖行(仅允许真实的钱)在游戏内玩家之间交易物品。 格雷舍姆定律说:“当政府强制高估一种货币而又低估另一种货币时,低估的货币将离开该国或从流通中消失为ho积,而高估的货币将泛滥成灾。” 人们担心游戏中的黄金将被严重低估,而真实货币将占主导地位,因为游戏开发商会从真实货币交易中获得份额,并希望推高该货币。他们是可能强制高估真实货币而低估游戏黄金的政府。这意味着根据格雷舍姆定律,我们将看到游戏中货币黄金随着时间的流逝而消失,将真实货币拍卖行作为买卖物品的唯一选择。 这就引出了一个问题,即是否可以将格雷沙姆定律应用于这种情况。格雷沙姆定律为什么或为什么不将真实货币和虚拟货币组合在同一市场上来影响在线游戏的原因是什么?

3
多人实时安卓游戏的最佳解决方案
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 5年前关闭。 我打算为Android(2-8个玩家)制作多人实时游戏,并且我认为哪种组织最佳的解决方案是最好的: 使服务器在PC上,客户端在移动设备上,所有通讯都通过服务器(ClientA-> PC SERVER->所有客户端) 使用蓝牙,我还没用过,我也不知道在蓝牙上制作多人游戏很难 使服务器位于其中一台设备上,并与其他设备连接(通过网络,但是我不知道通过NAT解决设备的问题是否很困难?) 其他解决方案?

2
PC版Unity是否使用Direct3D或OpenGL?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 5年前关闭。 我是使用Unity的Mac开发人员,几乎不使用PC。当您为Windows构建Unity游戏时,它是否使用Direct3D或OpenGL? PS我不确定是否称为Direct3D或DirectX
11 unity 


1
目前用于渲染可变形景观的一些技术是什么?
可用于有效渲染基于3D高度图的可变形景观的当前技术有哪些? 例如,在不可变形的景观问题中,ROAM曾经是通往这些景观的方法,但是随着GPU的发展,它逐渐失去了对较新的geomipmapping / clipmaps的青睐(后者不像CPU那样受限制;但是仍然有足够的优势赢得最新的GPU)。 在可变形景观渲染方面是否有任何进步?不仅在渲染方面,而且在变形操作期间也具有吞吐量。 尽管我本人的目标是SM3.0 / DirectX 9.0c,但请不要仅仅局限于此。

5
有人可以解释乘法/级联中colum vs row major的(原因)吗?
由于我对矩阵的两个标准感到困惑,因此我试图学习如何构造视图和投影矩阵,并在实现过程中遇到困难。 我知道如何乘法矩阵,并且可以看到乘法之前的转置会完全改变结果,因此需要以不同的顺序进行乘法。 我不明白的是什么仅是“符号约定” -从这里和这里的文章看来,作者断言这对矩阵的存储或转移到GPU的方式没有影响,而在第二个方面分页该矩阵显然不等同于将其布置在行大的内存中;如果我查看程序中的填充矩阵,我会看到翻译组件占据了第4、8和12个元素。 鉴于: “与列主矩阵的后乘运算产生的结果与与行主矩阵的预乘结果相同。” 为什么在以下代码段中: Matrix4 r = t3 * t2 * t1; Matrix4 r2 = t1.Transpose() * t2.Transpose() * t3.Transpose(); r!= r2 为何,为什么pos3!= pos为什么: Vector4 pos = wvpM * new Vector4(0f, 15f, 15f, 1); Vector4 pos3 = wvpM.Transpose() * new Vector4(0f, 15f, 15f, 1); 乘法过程是否根据矩阵是行还是列主矩阵而改变,或者仅仅是顺序(对于等效效果)? 让事情变得更清晰的一件事是,当提供给DirectX时,我的列主WVP矩阵已成功通过HLSL调用成功用于转换顶点:mul(vector,matrix),应将向量视为row-major,那么我的数学库提供的列主矩阵如何工作?

3
如何实现快速,准确的2D碰撞检测?
我很清楚如何检测两个或多个2D对象是否碰撞,但是我对如何决定是否检查碰撞感兴趣。在以前的项目中,我只是让每个对象都与其他每个对象进行检查(我知道,O(n ^ 2)级的愚蠢程度),并且创建的游戏性不那么流畅。 各种论坛都赞扬四叉树,B树以及您能想到的任何其他种类的树或结构的伟大之处。 确定是否应检查碰撞的最有效结构是什么?


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.