Questions tagged «mathematics»

数学问题涉及游戏开发中使用的算术,几何,微积分,公式和其他计算。

4
隐藏游戏数据和公式会培养什么样的游戏体验?
为玩家提供有关其角色能力的信息的程度有所不同-包括但不限于向玩家显示其角色的统计数据以及他们如何与公式联系在一起,例如总伤害,伤害减少等。当直接提供这些数字和公式时,可以导致大量的最小化/创建一个最佳的构建,这可能会因为担心幕后的数字而降低了仅仅享受游戏的精力。 从游戏设计的角度来看,我正在寻找有关以下方面的见解: 设计统计系统的个人经验,其中大部分(如果不是全部)信息都隐藏在播放器中。包括您对隐藏内容和向玩家显示的内容做出的决策类型,以及这些决策背后的原因以及它们如何影响玩家玩游戏的方式。 您主动选择向玩家提供尽可能多的信息的个人经历,因为您反对隐藏信息。解释促使您做出此决定的思考过程以及它对玩家玩游戏的方式的影响。 关于/不同游戏如何设计其统计系统的信息,这些统计信息系统会向玩家隐藏大多数信息,以及设计如何影响玩家的游戏方式

3
除了正交和透视以外,是否还有3D投影?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 标题中几乎有这个问题。除了正投影和透视以外,是否还有可用于3D系统(例如OpenGL)的显着3D投影? 特别是在游戏设计中是否有特殊用途?

5
超越“新手”游戏项目
我读这个答案对数学的类型游戏开发者应该知道,这部分真正站出来为我说: How do I move my game object? The novice might say: "I know! I'll just do:" object.position.x++. 我就是这么想的,所以我想这表明了我的技能水平。至少对于我过去制作的2D横向滚动,街机风格的游戏,这就是我所需要的。那和一点三角学。 实际上,在阅读该文章之前,我并没有使用太多线性代数,甚至没有听说过四元数。是因为这些数学在您使用3D之前不会出现,还是因为我的2D游戏相当简单,所以我摆脱了幼稚的实现。 后续问题:如果我想熟悉那种数学,应该从事哪种类型的项目?IE:编写游戏引擎,开发3D游戏等。

3
向量有什么不同/复杂/有用?
如果这不是一个真正的问题,请原谅我,但我确实对此感到困惑。 我经常听到其他游戏开发人员谈论使用向量如何非常有用,但是每个人都被向量数学所吓倒,向量似乎令人生畏。我从来没有去了解他们。 所以,最后我在Wikipedia 上看了Vector,感到很惊讶。除非我弄错了,否则一个矢量(为简单起见,它是2D)只是x和y坐标。 如果我误解了,请纠正我。 所以这是我的问题:这是否意味着二维(或三维)坐标的任何表示都是矢量?如果是这样,则向量和坐标是同一件事。而且,不使用坐标就几乎不可能创建游戏,那么向量对进行过大量游戏编程的人来说是令人困惑的还是陌生的? 我可以对此进行澄清。任何帮助表示赞赏。

1
如何将鼠标坐标转换为等距索引?
我用图块64x32绘制等距图: const Offset = 160; int X, Y; for (int a=0; a < 6; a++) for (int b=0; b < 6; b++) { X = a * 32 - b * 32 + Offset; Y = a * 16 + b * 16; DrawTile(X, Y, tile); } 图片,说明此代码: 亲爱的专业人员,请提供有关细胞等轴测索引中的鼠标坐标转换公式的帮助。例如:(105; 100)-> …

6
对于游戏程序员来说,什么是一本好的线性代数书?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,以便仅通过编辑此帖子来关注一个问题。 4年前关闭。 有人告诉我,我应该开始学习线性代数,以便创建具有良好物理特性的出色游戏。 我正在阅读《线性代数》一书,这对我来说完全陌生。作者从求解线性方程(两个方程,两个变量)开始,我记得在学校学习过线性方程,但几乎立刻他就跳入了其他似乎直接来自死灵书中的东西。 我可以读哪本书来学习一些好数学,但是要从基础开始? 非常感谢您的帮助。

6
代表火车轨道的方法有哪些?
不久前,我在一个小型项目中调查了这个项目,但是并没有太过分。我想创建一个小程序,让用户绘制火车轨迹,然后允许“火车”在2D平面上跟随该轨迹。我希望这条赛道是自由形式,并能使线条流畅。我玩过三次样条曲线,并取得了不错的成绩,但是在使火车跟随样条曲线方面遇到了很多麻烦。创建多个轨道并将火车从一个轨道切换到另一个轨道时,我也遇到很多麻烦。 是否有人可以提供建议,文章或源代码来帮助我解决问题?谢谢!

5
我的Vector类中是否需要'w'组件?
假设您正在编写处理3d空间旋转,平移等的矩阵代码。 现在,转换矩阵必须为4x4以适合转换分量。 但是,您实际上并不需要w在矢量中存储组件吗? 即使在透视除法中,您也可以简单地w在向量之外进行计算和存储,并在从方法返回之前进行透视除法。 例如: // post multiply vec2=matrix*vector Vector operator*( const Matrix & a, const Vector& v ) { Vector r ; // do matrix mult r.x = a._11*v.x + a._12*v.y ... real w = a._41*v.x + a._42*v.y ... // perspective divide r /= w ; return r ; …

1
我怎样才能平均分配出几张纸牌?
给定一组纸牌(带有宽度和高度的矩形图像),我该如何旋转和定位每张纸牌,使它们以“扇形”模式出现,就像您在现实生活中握住一手纸牌一样。为此需要什么数学运算? 更新 这是最终的JavaScript浏览器实现:https : //cosmicrealms.com/blog/2013/03/16/hand-of-cards/ 和 http://jsfiddle.net/tyyvk/108/


4
计算两军交战的输出
我正在使用Flash编写战略游戏。该游戏的工作原理与著名的游戏“ Travian”非常相似。 我的问题如下:我试图计算由于两支军队之间的战斗而损失的部队。两国军队的单位类型不同。他们中的一些对其他某些单位更强,而对其他类型则较弱。 如何将这种差异的影响体现在战斗方程式中? 如果它们仅具有at和def点,这似乎很容易,但是当涉及到单元类型依赖项时,我会迷路。

2
如何将3D点投影到3D线上?
假设我有一条由两个点A和定义的线B,都以形式(x, y, z)。这些点代表3D空间中的一条线。 我也有一点 P,用相同的格式定义,不在线上。 我将如何计算该点在直线上的投影?我知道如何在2D中执行此操作,但是3D似乎在上面浪费了所有资源。

9
如何将等距精灵按正确的顺序排序?
在正常的自上而下的2D游戏中,可以使用屏幕y轴对图像进行排序。在此示例中,树木已正确排序,但等轴墙却没有: 墙2比墙1低一个像素,因此它是在墙1之后绘制的,并在顶部结束。 如果按等轴y轴排序,则墙壁会以正确的顺序显示,但树木不会: 如何正确执行此操作?


3
添加或删除单元时,如何保持矩形形状?
我有带有行和列的矩形形式的机器人。在从地层中添加或删除机器人时会出现问题。发生这种情况时,漫游器必须重新布置自己,以使矩形形状的纵横比仍大致相同,并尽可能地为矩形。这该怎么做? 一些想法: 添加或删除机器人时,请使用新的机器人总数和所需的恒定长宽比来计算最适合该长宽比的地层的新宽度和高度。然后以某种方式重新调整机器人以适应新的尺寸。 移除机器人后,将其后面的机器人移到其位置,然后继续直到到达编队的尽头。然后通过以某种方式改组后排机器人来尽可能地使后排保持平衡。 另一个完全不同的想法是模仿分子结构保持在一起的方式。通过吸引四个最接近的机器人,然后排斥其余所有机器人,使每个机器人都希望被其他四个机器人包围。击退所有机器人(包括四个机器人),它们太近以至于无法使用平方反比法确保分离。您还需要额外的力来塑造整个结构。但是,这听起来非常昂贵。 更新:因此,研究萨拉赫姆的答案,我想出了一个很好的通用函数,它给出了良好的尺寸。 首先,我解决了下面的宽度和高度联立方程,然后对答案进行了四舍五入。 width/height=aspect ratio of your choice width*height=number of bots 这为您的机器人数量提供了最接近该纵横比的整数矩形。最接近的矩形一半时间太大,一半时间太小(当然,有时会恰到好处,但谁在乎那些矩形)。在矩形是一个案件有点过大,需要做什么需求。后排最终将几乎满,这是理想的。在矩形是一个案件有点太小了,你有问题,因为极小的微小溢出将不得不去到它自己的等级创建了一个等级上它只有几个机器人,它并不十分好看。在某些情况下,差异也很大(大于宽度的一半),在这种情况下,相加或减去一级即可使差异变小。然后,当矩形太小时,添加一列以使其稍大一点。这样做之后,看起来后排机器人将始终至少具有其他排机器人的一半。 更新 获得尺寸后,将其与当前尺寸进行比较。如果新维度的边界较大,则对于每个等级,从下面的等级弹出bot,并将它们推入当前等级,直到该等级上的bot数量等于正面。继续执行该算法,直到获得第二名。使用此算法,机器人将可以有效地适应新的维度。在那之后,我只是将新旧的推到后排。对于新的门面较小的情况,该算法略有不同,但是您可以弄清楚! 接下来还有两个问题。删除,以及一种更灵活的添加方法,其中不必将新漫游器分配给后排,而是在添加新漫游器时最接近它们的位置。

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.