游戏开发

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

4
星际经济模拟
我正在设计一款让人想起Elite或Escape Velocity的游戏,那些古老的太空交易游戏,您要在太空中扮演旅行商人。 我希望游戏的经济至少类似于真实的经济。我可以查看哪些可用资源以了解执行模拟所需的算法? 一个很大的障碍是我在数学方面非常可怕。因此,简单的解释将是理想的。 我认为星际经济与全球经济没有什么不同。某些物品只能在某些地方制造(由于资源和技术水平的原因),运送物品需要花费时间和金钱,不同地方的人们需要不同的物品……只是城市,而不是城市。 谷歌搜索“经济学模拟算法”和类似术语几乎没有用处,我没有什么背景需要了解。 有人知道我可以研究的任何有用资源吗?

5
在浏览器中(如矮人堡垒)构建ascii地图和移动角色的好的技术解决方案?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 5年前关闭。 我想为我的游戏网站构建一个网络应用程序,其中涉及使用文本字符来表示动物和人,并让它们通过独立的(服务器驱动)AI在地图方块上移动。 因此,本质上是浏览器中的矮人要塞地图: 移动的生物,生物,npc和pc。尽管不是我不想达到这样的规模,但我可能随时会开始显示大约四分之一的内容。 某些背景/固定瓷砖可能会被静态加载。但是对于生物/动物和可以移动的物体,我不确定哪种技术解决方案最有效。 我知道,<canvas>尽管我不知道其功能是否适合此用例。当然,将需要一定数量的javascript。 是否有适合该用例的javascript库或canvas库?我不知道的另一种技术?有人知道做过任何与此类似的网站的例子吗,这样我才能从中得到启发。

6
在评估制作游戏的库,引擎和框架时应该考虑什么?
我要去做个游戏。我注意到有很多可用的游戏引擎,库和框架,并且在确定使用哪个引擎时遇到了一些麻烦。 我已经对某些编程语言非常满意,但是有些我根本不了解。我不反对学习新的编程语言(如果有帮助的话),但我的真正目标只是制作自己的游戏。 我应该使用什么标准来比较引擎,库和框架之间的相互比较,以便可以决定哪个标准可以使我最有效率地完成比赛?

2
搅拌器-烘烤法线贴图-奇怪的颜色
我有一个金属鼓网,当烘烤其法线贴图时,会得到怪异的颜色(请参见所附图片)。我说的是颜色的水平渐变。我的网格上没有这样的变形,颜色为何如此?我尝试了各种空间(相机,世界等),但仍然很糟糕(尽管水平梯度会随着每个空间而变化)。切线空间也将全部返回块状蓝色。 有人可以告诉我如何从网格物体中获得良好的法线贴图吗? ===更新 解决了,非常感谢LukeB。仍然存在一些问题,即要稍微扩展两个重叠版本之一(例如低分辨率),以获得真正好的结果,但是应该这样做。 ===更新2 在进一步遵循Luke B的建议之后,我在我的低分辨率网格上使用了多分辨率修改器,并从那里进行了烘焙。它看起来比以前要好得多,颜色伪影已降至最低,实际上,在GIMP中进行了一些更正后,它非常有用:

2
何时/何地更新组件
我不是使用通常的继承重型游戏引擎,而是使用基于组件的方法。但是,我很难说明让组件在哪里工作。 假设我有一个简单的实体,其中包含一个组件列表。当然,实体不知道这些组件是什么。可能存在一个使实体在屏幕上处于某个位置的组件,可能还有一个组件在屏幕上绘制该实体。 为了使这些组件正常工作,它们必须在每一帧进行更新,最简单的方法是遍历场景树,然后为每个实体更新每个组件。但是某些组件可能需要更多管理。例如,使实体可碰撞的组件必须由可以监视所有可碰撞组件的组件来管理。使实体成为可绘制实体的组件需要某人监督所有其他可绘制组件以找出绘制顺序,等等。 所以我的问题是,在哪里更新组件,将它们带给管理者的干净方法是什么? 我已经考虑过为每种组件类型使用单例管理器对象,但是它具有使用单例的通常缺点,一种缓解此问题的方法是使用依赖项注入,但这听起来像是针对此问题的过大杀伤力。我还可以遍历场景树,然后使用某种观察者模式将不同的组件收集到列表中,但是这样做似乎浪费每一帧。

2
函数式语言在Android上的性能如何?
我觉得这是这个问题的特例,我觉得这是特别相关的。 我正在开发适用于Android的游戏,并且正计划在libgdx中使用Scala。我正计划制作一款性能出色的游戏,但不一定是高性能游戏。我看过libgdx关于Garbage Collection的文档,这使我想到: 函数式编程意味着许多不可变的对象。 因此,使对象变异需要制作一个新对象。 因此,许多对象会被垃圾回收,从而降低性能。 这是一个无法解决的问题吗?Android上的功能样式是否还有其他重大问题?
10 java  android  libgdx 

1
根据前轮方向和速度计算自行车方向
我有一个简单的自上而下的自行车游戏,我正在尝试增加转向功能。我想知道如何使用前轮的方向来确定自行车的方向和速度。 void Update () { //Get input from user Vertical: 0 to 1, Horizontal -1 to 1 float forwardInput = Input.GetAxis("Vertical"); float sidewaysInput = Input.GetAxis("Horizontal") * m_steeringAmount; // Turn front wheel m_frontWheelTransform.localEulerAngles = new Vector3(0, sidewaysInput, 90); // get speed and drag float speed = m_velocity.magnitude; Vector3 forwardDrag = -m_forwardDragConstant …
10 physics  car 

4
有C的声音库,可以从代码生成声音样本吗?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我正在为C中的复古游戏开发引擎。我正在寻找一个声音库,该声音库可以从代码中产生芯片声音...我想为引擎创建自己的简单Chiptune跟踪器,以创建音乐。这样的事情存在吗? 我也对在项目中使用.nsf文件的库感兴趣。 我正在使用Linux进行开发。
10 c  sound  music  linux 

4
是否有使用功能性编程语言的游戏引擎?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 是否有任何游戏引擎使用类似于Scheme,Common Lisp,Clojure或JavaScript的功能编程语言? 我已经尝试过Unity3D,但是它们的“ JavaScript”实际上不是JavaScript,是强类型的并且不起作用。
10 functional 

5
构造小行星
我正在尝试对这颗小行星进行纹理处理,使其看起来合理。我虽然想念什么。 遵循本教程,到目前为止,我已经掌握了这一点。 现在我不明白下一步:您如何解决接缝问题?二十面体球体中有一个不可避免的接缝。好。如何绘制纹理,使其在应用于对象时看起来无缝?我怎么知道哪条边连接到哪一边?我猜它会对称吗? 这似乎很难构造简单的球体。我在这里缺少一些技巧吗?

1
C#/ XNA获取硬件鼠标位置
我正在使用C#并尝试获取硬件鼠标的位置。我尝试的第一件事是简单的XNA功能,该功能易于使用 Vector2 position = new Vector2(Mouse.GetState().X, Mouse.GetState().Y); 之后,我也绘制了鼠标,并且与Windows硬件鼠标相比,带有xna提供的坐标的新鼠标“松弛了”。我的意思是,它落后了几帧。例如,如果游戏以600 fps的速度运行,则诅咒会响应,但是以60 fps的软件鼠标延迟不再可接受。因此,我尝试使用我认为是硬件鼠标的工具, [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] public static extern bool GetCursorPos(out POINT lpPoint); 但结果完全一样。我还尝试获取Windows窗体光标,这同样是一个死胡同-可行,但有同样的延迟。杂乱无章的xna功能: GraphicsDeviceManager.SynchronizeWithVerticalRetrace = true/false Game.IsFixedTimeStep = true/fale 确实有一些明显的原因改变了延迟时间,但是最重要的是,无论它是否仍在默认的Windows鼠标后面。我在某些游戏中看到过,它们提供了硬件加速鼠标的选项,而在其他游戏中(我认为)默认情况下已经存在。任何人都可以就如何实现这一目标提供一些指导。

3
在六角形网格上显示范围
这是情况。 我有一个六角板,上面有一个单位,具有速度或移动值。4。地形不同,成本也不同。当我单击该单位时,游戏应向我显示移动范围。 我的解决方案是使用A *寻路来检查4个范围内的每个十六进制,如果路径成本小于4,则此范围内的十六进制。最后,游戏很好地向我显示了该单元的范围。 我的问题是:是否有其他解决方案可以在十六进制网格或正方形网格上搜索范围,因为即使我为自己在解决方案中所做的事情感到非常自豪,我认为这还是有点夸张了吗? 是什么让我问这个问题?我注意到,当单位速度为4或6甚至8时,我的计算机达到计算范围的时间确实不错,但是当速度为10或更高时,我注意到我需要等待几秒钟来进行计算在真实游戏中,我宁愿看不到这样的东西,而且我的A *寻路功能已经过优化,因此我认为我的解决方案是错误的。 感谢您的任何答复。

2
如何在2.5D透视图中渲染地形,例如在《不要挨饿》游戏中?
我在制作2D侧面滚动游戏(例如Terraria)方面有经验,但是现在我想挑战自己,制作一款具有2.5D视角的游戏。我要模仿的游戏是《不要挨饿》。现在,我的重点是弄清楚如何渲染地面。我很难弄清楚它们是如何生成地面,然后渲染地面的。我认为他们渲染地面的方式是,首先在某些绘画程序中对地面进行绘画,然后以某种方式处理该平面图像,使其看起来具有深度。 我对如何实际渲染这种类型的地形完全感到困惑。我希望地形具有以下特征: 看起来像《不要挨饿》中的地形,这是一个视频,显示了《不要挨饿》中的地形 地形将是平坦的,并且摄像机的角度和视角将被固定 任何提示和提示将不胜感激,在此先感谢您。 (我正在使用轻量级Java游戏库(LWJGL)在Java中工作。)

1
OpenGL ES使用纹理创建模具效果
环境 这是我正在工作的环境: OpenGL ES 2.0 iPhone模拟器和iPhone 4 使用NVIDIA GeForce GTX 680MX的iMac 27“ 2048 MB 希望能有所帮助。 问题 正在从多个来源和多个站点(包括Stackoverflow)进行高低搜索,但是没有有效的模具效果。 我所拥有的是: 黑色的“ S” 不是多边形,而是在与背景图像相同的宽度和高度的矩形四边形上绘制的纹理。 我正在尝试做一个模版效果,其中背景和黄色小家伙只有在黑色“ S”纹理内时才可见。 在我的片段着色器中,我有以下内容: varying lowp vec4 destinationColor; varying lowp vec2 TexCoordOut; uniform sampler2D Texture; uniform highp float TexScale; void main() { highp vec4 color = texture2D(Texture, TexCoordOut); if(color.a == …

3
窄相碰撞检测算法
冲突检测分为三个阶段。 Broadphase:在所有可以交互的对象之间循环,如果可以加快循环,则允许误报。 Narrowphase(窄相):确定它们是否碰撞,有时如何碰撞,没有误报 解决方法:解决冲突。 我要问的问题是关于窄相的。有多种算法,复杂度和准确性不同。 Hitbox交集:这是一种后验算法,具有最低的复杂度,但也不太准确, 颜色交集:每个像素的Hitbox交集,后验,像素完美,时间上不准确,复杂度更高 分离轴定理:更常用,对三角形准确,但是a后验,因为它找不到边,考虑到最后一帧,它更稳定 线性射线广播:A先验算法,对半逼真的物理学很有用,它可以找到相交点,甚至比SAT还要精确,但是复杂性更高 样条插值:先验,比线性射线更精确,更复杂。 我可能已经忘记了更多。问题是,何时使用SAT更好,何时使用射线,何时花键以及是否有更好的选择。

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.