Questions tagged «c++»

C ++是一种静态类型化,自由格式,多范例,已编译的通用编程语言。

4
游戏故事事件编程
我用c / c ++和DirectX开发了一个游戏引擎。 我有一个用于地图的图块引擎,动画播放器/ npc精灵,与npc对话,菜单和级别更改,但没有游戏,只是感觉很空。 我环顾四周,不断听到流行语的答案,但我想知道如何在游戏中实现一个故事。 有人说过一个保存文件,其中包含用于控制游戏中所有可能的动作/状态的标志,但这听起来很荒谬。 这有点雄心勃勃,但我的目标是让游戏像老式的Pokemon / Final Fantasy游戏一样。 有谁知道这些游戏的运作方式或所使用的理论吗? 我已经寻找了一段时间,非常感谢人们的投入。
28 c++  directx 


2
基于四叉树与网格的碰撞检测
我正在制作一个4人合作R型游戏,并且即将实现碰撞检测代码。我已经阅读了许多有关如何处理碰撞检测的文章和内容,但是我很难弄清楚该如何处理。似乎四叉树是最常用的方法,但是在某些资源中,他们提到了基于网格的解决方案。对于以前的游戏中使用网格进行检测的情况,我对此感到满意,但是它实际上比四叉树好吗?我不确定哪个提供了最佳性能,并且我还运行了一个基准测试,两种解决方案之间没有太大区别。 这个比那个好吗 ?或更优雅?我真的不确定应该使用哪一个。 欢迎任何建议。谢谢。

3
团队如何防止覆盖源文件中的工作?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 4年前关闭。 在我看来,有一种可能性,例如由多个人同时处理游戏引擎时,如何防止覆盖? 假设开发者一在工作,Audio.cpp而开发者二也在工作Audio.cpp,这在大型团队中通常如何进行管理以应对覆盖?(换句话说,要阻止开发人员2打开文件,直到开发人员1完成)
26 project-management  version-control  teamwork  java  2d  collision-detection  vector  collision-resolution  unity  directx  directx11  directx10  xna  ios  monogame  windows-phone-8  xamarin  design-patterns  oop  xna  collision-detection  collision-resolution  bounding-boxes  rotation  collision-detection  mathematics  javascript  algorithm  separating-axis-theorem  xna  2d  monogame  image  xna  directx  graphics  performance  opengl  2d  3d  c++  directx11  unity  c#  scale  c#  xna  collision-detection  collision-resolution  leaderboards  scoring  glsl  srgb  tilemap  three.js  tiled  unity  physics  xml  dialog-tree  xna  c#  .net  opengl  lwjgl  vbo  physics  graphics  procedural-generation  simulations  water  opengl  java  textures  lwjgl  frame-buffer  unity  unity  2d  collision-detection  collision-resolution  trigonometry  java  android  libgdx  xna  c#  frame-rate  c++  unreal-4  procedural-generation  java  graphics  lwjgl  slick  c++  software-engineering 

3
用C ++开发Android游戏
因此,作为一个主要的c / c ++开发人员,我一直认为对我来说,移动游戏开发的唯一选择是使用iOS,它可以使用c / c ++(并最小化目标C)。 我从朋友那里听说,android有一个本机开发工具包,它允许c ++代码在android上工作。 有没有人使用过,如果这样,您如何找到它?我的意思是,它会像iOS一样“正常工作”吗,或者由于可用的Android设备种类繁多,还需要考虑更多注意事项吗?
26 c++  android 

9
您可以建议使用什么C ++ GUI库?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我正在用C ++构建自己的游戏引擎,目前正在确定应使用的用户界面。 我应该使用图书馆吗?我应该自己做吗?
26 c++  gui 


3
在基于瓷砖的游戏中砌墙:我想念的是什么?
在花了一些时间写下有关在我的基于图块的游戏中实现墙壁的一些注释之后,我突然意识到它不会像我以前想象的那样简单。虽然我的工作的当前阶段甚至还不能真正完成与墙相关的代码,但我已经提出了三种不同的方法。现在,我不确定哪一个想法最有效,以及我是否错过了什么。 重要提示:一个字符CAN站在那个有墙,无论其形式的区块。 所有这三个变体的共同点是:瓦片映射将被“保留”在基于一维std :: vector(或类似形式)的容器中。对此的原因(非常)在回答另一个问题时得到了解释。 基于图块的游戏中的容器类。 回到墙壁。 A)简单的方法。 这里没什么好看的。每个图块容器不仅可以容纳角色,而且还可以容纳一个或多个贴在图块内部边缘的Wall对象。 优点:易于实现,引擎没有任何变化。缺点:两件事。一个-可能只是在我脑海中,但有些组合看起来很丑。第二-这种方法可以用两个相邻的瓷砖制作双层墙。建筑物将是游戏的重要组成部分,而双层墙允许建造者放弃通过游戏方式升级墙的材料,而只是通过将现有墙加倍来提高耐用性。那是不可取的。当然,我可以包括一个禁止双壁的程序,但是会对它造成不良影响。 B)聪明(?)方法。 我不会让玩家把整个地图都塞满,而是要击败他们。每堵墙都有两半,从内侧连接到瓷砖的边缘。因此,要制作一个“墙单元”,我必须在两个相邻的图块中创建两个“半墙”对象。 优点:它是对称的!同样,不需要对当前发动机规格进行重大更改。缺点:比较麻烦,对象更多,当然还有“帽子”。如您在图片中看到的,拐角基本上会为“盖帽”对象哭泣。我真的很酷,添加起来并不难。嘿,我已经有一个计划,计划由四个连接的盖子制成的细柱。甜。不过,我仍然对可能的视野和视线问题感到担忧。 C)总检修款。 或者,我可以将边框和角创建为游戏对象的单独容器。就这样 优点:甚至不确定。好吧,这很简单。绝对是 缺点:需要大修。幸运的是,这不是代码,而是当前的游戏机制心态-可以肯定。好处不是那么明显。此外,该aprroach需要多少比前两者更容器。索引数学也会有些痛苦。 因此,在这里我们有了它-在瓷砖之间制作墙的三种不同方法。如果有其他选择-我们将很乐意将其检查出来。如果我没有看到的任何方法都有任何优点/缺点,请指出。


5
通过四元数旋转vector3
我正在尝试通过给定的四元数旋转vector3。 我知道这是真的 v′=q⋅v⋅q−1v′=q⋅v⋅q−1 v' = q \cdot v \cdot q^{-1} 我知道是的逆,但是如何将向量的乘法映射到四元数以得到向量呢?q−1q−1 q^{-1} −qmagnitude(q)−qmagnitude(q) \frac {-q} {magnitude(q)} 我发现您可以将视为矩阵,并将和转换为矩阵,然后将从矩阵转换为向量,但这似乎只是为了获得向量而已。有没有我可以使用的更清洁的实现?vvvqqqq′q′q'v′v′v'
25 c++  quaternion 

1
我的游戏似乎与录制软件不兼容。是什么原因造成的?
我刚刚完成了一个大学的Game-Dev小项目,我需要录制一个视频以伴随我的提交(以防万一他们无法使我的资料投入工作)。基本上,当FRAPS或Bandicam尝试附加游戏时,我的游戏根本无法正常工作,我从错误报告代码中得到了黑屏和GL INVALID OPERATION消息流。Dxtory似乎根本无法正确连接到它,它没有显示FPS计数器或任何东西。我的游戏逻辑似乎从调试跟踪中正确运行,似乎所有gl库调用都中断了。 我对这些程序的运行方式一无所知,所以我真的不知道该怎么做才能导致这种情况。我听说它们是从OpenGL帧缓冲区读取的,所以也许我在这里做错了什么?我让GLFW和GLEW进行所有的低级初始化,但是我已经使用相同的设置和录制软件成功录制了项目。 从本质上讲,是否有人曾经遇到过这样的事情,或者您对这些程序的工作方式一无所知,从而可以找出问题的起因吗?

4
冲突检测应该在服务器端还是在客户端/服务器之间协同进行?
我正在开发一个在线游戏,该游戏将具有非常重的碰撞检测处理。播放器模型将与仅存在于服务器端(不存储在客户端数据文件中)的其他播放器,生物,建筑物,地形和实体对象发生冲突。 为了安全起见,我应该在服务器端进行所有冲突检测吗?还是应该让客户端进行检测,然后让服务器以某种方式进行跟进?我觉得服务器本身无法完成太多工作(我正在为一台服务器上的数百个播放器设计引擎)。 有谁知道主流MMO如何做到的?我知道目前几乎所有MMO都容易受到物理攻击,并且通常通过检测黑客和禁止人员来对其进行处理。我希望这些技巧根本不起作用,至少对于物理组件而言。


4
C ++游戏如何处理内存分配失败?
我知道有几种用C ++编写的游戏,但是没有使用异常。由于C ++中的内存分配失败处理通常围绕std::bad_alloc异常进行,因此这些游戏如何处理此类失败? 它们只是崩溃了,还是有另一种方法来处理内存不足的错误并从中恢复?

3
使用100%CPU的游戏正常吗?
我刚刚在游戏引擎中实现了多线程输入处理,其中轮询操作系统以从中收集输入信息并对其打上时间戳的代码位于单独的线程中,而主线程中的每一帧我都将收集到的输入吃掉逻辑游戏时间。一切正常,但是此设置使用了100%的CPU。我有两个核心,并且在运行我的游戏时会达到100%。 我已经与其他游戏进行了核对,以查看它们是否也这样做。例如,Skyrim和Doom 3看起来不错,CPU刚好超过60%。 使用多线程输入消耗100%CPU的游戏是否可以接受?如果没有,这种游戏通过输入线程降低cpu使用率的一些技巧是什么?

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.