游戏开发

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


1
高斯模糊是柔和阴影边缘的相当准确的表示吗?
我不确定现实生活中的柔和阴影(来自封闭的大型光源)是否具有高斯或线性衰减,或其他原因。 我正在做一些可以通过操纵某种预渲染的渐变纹理来创建阴影的事情,因此我不必依靠帧缓冲区和传统的阴影技术。我计划将渐变烘焙到网格纹理的一个通道中,然后根据每个四边形覆盖多少阴影来操纵值。这是可能的,因为我只是像锯齿一样排列了四边形,其中每个峰都可以将阴影投射到下一个相邻的四边形上。 因此,线性衰减将是最简单的(只需要从线性梯度中减去一些值即可),但是我很难说出实际看起来是真实的。是否有一个简单的数学公式可以应用于线性梯度以得出高斯近似值?

3
处理多个许可证
我遇到了一种拥有3种不同许可证的资产。GPL 3.0许可证似乎只是GPL 2.0的较新版本。如果遵守GPL 3.0,可以不考虑GPL 2.0吗? 是否必须满足所有3个许可的所有条件?例如,GPL 2.0提到打印或显示适当的版权声明,但是CC BY-SA 3.0许可证似乎没有这种声明。
14 assets 


10
首先增长,然后是移动游戏广告?
想要改善这篇文章吗?提供此问题的详细答案,包括引文和为什么您的答案正确的解释。答案不够详细的答案可能会被编辑或删除。 Facebook的策略一直是“先成长,后包括广告”。对于手机游戏,是否有任何证据表明广告阻碍了人气,或者人们更有可能分享没有广告的游戏?还是如angarg12所述,是否有证据表明在游戏生命周期的中途引入广告会影响人们对您游戏的感觉?

1
如何为2D侧滚动游戏实现假的3D像失真效果?
尽管我认为这是某种后期处理效果,但我不确定要搜索的合适术语,甚至不确定从何处开始。 我见过像《我想成为笨蛋》和《你必须赢得游戏》之类的游戏,它们设法修改了2D游戏的视角,使它们具有某种3D效果(请参见下图)。当您必须赢得游戏时,Boshy基本上使其看起来像在塔(圆柱体)中,从而使图像失真,从而看起来像在旧的CRT显示器上播放,特别是略带圆角的外观。 有这种效果的术语吗? 实现这种效果(术语)的标准方法是什么? 从20,000英尺的角度来看,我将如何在高级引擎/框架(如Unity或XNA / Monogame)中实现这种效果?(详细的代码很容易被接受,但不是必须的-我意识到确切的实现细节可能会有所不同,但是对于需要做什么的高级细节将不胜感激) 我想成为混蛋 你必须赢得比赛

2
太空船动态推进器平衡
在我的游戏中,太空飞船是一种由玩家打造的装置,可以在任意位置,任意旋转地安装任意数量的推进器。我目前有一些肮脏的代码可以将船旋转到给定的角度(加速和减速)。 这是一个对称船面对红线指向的示例,被告知向左旋转。 但是,正如您想象的那样,取决于玩家将推进器放在何处,有时会出现不希望的线性力影响飞船的情况。在这种情况下,船开始前进。 我正在详细说明是否有可能找到推力器可以施加的最大推力而不引起线速度。(在上述情况下,这将是没有的,因为没有什么可以抵消来自后推力的力,而前推力会互相残杀)。 到目前为止,我想出了一个公式来确定“转弯效率”,例如,相对于线性运动,会引起多少旋转。 a-推进器b的位置矢量b-推进器b的位置矢量v1-推进器a的力v2-推进器b的力 efficiencyDelta = a.cross(v1)/ | v1 | -(a.cross(v1)+ b.cross(v2))/ | v1 + v2 | ,基本上是“ a.cross(v1 * t)/ | v1 |” 应该是转弯效率。然后,我们将其与推进器的转向效率相减,以查看是否值得使用新的推进器。 当我意识到推进器不是应该打开/关闭,而是可以将其推力从0更改为1时出现的。当玩家希望飞船前进时该怎么办。当然,需要平衡旋转/移动的量。 我不是火箭科学家,所以我希望有人可以告诉我,是否甚至可以这样计算每个推进器的油门,并向我推正确的方向。 感谢您抽出宝贵的时间!/金



2
停止播放器时,如何阻止播放器因本地输入预测而漂移?
我正在开发2D服务器-客户端多人游戏引擎(您可以在此处尝试)。它使用WebRTC DataChannel。(连接是对等的,但主机对等方仍充当服务器。) 除了连接性之外,最大的问题是本地输入预测。我们照常做:在按键时,玩家立即移动,告诉主机按下了哪些键,从主机接收回数据并将其与历史位置进行比较。如果存在差异,则随时间校正位置。即使ping高,这在低丢包率或PDV情况下也能很好地工作。 如果存在损耗或PDV,则偏差可能会更大。我认为这是因为,如果第一个指示输入变化的数据包被延迟或丢弃,主机将稍后发现,并在其本地输入条件显示之前开始更改该玩家。 如果玩家正在移动,我们会提高校正的幅度,因为它不太明显。这似乎弥补了开始移动和移动时的空白。但是,如果它们突然停止,则更明显。然后,如果PDV或丢失表示主机认为主机稍后停止,则主机超调,发送回数据,表示主机距离主机稍远,而校正会使播放器稍微偏离一点。在不稳定的连接中,玩家通常在停下来后通常会漂移。 我没有在其他游戏中注意到这一点。如何缓解这种情况?

6
具有许多属性的Hero的OOP架构
我将开始一个简单的浏览器文本RPG,其字符可以(被动地)与其他人抗衡。这涉及大约10种技能的列表,例如力量,灵巧性等,另外还具备使用不同武器的能力。 是否只有将这些技能作为类属性来设计这个角色类,还有更好的方法?看起来很简单,但是我很不情愿,因为它很笨拙。 class Char(self): int strength int dexterity int agility ... int weaponless int dagger ...
14 architecture  oop 

2
如何创建世界治愈波效果?
我想将黑暗和令人沮丧的背景实时更改为快乐的草皮背景,以使快乐背景以游戏角色周围的半径显示。 如果愿意的话,幸福的力量场。 在自定义视图中渲染到画布时,如何尽可能高效地完成此操作? 更新: 这就是我的脑海: private int hModeX, hModeY; private float hModeRadius = 0.1f; private float hModeStart = 0; happyModeBg = Bitmap.createScaledBitmap(happyModeBg, getWidth(),getHeight(), true); hModeX = getWidth()/2; hModeY = getHeight()/2; private void initHappyMode(Canvas canvas){ hModeRadius = 75 * thread.getDelta(); if(hModeRadius > 500) { hModeStart = timestep; //What is timestep? } …

2
从子弹而不是照相机中射出子弹,但保持相对于标线的准确性
我正在开发第一人称游戏,但遇到了问题。在我的游戏中,正在渲染玩家的枪支,并在屏幕中央放置一个标线片,如下所示: 首先,让我们想象一下没有渲染枪模型。然后发射子弹很容易-您只需将子弹精确地产生在玩家“眼睛”所在的位置,然后使用trig来根据玩家所看的方向计算速度。 但是现在,当我们添加枪支模型时……我们不能只是在子弹眼所在的地方产生子弹,我们就必须在枪的尖端产生子弹(对吗?)。因此,您可以这样做,但是然后...如何将子弹移动到标线指向的位置? 请记住,我的游戏中的子弹(在这种情况下实际上是火箭)将移动得足够慢,以至于看不到它的运动,因此,如果子弹太快而无法观察到的话,一些通常无法解决的解决方法将不起作用。例如,如果您没有生成它,使其看起来好像是从枪尖中出来的,那么玩家肯定会注意到这一点。

1
如何在游戏中实现a弹枪?
手枪和机关枪很容易-您可以让子弹沿特定方向飞行,所以我已经实现了。另一方面,弹枪会对特定区域(如圆锥形区域)中的任何物体造成损坏。我应该如何实施?我在这里有一些建议,但是我可以使用一些建议: 将一颗子弹分裂成多个小子弹,它们自身造成的伤害较小,但以相似的方向飞行(更近的敌人更有可能被击中) 不使用子弹-仅具有have弹枪的粒子效果,并根据位置/方向等计算敌人受到的伤害。 有一个大的看不见的子弹(例如一个立方体)会损坏东西,还有一个粒子效果,使它看起来像是shot弹枪。 提前致谢!
14 c#  unity 

3
在哪里可以找到游戏的真实地图数据?
我想用类似Ingress的概念来构建游戏,其中游戏地图会覆盖在真实的地图上。 在哪里可以找到类似应用程序的地图数据?我如何(通常)将自己的游戏对象集成到该地图中?游戏对象需要实时移动,因此在地图上将它们作为静态标记是不够的。 我以为可以使用Google Maps,但据我所知,要使用Google提供的官方API创建自己的图形样式(就像Ingress所做的那样)是不可能的。
14 maps  realtime 

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.