Questions tagged «software-engineering»

软件工程是指应用于游戏开发领域的软件设计和开发。使用此标签的问题应与与创建或设计软件的任务有关的理论概念和实践有关。不应仅因为问题涉及编程或包含代码而使用此标记。

3
通过版本控制,将游戏引擎与类似游戏中的游戏代码分开
我有一个完成的游戏,想要在其他版本中拒绝。这些游戏将是类似的游戏,或多或少具有相同的设计,但并非总是如此,基本上情况可能会发生变化,有时会有所变化,有时会有所变化。 我希望将核心代码与游戏分开进行版本控制,以便如果说我修复了游戏A中发现的错误,则该修复将出现在游戏B中。 我正在尝试找到最好的方法来管理它。我最初的想法是这样的: 创建一个engine模块/文件夹/所有内容,其中包含可以概括的所有内容,并且与游戏的其余部分100%独立。这将包括一些代码,但也包括游戏之间共享的通用资产。 将此引擎放在自己的git存储库中,该存储库将作为一个git submodule 我苦苦挣扎的部分是如何管理其余代码。假设您有自己的菜单场景,此代码是特定于游戏的,但大多数代码也往往是通用的,可以在其他游戏中重用。我不能将其放在中engine,但是为每个游戏重新编码都效率很低。 也许使用某种git分支变量可以有效地解决这一问题,但我不认为这是最好的方法。 任何人都有一些想法,经验要分享或与此有关的任何事情?

5
如何在我的游戏中实现既可访问,功能强大又可快速编写代码的编程系统?
我目前正在开发一款基于空间的沙盒游戏,该游戏将具有自定义系统编程功能的强大功能。我想以一种既可以实现又可以实现 无障碍, 强大(最低裸线将是图尔完备性) 快速编码。 基于文本的语言通常仅满足后两个要求,而设计满足前两个条件的视觉语言并不难,但由于需要大量使用鼠标,视觉语言很难编程。尽管有一些非常容易使用的基于文本的语言,但我希望完全的非程序员能够使自己轻松进行编程。

2
DOS游戏开发的典型工具链是什么?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 9个月前关闭。 我想知道人们过去是怎么写DOS游戏的(例如Doom),我在这方面找不到很多东西,但是很想了解游戏开发的早期知识。 主要使用哪种语言? 我认为它是C。还是C ++? 哪些IDE(或编辑器/编译器)很流行? 当时AFAIK并不存在Microsoft Visual C / C ++(或我曾经以为是Microsoft C / C ++)。那么人们使用了什么呢?编辑和Intel的命令行编译器之类的东西? 使用了哪些API? 2D游戏有什么共同点?那么《毁灭战士》和《古墓丽影》等3D游戏呢? 与今天有什么不同吗? 我很高兴听到其他任何区别,例如使用了哪种图像/音频格式。


4
(c ++)游戏的日志记录库
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 12个月前关闭。 我知道很多日志库,但没有测试很多。(GoogleLog,Pantheios,即将推出的boost :: log库...) 在游戏中,尤其是在远程多人游戏和多线程游戏中,日志记录对于调试至关重要,即使最终删除所有日志也是如此。 假设我正在制作需要日志(多人游戏,多线程和/或多进程)的PC游戏(而不是控制台),并且我有充分的理由寻找要记录的库(例如,我没有时间或对我为自己的情况正确写出自己的能力不自信)。 假设我需要: 性能 易于使用(允许流式传输或格式化或类似的操作) 可靠(不要泄漏或崩溃!) 跨平台(至少Windows,MacOSX,Linux / Ubuntu) 您会推荐Wich日志库吗? 目前,我认为boost :: log是最灵活的一种(您甚至可以远程登录!),但是性能更新不佳:是为了高性能,但尚未发布。Pantheios通常被引用,但是我在性能和用法上没有比较点。我已经使用我自己的lib很长时间了,但是我知道它不能管理多线程,所以即使它足够快,它也是一个大问题。Google Log似乎很有趣,我只需要对其进行测试,但是如果您已经比较了这些库和更多库,那么您的建议可能会有用。 游戏通常对性能要求很高,但调试起来很复杂,因此最好了解在我们特定的情况下具有明显优势的日志记录库。


3
对个人游戏项目进行快速编码的切实好处
我注意到一些程序员为自己设置了对时间敏感的挑战,通常是在“用Y倍的时间编写类型为X的游戏”或“编写X个游戏,每个游戏仅给出Y时间”的领域。以这种方式将您的工作流程设置为快速编码一段时间有什么实际好处?感觉就像您必须权衡有效的代码才能快速完成任务。而且我认为在这些挑战中添加最后一层抛光并不是优先考虑的事情,因此可以使用程序员。 几年前,我做了一些简单的2D滚动射击游戏和益智游戏,出于愚蠢,我删除了大部分代码。所以现在我很好奇使用速度编码方法再次完成一些简单的事情,并使自己更多地参与游戏逻辑。

5
要在OpenGL ES 2.0游戏中使用的完整数学库?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 5年前关闭。 您是否知道用于OpenGL ES 2.0游戏的完整(或几乎完整)的跨平台数学库? 该库应包含: Matrix2x2,Matrix 3x3,Matrix4x4类 四元数 Vector2,Vector3,Vector4类 欧拉角类 上述类,转换等之间的操作。 3D图形中的标准数学运算(点积,叉积,SLERP等) 是否可以单独或作为任何软件包的一部分使用这样的Math API ? 编程语言:Visual C ++,但计划移植到OS X和Android OS。

6
您会为C ++游戏项目推荐哪种脚本语言?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 5年前关闭。 这里所说的脚本不仅意味着将配置数据放入脚本中,还意味着对项目的某些部分进行脚本化,例如一些类方法,测试特定的游戏循环等。这不仅是为了加快开发速度,而且还允许玩家看到其中的一些内容。脚本来调整游戏的某些方面。 诸如Lua之类的语言具有诸如luabind之类的包装器,但是当我过去使用它时,它会遇到问题,因为它不支持继承上下文中的方法重新定义。 您对使用或不使用的语言/包装有什么建议?

2
我应该如何检查玩家是否完成了一项成就?
我正在制作MMO游戏,而我刚到需要实现成就的地步...我该怎么做?最直接的方法是每100ms运行一次: for a in achievements for p in players if a.meetsRequirements(p) then p.completeAchievement(a) 但这只会带来更多的复杂性。例如,如何检查成就是否已经完成?玩家是否仅针对特定成就拥有自定义属性?我对任务进行了此类操作,因为它们主要是“收集100块木头”,因此玩家进行的主动任务会对此进行检查。另外,我认为必须有更好的时间来检查它,这会定期降低我的服务器的速度。

3
节拍检测和FFT
我正在开发一款平台游戏,其中包括带有节拍检测功能的音乐。我目前正在通过检查当前幅度何时超过历史样本来检测节拍。这不适用于振幅很稳定的摇滚等音乐流派。 因此,我进一步研究了发现使用FFT将声音分成多个频段的算法...然后我找到了Cooley-Tukey FFt算法 我唯一的问题是我对音频还很陌生,我也不知道如何使用它将信号分成多个信号。 所以我的问题是: 如何使用FFT将信号分成多个频段? 对于有兴趣的人,这也是我在c#中的算法: // C = threshold, N = size of history buffer / 1024 public void PlaceBeatMarkers(float C, int N) { List<float> instantEnergyList = new List<float>(); short[] samples = soundData.Samples; float timePerSample = 1 / (float)soundData.SampleRate; int sampleIndex = 0; int nextSamples = 1024; // …

8
多学科的:力量还是弱点?
我当了最后两个荣誉头衔,当时我是首席程序员,然后担任首席设计职位。在我目前的公司中,我经常在设计和编程帽子之间切换。 我大部分的教育是编程,我的经验非常广泛。老实说,我无法选择自己喜欢的人,如果我专注于一点,我想我会在业余时间做另一件事。我的同事认为我在这两个角色上都有能力。 我目前正在寻找机会,有些是在大型公司,而很多人似乎都被我的双重角色所吸引。在某些情况下,我觉得这可能会损害我的机会,因为它们无法轻松地使我适合公司。 我应该只挑一个重点,还是继续戴两顶帽子可行?

2
如何避免编写Manager类?
我似乎一直在读,XxxManager在游戏引擎编程中使用样式类是一个坏主意,但是即使我尝试避免使用样式类,我也总是最终得到可以容纳所有参与者/实体/游戏世界位置并对其进行操作的东西。最终成为Manager另一个名字的if。 这真的是一个不好的模式吗?如果是这样,有哪些替代方案?


1
游戏编程中存在哪些研究领域?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我目前在一个研究网络优化和各种分布式应用程序的小组中,对游戏更感兴趣,但对研究的兴趣更多。是否有资源专注于游戏开发特定的研究主题以及一些常见领域研究? 注意:我了解游戏开发是由经过深入研究的各个主题组成的,我的问题是针对游戏应用程序专有的或至少仅对游戏重要的领域。 一个例子可能是“角色技能发展的遗传算法方法”。这将专注于建立最适合玩家回报的技能进步。等等等等...随机的想法,但是你明白我的意思。我也指开发的技术方面,但我不想限制这一点。

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.