Mecanismos de gráficos 2D de plataforma cruzada [fechado]

57

Estou procurando um mecanismo de gráficos 2D que me permita lançar no Windows, Mac e iPhone, da mesma forma que o Unity faz para 3D.

Existe um bom mecanismo que faça isso e seja específico para 2D?

Kevin Laity
fonte
Se você estiver se sentindo aventureiro, sempre pode conferir um dos jogos 2D de código aberto, como Aquaria, Gish e o resto do Humble Indie Bundle.
MarkovCh1
6
Você esqueceu o linux, não tem amor por esses caras?
Derek

Respostas:

37

Sempre há o modo de espera antigo, SDL . É um nível bastante baixo, mas essa simplicidade é o que permite que ele seja portado para vários bilhões de plataformas (incluindo Windows, Linux, Mac, Nintendo DS, Wii, etc etc). Há uma porta para iPhone , que eu não usei, mas parece madura o suficiente.

davr
fonte
Não parece que eles tenham uma versão 1.3 "estável", mas qual é a versão que você deseja para o suporte ao iphone. Você provavelmente precisará pegar a versão 1.3 do repositório de HG e construí-la por conta própria.
Casey
22

Realmente não há motivo para você não usar o Unity3D para criar jogos "2D". Você pode usar quads texturizados e uma câmera ortográfica, além de ter um jogo em 2D. Existem até algumas soluções exclusivas, como o uso de um sistema de animação esquelético e a colocação de sprites em diferentes articulações, ou o uso de uma câmera de perspectiva muito estreita para obter paralaxe barato.

Existem até fornecedores de middleware para o Unity para fornecer melhores soluções de gerenciamento de sprites. Como o gerenciador de sprites 2 .

Tetrad
fonte
2
Na verdade, tenho feito isso. Acho que o aspecto 3D da unidade, no entanto, tende a atrapalhar no que diz respeito à interface do usuário. Além disso, sempre acabo fazendo uma cena fictícia que não tem nada além de uma câmera com o meu script raiz anexado. Vou verificar o link que você mencionou!
21810 Kevin Laity
20

O SFML é um bom e moderno mecanismo gráfico de plataforma orientada a objetos. É acelerado por hardware (baseado em OpenGL) e possui ligações para

  • C ++
  • C
  • .Net (C #, VB.Net, C ++ / CLI, ...)
  • Pitão
  • D
  • Rubi
  • Ocaml
a_m0d
fonte
4
+1 para SFML. É ótimo, mas o único problema é a falta de uma porta para iPhone.
O Pato Comunista
12

SDL, Allegro, OpenGL
SDL e Allegro não são apenas bibliotecas gráficas, mas bibliotecas de desenvolvimento de jogos inteiros.
Um lado negativo do SDL é que ele assume o comando main () e o redefine, dificultando a combinação com outras bibliotecas. (QT na minha experiência)
Outra coisa ruim é que o SDL permite apenas uma janela (esta é a versão 1.2 estável, a versão de desenvolvimento 1.3, mas ainda não é totalmente suportada ou documentada).
Posso nomear os pontos fracos do SDL porque o conheço melhor e trabalhou com ele, mas, apesar disso, é muito poderoso, muitos emuladores, incluindo uma porta do Mame e ScummVM, além de jogos.
O OpenGL, apesar de seu uso popular em 3D, é uma biblioteca gráfica e, como tal, também permite gráficos 2D através da manipulação de superfícies em nível de pixel e faz amplo uso da aceleração de hardware em 3D e 2D.

Petruza
fonte
Eu uso para criar jogos no Allegro o tempo todo. Amei.
Tom
O Qt não assume o controle principal, mesmo com um loop de eventos no QCoreApplication. Você pode chamar qApp-> processEvents em qualquer loop que desejar e o Qt ficará feliz.
Mircea Chirea
11
O SDL precisa assumir o controle principal? Achei que você poderia evitar que, ao não incluindo SDLmain.h e tendo o cuidado de fazer as coisas a si mesmo ...
Ricket
2
O SDL não assume o controle do jogo principal. Você normalmente cria o seu próprio e, dentro dessa chamada, SDL_PollEvent para obter qualquer evento que o SDL tenha conhecimento (entrada do teclado, movimento do mouse etc.).
Dcarrigg 27/08/10
6

Você pode ver o Troll2D

Box2D é usado para muitas plataformas. Incluindo o iPhone. Mas você teria que encontrar uma maneira de exibir esses objetos. Como o Box2D lida apenas com simulação de física 2D.

Ólafur Waage
fonte
Olafur - Eu diria que Troll2D foi sua resposta, então você deve começar com isso. Box2d deve ser uma reflexão tardia.
Iain
5

O LÖVE é um mecanismo 2D que permite o desenvolvimento fácil e rápido de jogos na linguagem Lua .

Ele roda em Mac (PPC e Intel), Windows e Linux (32 e 64 bits) e os jogos são facilmente distribuídos como arquivos ".love" de um arquivo executado em todas as plataformas.

Eles são basicamente uma versão compactada do seu jogo com a extensão zip renomeada para amor .

Infelizmente, não há porta para iPhone (até agora).

Linus
fonte
5

O Cocos2D se originou no Mac / Windows em Python e está disponível no formato Objective-C no iPhone . É popular no desenvolvimento de jogos 2D para iPhone. Ray Wenderlich tem ótimos tutoriais do Cocos2D para o iPhone .

Como eles passaram do Python para o Objective-C, suspeito que você não poderá mais compilar entre todas as plataformas a partir da mesma base de código.

Joost Schuur
fonte
Correto, existem muitas portas cocos2d, mas todas usam seu próprio idioma. Objective-C para iPhone, Java para Android, Javascript para Web, Python para a versão original do PC e C ++ para a nova porta do Windows que pode ou não suportar o Windows Mobile (não está claro sobre isso). Além da filosofia de nome e design, eles não são intercambiáveis ​​de forma alguma.
LearnCocos2D
Eu acho que o Cocos2d-x agora é bastante estável e multiplataforma, com uma única linguagem de implementação: C ++ (inclui o iPhone também).
precisa saber é o seguinte
4

Se você não está preocupado com o iPhone, sempre há o Flash compactado como AIR - você perde o iPhone, mas obtém a implantação da Linux e da Web. Você pode então escolher mecanismos de jogo / física / renderização adequados ao seu projeto, por exemplo. FlashPunk, Flixel, Box2d.

Iain
fonte
Você também obtém suporte por telefone Android (pelo menos mais novos) e, provavelmente, suporte para Palm / Blackberry / Windows Mobile também no futuro.
davr
O iOS agora é suportado enquanto o Linux não.
245 Danik
4

Você pode experimentar o Angel Engine . É baseado em C ++, OpenGL, Box2D e usa Python para scripts. É principalmente para prototipagem, mas as versões recentes parecem se concentrar em criar jogos completos.

Carnby
fonte
3

O torque2D suporta PC e Mac imediatamente . O iTorque2D suporta implantação no iphone. Também é possível obter a implantação do console.

Cubed2D
fonte
2

O PlayN suporta HTML5, Android, iOS, Flash e Java para desktop.

Você escreve seu código em Java e ele lida com a conversão do código Java em JavaScript (via GWT) para HTML, em montagem ARM (via IKVM para ir do bytecode Java para o bytecode CLR e, em seguida, o MonoTouch para compilar o bytecode CLR em um aplicativo iOS nativo), ao ActionScript por meio de um back-end GWT personalizado que gera o ActionScript em vez de JavaScript e ao Android e Java da área de trabalho sem conversões.

samskivert
fonte
2

O Moai SDK é uma estrutura que pode ser executada * nessas plataformas. É open source, então confira seu repositório no github .

O Moai também pode ser publicado no Google Chrome e Android.

* Não acho que a publicação seja para mac ou windows (ou seja, para .app ou .exe) esteja disponível no momento, mas pode ser adicionada.

user14992
fonte
1

O Haxe + NME suporta HTML5, Flash, Android, iOS, Blackberry, Windows, Mac, Linux, WebOS. Ele suporta gráficos 2D (sprites de bitmap, desenho vetorial, além de efeitos como sombreamento e desfoque).

amitp
fonte
0

Ultimamente, tenho ouvido muito sobre o MonoTouch para pessoas que desenvolvem o iPhone e o iPod touch. O Framework está no topo do Mono, que já é compatível com várias plataformas.

mikeschuld
fonte
Pena que isso viola o contrato da loja do iTunes, pois você está escrevendo algo que não é C / C ++ / ObjC e usando uma camada de tradução. Você ainda pode ser aprovado, mas eles podem puxá-lo no futuro. Pessoalmente, eu não arriscaria.
davr
O @davr monotouch não viola os termos do contrato há mais de um ano.
precisa saber é o seguinte
@dodgy_coder Sim, eu lembro quando a Apple finalmente adotou essas regras retardadas (que visavam prejudicar a Adobe, acredito). Meu comentário original era verdade na época eu postei isso embora :)
davr
-1

O Unity3d é o melhor mecanismo e ferramenta de desenvolvimento de jogos em 2D. alternativamente monogame. html5 e flash não é apropriado para este tópico. o flash já está morto.

zihnibabuz
fonte