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?

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


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.


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.


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.


2

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


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


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.


-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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.