游戏开发

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

2
为动态障碍物和玩家造成的障碍寻找路径?
嗨,我正在Unity 5中创建TD,并且在寻路方面需要一些帮助。 我将为我的AI 使用Arons A *寻路,这使我能够使用动态对象并在运行时更新路径。但是,在我的游戏中,我希望玩家能够使用特殊的炮塔来阻挡小兵,这将迫使小兵攻击“障碍塔”而不是到达目的地。 我怎样才能完成这样的事情? 图片更清晰:
11 unity  c#  2d  ai  path-finding 

2
如何在Unity中使用BillboardRenderer?
从版本5(?)开始,Unity具有新的component-type BillboardRenderer。不幸的是,文档非常差。 可以通过单击“添加组件->杂项->广告牌渲染器”将其添加到检查器中,但是显然它需要Billboard Asset执行任何操作。似乎没有任何方法可以从Unity界面中创建一个。 BillboardAsset 同样糟糕的文档中的几句话之一是: imageCount 从不同角度查看广告牌时可以切换的预烘焙图像数。 我最新的项目将具有精灵/多边形混合图形,因此我可以真正利用某个组件,该组件根据视角呈现具有不同精灵的广告牌。但是似乎没有任何方法可以添加此类图像。 所以我想知道您是否可以举一个示例说明如何使用此组件。
11 unity 

2
如何防止光线投射的车轮侧滑?
我一直在使用本文作为参考来编写一个非现实的汽车物理引擎作为学习练习。 我有一辆可以正确地与地形碰撞并为每个车轮施加正确的悬架力的汽车。我的下一个问题是防止车轮横向移动。例如,如果我将汽车停在斜坡上,它将在斜坡上向侧面滑动,然后再从侧面停止滑动(因为没有任何形式的摩擦)。 链接的文章说,必须施加“侧向力”,再加上向前的力,但它掩盖了该侧向力的计算方式。 给定每个车轮的碰撞信息(相交法线等)以及有关汽车刚体的信息,如何计算施加到刚体上的适当侧向力以防止侧向运动?

3
为什么冒险游戏难题通常只有一个线索/解决方案?
最近在玩冒险游戏(《梦幻落幕篇》)时,令我惊讶的是,我玩过的大多数冒险游戏都只需要一个解决方案即可解决您需要解决的“难题”。这通常意味着玩家必须“获得”一个单一的线索,否则他们可能会陷入漫长的“蛮力”阶段,他们会在游戏世界中找到所有东西。(我记得在Sam和Max Hit the Road之类的经典电影中,这几次发生在我身上。) 相比之下,对于游戏大师来说,经常要引用的一条建议,即希望玩家遵循台式角色扮演游戏中的线索,这是“三法则”,该原则基本上指出,每个结论都应(至少)由玩家看到的三个线索来支持。 。作为必然结果,每个“关键点”问题都应有三种解决方法。 有游戏设计原因,为什么视频游戏不需要类似的规则?还是单解难题只是懒惰的设计?

1
如何在多层2d tilemap中实现光影?
我正在从头开始编写等距游戏,我想知道如何/是否可以添加灯光和阴影。 我到目前为止的代码可以在这里找到,但它应该是不够了解,现在,地图是真/假值的简单3D阵列。这是环境的快照: 如果是单层tilemap,那将是直接的。我可以理解所需的2d中简单的光线投射。 但是,考虑到我的地图具有多个高度级别以及类似洞穴的区域,我真的不知道该如何为它创建令人信服的阴影。也许逐块解决方案是唯一现实的方法?

4
像SmoothVideo Project所使用的那样,帧插值是否可以在不影响性能的情况下增加游戏的帧率?
SmoothVideo项目使用帧插值将视频的fps从24提高到60。结果非常令人印象深刻。我想知道这是否可以应用,在电子游戏中看起来是否不错? 与渲染所有帧相比,它使用的资源要少得多,因此在某种程度的折衷下,允许较低端的装备以更好的装备的质量进行渲染。我知道它不会那么精确,并且会稍稍增加输入等待时间,因为它需要保持最新的帧才能生成和插入内插的帧。不过,这还不如全帧那么糟糕,根据我的推理,仅滞后时间就是插值时间加上原始fps刷新时间的一半。因此,对于30 fps,这将是33ms / 2 +内插时间。 也许这种滞后将使其不适用于快速过去的第一人称游戏,但我怀疑这会在节奏较慢的游戏中成为障碍。 在较高的启动速度时,延迟会变小,因此,我认为从60fps到100 + fps时值得这样做,虽然会稍有增加,但仍会给系统带来极大的负担,但可以改善用户体验。

2
如何告诉片段着色器不写特定像素?
在WebGL中,我想发送一个由片段着色器处理的屏幕空间四边形,但是让片段着色器仅在特定条件下写出一个像素(例如……它在一个圆圈内,或者像素属于由曲线方程式等定义的半空间的正侧)。 片段着色器中是否可以说“不写像素”? 我知道这可以使用其他各种方法来完成,例如Alpha混合,先渲染然后将其放置在不想绘制像素的背景颜色上,或者对深度或模板缓冲区进行一些技巧。我也知道我可以创建一堆几何体来匹配我要渲染的几何体。 是否有办法使片段着色器选择根本不写像素?

3
UPS和FPS-我应限制什么,为什么?
我目前正在使用C ++和SDL2编写游戏,我想知道一件事-限制每秒的帧数(FPS)和/或每秒的更新数(UPS)是否有意义? 我的想法是,如果您限制UPS,则基本上可以控制游戏的速度-如果玩家每次更新移动1px,并且您始终每秒更新30次,则他将以30px / s的速度移动,而您由于每秒的计算量减少,这也可能减轻CPU的负担。如果限制FPS,则每秒的调用次数会减少,因此可以减轻GPU负担。我希望我能正确理解所有这些内容,如果不能,请随时纠正我。 我的问题是-我应该在游戏中限制什么?FPS?UPS?都?都不行 有另一种更好的方法吗?在大多数游戏中这是如何完成的,为什么? 答案非常感谢!
11 game-loop  logic  sdl2 

3
为什么不能存在跨平台的多人游戏?
至少,为什么它们这么难制造?-假设这就是为什么甚至AAA工作室也无法在游戏中实现这一壮举的原因。尤其是对于可以在Xbox,PS4和PC上构建的现代跨平台游戏引擎(如Unreal和Unity)而言,为什么还没有大规模地做到这一点? 例如,《暗黑破坏神III》是在各种平台上发行的游戏。尽管它是暴雪公司(暴雪公司)的产品,暴雪公司是世界上最富有的视频游戏公司之一,但它不允许Xbox播放器与使用PC的人一起玩。

4
全球拍卖行或独立拍卖商的经济设计差异是什么?
我在玩《上古卷轴:泰姆瑞尔无限》,那里有当地拍卖行。(您没有拍卖,但在下文中,我保留该术语以免混淆。) 我可以看到公会(拥有这些AH)可以建立自己的小规模经济的好处,这是一个不错的功能。 另一方面,我总是必须检查几位行会交易者,以查看哪个交易商提供我搜索到的商品的最低价格。 在论坛上,人们正在激烈地讨论是否应该引入全球拍卖行。这可能也有优点和缺点,但是我并没有太参与这种游戏设计,因此无法真正为此做好准备。 支持者认为,全球AH会导致市场更加规范,更易于使用,并且卖方将覆盖更广泛的受众(阅读:当您放入一件物品时,您可以确定可能会有买方。) 另一方面,批评者说,这只会使真正有用的物品的价格大幅上涨,而常用物品的价格则会降至正常售价。 但是这些担忧真的是真的吗?引入全球AH真的会对游戏的经济产生如此大的影响吗?如果是的话,他们会更趋于平抑价格还是真的使大多数商品变得无用吗? 您也可以反之亦然:如果某款游戏已经具有全球AH,那么如果将其替换为当地的拍卖行会产生什么影响? 如果引入全球或本地拍卖行系统,对游戏和玩家的经济有何不同? 为了澄清起见:我确实询问《上古卷轴:泰姆瑞尔无限》的问题。但是您也可以将此用于其他游戏。(这应该是开发者决定的理论上的问题。)


2
SpriteKit是否遵循MVC模式?
我目前正在开发一个名为Old Frank的iOS项目,该项目一直在尝试遵循MVC设计模式。 要点是。 GameObjects(model) <- Scene(controller) -> Sprites "SpriteKit" (View) 现在,如果我对MVC的理解正确,那么如果您想遵循MVC,就无法使用SpriteKit提供的许多功能。例如any SKAction,碰撞检测等。 难道不是取决于游戏对象所在的模型以及它们在触摸其他对象时应如何反应吗?确定模型是否随时间推移是否取决于模型? 除了渲染之外,SpriteKit是否有其他部分可以被认为可以用作MVC中的“视图”?


2
如何制作自然的体素
我正在开发体素游戏,但我认为我使用了错误的技术。我目前使用扁平砖砌块,并且我认为有一种更好,更有效的方法。 我看过一个自然看似地形的体素游戏。我的意思是非阻塞。该游戏每立方米有4 * 4 * 4个块,并且块如泥土,沙子和石头,具有圆形边缘以及融化在一起(类似于普通游戏)。继承人截图 如何实现的?

2
OpenGL的直接状态访问机制的优点是什么?
我一直在opengl.org上阅读有关OpenGL 4.5直接状态访问(DSA)的信息,但不确定是否正确。 似乎暗示着,旧方法的效率较低: glBind(something) glSetA(..) glSetB(..) glSetC(..) 比新方法: glSetA(something, ..) glSetB(something, ..) glSetC(something, ..) 从外观上看,每个组件glSet都必须包含glBind(something)在其中,并且如果OpenGL仍然是状态机,则无法利用应用于单个对象的流式更改something。 请说明新DSA的原因和优势。
11 opengl 

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.