Ver la versión completa : Engine 2D para IOS gratuito
Update: nueva version con fisicas en este repo (https://github.com/EskemaGames/2DEnginePhysics)
-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
Muy buenas, he decidido liberar mi engine 2D para IOS, lo podeis encontrar en github y descargarlo de aqui (https://github.com/EskemaGames/2DEngine)
Posiblemente estando cocos2D alguien se preguntara, ¿esto para que vale?, pues a lo mejor alguien esta en mi situacion de encontrar cocos2D demasiado complejo y cada dia mas para hacer algo 2D.
¿Que tiene este engine mio? pues salvo fisicas todo lo demas, quiero añadirle y mejorar cositas para la animacion de los sprites y mejorar algunas cosillas en los tilemaps.
Pero bueno, el engine es robusto, lo he usado para hacer 3 juegos y otro mas que viene de camino asi que esta optimizado a tope para los devices viejos, lease iphone3G en los retina e ipad le falta usar algun shader que optimize el problema con el alpha para alcanzar los 60fps.
El engine viene con escena de ejemplo, en este caso un menu para que se vea un poco como funciona el asunto.
Dado el caracter privado y con ganas de reinventar la rueda de los programadores no creo que nadie lo vaya a usar, pero bueno ahi esta por si alguien lo quiere.
Saludos,
Listado de caracteristicas:
-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
-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, pues eso...
-Widgets, para tus botones
-Animaciones de sprites, calculando la imagen y partiendola en trozos, solo necesitas pasar el numero de cuadros a la animacion, tipo mysprite[caminar] = {0,1,2,3,50};
-Selector de lenguage, algo rudimentario pero funciona, 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.
GameMaster
13/01/2011, 00:36
Sin duda la mejor noticia del día.
Gracias!
Tremendo. Hace tiempo programaba con fénix, supongo que sigues necesitando un mac para programar el iphone, cierto ?
Puedes usar un hackintosh ?
Puck2099
13/01/2011, 07:53
Hola,
No encuentro la licencia en la página... ¿cómo está licenciado?
^MiSaTo^
13/01/2011, 10:09
Juas hemos tenido la misma idea xD Yo aún estoy puliendo el "mío" para hacer lo mismo que tú ;)
Aún así yo sí he encontrado muy util también el tuyo, así que me alegra que lo hayas liberado :D
saucjedi
13/01/2011, 10:12
Gracias Eskema, tengo curiosidad por ver como has resuelto algunos temas que no tengo claros del todo. Cocos2D mola mazo, pero se está haciendo demasiado grande y genérico y según para qué lo quieras se hace cuesta arriba...
Por cierto, ¿es GPL?
El de Misato también será bien recibido :D
^MiSaTo^
13/01/2011, 10:15
Gracias Eskema, tengo curiosidad por ver como has resuelto algunos temas que no tengo claros del todo. Cocos2D mola mazo, pero se está haciendo demasiado grande y genérico y según para qué lo quieras se hace cuesta arriba...
Por cierto, ¿es GPL?
El de Misato también será bien recibido :D
El mío es muy parecido al suyo ;) Lo que pasa que mi idea era hacer unas librerías en vez de tener las 300 mil clases ahí, para que fuera más fácil de incluir en proyectos y demás... pero vamos que básicamente son idénticos yo creo (hemos tenido el mismo maestro :P y de hecho a mi Eskema me ha ayudado mucho)
No he puesto la licencia aun, pero es free, usadlo como os de la gana, a cambio si lo usais solo os rompere las piernas digoooo que no me debeis nada xDD.
Actualizare el readme para poner que la licencia es por la patilla, cortad, copiad u haced lo que querais con el codigo
< - >
Bien readme updateado, para dar mas detalles de lo que contiene este engine.
-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
-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, pues eso...
-Widgets, para tus botones
-Animaciones de sprites, calculando la imagen y partiendola en trozos, solo necesitas pasar el numero de cuadros a la animacion, tipo mysprite[caminar] = {0,1,2,3,50};
-Selector de lenguage, algo rudimentario pero funciona, 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.
Gracias Eskema, estoy mirando desde hace un tiempo sobre el desarrollo para iphone/ipod me viene de maravilla. Viendo el fuente parece sencillo y bien estructurado, incluso para estar en objetive-c :). Gracias por compartirlo.
^MiSaTo^
13/01/2011, 11:52
Gracias Eskema, estoy mirando desde hace un tiempo sobre el desarrollo para iphone/ipod me viene de maravilla. Viendo el fuente parece sencillo y bien estructurado, incluso para estar en objetive-c :). Gracias por compartirlo.
Hombre, Obj-C te puede gustar más o menos, pero desde luego el código es limpio y legible como el sólo ;)
Eso era lo que quería decir Misato, no se si se ha entendido. De hecho yo sabiendo lo mínimo de obj-c lo veo claro.
^MiSaTo^
13/01/2011, 12:00
Eso era lo que quería decir Misato, no se si se ha entendido, de ahí el smiley.
Ah perdón, entendí justo al revés: que para estar en Obj-C estaba muy bien estructurado y limpio, como si Obj-C fuera justo lo contrario xD
:brindis:
Hombre, Obj-C te puede gustar más o menos, pero desde luego el código es limpio y legible como el sólo ;)
Gracias, nunca pense que el codigo fuera limpio. Tiene algunos puntos un poco hardcore en los tilemaps, y me gustaria añadir otro sistema de animaciones para los sprites aunque el actual me va fenomeno.
A ver si saco tiempo y lo mejoro un pelin añadiendo una escena con un mapa de tiles para que se vea como funciona el juego en si
^MiSaTo^
13/01/2011, 12:04
Gracias, nunca pense que el codigo fuera limpio. Tiene algunos puntos un poco hardcore en los tilemaps, y me gustaria añadir otro sistema de animaciones para los sprites aunque el actual me va fenomeno.
A ver si saco tiempo y lo mejoro un pelin añadiendo una escena con un mapa de tiles para que se vea como funciona el juego en si
Me refería a Obj-C en sí. Tu código todos sabemos que es una guarrería, porque no eres un gurú ¬¬
XDDDDDDDDDDDDDDDDDDD
Ahora en serio, estoy pensando en bajármelo, ver si puedo añadir un par de cosas (que no si lo tienes ya o no) y crear una librería (por aquello de que es más cómoda de añadir a los proyectos). Te parece? Porque creo que debe ser muuuuy parecido a lo que yo tengo ya ^^
Es cierto aun estoy sacandome el titulo de guru, a ver si termino la carrera y eso xDD
Por supuesto que una libreria reduciria la cantidad de archivos por ahi flotando y "molestando", ya sabes que hay confianza, haz lo que creas oportuno.
Al igual que yo he aprendido con muchos libros y tutoriales libres, ahora me ha llegado el turno de compartir lo que tenia hecho y aprendido por el camino.
^MiSaTo^
13/01/2011, 12:22
Es cierto aun estoy sacandome el titulo de guru, a ver si termino la carrera y eso xDD
Por supuesto que una libreria reduciria la cantidad de archivos por ahi flotando y "molestando", ya sabes que hay confianza, haz lo que creas oportuno.
Al igual que yo he aprendido con muchos libros y tutoriales libres, ahora me ha llegado el turno de compartir lo que tenia hecho y aprendido por el camino.
Gracias por compartirlo ;)
GameMaster
13/01/2011, 22:51
Joer que ganas tengo de pillarme el MAC, me he viciado!!! Mas vale tarde que nunca, dios mio lo que me he estado perdiendo estos 2 años por ignorar estos cacharros xDDD
Tu motor me va venir de perlas para empezar ;)
^MiSaTo^
14/01/2011, 10:32
Joer que ganas tengo de pillarme el MAC, me he viciado!!! Mas vale tarde que nunca, dios mio lo que me he estado perdiendo estos 2 años por ignorar estos cacharros xDDD
Tu motor me va venir de perlas para empezar ;)
Lo primero, bienvenido a la secta xD
Lo segundo, cuando empieces a aprender Obj-C verás como no estás así de contento xDDDDDDDDD
Posiblemente estando cocos2D alguien se preguntara, ¿esto para que vale? .... .... ..... .... Dado el caracter privado y con ganas de reinventar la rueda de los programadores no creo que nadie lo vaya a usar, pero bueno ahi esta por si alguien lo quiere.
Juas hemos tenido la misma idea xD Yo aún estoy puliendo el "mío" para hacer lo mismo que tú ;)
confirmado lo de que al los programadores les gusta reinventar la rueda. :D
parece muy completo, si me agobio mucho con el CCOO lo mismo me pongo con el tuyo ;)
Aiken
< - >
lo que me he estado perdiendo estos 2 años por ignorar estos cacharros xDDD
que dos años? macs hay desde la prehistoria, y en los ultimos 2 años tampoco han cambiado tanto.
Aiken
< - >
Lo segundo, cuando empieces a aprender Obj-C verás como no estás así de contento xDDDDDDDDD
cuando se aprende algo siempre se deberia estar contento :D ;)
Aiken
saucjedi
14/01/2011, 11:26
Lo segundo, cuando empieces a aprender Obj-C verás como no estás así de contento xDDDDDDDDD
Pues a mí me entró con facilidad ObjC, aunque a mi los lenguajes raron me suelen gustar.
^MiSaTo^
14/01/2011, 11:34
Pues a mí me entró con facilidad ObjC, aunque a mi los lenguajes raron me suelen gustar.
A mi me encanta Obj-C, en serio... Pero reconozco que cuando me puse a aprenderlo me costó entender cómo se hacen las cosas un montón. Que si los delegates, que si todo asíncrono, que si no se que xD Esque es raro de pelotas además xD
Pero lo que sí es verdad es que Cocoa y Cocoa Touch me parecen frameworks de muy alto nivel y muy bien pensados, y eso realmente me encanta ^^
Sobre todo cuando hago algo para iOS y Android, en iOS es mucho menos tortuoso y rápido que en Android xD
< - >
confirmado lo de que al los programadores les gusta reinventar la rueda. :D
parece muy completo, si me agobio mucho con el CCOO lo mismo me pongo con el tuyo ;)
Aiken
Lo mío no es cuestión de reinventar nada. Paso de usar un sistema de scripts por muy bueno que sea (CoCos2D) porque prefiero aprender OpenGL ES y hacerlo yo a mi modo. Por supuesto que hay gente que pasa de eso, pero yo personalmente prefiero hacerme mis propios "motores" y me gusta saber cómo funcionan "por dentro" las cosas :)
Aparte que eso, me ha servido de aprendizaje de OpenGL ES :brindis:
Joer que ganas tengo de pillarme el MAC, me he viciado!!! Mas vale tarde que nunca, dios mio lo que me he estado perdiendo estos 2 años por ignorar estos cacharros xDDD
Tu motor me va venir de perlas para empezar ;)
Hombre yo prefiero que sigais con vuestra secta "odio apple y todo lo que sea apple", eso significa menos competidores y mas trabajos para mi :)
^MiSaTo^
14/01/2011, 11:59
Hombre yo prefiero que sigais con vuestra secta "odio apple y todo lo que sea apple", eso significa menos competidores y mas trabajos para mi :)
Vete haciendo a la idea de que de aquí a un año se nos ha acabado el chollo xD
GameMaster
14/01/2011, 12:02
Yo no odio apple, con los 2 años me referia al tiempo que lleva el iphone en españa, siempre me han encantado pero no estaban a la disposición $$$ de gente de clase baja como yo ;)
Sobretodo la presentación que hicieron hace años del PC de mesa, en mi instituto, me ha maravillado.
Ya intente comprarme el MAC a prestaciones y el corte ingles me rechazo el credito xDDDD
Estoy superviciado a un juego tipo tetris del iphone de tirar el bloque rojo por la puerta y hay que mover otras piezas para que este pueda salir xDDD
En que dista obj-C del C ?
^MiSaTo^
14/01/2011, 12:07
Yo no odio apple, con los 2 años me referia al tiempo que lleva el iphone en españa, siempre me han encantado pero no estaban a la disposición $$$ de gente de clase baja como yo ;)
Sobretodo la presentación que hicieron hace años del PC de mesa, en mi instituto, me ha maravillado.
Ya intente comprarme el MAC a prestaciones y el corte ingles me rechazo el credito xDDDD
Estoy superviciado a un juego tipo tetris del iphone de tirar el bloque rojo por la puerta y hay que mover otras piezas para que este pueda salir xDDD
En que dista obj-C del C ?
Yo no vengo de clase alta ni mucho menos y mi mac tiene ya 3 años y pico... El que quiere, puede te lo aseguro. Y no pedí créditos ni nada, a tocateja los 1024€ que fueron. Claro que me tiré ahorrando pfff la misma vida XD
Obj-C dista de C que para empezar son todo objetos xD En ese aspecto es casi más parecido a C++... pero la sintaxis también tiene muchas cosas distintas, luego tienes los delegates y demás zarandajas que a mi personalmente me parece que de C tiene lo que yo de monja xD
Vete haciendo a la idea de que de aquí a un año se nos ha acabado el chollo xD
El chollo ya se ha acabado por lo menos para mi hace tiempo, como no tengo "estudios" mi perfil no es apto para la mayoria de empresas, eso unido a que hay gente que curra una semana (7 dias) para hacer una app y cobra 500€ hace que la cosa este chunga
^MiSaTo^
14/01/2011, 12:10
El chollo ya se ha acabado por lo menos para mi hace tiempo, como no tengo "estudios" mi perfil no es apto para la mayoria de empresas, eso unido a que hay gente que curra una semana (7 dias) para hacer una app y cobra 500€ hace que la cosa este chunga
Bueno pero eso siempre lo habrá, sea programación de móviles o de lo que sea. Yo tampoco tengo estudios y aquí estamos ;)
Es cierto, pero tu ya sabes las ofertas "raras" que nos hacen, como si nos chuparamos el dedo....
^MiSaTo^
14/01/2011, 12:20
Es cierto, pero tu ya sabes las ofertas "raras" que nos hacen, como si nos chuparamos el dedo....
Ya, pero eso tb pasa siempre y más en este país xD Listos hay por todos lados xD
GameMaster
14/01/2011, 12:30
Pues Misato y porque no contratas a Eskema, si tienes empresa, haces cosas para iphone, y entiendes que los estudios no son importantes, ya has visto pruebas de su trabajo, no veo impedimientos xD
^MiSaTo^
14/01/2011, 12:32
Pues Misato y porque no contratas a Eskema, si tienes empresa, haces cosas para iphone, y entiendes que los estudios no son importantes, ya has visto pruebas de su trabajo, no veo impedimientos xD
Porque no soy rica xD
GameMaster
14/01/2011, 12:33
Pero los de google tampoco lo eran cuando crearon el proyecto xD
^MiSaTo^
14/01/2011, 12:34
Pero los de google tampoco lo eran cuando crearon el proyecto xD
Igualito es el apoyo a las pymes en USA que aquí xD
GameMaster
14/01/2011, 12:38
Eso no se, pero me apuesto que no fue ese apoyo lo que les ha permitido que la empresa siga adelante xD
^MiSaTo^
14/01/2011, 12:41
Eso no se, pero me apuesto que no fue ese apoyo lo que les ha permitido que la empresa siga adelante xD
Hombre, Google en sus inicios se comía los cagarros. Tenía que competir con Yahoo y demás...
Pero es cierto que tenían un producto muuy bueno. Ahora bien, a la hora de crecer o tienes financiación o dime tú de donde sacas dinero para pagar todo con lo que te fríen aquí de impuestos (allí es mucho menos, es verdad).
Bastante me cuesta a mi mantenerme a flote y pagar todo ;)
De verdad crear empresa es una aventura. En mi caso es gratificante poruqe por fin después de 1 año no tengo que pedir dinero prestado para poder pagar el alquiler, pero aun así vamos justitos xD
Por suerte, mirando las cuentas de la empresa estamos creciendo a muy buen ritmo ahora mismo... Pero creeme, ni nos han dado subvenciones, ni créditos ni nada de nada
jduranmaster
14/01/2011, 12:42
un detalle el liberarlo Eskema, gracias.:awesome:
GameMaster
14/01/2011, 12:48
Ya veremos en que sale mi juego comercial que voy a sacar en 2 meses, con 300 descargas ya quedaba contento xDD
^MiSaTo^
14/01/2011, 12:52
Ya veremos en que sale mi juego comercial que voy a sacar en 2 meses, con 300 descargas ya quedaba contento xDD
Te voy avisando de que si ganas menos de 150€ Apple no te paga hasta que llegues a esa cantidad xD
GameMaster
14/01/2011, 12:52
No es para Apple, es para FunGP xDDD
^MiSaTo^
14/01/2011, 12:54
No es para Apple, es para FunGP xDDD
Buenoc omo este es un hilo sobre un motor 2D para iPhone... no se por qué dijiste eso entonces xD
En fins, dejemos de ensuciarle el hilo a Eskema :brindis:
Para los interesados en breve sacare una version con fisicas gracias a box2D y muchos arreglillos que deje por ahi por culpa de las prisas, ahora mi engine no tiene nada que envidiarle al cocos2D.
La nueva version vendra con una demo funcional, un menu y un minijuego de naves (por llamarlo de alguna manera) Asi se vera el ciclo del engine desde que entramos en el menu hasta que pasamos al juego o volvemos al menu.
IronArthur
24/01/2011, 10:50
Por desgracía, no tengo imanzana donde probarlo pero gracias por el motor, están guay estos aportes. Aunque sólo sea por aprender como estructurar el código con el OBj-c.
Ojalá hubiera más para Android así, que los 2 que hay son hechos por estudiantes y van al ritmo que van ( que no me quejo lo que pasa es que siempre están incompletos).
Salu2
De nada hombre, de la version que hay ahora publicada a la que estoy creando se va un mundo.
Las animaciones han cambiado y ahora ya no hay nada hardcoreado, todo se carga a traves de un fichero.xml de configuracion con el tamaño de los frames, las posiciones dentro del spritesheet, etc,etc.
Lo mismo pasa con la clase tilemap, ahora se carga todo a traves de xml con la configuracion de los tiles, si son paredes, objetos, etc,etc.
Ahora hay una clase base para los actores, asi el player, enemigos,objetos,etc heredan del padre para tener una base comun y sobre todo para llamar a las fisicas en caso de usarlas de forma comun.
La parte que me esta dando guerra son los tilemaps con fisicas, el resto esta terminado.
Ahora el ejemplo vendra con 3 escenas, menu principal y botones para acceder a las 2 escenas restantes, una con tilemap y scroll automatico en plan topdown shooter. Y la otra con un tilemap statico y plataformas para ver las fisicas :)
^MiSaTo^
24/01/2011, 11:46
Me da curiosidad saber una cosa... Por qué usas XML para las configs en vez de otro tipo de fichero? Los plist te son más lentos de parsear?
IronArthur
24/01/2011, 12:20
Con lo bonitos que son los xml...
Salu2
^MiSaTo^
24/01/2011, 12:40
Con lo bonitos que son los xml...
Salu2
Cuidao si no es que no me gusten, es por saber qué formato es mejor para iPhone xD Porque por ejemplo yo en las aplicaciones web, lo que más rápido va es JSON. XML es más lentorro ;)
Pues ya lo tenemos aqui, el engine con fisicas incluidas gracias al motor de fisicas box2D, he creado un nuevo repo, asi el viejo se queda como version mas "cutre". Podeis descargar el nuevo desde aqui (https://github.com/EskemaGames/2DEnginePhysics)
Viene con ejemplo en 2 escenas, una con fisicas y otra sin fisicas y un tilemap con scroll automatico simulando un top-down shooter.
Podeis pausar el juego con el boton de arriba en la derecha y con el boton de abajo y el juego pausado volver al menu principal, asi veis el flujo natural del engine.
Hay cambios para parar un tren, creo que no hay nada hardcoreado ya, tanto los tilemaps, como las animaciones y los "actores" se configuran desde un xml externo
GameMaster
24/01/2011, 20:37
Gracias, estoy loco para pillarme un MAC.
Buenas, a pesar de que probablemente no sea de mucho interes, tengo que decir que he subido unas mejoras y añadidos para el engine2D
-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,
^MiSaTo^
16/03/2011, 21:49
Gracias por el currazo ;)
GameMaster
16/03/2011, 21:52
Todo lo que respeta al tema es siempre de interes para unos cuantos :)
Gracias!
Gracias Eskema, por compartir en Engine con todos nosotros. Me toca pelearme con el XCode y su interfaz anti-intuitiva.
^MiSaTo^
16/03/2011, 22:56
Una pregunta así estúpida... He visto que en github tienes 2 repos el de con físicas y el "normal". ¿Sólo se diferencian en eso?
Aparte de las fisicas, el que no las lleva esta muy desactualizado y cambia muchas cosas, lo tengo ahi como trasto viejo
^MiSaTo^
16/03/2011, 22:59
Aparte de las fisicas, el que no las lleva esta muy desactualizado y cambia muchas cosas, lo tengo ahi como trasto viejo
Ah, esque me pareció ver que la última actualización era de ayer y me estaba líando xD
Bajaré el de las físicas entonces, sacaré mi estrí faiter y diré que el engine es revolucionario y por supuesto hecho desde 0 por mi MWAHAHAHAHAHA!
Oh wait...
Gammenon
17/03/2011, 00:13
Acabo de enterarme de esto! Soy usuario de coco2d, podrias comentar un poco las mayores diferencias entre tu libreria y cocos2d? He echado un vistazo y por lo que veo no tienes una jerarquia tipo cocos2D de nodos, es decir, para dibujar un sprite tienes que indicarlo explicitamente con una llamada en la funcion de dibujado (en plan tradicional, por asi decirlo).
Exactamente eso, aqui no hay una jerarquia de nodos, escenas y demas cosas "complejas".
Tu declaras un puntero a una Image *mysprite;
Y luego como bien dices haces el tipico [mysprite draw];
Para eso tienes las clases base para que tu las expandas como quieras, tienes el baseactor que deriva del spritebase que te da lo basico para dibujar.
En cualquier caso si tienes la oportunidad revisa las escenas de ejemplo para entender el funcionamiento, desde luego esto no es un engine "moderno".
Yo parto de la base de que declaro 1 spritesheet para el juego (o mas segun el juego) pero vamos a pensar que el juego nos cabe en una sola imagen de 1024x1024.
Asi que creo esa imagen y luego la clase player, tilemap, fonts y lo que sea usa una referencia a ese puntero imagen para dibujarse. Luego tu eliges lo que dibujas y lo que no.
La filosofia es muy distinta del cocos2d, a mi no me gusta tanta jerarquia de nodos, escenas, layers y demas cosas que lleva el cocos.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.