Recomendar um mecanismo de jogo com GUI 2D para um jogo de estratégia com muita interface do usuário [fechado]

11

Sim, essa é outra solicitação de mecanismo de jogo recomendado; o 'toque' é que estou fazendo um jogo de estratégia e, além de sprites, animação e abstração de controles de entrada, ele precisa ter uma interface gráfica para controles bastante complexos, como barras de rolagem, caixas de seleção, botões e outros.

Eu tentei o XNA com várias bibliotecas da GUI, mas o problema é que essas bibliotecas não foram 'concluídas'. Eu só estou querendo saber se existem outros motores que eu posso olhar?

Extrakun
fonte

Respostas:

5

A libRocket recentemente foi de código aberto.

Não é um motor de jogo. Eles se descrevem como middleware. Mas a biblioteca é muito bem-feita, com foco na remoção do código padrão do seu design de GUI. É baseado em XHTML e CSS, portanto, se você já está familiarizado com o desenvolvimento da Web, pode ser uma ótima opção.

Mas não é um mecanismo de jogo que você ainda precisará resolver esses problemas separadamente. Você pode encontrar alguma orientação com esta pergunta.
Mecanismo de jogo 2D recomendado para prototipagem

deft_code
fonte
A libRocket processa os elementos da GUI ou apenas fornece uma descrição? Desculpe se esta é uma pergunta idiota, mas a lista de recursos não indica se realmente é renderizada.
Extrakun 14/09/10
1
Ele usa um backend de renderização abstrato. Cabe ao usuário definir seus próprios. No entanto, o diretório de amostras possui um renderizador concreto para Ogre3D, DirectX e OpenGL.
Deft_code 14/09/10
2

Não conheço nenhum mecanismo de jogo gratuito que vem com uma biblioteca de interface do usuário no nível do Windows, mas o CEGUI é uma solução madura para quem usa o OGRE .

Outra opção seria usar o GTK + ou o widget nativo da sua plataforma definido no Win32 / OS X e incorporar um contexto OpenGL dentro de um desses widgets. Essas geralmente são as "melhores" interfaces de usuário se você estiver procurando por uma longa lista de recursos.

Se sua plataforma de destino for XNA, você não encontrará muita utilidade. O principal ponto de venda do XNA é a compatibilidade entre plataformas, o que significa que o controle pesado do mouse não é uma prioridade para as pessoas que o utilizam.


fonte
Eu estava pensando em usar o Qt 4.5, para ser honesto, embora eu gostaria de descobrir se alguém tem alguma experiência em usá-lo como um ambiente de jogo ou executá-lo em cima de, por exemplo, SDL.
Extrakun 14/09/10
CEGUI também pode ser usado diretamente em OpenGL e outros motores de renderização ...
Klaim
2

O XPF ainda está no início do desenvolvimento, mas está progredindo rapidamente. Baseia-se livremente no WPF e Silverlight, mas foi desenvolvido para o XNA.

Mike Strobel
fonte
2

Bem, se você não se importa de mudar de C # para C ++, pode conferir o HGE . É um pouco antigo, mas é muito fácil de usar e estender. Se você quiser pesquisar um pouco nos fóruns, encontrará portas para o DirectX 9 e talvez para o OpenGL (já faz um tempo). Por padrão, ele não suporta coisas como shaders. Inclui som e entrada, mas nenhuma detecção física ou de colisão. Para isso, há sempre Bullet ou Box2D. Para um jogo baseado em turnos ou um jogo simples em tempo real que pode nem ser necessário.

No que diz respeito à GUI, a GUI integrada é lixo, mas você pode integrar o CEGUI a ele. A CEGUI é realmente muito fácil de se estender a diferentes sistemas de renderização, mesmo que a aparência possa ser complicada. A implementação do HGE é de dois arquivos e eles são bem curtos.

Clanlib também pode ser algo que você deseja pesquisar. Eu não o usei pessoalmente, mas parece ser bastante poderoso e inclui um componente GUI bastante direto. Também é desenvolvido ativamente enquanto o HGE não é atualizado há alguns anos.

Owen
fonte
2

Quanto ao XNA, você já experimentou o FlatRedBall combinado com o Neoforce ?

Oskar Duveborn
fonte
Eu tentei o FlatRedBall, mas nunca ouvi falar do Neoforce. Irá verificar! Ao verificar o Neofroce: Infelizmente, como muitos projetos XNA GUI, eles não estão sendo mantidos por seus desenvolvedores. Se apenas a Microsoft fizer da GUI parte do núcleo do XNA.
Extrakun 23/09/10
Não Neoforce não tem um desenvolvedor mais, mas é grátis para qualquer um para pegar e manter; p
Oskar Duveborn
2

Você poderia tentar o Squid. É um gui sdk independente de mecanismo para .net (escrito por mim: P). Por aqui: http://www.ionstar.org/?page_id=4


fonte
Desejo há uma maneira de marcar duas respostas corretas
Extrakun
0

Se você não se importa de fazer alguns controles e deseja ter muitos controles personalizados e aparência, consulte Scaleform . É uma das principais interfaces de usuário dos menus de jogos.

Você pode pensar nisso como um Flash player no jogo.

Wernight
fonte
-1

Você pode considerar o método GUI de modo imediato, disponível no Unity 3D . O Unity 3D é um incrível mecanismo de jogo que funciona muito bem em 3-D, 2-D e GUI, entre outras coisas.

Wernight
fonte
Como mencionei em outra pergunta da interface do usuário, nunca vi o IMGUI escalar até várias janelas, caixas de combinação e controles de lista em colunas. Você atinge paredes de eficiência e paredes de design de API rapidamente. A biblioteca GUI atual do Unity definitivamente não se adapta bem ao desempenho ou aos recursos.
Pode ser interessante notar que a interface gráfica do usuário do Unity é implementada usando o sistema IMGUI que eles fornecem.
Jason Kozak
@ Jason: Isso é meia-verdade. O editor do Unity ( unity3d.com/support/documentation/ScriptReference/… ) fornece muitos widgets mais primitivos que o GUILayout normal. Você também verá que esses widgets estão com pouca potência em comparação com uma biblioteca GUI normal. E, francamente, se um jogo tivesse uma interface do usuário parecida com a do editor do Unity - em termos de capacidade de resposta, comportamento de foco, regras de ativação, etc., sem se referir à aparência - eu odiaria.
@ Joe Um ponto justo se você estiver desenvolvendo jogos no Unity; minha intenção era apenas apontar um exemplo de uma IMGUI mais complexa em ação. Como o Unity é gratuito, é muito fácil fazer o download e avaliar.
Jason Kozak
A GUI do IMHO Unity3D deve ser aumentada com algumas bibliotecas de terceiros se você desejar fazer programação OOP, como GUIX. No entanto, o Unity3D possui um bug irritante, no qual você pode clicar nos elementos da interface do usuário nos coletores anexados às entidades. Isso foi corrigido na próxima versão. No entanto, estou pensando em 2D no momento, e fazer 2D no Unity3D requer alguns obstáculos para avançar. Caso contrário, é um bom mecanismo rápido para coisas 3D.
Extrakun 14/09/10