Порекомендуйте игровой движок с 2D GUI для интенсивной игры с интерфейсом [закрыто]


11

Да, это еще один рекомендуемый запрос игрового движка; «поворот» в том, что я делаю стратегическую игру, и помимо спрайтов, анимации и абстракции элементов управления вводом, она должна иметь поддержку GUI для довольно сложных элементов управления, таких как полосы прокрутки, поля выбора, кнопки и тому подобное.

Я пробовал XNA с различными библиотеками GUI, но проблема в том, что эти библиотеки не были «завершены». Мне просто интересно, есть ли другие двигатели, на которые я могу посмотреть?

Ответы:


5

libRocket недавно вышел с открытым исходным кодом.

Это не игровой движок. Они описывают себя как промежуточное ПО. Но библиотека довольно хорошо сделано, с акцентом на устранение стереотипного кода от вас графического интерфейса пользователя. Он основан на XHTML и CSS, поэтому, если вы уже знакомы с веб-разработкой, он может подойти.

Но это не игровой движок, который вам все равно придется решать отдельно. Вы можете найти некоторые рекомендации по этому вопросу.
Рекомендуемый 2D Game Engine для прототипирования


Рендерит ли libRocket элементы GUI или просто предоставляет описание? Извините, если это глупый вопрос, но в списке возможностей не указано, действительно ли он отображается.
Extrakun

1
Он использует абстрактный рендеринг серверной части. Это зависит от пользователя, чтобы определить свои собственные. Однако в каталоге примеров есть конкретный рендер для Ogre3D, DirectX и OpenGL.
deft_code

2

Я не знаю каких-либо бесплатных игровых движков, которые поставляются с библиотекой пользовательского интерфейса на уровне Windows, но CEGUI является зрелым решением для тех, кто использует OGRE .

Другой вариант - использовать GTK + или собственный виджет вашей платформы, установленный в Win32 / OS X, и встроить контекст OpenGL в один из этих виджетов. Как правило, это «лучшие» пользовательские интерфейсы, если вы ищете длинный список функций.

Если ваша целевая платформа XNA, вы не найдете много полезного. Ключевым моментом продажи XNA является кроссплатформенная совместимость, что означает, что усиленное управление мышью не является приоритетом для людей, использующих его.


Честно говоря, я размышлял об использовании Qt 4.5, хотя хотел бы узнать, есть ли у кого-нибудь опыт создания скинов, чтобы он походил на игровую среду, или запускал его, скажем, SDL.
Extrakun

CEGUI также можно использовать непосредственно в OpenGL и других движках рендеринга ...
Klaim

2

XPF все еще находится на ранней стадии разработки, но продвигается довольно быстро. Он основан на WPF и Silverlight, но разработан для XNA.


2

Ну, если вы не возражаете против перехода с C # на C ++, вы можете проверить HGE . Это немного на старой стороне, но очень прост в использовании и расширении. Если вы захотите немного поискать по форумам, вы найдете его порты для DirectX 9 и, возможно, OpenGL (это было давно). По умолчанию он не поддерживает такие вещи, как шейдеры. Он включает в себя звук и вход, но не обнаруживает физику или столкновение. Для этого всегда есть Bullet или Box2D. Для пошаговой игры или простой игры в реальном времени, которая может даже не понадобиться.

Насколько GUI идет, его встроенный GUI является мусором, но вы можете интегрировать CEGUI в него. CEGUI на самом деле довольно легко распространить на разные системы рендеринга, даже если его оформление может быть громоздким. Реализация для HGE - два файла, и они довольно короткие.

Clanlib также может быть чем-то, что вы хотите изучить. Я не использовал это лично, но это, кажется, довольно сильный и включает довольно простой компонент GUI. Это также активно развивается, в то время как HGE не обновлялся в течение нескольких лет.


2

Что касается XNA, пробовали ли вы FlatRedBall в сочетании с Neoforce ?


Я пробовал FlatRedBall, но не слышал о Неофорсе. Проверим это! О проверке Neofroce: увы, как и многие проекты XNA GUI, их разработчики не поддерживают. Если только Microsoft сделает GUI частью ядра XNA.
Extrakun

У Neoforce больше нет разработчика, но он доступен для всех, кто хочет его взять и поддерживать; p
Оскар Дювеборн,

2

Вы можете попробовать Squid. Это независимый от движка GUI SDK для .net (написано мной: P). Здесь: http://www.ionstar.org/?page_id=4


Я хотел бы, чтобы был способ отметить два правильных ответа
Extrakun

0

Если вы не возражаете против создания некоторых элементов управления самостоятельно и хотите иметь множество пользовательских элементов управления и внешнего вида, проверьте Scaleform . Это один из ведущих в игровом меню пользовательского интерфейса.

Вы можете думать об этом как о Flash Player в игре.


-1

Вы можете рассмотреть метод графического интерфейса непосредственного режима, который доступен в Unity 3D . Unity 3D - это потрясающий игровой движок, который отлично справляется с 3-D, 2-D и GUI.


Как я упоминал в другом вопросе о пользовательском интерфейсе, я никогда не видел, чтобы IMGUI масштабировался до нескольких окон, полей со списками и элементов управления списком с колонками. Вы довольно быстро попадаете в стены эффективности и API. Текущая библиотека GUI Unity определенно не масштабируется ни по производительности, ни по функциям.

Было бы интересно отметить, что собственный графический интерфейс Unity реализован с использованием системы IMGUI, которую они предоставляют.
Джейсон Козак

@Jason: Это полуправда. Редактор Unity ( unity3d.com/support/documentation/ScriptReference/... ) предоставляет множество более простых виджетов , чем нормальный GUILayout. Вы также увидите , что эти виджеты значительно слабоваты по сравнению с обычной библиотекой GUI. И, честно говоря, если бы у игры был пользовательский интерфейс, который был бы похож на редактор Unity - с точки зрения отзывчивости, поведения фокуса, правил активации и т. Д., Не обращаясь к внешнему виду - я бы его ненавидел.

@Joe Справедливо, если вы разрабатываете игры в Unity; хотя я намеревался лишь указать на пример более сложного IMGUI в действии. Поскольку Unity бесплатна, ее легко скачать и оценить.
Джейсон Козак

ИМХО Графический интерфейс Unity3D должен быть дополнен некоторыми сторонними библиотеками, если вы хотите заниматься программированием ООП, например, GUIX. Однако в Unity3D есть досадная ошибка, из-за которой вы можете щелкать через элементы пользовательского интерфейса на коллайдерах, прикрепленных к сущностям. Это рекламируется для исправления в следующем выпуске. Тем не менее, сейчас я думаю о 2D, и для выполнения 2D в Unity3D требуются некоторые прыжки. В остальном это хороший быстрый движок для 3D вещей.
Extrakun
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.