游戏开发

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

4
我应该如何处理物理引擎中的微小物体?
我正在制作用于掷骰子的3D物理引擎。到目前为止,骰子为1x1x1m,重力为9.82 m / s ^ 2。当然,这看起来并不现实,因为骰子会以看起来有点慢的方式响应所有内容。 为了解决这个问题,我尝试仅改变所有尺寸以使骰子沿侧面大约0.02m。反过来,这使我的反质量和反惯性矩阵获得了非常大的值,从而导致了数值不稳定。 处理此问题的最佳途径是什么?我可以保持规模扩大,以使骰子为1x1x1并仅改变作用力的质量或大小吗?还是应该调整其他内容? 我猜如果您使用大型宇宙飞船或类似物体制作游戏时,可能会遇到同样的问题,因此我希望有人遇到过类似的问题。

3
Unity是否已有对时间表的支持?
我正在计划开发Unity3D中的游戏,并试图与引擎已经提供的功能以及我必须自己编写的功能保持一致。 游戏本身将是一种节奏游戏,这意味着同步音频和图形事件,以便它们始终在应有的时间播放。我要避免的是潜在的滞后情况,其中音频或图形开始比其他速度更快。 当我们回到大学时,在我的游戏设计课程中讨论这种类型的协调系统时,我的教授将此类型的设计称为“时间轴”课程。这样的想法是,您可以实例化这些对象中的一个或多个,以不同的速度进行进度,安排将来发生的事情,并同步周期性事件。但是,将其称为“时间轴”类似乎仅限于我的教授本人,因为一直在搜寻某个API是否具有“时间轴”功能是徒劳的。 这种功能是否有更通用的名称?Unity是否有任何预先存在的方法来协调此类事件的调度,或者这是需要在引擎上构建的东西吗?如果可以的话,希望您能接受一些教程!

4
为3D标题中的关卡内容设置内容预算(例如多边形数)的可实现方法是什么?
在回答有关swquinn的问题时,答案提出了一个更相关的问题,我想听听这个问题的答案。我将发布我们自己的策略(保证我不会接受它作为答案),但我想听听其他人的意见。 具体来说:您如何为内容团队设置合理的预算。通常,开发中首先要问的一个问题是:我们的多边形预算是多少?当然,如今,很少有顶点/多边形数量是限制因素,而是着色器复杂性,填充率,照明复杂性都发挥了作用。 内容团队想要的是工作的一些硬性数字/限制,以便他们有合理的期望,即一旦内容真正进入引擎,它们的内容就不会太繁琐。鉴于“取决于”不是一个特别有用的答案,我想听听一种策略,该策略使我能够为他们提供可行的限制,而不会导致a)误导或b)错误。


4
如何检测在线碰撞中的2D线?
我是一名Flash动作脚本游戏开发人员,他对数学有些落后,尽管我发现物理学既有趣又很酷。 作为参考,这是与我正在制作的游戏类似的游戏:纠结的Flash游戏 我已经使这个复杂的游戏几乎完全完成了逻辑。但是,当两条线相交时,我需要那些相交或“缠结”的线来显示不同的颜色。红色。 如果您可以提出一种检测线段碰撞的算法,那对您来说真的非常好。我基本上是一个喜欢“视觉上”而非“算术上”思考的人:) 编辑:我想添加一些图表,以使想法更清晰地传达 PS我正在尝试使功能 private function isIntersecting(A:Point, B:Point, C:Point, D:Point):Boolean 提前致谢。


1
给Bomberman AI智能炸弹放置
我正在尝试为Bomberman实现AI算法。目前,我有一个可行但不是很聪明的基本实现(当前的AI在放置炸弹方面过于狂热)。 这是我尝试实现的第一个AI,我有点受困。我想到的更复杂的算法(我希望做出更好决策的算法)过于复杂,无法成为好的解决方案。 您对实施Bomberman AI有哪些一般提示?是否有根本不同的方法使机器人更具防御性或进攻性? 编辑: 当前算法 我当前的算法是这样的(伪代码): 1)尝试放置一颗炸弹,然后从所有炸弹中找到一个安全的牢房,包括刚刚放置的炸弹。要找到该单元,请在四个方向上进行迭代。如果您可以找到任何安全的发散单元并及时到达(例如,如果方向是向上或向下,则在此路径的左侧或右侧找到一个单元),那么放下炸弹并移动是安全的在那个方向上。 2)如果找不到并确保发散细胞的安全,请不要放置炸弹,然后再看一次。这次,您只需要在一个方向上寻找一个安全的牢房即可(您无需与之分离)。 3)如果您仍然找不到安全的牢房,请不要做任何事情。 for $(direction) in (up, down, left, right): place bomb at current location if (can find and reach divergent safe cell in current $(direction)): bomb = true move = $(direction) return for $(direction) in (up, down, left, right): do not place …
13 algorithm  ai 

2
确保可以解决带有电梯的房屋地图迷宫?
在我的游戏中,我们从侧面看到房屋的地板,英雄可以乘电梯-电梯可以向上(向下一个向上的电梯),也可以向下(向下一个向下的电梯),具体取决于箭头如图所示,并且总是有一对正好相连的两个电梯。尽管英雄可以水平自由移动,但这是英雄可以垂直移动的唯一方法。房屋地图是一个随机的11x5网格,其中包含不同的项目,并且在最左侧,最右侧以及有时在两个中间位置之一处设有不可逾越的墙: 我的问题:如何确保地图始终随机且始终可求解,并且英雄可以从最低层的左侧开始,始终可以通过最高层的任何向上举升离开地图? 为了值得,我正在使用Lua语言进行开发。非常感谢!
13 2d  maze 

5
游戏导演和游戏制作人有什么区别?
我浏览了坂口弘信(Hironobu Sakaguchi)从事过的游戏列表,发现他对每个游戏的评价都不同。仅列举该列表中的几场比赛,他就被认为是: 最终幻想1至5的导演,《最后的故事》 《最终幻想6、7、9和战术》的制片人,《迷失的奥德赛》 Xenogears的执行制片人,无聊的故事,最终幻想8 这让我意识到,我不知道这些职位之间的区别,以及他们对游戏开发过程有何贡献。

3
偏向保守的随机游走
我有一个精灵,它具有Velocity和Position,它们存储为Vector2。在每个Update循环中,将速度加到该位置。 我想给精灵一个第三向量Target。可以在任何迭代中给出新的目标。我希望子画面本质上以随机行走模式移动,但是必须公开两个参数: 典型的随机游走同样有可能增加或减少到任何给定距离Target(加上切向运动的机会很小)。我必须能够偏向我的随机游走,以便尽管仍然是随机的,但子画面“决定”的方向应该更可能使其接近Target。 随机游走应该是“平稳的”-子画面不应迅速改变方向,因为对玩家而言,这看起来像是“忽悠”或“颤抖”。它应该以这种方式逐渐转向,随机移动,而平均时则逐渐靠近。 有什么好的简单方法呢?如果可能,给出答案作为Vector2 RandomWalk(Vector2 target)方法。 我已经有一个NextGaussian(mean, stdev)可用的方法,如果有帮助的话。

2
逼真的金属着色器
如何创建一个好的金属着色器? 对于不同的金属,说或多或少地腐蚀/生锈等等。 我知道与普通材料的不同之处在于,金属应该使镜面反射光“着色”,但是例如当我用金做到这一点时,它看起来只是“黄色”,而根本不是金属。 任何帮助表示赞赏!

1
如何在图块地图的顶部定义复杂的碰撞区域?
正如许多人所建议的那样,我正在使用Tiled地图编辑器为我的游戏创建地图,这特别棒,因为libgdx框架还提供了Tiled地图的API。 我知道我可以在地图编辑器中定义是否可折叠的图块,这样我就可以处理代码中的任何冲突。但是我目前处于需要将图块划分为可碰撞和不可碰撞区域的情况。我认为可以手动定义两个区域的边界点和界限,并以编程方式处理它。但这是很多耗时的工作。 因此,我在Google上搜索了很多东西,然后找到了这个物理身体编辑器。这似乎是使我上面提到的过程自动化的好工具。但是,该系统可以处理每个解压缩的图像,即使将图像解压缩以进行操作,我也不确定它是否可以正常工作。 我想知道是否有更好的方法来完成定义碰撞区域的整个过程。任何建议将不胜感激。

4
如何通过为Windows创建游戏来赚钱?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我要创建一个游戏。是的,有一些游戏,但是它们会逐渐积累。因此,一开始会有一场比赛。 该游戏将使用WPF和WCF技术用C#编写,包括服务器端游戏处理,统计信息等。 是的,我只是辞掉了目前在一家公司的工作,所以我需要继续生活下去。 那么,如何开始在这一奇妙的发展中赚钱呢?一旦我喜欢开发并实际玩那些游戏(五子棋,海战等),这对我来说将是一件很愉快的事情? 我只看到两种方法-一种是寻找投资者,另一种是至少完成一部具有100%服务器正常运行时间的游戏并开始分发。 但是我需要一些建议。实际上,我需要帮助-说明如何准确地完成所有这些操作以及如何避免饥饿:)。

2
如何获得与《魔兽世界》类似的发光效果?
我最近使用高斯滤镜实现了发光效果,但无法获得我想要的全部效果。我很想知道是否在WoW中完成了某些发光效果。喜欢这张图片: 剑周围真的有很好的发光效果。怎么做?另外,有时在《魔兽世界》中,您会看到这些发光效果发挥了生命。就像这张照片中的紫色光芒: 这些通过粒子效果完成吗?是否有任何好的资源/教程可以帮助某人学习如何实现这些效果?
13 particles  glow 

2
我应该如何处理比近剪切平面更靠近眼睛的剪切顶点?
我正在用JavaScript滚动自己的3D引擎,并且仅使用画布绘图,而不使用WebGL。这是另一个Minecraft克隆版本;我喜欢盒子,不要判断我。 到目前为止,除一件事外,其他所有东西都运转良好:在3D模式下,当某些顶点在接近裁剪平面的后面时,它们在屏幕上的投影变得怪异(假定用于追踪平面的其他顶点在前面)。 我尝试剪切这些点,但是随后我可以看到使用这些顶点的曲面。在WebGL / OpenGL中,图形卡可以处理这些点,并且可以正确渲染平面,但是我无法使用硬件,因此我必须自己编写代码。 我不太确定该怎么做,目前我想到的最后一件事是反转玩家近裁剪平面后面的点的投影,这很合逻辑,因为我必须将一个点投影到前面的屏幕上顶点 这是我的想法: 以下是一些图像说明发生了什么: 从远处看,蓝色框呈现得很好。 当某些顶点在播放器的接近裁剪平面的后面时,我会进行反向投影,但看起来不正确: focalLength *= -1; 2d.x = x*focalLength/z; 2d.y = y*focalLength/z; 请注意,由于用于绘制其面的所有顶点都在播放器后面,因此后面的灰色框已被完全删除。 这是在向上或向下查找时发生的情况。 我不知道该怎么做背后的数学运算,我希望有人已经遇到了同样的问题,可以为我提供帮助。

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.