游戏开发

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



3
如何避免事件计划程序的单例模式?
我想为我的游戏制作一个事件调度程序,我基本上希望能够安排一个游戏事件的触发时间。这可以是一次触发,也可以是周期性触发(触发事件“ E_BIG_EXPLOSION”每5秒钟触发一次...)。 诱人的是,这可能是使用Singleton的好地方,但是Singleton可能非常邪恶,它们容易像疾病一样传播……所以我不惜一切代价避免使用它们。 在这种情况下,您建议采用哪种设计避免单例使用?

3
如何在不使用外部库的情况下在XNA中获得精美的小文本?
在XNA中,spritefont技术太可怕了。Nuclex的工作做得好得多,但我不想有任何外部参考,我的游戏几乎完成了。 当使用Sansation或Quicksand等字体时,较小的字体看起来很糟糕。太糟糕了! 是否有已知的解决方法?我尝试将fontsize设置为极高,然后在spritebatch中按比例缩小它们,但是没有运气。
13 xna  fonts 

3
2D游戏碰撞响应:SAT和沿给定轴的最小位移?
我正在尝试在自己制作的2D游戏中实现碰撞系统。分离轴定理(如metanet的碰撞教程所述)似乎是处理碰撞检测的一种有效且健壮的方法,但我不太喜欢它们使用的碰撞响应方法。通过沿最小重叠轴盲目移动,该算法仅忽略了运动对象的先前位置,这意味着它在进入静止物体并随后反弹时不会与静止物体发生太多碰撞。 这是一个很重要的情况的示例: 根据上述SAT方法,该矩形将简单地从垂直于其斜边的三角形中弹出: 但是,实际上,矩形应该停在三角形的右下角,因为如果矩形沿着其位移矢量连续移动,那将是第一个碰撞点: 现在,这在游戏过程中可能实际上并不重要,但是我很想知道是否存在一种以这种方式有效且普遍地获得准确位移的方法。在过去的几天里,我一直在为之绞尽脑汁,我还不想放弃! (从StackOverflow交叉发布,希望这不违反规则!)

1
如何用OpenGL模拟PSX的图形?
我想知道要设置哪些选项(或着色器),以便我的OpenGL游戏看起来像Playstation 1游戏。我知道它可能无法100%实现,因为PSX使用的电视和电视渲染的显示器不同。谢谢。:)
13 opengl  emulation 

7
最佳(最流行?)纹理化图像格式[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 好的,所以我将C ++与OpenGL一起使用,并且我将创建一个加载器以为3D游戏加载纹理。(但是纹理是2D的)。我决定选择透明度,即使我决定不使用它。我需要像样的质量,尽管不一定要一流。你们对格式有什么建议(PNG,TGA等)。另外,也许可以使其易于创建装载程序(我将不使用已经创建的装载程序)。而且,如果您有任何链接/提示来帮助加载程序,那将不胜感激。
13 c++  opengl  textures 

4
如何使我独特的音乐创意变为现实?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 2年前关闭。 对于游戏背景音乐,我有几种不同的音乐想法,但是我没有音乐技能或制造它们的设备。我最能做的就是敲打它们或敲鼓(如果我是鼓)。有没有使我的音乐真实的程序或其他方法? 例如,我最近一直在尝试使用GarageBand的音乐键盘来创作音乐,但它们没有我想要的确切节拍,例如鼓的特定拍子。
13 music 

2
渲染图块时如何处理凹凸不平的图块?
这是我不确定要处理的地图。如您所见,顶壁比底壁和侧壁要大得多(这也是我的角落的问题,这些角落是奇怪的形状(更像是L,然后是正方形),以及比我当前的瓷砖大40x40px )。 我还附加了我要用于瓷砖的瓷砖板,以向您展示与其余瓷砖相比,边角和顶部的外观。 我在想的是,如果我使用图块的宽度和高度而不是设置的WxH,我也许可以使用与我相同的数组绘制它们?我不知道这将如何运作,但是具有不同值的方块会成为玩家/ NPC无法踩到的方块,那么这可能不是问题,再次我甚至不确定那是否可行解。 我的代码,以防您想了解我当前的处理方式:Map.java(pastebin)(edit:im 未处理它,意味着我目前在处理地图) tl; dr-如何获取2d外观的地图并更改为其他大小的地图?还是有更好的方法来做我想做的事情?谷歌搜索时应该寻找一种方法的名称吗?
13 2d  java  tiles  maps 

1
如何渲染部分透明的纹理?
早安StackOverflow,我现在遇到了一个问题,因为我似乎找不到使用openGL透明渲染纹理的一部分的方法。 这是我的设置:我有一个四边形,代表一堵墙,上面覆盖了此纹理(已转换为PNG以进行上传)。显然,除了玻璃板之外,我希望墙是不透明的。墙后还有另一架飞机应该显示风景。我想从窗户后面看风景。每个纹理都是带有Alpha通道的TGA。 首先渲染“风景”,然后渲染墙。我认为足以达到这种效果,但事实并非如此。窗口应该是透明的部分是黑色的,只有当我经过墙壁时才会出现风景。 启用该功能后,我尝试使用GLBlendFunc()摆弄,但似乎无法解决问题。 我是否忘记了重要的一步? 谢谢 :)

3
管理游戏中活动的最佳方法?
我正在开发一款游戏,该游戏需要偶尔进行一些游戏内事件。一个很好的例子是教程。您开始游戏,并且在游戏中的几个点发生了一个事件: 您遇到第一个敌人,游戏暂停,并且您收到关于如何杀死它的解释。 您杀死了第一个敌人,您收到一条“好工作”消息。 您将获得一个新项目,即带有项目统计信息弹出菜单。 等等等 我正在研究的游戏是一款益智游戏,其游戏规则几乎相同,因此将所有这些事件单独编码为单独的级别似乎效率不高。 我应该以某种方式在XML等外部源中定义这些事件吗?然后编写一个解释器,以读取XML并设置级别的事件要求?我不确定如何定义一个事件,例如在杀死两个敌人时应该发生的事件。 需要明确的是,我并不是在寻找最佳的编程语言或脚本语言来执行此操作,而是在寻找最佳的处理方法。 谢谢! 编辑: 由于我的问题很难理解的第二个例子: 我遇到的问题是要以总是几乎相同的过程在游戏中添加一些额外的动作。就像RPG战斗一样,每个人都有转弯,选择技巧等-总是一样。但是,如果我想在两者之间显示过场动画,该怎么办?修改整个游戏结构,使其在包含过场动画的情况下进入经过改变的战斗等级,似乎效率很低。我想知道这通常是怎么做的。

3
弹丸运动-箭头
在2D游戏中,我只想绘制飞行中箭头的轨迹。使用下面的代码,轨迹(抛物线)看起来正确,但是角度(或旋转)或箭头不正确。 float g = -9.8f; float x = (launchVelocity * time); float y = (launchVelocity * time) + (0.5f * g * (float)Math.Pow(time, 2)); float angle = (float)Math.Tanh(y / x); 我想念什么?谢谢。


1
nVidia的CUDA是否适合执行寻路计算?
我想知道在某些情况下是否值得在GPU上执行寻路(使用nVidia的CUDA或同等产品),或者这是否会浪费精力。我想这种情况将是一个无头的多人服务器,负责为机器人寻找路径。 我对使用导航网格物体进行A *寻路特别感兴趣,但是如果有另一种寻路算法可以从GPU执行中受益更多,我很想听听它。

2
对于特定的游戏引擎8位和16位游戏引擎,还有哪些其他在线描述?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 我在Sonic游戏中找到了对引擎的很好描述。它大致描述了该引擎如何为编写自己的副本的人们工作。就我而言,我只是想对有关许多8位和16位游戏引擎如何在其各自的控制台上工作的总体视图感兴趣。 对于特定的游戏引擎8位和16位游戏引擎,还有哪些其他在线描述?

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.