Questions tagged «efficiency»

4
如何有效地连续找到半径内的所有实体?
我有大量的实体(单位)。在每个步骤中,每个单元都需要知道其附近所有单元的位置(距离小于给定常数R)。所有单元连续移动。这是3D模式。 平均而言,在具有给定约束的任何其他给定单位附近,将有总单位计数的1%。 我如何能有效地做到这一点,而无需强加于人?

1
基于四叉树/网格的碰撞-将逻辑付诸实践
首先,我只是在短时间内编写了自己的游戏逻辑,所以如果这看起来很简单,我深表歉意。 我已经阅读了很多有关四叉树和基于网格的碰撞检测的信息。我了解逻辑-除非物体基本靠近,否则基本上不检查碰撞。但从未提及如何实际执行此操作。 我脑子里有几种可能的方法,但不确定哪种方法最好 通用碰撞测试-没有优化 for(var i:int = 0; i < objects.length; i++){ //find object A var objectA = objects[i]; for(var j:int = i + 1; j < objects.length; j++){ //find object B var objectB = objects[j]; if(objectA.collidesWith(objectB){ //handle collision logic } } 存储邻居(方法1) 但是,如果我们要优化冲突以仅检查附近的对象该怎么办。我们是否仍然遍历所有对象,还是创建带有近对象以进行检查的数组? var objects:Array = new Array(); var …

3
粉末游戏:它们如何运作?
我最近发现了这两个宝石: http://powdertoy.co.uk/ http://dan-ball.jp/en/javagame/dust/ 我的问题是:如何有效处理具有这么多元素的物理学?我只是严重低估了现代计算能力,还是可能“仅”拥有一个二维数组,该数组的每个单元格描述放置在相应位置的内容,并在每个步骤中模拟每个单元格。还是做一些更复杂的事情,例如将大面积的同类区域汇总到一个数据集中,并根据需要将所述数据集分开? 我可以看一下这样的开源游戏吗?

2
将许多小碰撞器组合成更大的碰撞器
我正在使用由数千个网格正方形组成的图块地图创建游戏。目前,每个广场上都有一个广场对撞机,用于检查碰撞。 但是,对于成千上万个微小的块,检查它们是否全部碰撞是低效率的。如果我事先知道tilemap看起来像这样,那么我可能只使用了3或4个大型对撞机,而不是数千个小型对撞机: 是否存在某种标准算法,可将许多小相邻的小块合并为最大的小块?如果是这样,有人可以在这里描述它,还是指向有关这种算法的文献? 另外,也许以这种方式预处理瓦片碰撞器完全是错误的方法。如果是这样,应对大量对撞机效率的正确方法是什么?

3
与全状态更新相比,我如何更有效地同步多人游戏状态?
我之前已经做过一些游戏网络编码,但是主要使用TCP来实现无实时需求的游戏。我正在使用网络多人游戏开发2D Java游戏。为了学习,我想自己做,而不需要现有的网络API。 如何有效表示从服务器发送给客户端的游戏状态?有一种最明显但可能效率最低的方法,该方法是使用每个玩家的位置,动画状态等创建某种游戏状态上下文对象,并将每次更新发送给每个玩家。这似乎很难实现,但可能太大而无法实现接近实时交互的功能(当然,我的经验有限,因此我可能是错误的)。 你们中的任何人以前是否曾使用过可靠的方法来仅传输状态变化,并且在性能上是否存在足够大的差异以值得进行额外的工作?

4
有没有办法提高n个对象系统的碰撞检查效率?
我正在制作一个包含许多屏幕对象的游戏,其中一个是玩家。我需要知道哪些对象在每次迭代中都发生冲突。 我做了这样的事情: for (o in objects) { o.stuff(); for (other in objects) if (collision(o, other)) doStuff(); bla.draw(); } 这个有O(n ^ 2),我被告知是不好的。我如何更有效地做到这一点,甚至有可能吗?我在用Javascript编写,n通常小于30,如果保持不变,会不会有问题?

3
表示地图上国家之间的联系的数据结构
在为客户开发的游戏中,关键游戏概念涉及在地图上四处移动。在这种情况下,各个国家的大小和形状是无关紧要的:从一个国家转移到相邻国家只是一个步骤。 我正在尝试找出最佳的数据结构,以内部表示国家之间的联系。对于给定的国家/地区,游戏需要知道哪些国家/地区相邻,既要知道玩家可以移动的方式,又要允许游戏的AI绘制路线,从而确定从一个国家到另一个国家的可能路径。认可机构还需要评估一个国家的联系程度,不仅与其邻国相邻,而且与这些国家的邻国等等。 我已经找到了几种可能性,但它们似乎笨拙且效率低下。因为AI将需要计算大量可能的路线才能做出关于其运动的正确决策,所以“低效”是个大问题。 我怀疑这是一个比较常见的CS难题,并且存在一个通用的解决方案,但是我无法通过搜索找到很多东西。欢迎任何建议。
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.