游戏开发

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

3
按下多个键时如何避免运动速度堆积?
我已经开始了一个不需要鼠标的新游戏,因此将动作保持在键盘上。我尝试合并8个方向;上,左,右,右上等等。但是,当我按下多个箭头键时,移动速度会累积起来(http://gfycat.com/CircularBewitchedBarebirdbat)。我该如何应对? 这是我的代码的相关部分: var speed : int = 5; function Update () { if (Input.GetKey(KeyCode.UpArrow)) { transform.Translate(Vector3.forward * speed * Time.deltaTime); } else if (Input.GetKey(KeyCode.UpArrow) && Input.GetKey(KeyCode.RightArrow)) { transform.Translate(Vector3.forward * speed * Time.deltaTime); } else if (Input.GetKey(KeyCode.UpArrow) && Input.GetKey(KeyCode.LeftArrow)) { transform.rotation = Quaternion.AngleAxis(315, Vector3.up); } if (Input.GetKey(KeyCode.DownArrow)) { transform.Translate(Vector3.forward * speed …

5
如何在2D地图中检测相连的(但逻辑上不同的)水体?
我有一个二维六角形网格图。每个十六进制单元格都有一个高度值,用于确定它是水还是海洋。我正在尝试一种确定和标记水体的好方法。海洋和内海都很容易(使用洪水填充算法)。 但是像地中海这样的水域呢?与较大的水体相连的水体(“海”和“海湾”的区别仅在于洞口的大小)? 这是我要检测的示例(图像中间的蓝色水域,尽管在技术上已连接,但其标签应与左侧较大的海洋体不同): 有任何想法吗?

4
Unity新UI-动态更改GUI元素调用的功能
希望动态更改按钮OnClick和滑块On Value Changed中的值 。 如果我不得不猜测如何完成此操作,请获取对button / gui元素的引用。接下来,获取Button脚本组件,并访问该函数调用列表。但是我不确定如何修改该列表。有人有想法么? 可能有帮助的更多详细信息: 所调用的函数是自定义脚本组件的一部分 对滑块使用“动态”变量选项 可用于创建动态按钮
17 c#  unity  gui 

9
如何让新玩家有效地与长期玩家竞争?
当新玩家加入我的策略游戏时,他们有3天的保护时间免受其他玩家的攻击,但这还不足以赶上已经玩了更长时间的玩家。 我该如何解决? 我本来打算延长保护时间,但是如果这样做,玩家将无法在没有进攻的情况下前进(获得更多资源以取得更快的进步)。 该游戏基于浏览器,带有PHP后端。

1
游戏何时需要官方年龄分级?
游戏何时需要获得PEGI或ESRB等官方或准官方评级委员会的评级?我知道,几乎在世界任何地方的实体商店中出售的所有游戏都必须带有年龄标签。但是,作为下载或基于浏览器的游戏在全球范围内发行的游戏又如何呢?是否有理由获得此类游戏的内容分级?是的话,考虑到世界上任何人都可以使用它,并且每个国家/地区都有自己的采用不同标准的本地评分系统,哪个评分委员会需要对其进行评分?

3
如何在位图中的两个点之间绘制一条直线?
我正在玩高度图(位图),试图在我的游戏中创建自己的一些东西,为此,我需要实现一些基本的绘制方法。我很快意识到画直线并不像我想的那么基本。 简单的是,如果您的点共享X或Y坐标,或者它们已对齐,则可以绘制一条完美的对角线。但是在所有其他情况下,它都比较棘手。 您使用哪种算法确定需要对哪些像素进行着色才能使其成为“直线”?

1
法线与法线贴图
我正在使用Assimp资产导入器(http://assimp.sourceforge.net/lib_html/index.html)来解析3d模型。 到目前为止,我已经简单地提取了为网格中每个顶点定义的法线向量。但是我还在法线贴图上找到了各种教程... 据我了解,对于法线贴图,法线矢量存储在法线贴图的每个纹理元素中,您可以将它们从着色器的法线纹理中拉出。 为什么有两种获取法线的方法,一种被认为是最佳实践,为什么呢?

1
ddx(hlsl)实际做什么?
我有点困惑。官方文档(http://msdn.microsoft.com/zh-cn/library/windows/desktop/bb509588(v=vs.85).aspx)表示ddx(input)是输入方面的偏导数到“屏幕空间的x坐标”。 我的演算很好,但是如何分辨输入来自什么呢?如果我给它传递一个函数,很好,我可以想象它会做什么,但是数字的导数始终为零...? 只是缩放吗?就像,它将在此距离缩放到其大小的十分之一,因此返回十分之一?但这并不需要输入... 有人可以快速解释一下实际情况吗?
17 hlsl 

4
如何设计可以组合的多种不同攻击类型?
我正在制作一个自上而下的2D游戏,并且我想拥有很多不同的攻击类型。我想使攻击变得非常灵活和可组合,就像以撒的绑定的工作方式一样。这是游戏中所有收藏品的清单。为了找到一个好的例子,让我们看一下Spoon Bender项目。 汤匙弯机使艾萨克能够射出归巢的眼泪。 如果您查看“协同作用”部分,就会发现它可以与其他收藏品结合使用,从而产生有趣而直观的效果。例如,如果将其与“内眼 ” 结合使用,则“将使Isaac能够一次发射多幅归巢镜头”。这是有道理的,因为内眼 使艾萨克三杆 设计这样的东西的好架构是什么?这是一个蛮力解决方案: if not spoon bender and not the inner eye then ... if spoon bender and not the inner eye then ... if not spoon bender and the inner eye then ... if spoon bender and the inner eye then ... 但这很快就会失去控制。设计这样的系统的更好方法是什么?

2
平稳更改背景音乐
我目前正在开发的游戏现在有五种声音。在游戏中,您可以在激烈的战斗中与其他文明进行战斗,但是您也可以在和平的星球上定居。 有些歌曲比较暴力,而另一些则比较安静。问题是:在歌曲之间进行切换的最佳实践是什么?如果在老歌结束后只看“是否平静”,然后播放新歌,还是应该在每一帧都做一次并立即更改歌曲,这会更好吗? 第一种方法有时会在战斗中播放无声歌曲(因为这首歌是在战斗之前开始的,但尚未结束),第二种方法会在错误的时刻正确地切换到不同速度的歌曲之间,以便播放器听到切入。 所以我想知道什么对玩家来说更自然,或者是否有其他可能性。 PS:歌曲的长度在300到500秒之间。
17 music 

1
GLSL光线(衰减,颜色和强度)公式
我正在Voxel引擎中实现点光源,我真的在努力获得良好的光流,从光源附近的100%到光半径的0%。 我对该函数有5个参数: 浅色(Vec3) 光强度(距光的距离,直到衰减为100%的距离) 光线到碎片的距离 从片段法线到光的角度 灯的位置 谁能按正确的方向推动我创建用于计算片段颜色的函数? 我的其中一项实验的图片: 编辑(字节请求当前代码)请注意,这只是我这边的一些实验代码。我从一个网站上获得了一个float att,它虽然可以正常工作,但远非完美。: void main() { // Light color vec3 torchColor = vec3(1.0f, 1.0f, 1.0f); float lightAdd = 0.0f; for (int i=0; i<5; i++) { vec3 pos = lights[i]; if (pos.x == 0.0f) continue; float dist = distance(vertex_pos, pos); if (dist < …
17 opengl  glsl  lwjgl  lighting  pixel 


7
众筹独立游戏。我应该提供什么?
我已经看到许多独立游戏使用众筹为开发赚钱(Kickstarter,IndieGoGo等)。一些游戏会提供一些回报。例如,在RPG游戏中,您可能会根据自己获得NPC角色。其他一些项目只是免费为您提供最终版本。 除了实际完成游戏(这可能是有人想要给你钱的主要原因)之外,我的奖励策略应该是什么?

6
您实际上使用图表来建模游戏吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我的意思主要是UML,但是任何可行的方法都是可行的。那么-您实际上是使用UML /其他图表或其他方法为游戏建模吗?我在大学时曾学习过有关使用UML进行建模的课程,这似乎比实际收益要付出更多的努力,但是我意识到这可能只是因为我从未创建过一个庞大的复杂IT系统。那么值得吗?通常哪种图/方法通常*是最好的? *当然,很多时候需要选择具体工具来解决具体问题,但也许有一些模式。 编辑:我忘记了一件重要的事情- 在实现东西之前还是之后创建图表?我的意思是-当一个人设计和实现某些东西时,通常会改变主意,或者出现意想不到的事情,而又不得不进行更改,有时甚至是重大更改,而在已经很复杂的图中进行更改似乎与在代码本身中一样无望。

2
获取六角形网格中的瓷砖环
感谢这篇文章:六角砖并找到它们的相邻邻居,我能够将相邻砖收集到给定的砖中。但是我几乎迷上了一种算法,该算法只给我一个由偏移量指定的图块“环”。Stack Overflow帖子中给出的算法并不完全在乎它收集图块的顺序。 我知道每个偏移量都会添加6个图块。 偏移1为您提供6个图块(第一个相邻图块)。 偏移2给您12。 偏移3给您18,依此类推。 每个偏移量持续增长6。因此,我认为应该有一个适应这些偏移的规则。我不能完全弄清楚这一点。任何人?

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.