游戏开发

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


2
水/海洋模拟与物理
我正在寻找有关水模拟的参考资料,以及如何模拟水与物体(如船,船,潜艇)的相互作用。 我发现了很多关于水的视觉方面(波浪,反射等)的参考,但是关于如何处理水与人体相互作用的方式却很少。我在游戏开发方面的经验非常有限,我真的很固守在这里。 Bascally我希望能够使船的位置根据波浪而变化。我怎样才能做到这一点? 我正在使用Panda3D,但希望听到有关任何可用技术中使用的技术和实现的信息。
42 physics 

7
RTS游戏中的寻路如何工作?
[从stackoverflow交叉发布] 在《魔兽争霸3》或《帝国时代》等游戏中,AI对手在地图上移动的方式似乎几乎是无限的。地图很大,其他玩家的位置也在不断变化。 这些游戏中的AI寻路方式如何工作?在这种设置中,似乎无法使用标准的图形搜索方法(例如DFS,BFS或A *)。

7
在哪里可以找到良好(井井有条)的游戏代码示例?[关闭]
在哪里可以找到良好(井井有条)的游戏代码示例?我希望我能学到一些组织技巧。书中的大多数示例都太简短了,为简洁起见,省略了很多细节。我对如何对变量和方法进行分组特别感兴趣,以便其他程序员可以知道在代码中查找的位置。例如,顶部的初始化程序,然后是输入的方法,然后是更新视图的方法。 我不在乎特定的语言,只要它的OOP。我看过《雷神之锤2》和《雷神之锤3》的源代码,但它们都是C语言,对于获取有关组织对象的技巧没有太大帮助。 那么,您看到一些好的资料了吗?任何使您说“哇,井井有条”的代码指针都很棒。

4
为什么不使用八角形图而不是六边形图?
我了解六角形瓷砖比方形瓷砖的优势。但是为什么不使用八边形呢?我认为它们可以在八个方向上提供更好,更自然的运动。 我当时正在考虑在某些游戏中使用这种地图,但是我还没有看过任何游戏在使用它,所以我想知道我是否错过了使用它时明显存在缺陷的东西?

6
您将如何在2d平台机中处理不同的长宽比?
很久以前,4:3几乎是您在PC上找到的唯一纵横比。今天,最常见的显示器是16:10,但是大多数新显示器(尤其是笔记本电脑)是16:9 我正在写一个2D平台游戏,但我无法决定如何处理所有不同的比率。 这里有一些想法: 4:3获得更多内容,宽屏在顶部和底部切割 16:9获得更多内容,其他内容则左右切 游戏为16:9,其他AR带有黑色水平条 游戏为4:3,其他AR带有黑色竖线
41 2d  aspect-ratio 

9
硬编码内容为什么不好?
我知道大多数游戏都将对话文本存储在文件中,但是我也看到一些基于文本的游戏实际上将内容(地图,选择,可能的玩家命令,故事文本)编程到了游戏代码中。 我可以想到一些原因,但是什至是文字游戏也将所有内容都保留在程序外部的文件中的主要原因是什么? 实现细节之间的区别不大,包括以流行的XML格式保存内容,解析内容,然后根据从XML文件创建的变量渲染地图/显示文本,以及完全放弃XML文件。它们都以输出到屏幕的字符串结尾。区别不只是符号吗? 有些游戏甚至在代码中包含图形(ASCII艺术?)。我知道这是不对的,我可以猜测出它不好的一些原因,但也不知道为什么这是主要原因。 将大多数内容包含在程序外部非常受欢迎。甚至矮人要塞也不使用实际的ASCII字符,而是将ASCII字符的图像加载到内存中。 我主要问这个问题,因为创建,解析和使用XML文件有点像PITA。您知道...与仅使每个唯一的地牢(内容)成为自己的类的懒惰选择相比。

5
允许玩家“染色”图像而不损失色彩质量的最佳方法?
我正在创建一个2.5D等距(2D图像)游戏。 我希望玩家能够“染色”他们的盔甲,衣服和其他东西。我发现对所有事物进行灰度缩放会导致某些“更自然”的着色丢失。例如,制作具有红色/黄色灰度的龙,然后应用覆盖颜色,将导致纯红色龙,而所有辅助颜色都将丢失。同时,染上相同的红色/黄色龙蓝色,使其看起来很不错。 我游戏中的角色没有各种各样的设备。游戏更接近《英雄联盟》如何处理角色和图形。角色可能只有一种类型(例如,英雄),但角色可以有多种服装作为选择。我希望玩家能够在有限数量的“服装”和角色中进行尽可能多的自定义。 因此,我希望玩家能够选择角色,选择几种武器之一,在少数服装选择之间交替(分层放置在角色上),然后将大部分东西都染上颜色(为武器选择特定的金属色,选择任何颜色根本没有服装)。 如果我能够使用灰度而不丢失某些颜色,那我会。 这是关于我在说什么的示例: 不管我在Photoshop的“颜色叠加”选项中使用什么,都不可能“染色” Dragon。显然,如果可以使用灰度更好地为其着色,那我做错了。对于绿色或黄色或较浅的紫色,可以正常工作。对于任何其他颜色,它都破坏了艺术品。 但是,如果我不对其进行灰度处理,则看起来要好得多,而只需对原始(红色/黄色)图像应用“色调”颜色即可。 红色调 紫色色调 现在,玩家可以将Dragon ANY染成彩色,并且看起来仍然很棒!(黄色变成白色,而红色变成彩虹的任何颜色。) 这是否意味着WHITE或BLACK是最好的辅助色?然后使用某种方法或着色器将白色(辅助)颜色更改为其他颜色? 是否有任何文章介绍这种拍摄单个图像的复杂方法,并根据着色方法对不同像素进行染色? 对于龙来说,它最适合作为白色/黑色高对比度龙吗?红色/黄色是最佳颜色设置吗?事实证明,图像比我尝试过的其他几种颜色要好得多。灰度仍然优越吗? Photoshop的“混合选项”是否不包括为视频游戏适当地“染色”图像的方法?是否有复杂的着色器/方法可以使我获得更大的成功? 注意:如果GrayScale允许我减少图像的RAM消耗,或防止有损压缩过程中的质量损失,那是我会认真考虑的事情。

11
如何使基于文字的战斗更具吸引力?
我正在用Java进行基于文本的冒险,目前我的战斗系统非常有限,您可以在其中执行以下三项操作之一: 用剑攻击 用魔法攻击(如果已解锁) 喝健康药水 该系统有效,但是相当无聊且没有灵感。考虑到基于文本的游戏的局限性,我想使战斗变得愉快,但是我不知道该如何完成。如果有人知道如何使该系统更具吸引力/乐趣,将不胜感激。

10
游戏开发者为什么要编写自己的引擎而不使用现有引擎?
我观察到,许多知名的大型游戏开发人员经常开发自己的引擎。示例包括Valve,Crytek,Ubisoft,Epic Games和Square-Enix。 仅仅是因为它们可以做到,还是现有发动机可能无法满足足够的要求,所以我们将开发自己的发动机?我几乎无法想象需要特定引擎的游戏。Unity或Unreal之类的东西足以制作任何类型的游戏。即使没有,它们也具有源代码,可以对其进行修改以满足甚至一些特殊需求。 游戏开发者为什么要编写自己的引擎而不使用现有引擎?

5
如何使用alpha混合和粒子实现良好的射击效果?
对OpenGL粒子效果使用以下设置: SRC: GL_SRC_ALPHA DST: GL_ONE 创建一种添加剂混合物,当它开始褪色为白色时,它在黑色背景上看起来很壮观,但在较亮的颜色上却很糟糕。 然后,我使用了alpha混合: SRC: GL_SRC_ALPHA DST: GL_ONE_MINUS_SRC_ALPHA 这允许使用其他背景而不影响颗粒的颜色,但是与添加剂共混物相比,颗粒本身看起来暗淡无光。如何使用alpha混合和粒子实现良好的射击效果? 添加剂: Α: 更新: 按照David的建议,我创建了一个单独的纹理,然后在绘制纹理之前对粒子效果使用了添加剂混合。这样做的问题是,在alpha = 0的纹理上绘制只会导致粒子的彩色部分出现在我的世界地图的前面,因为通常您使用的是黑色背景。诀窍是使用两个纹理。我创建了一个黑色纹理,然后在其上绘制了粒子。然后,我从该纹理中删除了粒子的alpha层,有效地删除了所有周围的纯黑色并淡化了部分可见的粒子,同时保留了在黑色背景上制作添加剂混合粒子时所期望的底层黑色。简而言之,这是一个艰苦的过程,但我最终到达了那里: 这是我发布流程的线程:http : //www.cocos2d-iphone.org/forum/topic/28707?replies=8#post-141528 视频:http : //www.youtube.com/watch?v=JptGbEO3b5E


4
正交图和等距图之间的区别
我嘲笑自己对此一无所知。Google没有给出明显的答案。有人可以解释什么是正交图和等距图,以及它们有何不同?
41 maps 

5
游戏中的演员应该负责吸引自己吗?
我对游戏开发非常陌生,但对编程却不是。 我(再次)使用JavaScript的canvas元素在玩Pong类型的游戏。 我创建了一个Paddle具有以下属性的对象... width height x y colour 我也有一个Pong具有诸如...的属性的对象 width height backgroundColour draw()。 该draw()方法当前正在重置canvas,这就是出现问题的地方。 如果Paddle对象具有draw()负责其绘制的方法,或者draw()该Pong对象的负责负责其演员的绘制(我认为这是正确的术语,如果我不正确,请更正我)。 我发现在Paddle实例化两个对象Player和时,绘制自身会很有利Enemy。如果在没有Pong的draw(),我需要两次写类似的代码。 最佳做法是什么? 谢谢。


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.