游戏开发

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

3
能否使用双精度(或长整数)在3d空间中准确表示太阳系?
我想知道如何在3D游戏中最好地管理坐标,该游戏的目的是真实地模拟整个太阳系,但能够处理“飞船”中的最小移动(即:也许我们可以认为1厘米是最小的)框架的可接受运动)。是否支持64位双精度(或64位long),还是遇到溢出问题?如果没有,那么应该使用多头还是双头,或者如果是,那么,您认为哪种方法最适合在3D游戏中模拟太阳系中的位置?(即:仅根据要运输的距离一次将系统中的一部分保留在显示器中,或以某种方式在不同的坐标空间中表示该系统等)
15 3d 

2
为什么旧的3D游戏具有“抖动”的图形?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 2年前关闭。 我最近一直在玩“ MediEvil”,这让我感到奇怪:是什么原因导致某些旧的3D游戏在移动时具有“流动的”图形?它出现在诸如《最终幻想VII》,《 MediEvil》之类的游戏中,我还记得《地牢守护者2》在缩放模式下具有相同的功能。但是,诸如“雷神之锤2”之类的示例没有此“问题”,并且它同样古老。分辨率似乎不是问题,当您静止不动时,一切都可以完美呈现。游戏刷新是否缓慢,还是与缓冲有关?
15 3d 


1
'Raiden 2'紫色激光背后的数学是什么?
激光的路径受用户输入和屏幕上出现的敌人的影响。这是一个视频,在5:00分钟时显示有问题的激光:Raiden II(PS)-1个循环清除-第2部分 更新 这是使用Inkscape进行的测试,飞船在底部,等离子攻击了前4个敌人。似乎有一种模式。我先移动了船,然后将船把从其移开,形成了45°角,然后在尝试拟合曲线时,我发现了平行船把的图案,并一直沿用直至到达最后一个敌人为止。 更新,2012年5月26日:我使用贝塞尔曲线启动了XNA项目,仍然需要进行一些工作,下周将更新问题。敬请关注 ! 更新:5/30/2012:确实似乎他们使用的是贝塞尔曲线,我想我将能够复制/模仿这种等级的等离子体。自上次以来,我发现了两个新主题:弧长,龙格现象,第一个应该帮助在Bézier曲线上进行线性运动,第二个应该帮助优化顶点数量。下次我会放一个视频,以便您看到进度8-)


2
使用Unity构建游戏时,我应该如何考虑GC?
*据我所知,iOS版Unity3D基于Mono运行时,而Mono仅具有世代标记和清除GC。 该GC系统无法避免GC时间停止游戏系统。实例池可以减少这种情况,但不能完全减少,因为我们无法控制实例化发生在CLR的基类库中。那些隐藏的小型且频繁的实例最终将增加不确定的GC时间。定期强制使用完整的GC将大大降低性能(实际上,Mono可以强制使用完整的GC吗?) 那么,如何在使用Unity3D时避免GC时间又不会大幅降低性能呢?

2
人们为什么使用四元数?
我已经将它们用作黑匣子已有一段时间了,我只是在学习数学,但我想对此问题给出一些明确的答案。 到目前为止,我个人遇到的唯一好处是能够在两个角度之间进行SLERP-要用向量实现相同的效果,您需要进行一些麻烦的工作(本质上将0和2PI链接在一起)。

5
最佳的前悬式公式是什么?
给定一个空间点,一个行进方向以及自开始以来的时间,什么是令人信服的,不晕车的模拟头球的公式?在以前的游戏中取得了什么成功?是否有任何关于哪种鲍勃诱发疾病的研究最少? 一个示例天真头鲍勃公式,应用于向上轴: http://www.wolframalpha.com/input/?i=abs%28sin%28x%29%29

9
我应该如何学习XNA?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我想开始学习如何在XNA中制作游戏,但是我不知道从哪里开始!如果有人可以向我建议我需要什么软件以及一些好的书籍或教程,那将是最有帮助的。 就我目前的编码知识而言,我对Javascript(与HTML5 canvas结合使用)有很好的经验。我敢肯定,我还需要学习C#以使用XNA进行编码,因此请记住这一点。
15 xna  c# 

2
2D行星重力
我正在尝试制作一个简单的游戏,其中发射一艘太空船,然后其路径受行星的重力影响。 类似于该游戏:http : //sciencenetlinks.com/interactives/gravity.html 我想知道如何在此游戏中复制行星对宇宙飞船的影响,以便宇宙飞船可以“环绕”行星以改变方向。 我设法取得了一些伪造的结果,其中宇宙飞船在行星周围绕着一个巨大的椭圆形循环,或者使用Vectors仅受行星重力的影响很小。 提前致谢。 PS:我有丰富的编码经验,与游戏开发者无关。
15 2d  physics 



3
如何同时有效地编码客户端和服务器?
我正在使用客户端-服务器模型编写游戏代码。在单人游戏上玩时,游戏会启动本地服务器,并像远程服务器(多人游戏)一样与之交互。我这样做是为了避免编写单独的单人和多人代码。 我刚刚开始编码,遇到了一个主要问题。目前,我正在Eclipse中开发游戏,并将所有游戏类组织到软件包中。然后,在服务器代码中,我只使用客户端软件包中的所有类。 问题是,这些客户端类具有特定于呈现的变量,显然不会在服务器上执行。 是否应该创建客户端类的修改版本以在服务器中使用?或者我应该只使用布尔值修改客户端类,以指示其客户端/服务器是否在使用它。我还有其他选择吗?我只是想过也许将服务器类用作核心类,然后通过渲染内容对其进行扩展?

2
如何在体素引擎中实现照明?
我正在创建类似于地形引擎的MC,我曾想过照明会使其看起来更好,但问题是当放置发光块时,这些块未正确照明(请参见底部的屏幕截图)在页面上。 到目前为止,我想实现我的世界的“块状”照明。所以我创建了一个VertexFormat: struct VertexPositionTextureLight { Vector3 position; Vector2 textureCoordinates; float light; public readonly static VertexDeclaration VertexDeclaration = new VertexDeclaration ( new VertexElement(0, VertexElementFormat.Vector3, VertexElementUsage.Position, 0), new VertexElement(sizeof(float) * 3, VertexElementFormat.Vector2, VertexElementUsage.TextureCoordinate, 0), new VertexElement(sizeof(float) * 5, VertexElementFormat.Single, VertexElementUsage.TextureCoordinate, 1) ); public VertexPositionTextureLight(Vector3 position, Vector3 normal, Vector2 textureCoordinate, float light) { …
15 c#  xna  lighting  raycasting 

1
A *导航网格路径查找
因此,我一直在这个名为Greenfoot的框架中制作这款自上而下的2D Java游戏,并且我一直在为您要战斗的家伙开发AI。我希望他们能够现实地环游世界,因此我很快意识到,除其他事项外,我需要某种寻路。 我已经制作了两个A *原型。一个是基于网格的,然后我制作了一个与航路点一起使用的栅格,因此现在我需要找到一种方法,从障碍物/建筑物的二维“图”获取可以作为路径的节点图。实际的寻路似乎很好,只是我的打开和关闭列表可以使用更有效的数据结构,但是如果需要的话,我会解决的。 我打算出于所有原因在ai-blog.net上使用导航网格。但是,我面临的问题是,A *认为从多边形中心/边开始的最短路径不一定是通过节点的任何部分的最短路径。为了获得更好的主意,您可以查看我在stackoverflow上提出的问题。 关于可见度图,我得到了很好的答案。从那以后,我已经购买了《计算几何:算法和应用程序》这本书,并进一步阅读了该主题,但是我仍然偏爱导航网格物体(请参阅Amit关于路径查找的注释中的 “ 管理复杂性 ” )。(作为附带说明,如果第一个和最后一个不被遮挡,也许我可以使用Theta *将多个航路点转换为一条直线。或者每次我移回最后一个航路点之前,查看是否可以从这个) 因此,基本上我想要的是一个导航网格物体,一旦将其通过漏斗算法(例如,来自Digesting Duck的那个),我将获得真正的最短路径,而不是仅是从节点到节点的最短路径,但不是实际的最短距离,因为您可以穿过一些多边形并跳过节点/边。 哦,我也想知道您建议如何存储有关多边形的信息。对于航路点原型示例,我只是将每个节点作为一个对象,并存储了可以从该节点访问的所有其他节点的列表,我想这对多边形不起作用吗?以及如何判断多边形是可打开/可穿越的还是实心的?如何存储组成多边形的节点? 最后,作为记录:即使确实已有其他解决方案,我也希望自己从头开始编写此程序,并且我不打算在此游戏以外的任何其他程序中使用此代码,所以这无关紧要它将不可避免地是劣质的。

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.