游戏开发

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

6
存在哪些形式的非交互式RPG战斗系统?
我对允许玩家在进入战斗之前为派对或角色制定战斗计划或设置策略的系统感兴趣。在战斗中,玩家要么无法输入命令,要么可以选择不输入命令。 基于规则 在此系统中,玩家可以设置[条件->动作]形式的规则列表,然后按优先级排序。 最终幻想XII中的诡计 龙腾世纪起源与II的战术
10 rpg  strategy 

1
浮点精度(fp:precise vs.fp:fast)
在C或C ++中,浮点精度的编译器选项是否真的在现实世界(小型/独立)游戏中有所作为? 根据我的观察,设置fp:fast的速度比fp:precise快很多倍,据我在此处的理解(/programming/6889522/fpfast-vs-fpprecise-what-kind-of-errors-can -i-encounter),两个编译器选项之间的精度差仅从浮点数的第16位开始变化。 在使用fp:fast进行2D或3D游戏时,有人遇到过一个例子吗? 编辑:为澄清起见,我并不是在问浮点值本身的精度(即,浮点数,双精度数和小数)。仅关于与编译器选项有关的精度。
10 c++  c  floating-point 

6
Visual Studio 2012和游戏开发
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 5年前关闭。 好吧,我认为这是一个简单的问题,但是我很难找到一些答案。 我已经读过XNA不在Visual Studio 2012中。我最近学会了使用XNA,但是由于我想从事游戏工作,所以我想知道是否有办法在Visual Studio 2012上使用C#开发游戏。 ,还是我应该再次使用C ++和Direct3D学习一切? C#是我非常喜欢的一种语言,因此,如果没有办法用C#来实现,但是如果使用Java来进行游戏开发就非常容易,我也会对此感兴趣。 非常感谢!
10 xna  c#  3d  directx  .net 

4
如果在免费应用程序中完成了自定义付款,Apple和Google是否要求分享份额?
我正在制作一款多平台游戏(Web / iOS / Android)。在免费版本中,核心游戏仍然可以完全玩,但是选择付费的人将获得更多社交功能(当然没有广告)。 我当时在想,不是要为所有平台都提供免费版本和付费版本,而是要免费发布这些应用程序,并且如果用户想要更多应用程序,他们必须注册并支付一次性费用(通过支付网关或PayPal) )。这样,额外的内容将在他们有权访问的所有客户端中可用。从理论上讲,这对球员来说意味着更高的价值,而对我来说则意味着更少的维护和麻烦(显然,我必须自己解决所有的付款麻烦)。 它适合Apple / Google的商业模式吗?还是仍会要求他们分担注册费?

2
使用3D Perlin Noise生成时如何去除浮动地形?
我目前正在使用3D Perlin Noise与Marching Cubes结合生成随机地形。 我的问题似乎在于缩放噪声函数以在我的地形中获得合理的高度。如果仅使用一个八度音程,则显然会插入与噪声有关的所有点,从而获得相当平滑的数据。但是,要获得悬垂/凹面/锯齿状的地形,我必须使用振幅变化的多个八度音和/或将结果值缩放到我想要的“最大”高度。 我可能会丢失一些东西,但是通过使用具有3D Perlin噪声的行进立方体,我经常得到一些浮动的地形。 关于如何纠正此问题或是否有其他噪声函数可以用来获得我所描述的结果的任何想法?我想要丘陵/山谷/山脉/湖泊/等。无需将浮动位与其他映射区分开。我相信,这与Minecraft的地形在生成时偶尔会漂浮在天空中的情况类似。 感谢您的协助,神话


4
防止多人作弊
我几乎完成了一款小型独立式多人游戏的开发。虽然我打算允许人们在单人游戏中作弊,但在多人游戏中这显然是不可接受的。有谁知道有什么方法可以阻止普通的Joe使用Cheat-Engine之类的东西来修改游戏的某些部分?我目前计划让客户端每隔几秒钟将游戏使用的每个设置文件的MD5哈希值(存储为XML)上载到游戏服务器进行验证,但是我能做些什么来阻止内存编辑器等操作。 ?

2
XNA定期停顿
我正在尝试进行硬件实例化,但是遇到了一些奇怪的性能问题。平均帧率约为45,但非常不稳定。 开窗的 SynchronizeWithVerticalRetrace =假 IsFixedTimeStep = false PresentationInterval = PresentInterval.Immediate 下图显示了我测量的时间(带有Stopwatch)。最上面的图是在该Draw方法中花费的时间,最下面的图是从结束Draw到开始的时间。Update 尖峰几乎相隔1秒,并且总是通常时间的2、3、4或5倍。尖峰之后的帧完全没有时间。我已经检查过它不是垃圾收集器。 我目前正在实例化一个由12个三角形和36个顶点组成的网格作为三角形列表(我知道这不是最佳选择,但仅用于测试),具有100万个实例。如果我将实例化绘图调用分批处理到250个实例的小部分,则每个问题都会得到缓解,但CPU使用率会大大增加。上面的运行是每个draw调用10000个实例,在cpu上要容易得多。 如果我以全屏模式运行游戏,则几乎不存在底部图形,但是该Draw方法现在会出现相同的问题。 这是PIX内部的运行,对我来说根本没有意义。似乎有些帧没有完成渲染... 任何想法,可能是什么原因造成的? 编辑:根据要求,渲染代码的相关部分 CubeBuffer创建并初始化A ,然后填充多维数据集。如果多维数据集的数量超过某个限制,CubeBuffer则会创建一个新的,依此类推。每个缓冲区在一次调用中绘制所有实例。 仅需要一次的信息static(顶点,索引缓冲区和顶点声明;尽管到目前为止没有任何区别)。纹理为512x512 画() device.Clear(Color.DarkSlateGray); device.RasterizerState = new RasterizerState() { }; device.BlendState = new BlendState { }; device.DepthStencilState = new DepthStencilState() { DepthBufferEnable = true }; //samplerState=new SamplerState() { AddressU = TextureAddressMode.Mirror, AddressV …
10 xna  performance 

4
如何在两个不同的2D坐标系之间转换?
我正在尝试将一个坐标系从一个坐标系转换为另一个坐标系,以便可以在图像上绘制它。 基本上,目标坐标系如下: X range: 0 to 1066 Y range: 0 to 1600 (仅是我要绘制的标准图像,尺寸为1066 x 1600) 我尝试在图像上绘制的位置实际上具有完全相同的大小,但是坐标系不同。所有坐标的跨度为1066x1600。 但是一个坐标示例将是: (111.33f, 1408.41f) (-212.87f, 1225.16f) 该坐标系的范围是: X range: -533.333 to 533.333 Y range: 533.333 to 2133.333 我觉得这是一个非常简单的数学运算,但是由于某种原因我没有理解。 如何将提供的坐标转换为第一个坐标系?
10 2d  coordinates 

3
发布MMO时需要考虑哪些法律事项?
假设我已经完成了与Tibia类似的独立MMO游戏的编程。我有: 准备启动的稳定的服务器应用程序; 经过测试的,无错误的,可正常运行的客户端应用程序; 游戏的官方网站(准备好托管),带有支付系统和可免费下载的游戏客户端。 不管听起来多么不可能,我们还假设这些都不违反版权法。 我的游戏将帐户分为免费组和高级组。高级帐户可以访问所有游戏功能,需要服务器授权才能正常工作。假设可以在网站上以固定的月费购买“高级帐户”。免费帐户可以免费玩,但访问权限有限。这就是上述支付系统的用途。如果我正确理解,这就是免费增值模式。 我对业务实体问题完全是新手 ,简而言之:从法律上来讲,我必须采取什么步骤从法律上使我的游戏可以合法地为我赚钱?例如,是否存在类似验证之类的东西,证明游戏在向其网站付款时会向用户提供其实际提供的内容? 如果相关,我住在欧洲。
10 mmo  legal  business  release 

2
渲染之前对对象进行排序
我正在尝试实现一个场景图,在我遇到的所有文章中都谈到了对象排序。因此,您可以按“材料”对对象进行排序。现在直到我坐下来并开始执行它,我都认为这是理所当然的,因为它是有道理的。但是现在我想知道排序实际上会发生什么变化? 在我的引擎中,我有一个UBO经理,我使用UBO来存储将在程序之间共享的数据,目前仅涉及时间,相机和投影矩阵以及灯光(我不担心管理哪些灯光会影响哪些对象是ATM)。 现在,对于每个模型,我都必须将模型更改为世界矩阵统一模型,而没有排序方法可以改变它。那么,从更改此矩阵到同时为每个对象设置不好的材质的跳转又是不是? 我隐约记得在某处阅读过,每次您更改管道中的某些内容时,都必须将其刷新,这可能会导致性能问题。但是无论如何,对于每个绘图调用,我都会为世界矩阵建立一个模型,因此对这个问题有什么意义呢? 顺便说一句,关于更改制服并调用glBufferSubData是否更(或更少)昂贵,有任何信息。

4
低功耗硬件上的圆周运动
我当时在考虑平台和敌人在旧的2D游戏中盘旋运动,我想知道这样做是如何进行的。我了解参数方程式,使用sin和cos做到这一点很简单,但是NES或SNES可以进行实时触发调用吗?我承认严重的无知,但我认为那是昂贵的手术。有什么聪明的方法可以更便宜地计算出该运动吗? 我一直在研究从trig sum identities派生一种算法,该算法仅使用预先计算的trig,但这似乎很复杂。
10 algorithm 

4
如何处理等距瓷砖中的动画门
我遇到了一个棘手的问题,我不确定该如何最好地解决:我有一个动画的门砖。当它关闭时,应该以一种方式进行排序,但是当它是openend时,则需要以不同的方式进行排序,因为它属于不同的(相邻拼贴)。 这是关着的门: 门开了: 我想可以覆盖此类图块的排序系统并根据框架调整排序,但感觉有些不客气。 有没有人遇到过类似的情况?有什么优雅的解决方案吗?

5
我可以在哪里付钱给艺术家制作游戏模型?
可以说,我为自己的业余项目获得了一些钱,我想开始用好的模型代替一些便宜的占位符填充模型。我可以在哪些网站上付钱给人制作游戏模型?每项资产要多少钱? 编辑:我不想雇用任何人。我只想为他们的个人资产付款。
10 models  art 

3
最佳的点对点游戏架构
考虑一种设置,其中游戏客户端: 拥有非常小的计算资源(移动设备,智能手机) 都连接到通用路由器(LAN,热点等) 用户想在没有外部服务器的情况下玩多人游戏。 一种解决方案是在一台电话上托管一台权威服务器,在这种情况下,它也是一个客户端。考虑到第1点,此解决方案是不可接受的,因为电话的计算资源不足。 因此,我想设计一个点对点架构,该架构将在客户端之间分配游戏的模拟负载。由于第2点,系统的优化不必太复杂;延迟将非常低。每个客户都可以是有关他本人及其周围环境的权威数据来源(例如项目符号)。 设计这种架构的最佳方法是什么?是否存在此类LAN级别对等协议的任何已知示例? 笔记: 这里解决了一些问题,但是那里列出的概念对我来说太笼统了。 安全 我知道没有一台权威服务器是一个安全问题,但是在这种情况下这无关紧要,因为我愿意信任客户端。 编辑: 我忘了提:这将是一个节奏相当快的游戏(射击游戏)。 另外,我已经在Gaffer on Games上阅读了有关网络体系结构的文章。

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.