Engine 2D para IOS gratuito con fisicas

Update:
-Corregidos muchos pequeños errores
-Añadido soporte para la rotacion en las 4 orientaciones
-Añadido soporte para ipad y retina display
-Añadida clase TiledMap, para usar mapas de tiles con Tiled ademas de la actual clase con mappy

Hola,
He decidido liberar mi engine 2d para ios y asi ofrecer algo distinto al cocos2d, lo podeis descargar de github aqui mismo.

Listado de caracteristicas:
-Escrito en Obj-C
-OpenglES para sprites, se fuerza al usuario a usar spritesheets o texture atlas (llamalas como quieras) para optimizar al maximo el rendimiento. Se batchean todos los sprites usando la tecnica del vertex interleaved buffer, no VBO
-OpenAL para los sonidos ingame
-Avplayer para la musica mp3 usando la descompresion por hardware del aifon
-Tilemaps con mappy, exporta tus capas de mappy como ficheros .CSV y usalos en el engine. Crea un fichero xml con la configuracion de los tiles y cargalo en el engine para dibujar tu tilemap
-Bitmap fonts, usando programas como el de Angelcode, hiero o el proximo Glyph, exporta tu fuente bitmap y usala luego en el engine. Se recomienda integrar la fuente junto con el tilesheet del resto de cosas del juego para optimizar aun mas
-Motor de particulas, usando el programa particle designer puedes crear tus efectos de particulas para luego importarlos en el motor, crear efectos nunca fue tan facil
-Widgets, para tus botones
-Animaciones de sprites, usando un fichero xml podras definir los frames de animacion y cargarlos en el juego
-Selector de lenguage, usando el lenguaje por defecto del iphone podras cargar un xml con los textos en el idioma elegido, crea tus lenguajes poniendo las sentencias en el xml correspondiente y leelo luego en el juego.
-Gestion de touches
-Statemanager, para controlar el flujo del juego.
-Fisicas con el motor Box2D.



El proyecto de xcode viene con un ejemplo que consta de lo siguiente:
-Menu principal, escena con tiles y fisicas, escena sin fisicas y con scroll de tiles automatico.
-Desde el juego podras pausarlo y volver al menu principal para que veas como funciona el flujo normal del engine y como pasas de un estado a otro.

Saludos,
Muchas gracias, excelente aporte, que me viene de perlas para un proyecto en el que estaba trabajando.

Antes de ponerme a mirarlo te hago una preguntilla:

Que tal modela las fisicas de cuerdas? es que en engine 2D, no he encontrado unas fisicas de cuerdas que me gusten, y estaba pensando en mirar algun motor 3D a ver que tal
No tengo la mas remota idea, no he usado mucho las fisicas en 2D, para mas informacion sobre ese aspecto deberas mirar los foros de Box2D o la documentacion a ver que te dicen :)
Eskematico escribió:No tengo la mas remota idea, no he usado mucho las fisicas en 2D, para mas informacion sobre ese aspecto deberas mirar los foros de Box2D o la documentacion a ver que te dicen :)


Podrias explicar como ponerlo a punto para usarlo? Tengo bastante experiencia en otros lenguajes de programacion pero el Objective C me parece tan diferente a todo lo que he usado o aprendido que no se por donde cogerlo. Alguna sugerencia? Gracias
¿Que quieres saber exactamente? no te entiendo con eso de ponerlo a punto. Si te refieres a que andas totalmente perdido en obj-c entonces cualquiera de los tutoriales o libros que hay por la red te ayudara, no esperes nada en español al respecto, todo en ingles.
Si te refieres al motor no hay que poner a punto, solo debes crear el codigo de tu juego, usea tu menu, tu clase player,etc,etc, el engine ya te provee con las clases para dibujar tus sprites o para añadirles fisicas, sonidos,etc,etc. Por eso viene con ejemplo para que veas como funciona
Eskematico escribió:¿Que quieres saber exactamente? no te entiendo con eso de ponerlo a punto. Si te refieres a que andas totalmente perdido en obj-c entonces cualquiera de los tutoriales o libros que hay por la red te ayudara, no esperes nada en español al respecto, todo en ingles.
Si te refieres al motor no hay que poner a punto, solo debes crear el codigo de tu juego, usea tu menu, tu clase player,etc,etc, el engine ya te provee con las clases para dibujar tus sprites o para añadirles fisicas, sonidos,etc,etc. Por eso viene con ejemplo para que veas como funciona



Supongo que no se ni por donde comenzar... esto es un template? se carga como proyecto¿ como puedo probar el ejemplo? si pruebo de cargar el xproj me da error al compilar. Gracias
Si tienes el sdk del iphone instalado funciona perfectamente, solo le das doble click al .xcodeproj y se abrira xcode y listo para compilar y ejecutar en el simulador o device (esto solo si pagas los 99$).
El engine esta "separado" y por decirlo de alguna manera es una template, ahora mismo tienes un menu principal y 2 escenas de juego que tu modificarias para ajustarlas a tu juego añadiendo todo el codigo necesario, usea crearte tu clase player, enemigo, o lo que sea que necesite el juego.
Obviamente debes saber programar primero, si no este engine no te sirve para nada, esto no es un creador de juegos automatico como el game maker
programar en c, c#, java y php se pero para mi el obj-c es una cosa diferente. Teniendo un ejemplo pues a veces te pueden abrir los ojos y lo que antes parecía una montaña después no lo es tanto.

Yo no tengo la version beta del xcode sino la ultima estable. He hecho doble click en el proyecto se abre pero ya eligiendo el simulador solo me sale el ipad. Hago build and run y da 2800 errores. A ver si me puedes hechar una mano.
Yo tambien uso la ultima version estable del sdk la 4.2 no uso betas, no deberia dar ningun problema al compilarse si tienes todo en orden. Dime que clase de errores te da a ver si damos con el problema ;)
Yo lo he probado y funciona perfecto, tengo que mirarlo más a fondo.

Un Saludo y enhorabuena por el trabajo
Gracias rcaba, obviamente el amigo alfil69 tiene algo mal instalado o no bien actualizado :)
Cargo el Xproj
Imagen
Lo siento pero no he podido hacer un screen de la pantalla mostrando solo el simulador de ipad
Imagen
Compilo y aparecen los errores
Imagen
Imagen

Pues indicarme los pasos que seguis a ver si así lo entiendo. Gracias
Segun ese error esta claro, no tienes los ficheros de Box2D, con lo cual siempre te dara error, supongo que se ha descargado mal el proyecto y por eso no te va. Dentro de la carpeta Engine2D deberias ver una llamada Box2D, si no la tienes prueba a descargar de nuevo el paquete de gihub
Puede ser correcto lo que me dices. Yo he ido al link que has puesto tu en el primer post y he puesto descargar. Despues me ha preguntado en que formato de compresión a lo que he dicho que zip. A lo mejor lo he bajado del lugar incorrecto. Gracias por tu ayuda.
No es que pueda ser correcto, es que es el error que tienes ;) yo suelo descargar las cosas con el tar.gz si no tengo ganas de usar la consola y abrir el git
Imagen

No queria decir que no tuvieras la razon pero es que creo que hago lo correcto. Esta claro que hago algo mal a ver si podemos sacar algo en claro.
No tiene relación con el post, pero te comento Eskematico, que tal git como control de versiones?
He oido muy buenas cosas sobre el, el problema de no tener ninguna interfaz decente es que a la hora de comparar cambios entre dos ficheros es un poco coñazo, no?

Perdón por offtopiquear
Pero aparte de cargar el proyecto por medio del xproj se tiene de hacer algo mas?
Si los ficheros estan ahi y te da el error entonces por alguna razon el proyecto no responde como deberia. En tal caso copias la carpeta Box2D fuera del proyecto (a otra carpeta lejos del proyecto), y borras los archivos desde xcode, pinchas en la carpeta y le das a borrar. Luego tendras que usar el finder para borrar las carpetas a mano pq xcode no lo hace.
Una vez borrado si das a build te dara otro porron de errores, asi que nuevamente hacemos un clean, y arrastramos otra vez la carpeta Box2d del lugar donde la hayas guardado y la volvemos a pegar donde estaba dentro de engine2d (desde xcode todo), te saldra una ventana para poder agregar al proyecto y marcas la casilla de añadir al proyecto.
Ahora le deberias poder dar a build y funcionar


rcaba, no te se decir, nunca en la vida habia usado un svn de estos, lo poco que he usado de git me ha gustado, es sencillo de usar, es un coñazo pq solo va con la consola y todo va a pelo con comandos, por lo demas no me ha parecido mal
Veo que estoy condenado a no poder usarlo no lo entiendo si hago lo mismo que me decis... Lo siento por haceros perder el tiempo
Si que es raro, tienes todos los archivos y te da el error de box2d?, como dices solo has de hacer doble click para abrir el proyecto y en teoria compilar y correr.
Con el código fuente del cannabalt también me pasaba lo mismo
Lo arreglaste? lo del canabalt digo, pq si la respuesta es no, entonces algo tienes mal en tu mac que te impide hacer funcionar estos proyectos, bien tienes el sdk mal instalado, no es la version 4.2 que salio estas navidades, tienes varias versiones del xcode instaladas y se hacen la picha un lio, etc,etc.
El otro dia tenia problema porque un cliente no podia leer los xmls y era cosa de su ordenador en mis 2 macs iba perfectamente
La verdad es que no lo entiendo la verdad. Instale la beta pero la desinstale y volvi atras pensando que era culpa de esta
Instalar betas es lo peor que se puede hacer salvo que las vayas a usar, eso de instalar por mirar.... Algo del nuevo xcode se ha quedado instalado y salvo que tengas copia de time machine para restaurar el sistema no creo que lo dejes como antes de actualizar
Buena, aunque tal vez no sea de mucho interes he subido mas cambios y mejoras al engine
-Corregidos muchos pequeños errores
-Añadido soporte para la rotacion en las 4 orientaciones
-Añadido soporte para ipad y retina display
-Añadida clase TiledMap, para usar mapas de tiles con Tiled ademas de la actual clase con mappy

Saludos,
Le echaré un vistazo, yo al final decidí programarme mi propio motor de físicas, lo estoy haciendo en C, ya luego lo encapsularé en alguna librería, cuando lo tenga listo lo subiré a disposición del que quiera [sonrisa]
Si estas haciendo tu propio engine de fisicas no necesitas para nada este motorcillo, tienes conocimientos de sobras para hacer algo por tu cuenta :)
Siempre me gusta echarle un vistazo a las cosas nuevas, a parte has hecho un gran trabajo
29 respuestas