游戏开发

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

11
在游戏设计中寻找乐趣因素
作为设计师,您必须采用某些方法来确定游戏中的“有趣因素”。您可能已经在一款游戏中做了一些事情,很可能会转移到您开发的未来游戏中。您可能玩过一款非常有趣的游戏,并且注意到该公式已应用于其他游戏。 有什么方法可以改善游戏设计的趣味性?是什么使Facebook上的Zynga游戏如此受欢迎?奖励会带来更多乐趣吗?失败会带来更多乐趣吗?让玩家在2小时内回来会带来更多乐趣吗?您是否读过任何真正记在心里的好语录或想法? 寻求乐趣时可能会考虑很多事情。

3
UnityEngine.Random和System.Random有什么区别?
这有什么不同 int randomNumber = UnityEngine.Random.Range(0, 10); 和这个 // on top of the class private System.Random _rnd = new System.Random(); // inside a methode of the same class int randomNumber = _rnd.Next(0, 10); 我知道System.Random必须始终在类的顶部进行初始化,UnityEngine.Random不需要使用什么。我也知道这System.Random适用于实习生“时钟”,“随机”数字是基于此的。 我的问题是,现在UnityEngine.Random和System.Randomand 之间还有其他区别,并且更适合在Unity项目中使用巫婆代码?
24 unity  c#  random 

3
遮罩XNA中2D子画面的最佳方法?
我目前正试图掩盖一些精灵。我没有用语言解释它,而是制作了一些示例图片: 遮盖区域(白色) 现在,需要裁剪的红色精灵。 最终结果。 现在,我知道在XNA中,您可以做两件事来做到这一点: 使用模板缓冲区。 使用像素着色器。 我试图做一个像素着色器,基本上就是这样做的: float4 main(float2 texCoord : TEXCOORD0) : COLOR0 { float4 tex = tex2D(BaseTexture, texCoord); float4 bitMask = tex2D(MaskTexture, texCoord); if (bitMask.a > 0) { return float4(tex.r, tex.g, tex.b, tex.a); } else { return float4(0, 0, 0, 0); } } 这似乎可以裁剪图像(尽管一旦图像开始移动就不正确),但是我的问题是图像一直在移动(它们不是静态的),因此这种裁剪必须是动态的。 有没有一种方法可以更改着色器代码以考虑其位置? 另外,我已经读过有关使用模板缓冲区的信息,但是大多数示例似乎都取决于使用rendertarget,我真的不想这么做。(我已经在其余的游戏中使用了3或4,并且在其上面再添加一个似乎过大了) 我发现唯一不使用Rendertargets的教程来自Shawn …
24 xna  2d  hlsl  masking 

9
用瓷砖绘制球体表面时,如何处理极性变形?
在干净的笛卡尔网格上处理位置交互的方式很容易。这只是简单的数学。如果您只想截断两极或其他物体,则可以忽略一堆球体表面的几何形状。但是我一直想出极地空间至关重要的游戏的想法。地理编码的ARG和全球无赖类物品。 我想要正方形(ish?)位置-无论如何,可以用全球范围内相同大小的正方形瓷砖合理地表示。 这必须是一个已解决的问题,对吗? 有什么解决方案? 预计到达时间: 在赤道上-并假设您的正方形位置相当小,它非常接近真实值,您可以在最赤道行南北两行拥有一个正方形。而且,您可以通过手动挥动高达45度左右的差异来避免这种情况。但是最终,极点向圆周的行中需要减少正方形。如果我将行的长度减少1并将正方形偏移1/2,则它们就像十六进制,并且进行编码以跟踪连接相对容易。但是,随着您的步入正轨,它变得越来越极端。 将世界的表面投影到立方体的表面上很诱人。但是我认为必须已经使用了更优雅的解决方案。 如果我做了立方体的事情(不通过大地测量学进一步剖析),那么将杆放在面的中心或三个侧面的顶点是否有任何利弊?

2
为什么有些游戏使用某种抖动模式而不是传统的Alpha透明度?
最近,我看到一些3D游戏(例如:)GTA IV使用某种有序抖动来模拟透明度/ alpha。 多边形不像往常一样透明,而是呈现抖动纹理,该纹理从左到右逐渐切换以模拟透明度: 效果并非令人不愉快,但乍看之下却令人惊讶(相对于传统的alpha混合) 除了产生的视觉美学效果外,有些游戏是否有其他理由(更好的性能,节省的带宽或其他我没有想到的原因)? 我已经在网上搜索过,但找不到有关此技术的任何信息。

3
关于游戏开发物理的好书是什么?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 我正在寻找一本很好的初学者书籍,有关游戏开发中的物理学。专注于2D游戏的东西会更好。
23 2d  physics  books 

7
如何以圆周运动拦截对象
我正在创建2D太空游戏,需要使飞船拦截一颗行星。我有用于直线截距的工作代码,但无法弄清楚如何计算圆形轨道上的行星位置。 该游戏在科学上不够准确,因此我不必担心惯性,重力,椭圆轨道等。 我知道太空飞船的位置和速度,也知道行星的轨道(半径)和速度

1
如何防止不适当的广告出现在我的游戏中?
我的游戏实现了Unity广告,并且在设计时考虑了通用受众。因此,我宁愿不要在其中显示18多个广告(或视情况而定甚至在13多个广告),尤其是因为它也会吸引年轻的受众。我的问题是,如何防止年龄不适当的广告出现?有没有一种方法可以简单地设置Unity广告的年龄限制或内容限制?我能找到的唯一设置是COPPA切换,这会引起其他问题(更不用说它对广告没有任何作用)。我已经在仪表板中查看了一段时间,并且已经尝试过对其进行研究,但是事实是它们已经转移到集中式服务页面,重定向所有旧链接(在此过程中将其断开),重新整理仪表板中的设置,以及在主题上的 404d FAQ帖子都无济于事。根据评级屏蔽广告也可以,因为我要发布到Google Play,所以我必须获得一个评级。 编辑:第二个链接有时仅404s。在问这个问题之前,我碰巧每次都得到它。我想运气不好。

3
我怎么知道我是否过于紧密地抽象图形API?
制作支持多个图形API的渲染器时,通常需要在与某种图形API(例如OpenGL,Vulkan,D3D11等)绑定的某种低级库中抽象代码。 它们的工作方式彼此非常不同,因此制作一个好的通用API变得至关重要。我已经读到您通常会希望使用一个“后端”来实现要支持的每个API的基本功能,而一个“前端”则是程序员用来在程序上绘制内容的东西。屏幕。 我怎么知道我是否过于严格的抽象?

1
如何获得PagedGeometry草以接收阴影?
我切换到Ogre3D(v1.7)并使用PagedGeometry。我正在尝试做的是一个简单的场景,其中包含地形,一些树木和草丛。简而言之,我想在Ogre中实现这种效果: 透明/切出的阴影在PagedGeometry演示中实现,但是像上面的示例一样,我找不到如何在草地上正确投射阴影的任何解决方案。 我可以使用什么技术来完成此任务?


4
C ++游戏如何处理内存分配失败?
我知道有几种用C ++编写的游戏,但是没有使用异常。由于C ++中的内存分配失败处理通常围绕std::bad_alloc异常进行,因此这些游戏如何处理此类失败? 它们只是崩溃了,还是有另一种方法来处理内存不足的错误并从中恢复?

3
使用100%CPU的游戏正常吗?
我刚刚在游戏引擎中实现了多线程输入处理,其中轮询操作系统以从中收集输入信息并对其打上时间戳的代码位于单独的线程中,而主线程中的每一帧我都将收集到的输入吃掉逻辑游戏时间。一切正常,但是此设置使用了100%的CPU。我有两个核心,并且在运行我的游戏时会达到100%。 我已经与其他游戏进行了核对,以查看它们是否也这样做。例如,Skyrim和Doom 3看起来不错,CPU刚好超过60%。 使用多线程输入消耗100%CPU的游戏是否可以接受?如果没有,这种游戏通过输入线程降低cpu使用率的一些技巧是什么?


8
难道不是所有游戏都避免开始后加载吗?
就像大型开放世界游戏可以动态加载大量地图一样,我们不能通过相同的动态加载方法来加载单独的地图,菜单以及几乎任何界面或3D设置吗?在不更改环境的情况下,似乎可以动态加载游戏中的界面和各个位置,就像在浏览大型开放世界地图时一样。 为什么不这样做呢?我看到了很多现代游戏,在加载比赛/地图/关卡时,您需要等待一分钟或更长时间。我知道连接对等方会产生延迟,但是根据我的经验,这不会花费太多时间。该概念存在哪些问题,以至于无法使用它消除加载地图/级别/界面数据所需的加载时间?
23 loading 

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.