site - Juego de mesa iPhone: OpenGL ES o CoreGraphics?
portal de desarrolladores de apple (7)
Quiero programar un juego de mesa (similar a las damas) para el iPhone. ¿Sería OpenGL ES o CoreGraphics una mejor opción? ¿Qué utilizan la mayoría de los juegos de este tipo en la App Store?
En realidad, lo que sugeriría en este caso es Core Animation o incluso solo UIVview. Si realiza el dibujo directo de todos sus elementos en una sola vista a través de Core Graphics y luego actualiza esa vista para cada fotograma de animación, obtendrá un rendimiento horrible.
Yo sugeriría dibujar los elementos discretos del tablero de juego (piezas, contadores, cuadrados de tablero, etc.) como UIViews o CALayers individuales, y luego animar esas capas o vistas alrededor. Las UIViews no son mucho más pesadas que las de CALayer, y usan Core Animation detrás de escena para hacer movimientos simples, escalar o desvanecer animaciones. También pueden responder a eventos táctiles. Los CALayers son útiles si quieres construir un juego más multiplataforma (Mac y iPhone), o si necesitas hacer animaciones más complejas.
Para un juego 2-D, esperaría en OpenGL hasta que estuviera absolutamente seguro de que no podía obtener el tipo de rendimiento que desea de Core Animation. OpenGL es mucho menos elegante para codificar.
Para un buen ejemplo de cómo hacer un juego de mesa con Core Animation, Apple ha proporcionado el código de muestra GeekGameBoard . Aunque es una aplicación para Mac, el código Core Animation se puede traducir directamente al iPhone.
OpenGL, si se hace bien, probablemente se verá mejor. Sin embargo, mi entendimiento es que es mucho más difícil que CoreGraphics si no sabes cómo funciona.
Sin embargo, si no está familiarizado con él, CoreGraphics es más fácil de aprender. No sé mucho sobre OpenGL, así que cuando estaba escribiendo un juego, lo hice en CoreGraphics y resultó bastante bueno.
OpenGL. A la larga valdrá la pena, y pensé que la curva de aprendizaje era incluso más fácil que CoreGraphics para el sprite 2D.
Para este uno definitivamente los gráficos básicos y la animación central. Jeff LeMarche tiene una plantilla de muestra para un juego de Black Jack en su blog. Acabo de terminar un rompecabezas súbito con este enfoque. En lo que respecta a cocos2D que estoy usando para un juego de plataforma, openGL no mejoraría ni mejoraría los gráficos, definitivamente no hará que los gráficos se vean mejor. . Aprender Cocos2D para esto es demasiado costoso, igual que con el aprendizaje de openGL ES, solo use los gráficos principales y distribúyalos. En cuanto a saber sobre openGL ES para el futuro, por supuesto, pero debes entender el "núcleo" de Apple antes de intentarlo.
Si no estás hambriento de rendimiento, lo que probablemente no sea un juego de mesa, ve con CoreGraphics. Puede darse el lujo de trabajar a un nivel de abstracción más alto y también tiene algunas cosas que tendría que escribir a mano, por ejemplo animaciones. (PS supongo que estás hablando de 2D).
Si su perspectiva es mayormente superior, la vista del usuario está en una posición fija, y no necesita mapeo de texturas en tiempo de ejecución o iluminación especial, entonces los gráficos centrales serán más fáciles. De lo contrario, optaría por OpenGL (o uno de esos kits de creación de juegos de terceros como Unity que lo hacen simple).
Realmente depende de qué tipo de look vas a buscar.
También puedes consultar cocos2d para iphone: es una biblioteca de juegos 2D bastante completa; tiene tilemaps, sprites, paralaje, programación, etc. Lo estoy usando para mi juego, y me ha ayudado bastante.