游戏开发

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

1
确定Catmull-Rom花键的弧长以恒定速度移动
我有一条由Catmull-Rom样条线串联定义的路径。我在XNA中使用静态方法Vector2.CatmullRom,该方法允许在点之间进行插值,值从0到1。 并非该路径中的每个样条曲线都具有相同的长度。如果我沿路径前进时让每个样条的重物以恒定的速度移动,则会导致速度差异。我可以通过使重物的速度取决于花键的长度来对此进行补救。如何确定样条的长度?我是否应该通过将样条线切成10条直线并求和它们的长度来进行近似估算? 我将其用于在样条线定义的生成网格上进行动态纹理映射。

2
RTS游戏协议
我一直在考虑多人RTS游戏。我似乎无法解决的部分是保持单元运动同步。如果我将单元A移动到XY位置,则必须将其传达回中继到另一个客户端的服务器。 我很好奇通讯的样子。您是否只想与服务器将A单元从JZ移到XY进行通信?也许您需要逐个协调沟通运动?将单位从一个客户转移到另一个客户的最有效方法是什么? 编辑 这是stackoverflow重新发布的问题。我发现这个网站可能是个更好的地方。 该帖子的更好答案之一: 我假设您打算使用客户端-服务器网络范例?在这种情况下,您不能信任客户端来处理单元的实际位置,则必须将该任务委托给服务器。然后,您按时从每个客户端获取命令列表,并计算每个单元的移动,一旦完成,下一步就传递与每个客户端相关的每个单元的位置(以全图为基础,或者每个观看次数),然后重新开始该过程。
18 movement  rts 

6
电子游戏如何面向对象?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 我一直想知道电子​​游戏,尤其是大型3D项目在多大程度上使用了面向对象的技术。我认为这两者都是很酷的,troll并且werewolf从enemy其中的某些属性继承并重写了它们的属性。但是,也许课程太重而无法进行实践,我不知道...
18 objects 

1
游戏客户端如何知道服务器正在其LAN上运行?
在许多多人游戏中,都有LAN播放选项。我的问题是,客户端如何知道服务器在局域网中的位置? 我能想到的唯一方法 通过广播地址发送广播。这样做的缺点是有时会被不同网络环境中的路由器或交换机过滤。 尝试连接到子网中每个IP上的服务器。这样做的缺点是速度较慢(特别是如果网络使用10.XXX.XXX.XXX作为IP地址)和小型ddos攻击,但不会被过滤。 尤其是在其他网络环境中,游戏如何做到这一点?

8
有没有游戏具有这种机制?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 在游戏SE上,这个问题已成为话题。我希望它是这里的话题。 许多年前,我和一个朋友用我们认为对战斗机械学来说是独特的想法制作了一个简单的2d rpg原型。它使用了游荡的怪物和切开的战斗屏幕系统。我们添加了一些可能会影响您的玩家的效果,例如“条件”-标准的东西,例如盲目,晕眩,虚弱等。 独特之处在于,我们希望使战斗尽可能靠近您,而玩家实际上是在战斗,而不仅仅是您命令角色做事。所以我们做到了,角色体验,您体验。基本的战斗屏幕包括敌人的轮廓,其中之一。在随机时间,目标会出现在任一图上并开始缩小。在敌人身上,这些是“开孔”,您必须在它们消失之前单击它们,越靠近中心,命中就越好。在图上,您必须单击以防御目标收缩之前的攻击。 你角色的条件使这个变得有趣。就像我说的那样,它们旨在从字面上影响玩家。因此,失明使屏幕暗淡了90%。如果您感到头昏眼花,目标会随机摆动。如果您很虚弱,鼠标光标将滞后并在周围滑动。一切都转化为您游戏中的实际损害,而不是某些任意的“您的攻击造成一半伤害”。 从逻辑上讲,这会扩展到拼写系统中,您实际上必须记住拼写单词并将其组合为创造性的组合并实时输入。我知道有些游戏已经完成了这种咒语系统的变体。 回顾过去,我认为这仍然是一个有趣的主意,但是从可访问性的角度来看,这似乎很糟糕。玩家喜欢他们的游戏,使他们感到有力量,而不是承认和强调自己的现实生活中的缺陷。那么,有没有游戏尝试过这样的事情并且取得了成功?这是怎么回事?如果不是,那么尝试尝试似乎是一种合理且创新的想法?

3
为什么像素着色器不让我们直接从帧缓冲区或深度缓冲区读取?
让我在像素着色器中采样帧缓冲区或深度缓冲区将是一个非常有用的功能。即使只是能够知道当前像素背后的深度或颜色,也会很有用。 为什么OpenGL和DirectX都不允许我这样做?我原本希望存在某种硬件限制,但是Alpha混合使用帧缓冲区中的颜色进行混合计算,而Z测试会在当前位置采样深度缓冲区。为什么不直接将这些价值观展示给我们呢?我希望以后能看到吗?
18 opengl  3d  directx  shaders 

6
适用于游戏引擎的最佳C ++数学库?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我正在为我的游戏引擎寻找具有以下功能的快速开源C ++数学库: 快速(sse?) 向量 矩阵 四元数 适用于opengl和DirectX
18 c++  mathematics 

5
适用于iOS游戏的Objective-C还是C ++?
我对使用Objective-C和C ++进行编程非常有信心,但是我发现使用Objective-C在某种程度上更容易使用,并且本质上更加灵活和动态。 使用C ++代替Obj-C在iOS上编写游戏时,优缺点是什么?或者,与C ++相比,使用Obj-C是否存在任何已知问题? 例如,与使用C / C ++编写的代码相比,我怀疑 Obj-C可能存在性能问题。

1
如何在Windows的游戏资源管理器中显示我的游戏?
我想为一个游戏创建一个安装程序,以便将图标放置在适用于Vista和Windows 7的游戏资源管理器中。 我创建了GDF,然后为项目构建了脚本并获得了.h,.gdf和.rc文件。但是我无法将(.Visual Studio 2010).rc文件编译为可执行文件,之后才能使用该可执行文件来创建安装程序。设置可执行文件路径后,出现以下错误: “无法加载文件或程序集'Microsoft.VisualStudio.HpcDebugger.Impl,版本10.0.0.0,Culture = neutral,PublickKeyToken = b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。” 有什么想法我做错了吗?

5
游戏开发与其他软件开发有何不同?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 对于扎实的通用软件开发人员而言,游戏开发在本质上或仅在程度上有什么不同? 我已经完成了井字游戏,俄罗斯方块和强力数独解算器(带有UI)之类的玩具游戏,而我现在正着手进行一个中等规模的项目(中等规模的项目是因为一个开发人员,没有我完成了许多游戏),而我在这个特定项目中发现的一件事是,关注点分离要困难得多,因为一切都会影响状态,并且每个对象都可以通过多种方式与其他对象进行交互。 到目前为止,我已经设法使代码保持合理的清洁度,以使我满意,但是我发现,在平凡的游戏中保持清晰的代码比日常工作要困难得多。 我正在开发的游戏是回合制的,并且图形将非常简单(基于Web,主要是通过DOM操作),因此实时和3D作品并不真正适用于我,但我仍然会如果有兴趣,对那些答案感兴趣。虽然最感兴趣的是一般游戏逻辑。 PS可以随意重新标记,我不确定是否可以使用哪些标记。

3
如何创建这样的照明效果?
这是我见过的最漂亮的2D照明,我也想执行这样的照明。我该怎么做? 我不在乎物理或粒子如何模拟 -我只想了解照明。 以下是一些视频供参考: http://www.youtube.com/watch?v=BIQRhOFkvQY http://www.youtube.com/watch?v=tnTYXPuecMs http://www.youtube.com/watch?v=rhC_jVM8IYU http://www.youtube.com/watch?v=_Aw5BdjWqqU 或者,您可以在此处下载《污染星球2》。
18 xna  lighting  hlsl 

2
如何将鼠标单击转换为射线?
我有一个透视投影。当用户单击屏幕时,我想计算从鼠标点投射的近平面和远平面之间的射线,因此我可以对自己的世界进行一些射线相交的代码。 我正在使用自己的矩阵以及矢量和射线类,它们均按预期工作。 但是,当我尝试将射线转换为世界坐标时,我的远端总是以0,0,0结尾,因此射线从鼠标单击转到对象空间的中心,而不是通过对象。(near和far的x和y坐标相同,只是z坐标互为负数而不同) GLint vp[4]; glGetIntegerv(GL_VIEWPORT,vp); matrix_t mv, p; glGetFloatv(GL_MODELVIEW_MATRIX,mv.f); glGetFloatv(GL_PROJECTION_MATRIX,p.f); const matrix_t inv = (mv*p).inverse(); const float unit_x = (2.0f*((float)(x-vp[0])/(vp[2]-vp[0])))-1.0f, unit_y = 1.0f-(2.0f*((float)(y-vp[1])/(vp[3]-vp[1]))); const vec_t near(vec_t(unit_x,unit_y,-1)*inv); const vec_t far(vec_t(unit_x,unit_y,1)*inv); ray = ray_t(near,far-near); 我怎么了?(如何解开鼠标点?)

3
MVC(模型-视图-控制器)游戏引擎体系结构-是或否?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我正在阅读一本很棒的书《Game Coding Complete》,该书强烈建议使用MVC(模型-视图-控制器)方法,并具有三个关键层: 游戏应用层 游戏逻辑 游戏画面 在我看来,这种方法似乎对移动计算机游戏来说是一个过大的杀伤力。 请问您对此有何看法?即使增加了模块之间所需的额外通信,实现这种体系结构是否值得?此设计是否会消耗大量CPU能量,以致最终结果会比未实现时慢得多?

3
用于(小型/独立)PC游戏的在线排行榜系统?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 是否有任何免费/负担得起的系统/库可为小型PC游戏添加在线功能?(最有可能的是,这是一款主要基于Windows的小型独立游戏) 我不关心对接会或在线多人游戏,但我对排行榜感兴趣,也许对更高级的功能感兴趣,例如用户创建内容的上传/下载(例如,重放或玩家创建的关卡)。甚至自动更新或可下载的内容? 虽然至少从头开始实施最基本的步骤可能不难,但似乎需要重塑,而经过尝试和测试的系统将是可取的,以减少开发时间并减少巨大的安全漏洞。低预算/无预算独立开发人员有什么可以触及的?

4
对程序员的影响[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 有没有人有针对程序员的良好资源来创建特殊效果。我对粒子效果没有特别的兴趣,但是更广泛的东西例如: 全屏效果,模糊,景深,损坏 爆炸,冲击波 武器,激光,射弹 环境-轻的“发光”和光束,水,气泡,灰尘等 我对这些东西感兴趣的是技术角度而非艺术角度。 编辑:澄清一下,我对诸如“在SPU上进行深度剥离的方法”或“具有顶点纹理的快速粒子渲染”之类的低级细节不感兴趣,我对人们如何将各种技术结合到配方中很感兴趣为游戏展现特殊效果。 例如-渲染“空间”爆炸时: 在中心绘制不透明的明亮球体。 围绕随机轴绘制Alpha'd冲击波。 扩大球体并降低alpha。 扩展冲击波并旋转UV。 产生的粒子从中心随机喷出。 当冲击波到达观看者位置时摆动摄像机。

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.