游戏开发

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

2
在哪里可以找到免费的TOS或隐私政策模板?
我已经到了开发的关键点,我认为我应该注意一些“掩盖我的屁股”的事情。特别是,我正在寻找“服务/使用条款”和“隐私政策”声明的免费样本或模板。 我实际上确实有我的法律学位,并且对IP,合同等有所了解。但是,最好不要使用此类行业范围内的样板文件来重塑轮子。 我在此或其他StackExchange网站上的任何地方都找不到此答案。在所有看起来合法的网站中,我只发现了付费模板。 有谁知道免费提供这些模板的优秀网站?如果需要,我可以编辑一个通用的游戏,但是最好已经准备好一些适合在线游戏的游戏。 更新 我在那里发现了一些有希望的资源: TRUSTe隐私策略生成器: http://www.truste.com/technology/#labs 我认为您应该支付使用TRUSTe印章或其他费用的费用,但这并不能阻止您以此为起点。我想这可能有助于先阅读他们的TOS(LoL)。 Legal River TOS /隐私政策生成器: http://terms-of-service-generator.legalriver.com/ http://privacy-policy-generator.legalriver.com/ 现在,我将从这些内容入手,并根据需要对其进行重新处理。还是想听听是否有人知道有更好的面向网络游戏的人。

6
Vector3应该继承Vector2吗?
我创建了几个类别Vector2(X&Y)和Vector3(X,Y,Z),但我不知道是否进行Vector3继承Vector2,还是重新实现成员变量m_x和m_y一次?双方的优缺点是什么(继承与重新定义)。 编辑:我正在使用C ++(VS2010)。
18 c++  architecture 

3
如何在游戏中实现智能脚本编制?
我正在开发一个游戏引擎。它应该是一个基于实体/组件的实体。为了开发游戏本身,我想使用某种脚本语言来实际创建实体。 例如,如果我想添加一种对玩家具有侵略性的怪物,它将是一个具有多个组成部分的实体。这些组件会随着怪物类型的变化而变化,因此,如果我有一百种不同类型的怪物,那么在我的游戏中,我就不必直接在游戏代码中为每个怪物创建新的方法。 我应该使用脚本语言来描述该实体,还是使用组件?更一般而言,我应该如何在游戏中使用脚本?

2
GLSL-一遍高斯模糊
可以实现片段着色器进行一次高斯模糊吗?我发现很多两遍模糊(高斯和盒子模糊)的实现: http://callumhay.blogspot.com/2010/09/gaussian-blur-shader-glsl.html http://www.gamerendering.com/2008/10/11/gaussian-blur-filter-shader/ http://www.geeks3d.com/20100909/shader-library-gaussian-blur-post-processing-filter-in-glsl/ 等等。 我一直在考虑将高斯模糊实现为卷积(实际上是卷积,上面的示例只是近似): http://en.wikipedia.org/wiki/Gaussian_blur

2
在2D平台游戏中,如何确保玩家在斜坡上平稳移动?
我正在为2D平台游戏开发物理引擎。我正在使用分离轴定理进行碰撞检测。地面是由定向包围盒构成的,播放器是与轴线对齐的包围盒。(具体来说,我使用的是《实时碰撞检测》一书中的算法,该算法使用SAT对OBB执行扫掠碰撞检测)。我在碰撞响应中使用了一个很小的(接近零)恢复系数,以确保动态对象不会穿透环境。 该引擎通常运行良好,只是我担心可能会出现的一些极端情况。例如,在图中,A,B和C是地面。玩家沿着B向A左转。在我看来,由于不准确,玩家方块在继续向上和向左移动时可能会略低于方块B。因此,当到达A时,玩家的左下角可能会与A的右侧发生碰撞,这是不希望的(因为这样做的目的是使玩家在A的顶部上方平稳移动)。当玩家位于方框C的顶部,向B的左侧移动时,似乎会发生类似的问题-B的最极端点可能会与玩家的左侧发生碰撞,而不是玩家的左下角在上下滑动B以上 Box2D似乎通过存储其边缘形状的连接性信息来解决此问题,但是我不太确定它是如何使用此信息来解决问题的,并且在查看代码后,我并没有真正掌握它的作用。 任何建议将不胜感激。
18 2d  physics  platform 


2
这些体素数据文件格式的优缺点是什么?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 7个月前关闭。 .VXL .VOX .KVX .KV6 .V3A .V3B 我试图决定是否值得采用以上任何一种方法或其他方法,或者是否应该自己动手做。重要性顺序的决定因素是: 使用体素增量或数值变换描述来支持动画(我知道这在体素方面是一个困难的方面)。 简单(或至少简洁格式) 压缩 据我所知,Tiberian Sun VXL格式是唯一一种用于动画的格式,但是Voxelstein3D的成名人物Ken Kenman声称VXL不支持动画(用他的话说是一个文件)。因此,我想知道是否可能没有两种不同的.VXL格式,因为体素数据的文件扩展名似乎是显而易见的选择……可能来自医学成像环境。 我确实需要一个具有体素格式丰富经验的人来评论他们的经验中的实际利弊。以与将JPG到PNG到GIF的方式相同的方式考虑这个问题。

4
如何围绕目标点旋转摄像机?
我正在绘制一个场景,其中摄影机可以在宇宙中自由移动。相机类跟踪视图(或注视)点,相机的位置以及向上矢量。然后将这些向量/点传递到gluLookAt。 平移和缩放几乎不容易实现。然而,我发现围绕转动一下点要多得多的问题。我想编写一个函数Camera.rotate,它具有2个角度,一个可以向上/向下旋转,另一个可以沿以视点为中心的假想球向左/向右旋转。 是否有捷径可寻? 我已经(简要地)阅读了有关四元数的信息,但是我想看看鉴于场景的构造相对简单,是否有更简单的解决方案。

9
照明模型中的线性衰减分量是否具有物理对应物?
在OpenGL(和其他系统)中,点光源的距离衰减因子类似于1/(c+kd+sd^2),其中d距光源的距离为c,k并且s为常数。 我了解对sd^2现实中预期的物理上精确的“反平方定律”衰减建模的组件。 我猜想常数c(通常为1)是否可以处理很小的值d(也许除以零防御?)。 线性kd组件在模型中起什么作用(k在OpenGL中默认为零)。什么时候使用其他值k?我知道这称为“线性衰减”分量,但是它在照明模型中模拟什么行为?在我所知的任何物理光模型中似乎都没有出现。 [编辑] David Gouveia指出,线性因子可用于帮助使场景“看起来”更接近开发商/艺术家的意图,或更好地控制光线的散失率。在哪种情况下,我的问题变成“线性衰减因子是否具有物理上的对应关系?或者它只是用作帮助控制场景中的光质量的软糖因子?”
18 lighting 

4
如何减少多线程引擎中线程之间传递消息的麻烦?
我目前正在使用的C ++引擎分为几个大线程-生成(用于创建程序内容),游戏性(用于AI,脚本,模拟),物理和渲染。 线程之间通过小消息对象相互通信,这些消息对象在线程之间传递。在执行步进操作之前,一个线程会处理其所有传入消息-更新以进行转换,添加和删除对象等。有时,一个线程(Generation)会创建某种东西(Art)并将其传递给另一个线程(Rendering)以实现永久所有权。 在此过程的早期,我注意到了两点: 消息传递系统很麻烦。创建新的消息类型意味着要对基础Message类进行子类化,为其类型创建一个新的枚举,并编写有关线程应如何解释新消息类型的逻辑。这是开发的重灾区,并且容易出现拼写错误。(Sidenote-从事此工作使我很欣赏动态语言的出色表现!) 有一个更好的方法吗?我是否应该使用boost :: bind之类的工具使之自动运行?我担心如果这样做,我会失去说话的能力,无法根据类型对消息进行排序。不确定是否需要这种管理。 第一点很重要,因为这些线程进行了大量通信。创建和传递消息是使事情发生的重要部分。我想简化该系统,但也欢迎其他可能同样有用的范例。我应该考虑使用其他不同的多线程设计来简化此过程吗? 例如,有些资源很少被写入,但是经常从多个线程中读取。我是否应该对所有线程都可以访问的共享数据(受互斥锁保护)持开放态度? 这是我第一次从头开始考虑多线程设计。在这个早期阶段,我实际上认为进展非常顺利(正在考虑),但我担心扩展以及实现新内容的效率问题。

1
二维水模拟的想法
我正在寻找相对于一个较大的(称为)阻塞/非阻塞数组(从侧面观察)在2D中模拟水的任何输入。我提出了以下想法: 细胞自动机 使用单元自动机在CPU上进行大规模并行仿真。使用简单的规则: 如果底部有一个开放的单元,则移至该单元。 检查左侧和右侧的单元格,从两个单元格中随机选择一个并移至该单元格。 优点 易于实现。 在多人游戏系统中有意义/确定性。 缺点 可能真的很慢。 不令人信服。 GPU上的流体动力学 针对如下所示的纹理在GPU上执行流体动力学的粗略近似: +------+-----+-----+-------+ |R |G |B |A | +------+-----+-----+-------+ |vX |vY |NULL |Density| +------+-----+-----+-------+ 优点 可能真的很快。 可能非常令人信服。 另一个像素着色器可以直接渲染它。 缺点 难以实施。 难以调整。 我无法为我的水平分配单个纹理。 我可以重叠网格区域,但这会增加进一步的复杂性。 粒子 使用粒子模拟水。在使用添加混合进行渲染的过程中,然后将乘法函数应用于Alpha通道以赋予水脆边缘。 优点 可能看起来不错。 易于实现。 易于渲染。 尽管在多人游戏系统中需要大量的带宽才能传输,但这仍然有意义。 缺点 粒子间的影响可能会很慢(邻居查找)。 可能导致水通过实心空间“漏出”(因为实心空间很小,例如1px)。 根据颗粒大小,可能导致水中出现奇怪的孔。 可以通过允许粒子比实际大小更靠近一起漂移来缓解上述两种情况,但是这会导致粒子间和粒子/横向性能出现问题。 还有其他想法吗? 注意:这是一个近似值,我在这里不是在寻找物理上正确的水-只是“足够好”的东西(快速和肮脏的加分点)。该游戏是多人游戏,因此不幸的是,整个关卡需要不断进行模拟。

4
是否有适用于C ++的XNA?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我喜欢XNA的功能,但我想参与C ++游戏开发。问题是我现在必须担心从加载png文件到打开窗口的所有事情。这有点烦人。 我真的很想要XNA的C ++版本为我解决这些问题。
18 xna  c++ 

1
我们如何避免因未知的专利侵权而被起诉?
关于Zynga因某些非常明显的实现而被起诉的最新消息。这使我认为游戏行业到处都是地雷,每时每刻都在踩。每个人都必须输入什么才能使损害最小化? 最新:http: //www.gamasutra.com/view/news/36657/Zynga_Sued_Over_Prize_Redemption_Patents.php 另一个示例:https : //w2.eff.org/patent/wanted/patent.php?p=sheldon

3
游戏设计成容易上瘾吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 小时候我经常玩游戏几个小​​时。我会说我沉迷于他们。现在,我是一名软件开发人员,想知道游戏是否设计成令人上瘾? 游戏开发人员有兴趣让他们的用户尽可能长时间地玩游戏。我已经阅读了有关操作条件和虚拟Skinner Box的信息。根据心理学家的说法,大多数游戏首先使用固定的奖励系统来吸引玩家。例如,您可以在一开始就快速升级。然后奖励频率逐渐下降,但由于被吸引,玩家继续玩。最后,您切换到可变的奖励频率,这意味着奖励是随机发生的,很少出现。在此阶段,玩家可能甚至不喜欢游戏,而是继续玩游戏以获得奖励,并从中获得良好的感觉。这与在Skinner盒子中调节大鼠的方式非常相似。 奖励可以是在游戏世界中获得社会地位认可的形式,为虚拟物品而努力工作,因此在获得虚拟物品时会赋予其巨大的价值,在现实世界中无法满足的控制感和力量感,逃避到其他地方,能够衡量某个目标的进度并获得即时反馈。如果玩家弃权,将受到惩罚,即失去社会地位或物品。一段时间后,奖励将与游戏本身相关联,因此,即使是游戏的视线也可以唤起人们的渴望,就像巴甫洛夫的狗一样 此外,还有一项研究表明,视频游戏的沉浸性,来自逼真的图形的丰富视觉刺激,玩游戏所需的复杂思维,高度的自主权和快速的反馈循环可导致大脑中多巴胺水平的升高,并创造出流动感。结合有效的奖励系统,游戏可以刺激感觉良好的大脑中枢。这意味着在几个会话之后,玩家需要玩更长的时间才能达到与以前相同的多巴胺水平。有些人甚至在玩耍时会感到欣快的感觉和免于退缩的感觉。他们用游戏世界代替现实世界,只关注游戏内动机。玩家可能会长时间停止淋浴,降低卫生习惯,与社会隔离,辍学,变得超重,退出家人, 参考文献: http://www.cracked.com/article_18461_5-creepy-ways-video-games-are-trying-to-get-you-addicted.html http://www.betabunny.com/behaviorism/Conditioning.htm http://www.world-science.net/exclusives/081111_gaming.htm 难道游戏太有趣了,无法抗拒吗?

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.