Pergunta sobre core-graphics, opengl-es, iphone – jogo de tabuleiro para iPhone: OpenGL ES ou CoreGraphics? [fechadas]

17

Eu quero programar um jogo de tabuleiro (semelhante a damas) para o iPhone. O OpenGL ES ou CoreGraphics seria uma opção melhor? O que a maioria dos jogos desse tipo na App Store usa?

Sua resposta

7   a resposta
0

e achei que a curva de aprendizado foi ainda mais fácil que o CoreGraphics para coisas de sprites 2D.

21

o que eu sugeriria neste caso é o Core Animation ou até mesmo os próprios UIViews. Se você direcionar o desenho de todos os seus elementos em uma única visão via Core Graphics, então atualize essa visão para cada quadro de animação, você terá um desempenho horrível.

Eu sugeriria desenhar os elementos discretos do tabuleiro de jogo (peças, contadores, tabuleiros quadrados, etc.) como UIViews individuais ou CALayers, e depois animar essas camadas ou vistas ao redor. As UIViews não são muito mais pesadas que as CALayers, e usam o Core Animation nos bastidores para fazer animações simples de movimento, escala ou desvanecimento. Eles também podem responder a eventos de toque. As CALayers são úteis se você quiser criar um jogo mais compatível com várias plataformas (Mac e iPhone) ou se precisar fazer animações mais complexas.

Para um jogo em 2-D, eu iria adiar o OpenGL até ter certeza absoluta de que você não conseguiria o tipo de performance que você queria no Core Animation. O OpenGL é muito menos elegante para codificar.

Para um bom exemplo de como fazer um jogo de tabuleiro usando o Core Animation, a Apple forneceuCódigo de exemplo GeekGameBoard. Embora seja um aplicativo para Mac, o código do Core Animation pode ser traduzido diretamente para o iPhone.

2

eff LeMarche tem um modelo de amostra para um jogo Black Jack em seu blog - acabei de terminar um quebra-cabeça suduko dessa abordagem. No que diz respeito ao cocos2D que eu estou usando para um jogo de plataforma - openGL não melhoraria ou melhoraria os gráficos - ele definitivamente não faria os gráficos parecerem melhores - você pode fazer o photoshop e sentir-se seguro e saber que ficará ótimo . Aprender o Cocos2D para isso é muita sobrecarga - mesmo com o aprendizado do openGL ES - basta usar os principais recursos gráficos e lançá-lo lá fora. Tanto quanto saber openGL ES para o futuro - é claro -, mas você deve entender o "núcleo" da Apple antes de tentar isso.

3

se bem feito, provavelmente parecerá melhor. No entanto, meu entendimento é que é muito mais difícil do que o CoreGraphics se você não sabe como funciona.

No entanto, se você não estiver familiarizado com isso, o CoreGraphics é mais fácil de aprender. Eu não sei muito sobre OpenGL, então quando eu estava escrevendo um jogo, eu fiz isso no CoreGraphics e ficou muito bom.

Não ficará melhor com o OpenGL. Para jogos simples, o CoreAnimation funcionará bem! bentford
"O OpenGL, se bem feito, provavelmente ficará melhor." Eu discordo totalmente desse comentário. Você provavelmente terá problemas de aliasing, problemas de filtragem de texturas, etc, etc, que você não terá com peças pré-renderizadas. Claro, se o que você quis dizer é "seria mais impressionante com a rotação 3D ao redor da placa", sim, seria. jv42
6

jogos 2D com muitos recursos; ele tem tilesmaps, sprites, paralaxe, agendamento, etc. Eu estou usando para o meu jogo, e isso me ajudou um pouco.

http://code.google.com/p/cocos2d-iphone/

Use Cocos2D, você nunca vai acertar um bloco que é devido a animação de quadros pesados. Além disso, você pode adicionar efeitos de partículas extravagantes. É muito fácil aprender e começar a ver resultados. Fornece gerenciamento de cena. Rajavanya Subramaniyan
2

o que provavelmente não é um jogo de tabuleiro, use o CoreGraphics. Você ganha o luxo de trabalhar em um nível de abstração mais alto e também obtém algumas coisas que teria que escrever à mão, por exemplo, animações. (P.S. Eu suponho que você está falando sobre 2D.)

CoreGraphics, com certeza. Ele pode facilmente manipular animações de 20 a 30 na tela ao mesmo tempo, com pouquíssimos problemas de desempenho. Será mais rápido modificar porque você pode usar ferramentas como photoshop para reconstruir suas imagens. O OpenGLES pode ser realmente interessante se você quiser fazer alguns movimentos legais ou algumas animações bem legais. John Ballinger
Você certamente pode usar seu premiado Photoshop com o OpenGL também. Apple fornece código para carregar UIImages como texturas OpenGL. Frank Krueger
3

a visualização do usuário está em uma posição fixa e você não precisa de mapeamento de textura em tempo de execução ou iluminação especial, então os gráficos principais serão mais fáceis. Caso contrário, eu iria com o OpenGL (ou um desses kits de construção de jogos como o Unity que simplificam).

Isso realmente depende de que tipo de olhar você está procurando.

Perguntas relacionadas