Questions tagged «software-engineering»

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


1
在启动画面中加载广告?
我有一些广告需要很长时间才能加载。我不知道这有可能让他们负载,同时利用在启动画面。我看了这个答案: /programming/5133342/how-can-i-make-my-ads-appear-faster-in-my-android-app 答案是建议使用启动屏幕加载广告。如何确定何时加载广告以继续进行下一个活动?如果用户在飞行模式下会发生什么,会卡在启动画面中吗?我已经看到了admob添加侦听器,但这需要adview,但是我的adview在下一个活动中吗?我该如何解决这个问题? 另外,当我尝试执行此操作时: AdView.setAdListener(new AdListener() { // Implement AdListener }); 我得到: 不能从静态上下文引用非静态方法。问题是,我正在尝试查看何时完成下一个活动中的添加。

3
许多小型多态类(用作属性,消息或事件)的灵活替代方法
我的游戏中有两个类非常有用,但逐渐变得很痛苦。消息和属性(属性本质上是一个组件)。 它们都从基类派生并包含一个静态ID,因此系统只能关注他们想要的对象。效果很好...除了... 随着游戏的扩展,我一直在不断开发新的消息类型和属性类型。每次我需要编写2个文件(hpp和cpp)和一堆样板文件,以获得本质上是classID和一种或两种标准数据类型或指针。 它开始使玩转和测试新想法成为真正的琐事。我希望当我想创建一个新的消息或属性类型时,我希望能够键入类似 ShootableProperty: int gunType, float shotspeed; ItemCollectedMessage: int itemType; 而不是创建头文件和cpp文件,而是编写一个构造函数,包括父类等。 大约20到40行(包括警卫和其他所有内容)在我脑海中逻辑上是1或2行。 是否有一些编程模式可以解决此问题? 用脚本(我一无所知)呢?有没有办法定义一堆几乎相同的类? 这正是一个类的样子: // Velocity.h #ifndef VELOCITY_H_ #define VELOCITY_H_ #include "Properties.h" #include <SFML/System/Vector2.hpp> namespace LaB { namespace P { class Velocity: public LaB::Property { public: static const PropertyID id; Velocity(float vx = 0.0, float vy = …

5
如何在不重新启动的情况下从选项屏幕更新显示设置?
我目前正在使用Allegro 5和boost在C ++ 11中创建2D RPG。 我的目标是在“选项”菜单中更改选项后以某种方式更新我的游戏设置。我不想强迫用户重新启动我的游戏。其他游戏在更改分辨率或从全屏模式切换到全屏模式时不需要重启,因此我的游戏也不需要重启。请在下面查看系统的简化视图。 请注意,我不一定要直接从OptionsScreen调用我的Game对象。虚线仅仅是为了说明我要达到的效果。当在系统的不同部分中更改选项时,以某种方式导致游戏更新。 详细说明 ScreenManager包含GameScreen当前存在的所有对象的列表。这些将是游戏中的各种屏幕,包括弹出窗口。该设计或多或少地遵循C#/ XNA中的游戏状态管理示例。 在ScreenManager包含了我的参考Game对象。该Game对象初始化和修改游戏的设置。如果要更改分辨率,请全屏播放或静音,这是我在Game课堂上要做的。 但是,OptionsScreen当前无法访问Game类。见下图: GameScreen可以发信号三个事件onFinished,onTransitionStart和onTransitionEnd。没有,onOptionsChanged因为只有一个屏幕可以做到这一点。ScreenManager无法为此设置事件处理,因为它将所有屏幕都处理为GameScreen。 我的问题是,如何更改设计以使OptionsMenu中的更改不需要重新启动,而是立即更改?我最好Game在单击“应用”按钮后请求更新我的对象。

4
为什么我应该使用单独的初始化和清理方法,而不是将逻辑放入引擎组件的构造函数和析构函数中?
我正在开发自己的游戏引擎,目前正在设计经理。我已经读过,对于内存管理,使用Init()和CleanUp()函数比使用构造函数和析构函数更好。 我一直在寻找C ++代码示例,以查看这些功能如何工作以及如何将其实现到引擎中。如何Init()和CleanUp()工作,我如何能实现他们进入我的引擎?

1
gluLookAt如何工作?
据我了解, gluLookAt( eye_x, eye_y, eye_z, center_x, center_y, center_z, up_x, up_y, up_z ); 等效于: glRotatef(B, 0.0, 0.0, 1.0); glRotatef(A, wx, wy, wz); glTranslatef(-eye_x, -eye_y, -eye_z); 但是当我打印出ModelView矩阵时,对的调用glTranslatef()似乎无法正常工作。这是代码片段: #include <stdlib.h> #include <stdio.h> #include <GL/glut.h> #include <iomanip> #include <iostream> #include <string> using namespace std; static const int Rx = 0; static const int Ry …

3
基于实体组件系统的引擎
注意:我正在用Javascript编程,但是在大多数情况下,它应该与语言无关。 我正在考虑将引擎转换为基于ECS的引擎。 我有基本的想法(注意:这是错误的,请参见我的回答): 实体是游戏对象。 组件是可以“粘合”到实体的功能(reactToInput())或状态(position)的一部分。 系统具有它们管理和更新的实体的列表。 但是,我不确定我是否可以获得实现和一些细节... 问题:系统可以在不同种类的实体上运行吗?我通常以Scene在引擎中称为类的示例为例,它现在也将用于此目的。场景是所有可以渲染,更新,影响渲染(灯光)的对象的容器,甚至将来甚至可能是2DSoundEmitter对象。它具有一个高级界面,因此用户无需担心他正在播放的对象的类型scene.add()以及所有类似的东西。 我意识到这Scene可能是一个系统。它接受实体,进行存储,然后可以调用其更新方法,甚至可以进行一些状态更改。但是,有一个问题:如上所述,Scene可以为不同类型的对象喂食!例如,在场景中既包含可渲染对象(“可绘制对象”)又包含灯光的情况下,我该怎么办?互动之前,我应该让它进行类型检查吗?或者,我应该在更低的层次上解决它:制作一个LightSource可以添加到任何对象的组件,并且灯光将仅仅是具有LightSource和Position组件的实体。可以接受吗? 另外,仍然使用常规继承和传统类是否是一个好习惯?例如,我只是不知道我Renderer会是什么!它不是一个系统,因为它的唯一功能是获取摄像机和场景,渲染所有内容并应用效果(例如阴影)。它还管理游戏的上下文,宽度和高度,进行翻译……但是它仍然不是系统! 编辑:您是否可以链接在ECS上找到的任何资源?我很难找到好的。

2
视觉编码rpg对话框树
我目前正在使用XML在rpg中创建对话框树,但是手动进行数百次不同的讨论会变得非常乏味且非常快速。我想知道是否有什么方法可以实现类似于可视化编码这些二叉树的流程图/ udk基斯梅特系统。我仍然希望最终结果是XML,因为我已经围绕XML编写了解析和其他逻辑。 编辑:给出一个我正在寻找的想法,这是一个例子。当我在reddit上问这个问题时,向我展示了这一点,这基本上是我在寻找的东西,但它是有限的。我真正要寻找的是已经用于游戏的任何对话软件或图形/流程图之类的软件,可以对其进行修改以满足我的需求。


2
程序员开发游戏引擎应了解哪些特定的数学,物理,人工智能和一般概念?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 2年前关闭。 作为以Web和DB为中心的应用程序的程序员,我对列表,树,图等数据结构有所了解。老实说,我在编码中很少使用这些数据结构算法,除了像对纯数组进行排序一样,几乎完全与内置所有核心功能的面向客户的框架一起工作。我知道C,PHP,Java,HTML,PL / SQL和MySQL。我目前正在学习Python。 我想开始游戏开发。我还看到了其他有关初学者游戏开发的建议,技巧和方法的问题。我理解这些要点,并且答案很明确。发布几天后,我读了《写游戏,不是引擎》一文,意识到在创建游戏引擎之前应该先实现游戏。不过,我还有问题。 我的目的是 提高我的核心水平的编程技能,包括使用数据结构算法,数学和物理概念。 实施一个好的游戏引擎,沉迷于核心级别的编码。 为进入AI研究领域铺平道路。 程序员开发游戏引擎应了解哪些特定的数学,物理,人工智能和一般概念?

3
有什么方法可以将游戏逻辑与动画和绘制循环分开?
我以前只制作过Flash游戏,使用MovieClips等将动画与游戏逻辑分开。现在,我开始尝试制作适用于Android的游戏,但是围绕这些问题的游戏编程理论仍然让我感到困惑。我来自开发非游戏Web应用程序的背景,因此我精通于更多的MVC之类的模式,并且在我从事游戏编程时一直牢牢记住这种思维方式。 我想做一些类似抽象游戏的事情,例如,通过一个游戏板类,其中包含一个图块网格的数据,每个图块类的实例都包含属性。我可以赋予我的绘制循环访问权,并让它根据游戏板上每个图块的属性来绘制游戏板,但是我不知道确切的动画应该去哪里。据我所知,动画位于抽象的游戏逻辑(模型)和绘制循环(视图)之间。以我的MVC思维方式,尝试确定动画实际上应该去哪里令人沮丧。它会像模型一样具有大量与之关联的数据,但似乎需要与绘制循环紧密结合,以具有诸如帧独立动画之类的功能。 如何摆脱这种思维模式,开始思考对游戏更有意义的模式?

3
一两天内的Java游戏[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我们三个人将要作为学校项目(大学,一年级)用Java编写简单的游戏。游戏必须是面向对象的。我们没有太多时间,上班10-20小时。我们都没有任何游戏开发经验,但是我们所有人都有一定的Java技能。 我们可以准确选择哪种游戏,这就是问题所在。我们应该瞄准多少?由于涉及比赛,所以我们确实想在拥有的时间内创造出最好的比赛。3D游戏不现实吗?我们应该使用任何游戏引擎/库吗?我们应该避免哪种功能?

4
需求分析在游戏开发中有用吗?
我是一名软件工程专业的学生,​​专注于游戏开发。需求分析在游戏开发中起多大作用? 我之所以问是因为我正试图决定是否参加需求分析课程。描述如下: 在需求确定,需求,分析,需求规范,需求验证和确认以及需求管理方面对当前研究和实践的深入研究。 这种类型的知识对独立游戏开发商有用吗?(替代方案是人工智能或软件体系结构。)

5
寻找其他程序员来帮助一个项目[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 作为半常见问题解答尝试: 在哪里可以找到可以与您一起工作的人?特别是程序员。显而易见的是,所有程序员都有一个(或20个)项目,并且程序员闲逛寻找工作的机会比团队中需要的艺术家要少得多。 那么,您在哪里发布?您在哪里搜索并关注周围的人,直到看起来他们是可行的团队成员为止?组建不是密友或聊天伙伴的团队真的很困难吗?是否有发布这类网站? 澄清一下:我指的是一个团队。 示例1:我正在制作gameEngineOfAwesomeness。我需要帮助。 示例2:我在这个游戏上完成了70%,我需要帮助。 示例3:我有一个带有原型的开源项目构想。我需要帮助。 这不一定意味着开源,只是可以与我一起工作(以及在何处找到它们的程序员)的程序员。

3
赛车AI行为模式
假设您有一个基于样条的赛车AI。假设它已经可以处理围绕轨道的制动和转向的基本知识。 您将如何组织和实施避免碰撞,超车,起草,阻止和其他行为的方式,以使您的赛车保持竞争力,同时进行有趣的比赛? 与论文/实施的链接非常棒。
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.