推荐用于UI密集型策略游戏的带有2D GUI的游戏引擎[关闭]


11

是的,这是另一个推荐的游戏引擎请求;“扭曲”是我在做策略游戏,除了精灵,输入控件的动画和抽象之外,它还必须具有对相当复杂的控件(如滚动条,选择框,按钮等)的GUI支持。

我已经使用各种GUI库尝试了XNA,但是问题是这些库尚未“完成”。我只是想知道是否还有其他引擎可以查看?

Answers:


5

libRocket最近开源。

这不是游戏引擎。他们将自己描述为中间件。但是该库做得很好,重点是从GUI设计中删除样板代码。它基于XHTML和CSS,因此如果您已经熟悉Web开发,则可能非常适合。

但这不是游戏引擎,您仍然需要单独解决这些问题。您可能会找到有关此问题的一些指导。
推荐的2D游戏引擎用于原型制作


libRocket是呈现GUI元素还是仅提供描述?很抱歉,如果这是一个愚蠢的问题,但功能列表并未真正说明其是否实际渲染。
Extrakun 2010年

1
它使用抽象的渲染后端。用户自行定义。但是,samples目录具有用于Ogre3D,DirectX和OpenGL的具体渲染器。
deft_code

2

我不知道Windows级UI库附带任何免费游戏引擎,但是CEGUI对于使用OGRE的用户来说是成熟的解决方案。

另一个选择是使用GTK +或Win32 / OS X上平台的本机窗口小部件集,然后在其中一个窗口小部件中嵌入OpenGL上下文。如果您要查找较长的功能列表,则通常是“最佳” UI。

如果您的目标平台是XNA,那么您将发现用处不大。XNA的主要卖点是跨平台兼容性,这意味着沉重的鼠标控制对于使用它的人们而言不是优先考虑的事情。


老实说,我一直想知道是否使用Qt 4.5,尽管我想了解是否有人在将其蒙皮成游戏内环境或在SDL之上运行方面有任何经验。
Extrakun 2010年

CEGUI还可以直接在OpenGL和其他渲染引擎中使用...
Klaim


2

好吧,如果您不介意从C#转到C ++,则可以查看HGE。它有些陈旧,但易于使用和扩展。如果您愿意在论坛上稍作搜索,则可以找到DirectX 9甚至OpenGL的端口(已经有一段时间了)。默认情况下,它不支持着色器。它确实包括声音和输入,但不包括物理或碰撞检测。为此,总会有Bullet或Box2D。对于回合制游戏或简单的实时游戏,可能甚至没有必要。

就GUI而言,其内置GUI是垃圾,但是您可以将CEGUI集成到其中。实际上,CEGUI很容易扩展到不同的渲染系统,即使换肤可能很麻烦。HGE的实现有两个文件,它们很短。

Clanlib也可能是您要研究的东西。我没有亲自使用过它,但它似乎功能强大,并且包含一个非常简单的GUI组件。在HGE几年未更新的同时,它也在积极开发中。


2

至于XNA,您是否尝试过将FlatRedBallNeoforce结合使用?


我已经尝试过FlatRedBall,但没有听说过Neoforce。会检查出来的!在检查Neofroce:Alas时,就像许多XNA GUI项目一样,它们并没有由开发人员维护。如果只有Microsoft,它将使GUI成为XNA核心的一部分。
Extrakun 2010年

Neoforce再也没有开发人员了,但任何人都可以免费获得和维护; p
Oskar Duveborn


0

如果您不介意自己制作一些控件,并希望拥有许多自定义控件,则请查看Scaleform。它是游戏菜单界面中的领先者之一。

您可能会认为它像游戏中的Flash播放器。


-1

您可以考虑 Unity 3D中可用的即时模式GUI方法。Unity 3D是一款出色的游戏引擎,除了其他功能外,它还能够出色地完成3D,2-D和GUI。


正如我在另一个UI问题中提到的那样,我从未见过IMGUI可扩展到多个窗口,组合框和列式列表控件。您很快就会遇到效率壁垒和API设计壁垒。Unity当前的GUI库在性能或功能方面肯定无法很好地扩展。

可能有趣的是注意到Unity自己的GUI是使用它们提供的IMGUI系统实现的。
杰森·科扎克

@Jason:真相大白。Unity编辑器(unity3d.com/support/documentation/ScriptReference/…)提供了比普通GUILayout更多的原始控件。您还将看到,与普通的GUI库相比,这些小部件的功能大大不足。坦率地说,如果游戏的UI感觉像Unity编辑器一样(就响应度,焦点行为,激活规则等而言,而不是外观),我会讨厌的。

@Joe如果在Unity中开发游戏,这是一个公平的观点;我的意图虽然只是指出一个更复杂的IMGUI实例。由于Unity是免费的,因此下载和评估非常容易。
杰森·科扎克

如果您想进行OOP编程,则必须使用某些第三方库来增强IMHO Unity3D的GUI,例如GUIX。但是,Unity3D有一个令人讨厌的错误,您可以在其中单击UI元素到附加到实体的对撞机上。吹捧此问题将在下一版本中修复。但是,我目前正在考虑2D,在Unity3D中进行2D需要一些技巧。否则,它是3D素材的快速引擎。
Extrakun 2010年
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.