游戏开发

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

6
OpenGL是否适合2D游戏?
我已经自学了一段时间的OpenGL库,并想开始制作游戏。但是,为了更简单的介绍,我想从2D开始,例如自上而下的Pokemon风格的游戏。 这是一个好计划,还是OpenGL专为3D设计?
44 opengl  2d 

5
“按开始”屏幕的目的是什么?
许多游戏都是从介绍视频和供应商视频开始的,然后在实际主菜单之前显示“ Press Start”屏幕。 我从来没有弄清楚这个目的。为什么不直接进入主菜单?对我而言,唯一可能的解释是,当连接多个控制器时,它可以识别玩家想要使用的控制器。

1
AAA游戏如何在色调映射着色器中使用此纹理?
我发现《战地风云3》和《圣徒之街三号》在其最终的色调映射阶段都使用了这种纹理。任何人都可以共享指向有关如何使用此纹理的文章的链接吗? 更新:由于网上几乎没有任何实现颜色分级的示例,我将发布XNA 4.0的快速而肮脏的示例。除了从头开始在GPU上构建默认的2d颜色图,将其内容复制到CPU上的3d纹理并使用答案中提供的文章中的着色器代码执行实际的颜色校正外,此操作什么都不做。 XNA 4.0色彩校正样本 如果您想知道该怎么办,请看这里: http://the-witness.net/news/2012/08/fun-with-in-engine-color-grading/ 简而言之,作者在那里解释,您如何基本上可以使用顶部的默认颜色分级调色板来制作正常游戏图像的屏幕截图,在photoshop中执行屏幕截图颜色校正,将变形的颜色校正调色板剪切并将其复制到引擎中并具有颜色校正会自动应用于每个游戏场景。
43 textures  hlsl 

3
为什么教程使用不同的方法进行OpenGL渲染?
http://www.sdltutorials.com/sdl-opengl-tutorial-basics http://www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/ 这两个教程使用完全不同的方法来获得几乎相同的结果。第一种使用类似的东西glBegin(GL_QUADS)。第二个使用vertexBufferObjects基于GLEW的着色器之类的东西。但是结果是一样的:您获得了基本形状。 为什么存在这些差异? 第一种方法似乎更容易理解。复杂的第二种方法的优点是什么?

6
让游戏资源睁开眼睛是不专业的吗?
在经历了复杂的API和基本上让我筋疲力尽的zip文件之后,我在打包资源方面仍然遇到问题,我以为我也可以将游戏用人眼可见的资源打包在一个简单的文件夹中。 那会不专业吗?就个人而言,我什至从未见过游戏能够做到这一点,这基本上意味着玩家可以编辑游戏中他想要的任何东西,例如进入map1.txt并在某处添加X来创建墙或更改玩家精灵。到MS PAINT中的小马。
43 c++  assets 

8
如何执行确定性的物理模拟?
我正在创建一个涉及刚性物体的物理游戏,玩家可以在其中移动零件和零件来解决难题/地图。游戏中一个非常重要的方面是,当玩家开始进行仿真时,无论其操作系统,处理器等如何,它在任何地方都可以运行。 存在很多复杂性的空间,并且模拟可能会运行很长时间,因此,对于浮点运算,物理引擎必须完全确定,这一点很重要,否则解决方案似乎可以在一个玩家的机器上“解决”并在另一个上“失败”。 如何在游戏中获得这种确定性?我愿意使用各种框架和语言,包括Javascript,C ++,Java,Python和C#。 Box2D(C ++)以及其他语言的等效语言吸引了我,因为它似乎可以满足我的需求,但是它缺乏浮点确定性,尤其是对于三角函数。 到目前为止,我所看到的最好的选择是Box2D的Java等效项(JBox2D)。它似乎通过使用StrictMath而不是Math用于许多操作来尝试浮点确定性,但是由于我尚未构建游戏,因此尚不清楚此引擎是否可以保证我需要的一切。 是否可以使用或修改现有引擎以满足我的需求?还是我需要自行构建引擎? 编辑:如果您不关心为什么有人需要这样的精度,请跳过本文的其余部分。发表评论和回答的人似乎都认为我正在寻找不该做的事情,因此,我将进一步解释游戏的工作原理。 给玩家一个难题或关卡,其中包含障碍物和目标。最初,模拟未运行。然后,他们可以使用提供给他们的零件或工具来构建机器。一旦按下开始,模拟就会开始,并且他们不再可以编辑其机器。如果机器解决了地图问题,则玩家已经击败了关卡。否则,他们将必须按Stop(停止)按钮,更换机器,然后重试。 一切都需要确定性的原因是因为我计划通过记录每台机器的位置,大小和旋转,来生成将每台机器(一组试图解决一个关卡的零件和工具)映射到xml或json文件的代码。这样,玩家就可以共享解决方案(由这些文件表示),以便他们可以验证解决方案,相互学习,举行比赛,合作等等。当然,大多数解决方案,尤其是简单或快速的解决方案不会因为缺乏确定性而受到影响。但是解决真正困难水平的缓慢或复杂的设计可能会出现,而那些可能会是最有趣且值得分享的设计。

12
公平竞争环境:惩罚更好的球员还是增强更糟糕的球员?
我正在做一个1对1的游戏,其中每个玩家都用相同的操纵杆控制一辆汽车。玩家的目标是在其他玩家之前到达目标目的地。 根据控制汽车的技能将游戏的玩家分为几类,例如,技能级别[1,2,3,4,5],其中5为最高技能级别。 玩游戏时,玩家无意在技能水平上上下跳。在给定的时间段(例如一周)之后,技能水平将更新。这不会显示给玩家。 对我来说,目标是使一对一的玩家组合成为玩家50/50的获胜机会。 示例:玩家1(技能级别5)与玩家2(技能级别1)的每个玩家都应具有50%的变化,使其首先到达目标目的地。 我还没有找到关于最佳实践是限制好玩家的能力还是增强坏玩家的能力或两者结合的研究。 这样做的目的是让青少年与有能力的健全的朋友或家人竞争。因此,不可能不让好玩家与坏玩家对抗。现场测试的数据表明,由于痉挛,残疾青少年的身体状况比身体健全者差。 我正在寻找有关如何解决此问题的意见;研究,您的经验,其他游戏的表现如何?有什么共同的建议吗?

3
基于音频的游戏(例如Audiosurf和Beat Hazard)如何工作?
注意:我并不是在问如何克隆其中之一。我在问他们如何工作。 我敢肯定,每个人都看过使用自己的音乐文件(或提供的音乐文件)的游戏,并且这些游戏会根据这些文件产生关卡,例如Audiosurf和Beat Hazard。 这是 Audiosurf 的视频,以展示我的意思。 如果您提供一首沉重的金属歌曲,那么您会从Vivaldi之类的游戏中获得完全不同的障碍,敌人和游戏体验。 我感兴趣的是这些游戏的工作方式。我对音频(数据方面)了解不多,但是他们如何处理歌曲以了解它何时稳定下来或何时加速呢?我想他们可以只输入音调值(假设音频文件中存在这些东西)来形成一个级别,但是并不能完全解释它。 我正在寻找一个解释,一些关于这种事情的文章的链接(我肯定有一个术语),甚至是这种事情的开源实现;-) 编辑:经过一些搜索和一点帮助之后,我发现了有关FFT(快速傅立叶变换)的信息。这也许是朝着正确方向迈出的一步,但这对我来说没有任何意义,也不适合我对波的物理知识。

6
实践中基于组件的游戏对象系统[关闭]
让我们看看成功的历史。哪些流行的游戏(和游戏引擎)是使用基于组件的游戏对象系统构建的?每个答案应包含: 游戏标题(每个答案一个) 作者/公司 年 开发时间(可选) 链接到验尸(可选) 链接到文档/源代码(可选)

8
如何学习2D动画?[关闭]
在哪里可以学习如何很好地制作简单的2D动画?还是真的只是在Photoshop中逐字地绘制某事物的每一帧?有技巧或窍门吗?帮助入门的教程? 另外,有哪些软件选项(最好是开源的,甚至只是免费的)?
43 2d  animation 

2
清除高分表以删除令人反感的字词/用户名
我正在为客户构建一个应用程序,他们要求他们提供一个公开可见的高分表。它将显示其用户名,这是玩家可以输入的自由文本字段。玩家人数可能极少-我希望最多每天10s或100s。 用户名字段将超过3个字符。这些名称将绑定到Firebase Auth帐户,但这些名称是通过该应用程序创建的,而不是与Google Play或Facebook帐户之类的名称相关联。我认为他们可以删除明显令人反感的名字,但是他们不会有大量资源用于人工审核。 当我还是个小伙子的时候,我当地的拱廊橱柜高分表中的100%由一堆脏话和冒犯性词语(或此类词语的变体)组成。 我无法想象互联网已经完全改善了问题。 如何清理用户名以使其安全显示?


1
如何减少轮廓发光效果中的锯齿?
我正在尝试在《 Left 4 Dead》游戏中复制发光的轮廓效果。即使对象被遮挡,该效果也会使对象轮廓发光。这是效果的屏幕截图: 我可以在基于OpenGL的程序中复制这种效果。这是我目前正在做的: 创建颜色和深度纹理,其大小是屏幕尺寸的一半,用于渲染发光的对象 清除发光颜色/深度纹理。颜色清除为黑色。 对于每个发光对象,将其渲染为单色的发光纹理 对发光纹理执行可分离的高斯模糊 正常渲染全分辨率场景 将辉光纹理与正常场景相加,但是使用辉光深度纹理可以遮盖对象,仅留下模糊的轮廓。 这是我的方法的屏幕截图: 这是将发光纹理与场景结合在一起的片段着色器: uniform sampler2D glowColorTex; uniform sampler2D glowDepthTex; uniform sampler2D sceneColorTex; void main() { vec2 uv = gl_TexCoord[0].st; vec4 color = texture2D( sceneColorTex, uv); float depth = texture2D( glowDepthTex, uv).r; if(depth == 1.0) { color += 2.0 * texture2D( …
42 opengl  shaders  glsl  glow 

6
马里奥游戏物理分析[关闭]
我知道在这里可以找到刺猬索尼克(Sonic the Hedgehog)物理学的分类,我想知道,是否有任何Mario游戏的分类?与此类似,但马里奥(Mario)是我感兴趣的东西!
42 physics 

4
如何消除游戏中的忙碌感
我不知道这个话题以前是否曾被探讨过,但是在我玩过的一些游戏中,有一个要点就是尝试探索一切,进行边际任务,甚至试图获得装备,开始感觉像是在忙碌。这种感觉使我对游戏不再那么感兴趣了,通常我要么只是完全停止玩游戏,要么只是轻而易举地浏览游戏的其余部分,以使游戏完成并不受干扰。从我个人的经验来看,这种感觉似乎主要发生在角色扮演游戏中。 如何防止玩家可以做的活动(旁观任务,探索,物品制作等)感觉像是人工填充时间或忙碌的工作?

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.