domingo, 19 de junio de 2011

Numis & Letrix: Juegos con AndEngine

Hola a todos,

Buno, pues tal y como os comenté, os voy a contar un poquillo el proceso que he seguido para crear Numis y Letrix.

No me voy a centrar en los aspectos más técnicos porque para eso hay webs y sitios mucho más indicados, pero os dejaré las referencias que a mí me han servido más.

Vamos a empezar por las malas noticias. Y es mi opinión personal o lo que me ha pasado a mí, pero si hacéis juegos sólo para ganar pasta, sería más lucrativo irse a buscar monedas a las cabinas o buscar entre los cojines de los sofás del salón. Salvo que tengais un juego innovador y rompedor o un canal de márketing excepcional.
Menos mal que de vez en cuando alguien pulsa en algún anuncio...

O tenéis que aguantar que alguien os escriba y os diga que vuestro juego es una mierda porque no reconoce la palabra “VARRER”... si, si, veridico. En fin, qué vas a hacer, le sacas de su error con diplomacia y ya está.

Las buenas noticias?
Oye, a mí me divierte hacerlos y aprendes.
Y la respuesta de la gente (salvo rarísimas excepciones como la que os he comentado) suele ser MAGNÍFICA. Y eso se agradece.
Yo por ejemplo nunca me esperé recibir tantos ánimos y halagos por parte de la gente como recibo por LotoApuestas, que a lo tonto está la primera (de las españolas) si buscas “loterias” en el Market y ya pasa holgadamente las 5000 descargas... Es algo que llena.
Es como la cocina, si lo haces con cariño se nota.



(Por cierto... ¿Aún no te has bajado LotoApuestas?... Pero hombre...!)

Bueno vale ya de chapa y vamos al lío.

Antes de nada, yo aconsejaría tener muy muy claro qué es lo que se va a hacer. Dibujarlo, escribirlo, hacer un esquema de navegación, lo que se os ocurra. Para evitar eso de si “..¿y si además meto esto y ahora mejor esto aquí y esto acá...? ...” . A ver, no es que si se os ocurre un cambio estupendo no lo metais, sino que en la medida de lo posible los cambios estupendos estén ya pensados de antemano.

Yo me haría un esquema de “navegación” y unos dibujetes muy claros de lo que va a pasar durante el juego.


Mirad, el AndEngine (el motor que he usado) se puede resumir de una manera bastante simple: Son unas cuantas capas superpuestas, dentro de cada cual tú pintas y mueves lo que quieras; todo esto acompañado por un hilo que está en constante ejecución moviéndolo todo.

Para que veais qué cosas se pueden hacer y se os ocurran ‘cienes y cienes’ de ideas, lo mejor es echarle un ojo a la demo de AndEngine.

https://market.android.com/details?id=org.anddev.andengine.examples

http://code.google.com/p/andengineexamples/

Yo cuando vi caer los cuadrados de uno de los ejemplos, al momento ví el Numis. Supongo que os pasará algo parecido con cualquiera de los ejemplos.

Solo con lo que hay en esa demo teneis el 80% de lo que podais necesitar.

Se pueden plantear los juegos de dos maneras: usando el motor de física o sin él.

Si usais el motor de física, creais un “mundo físico” y le dais cierta gravedad, (o ninguna) de manera que los objetos caigan con mayor o menor “ímpetu”.
Luego basta con crear objetos dentro de ese mundo físico y dotarles de ciertos valores, elasticidad, fricción... de forma que tú decides cómo interactuarán con los otros elementos de su mundo cuando colisionen.

Todo esto se asocia a una (o varias ) de las capas superpuestas que os comentaba antes, de modo que en la primera capa tendrás la imagen de fondo, en la siguente puedes tener los elementos moviéndose y en la otra, los textos, puntuaciones, botones....

Ya os digo que no voy a entrar en detalles técnicos porque hay gente que lo ha hecho ya antes y mejor, pero hacedme caso, esos dos enlaces son fundamentales. Sólo hace falta ganas de destriparlos y sacarles el jugo.

Imprescindible también:

http://www.andengine.org/forums/

Aquí hay ORO PURO, pero hay que bucear y desoxidar el inglés.

En español lo mejor (o lo único) que he encontrado es :

http://knol.google.com/k/juan-de-dios-maldonado-s%C3%A1nchez/gu%C3%ADa-tutorial-para-programar-juegos-2d/yf7xkfmg7vie/3#

Excelente trabajo el de este muchacho.

Y bibliografía oficial, que yo sepa, no hay.

Ahora sí que os voy a aportar mi granito de experiencia:

Esto come memoria como un cosaco. Imprescindible reutilizar todos los objetos que podais.

Un pool de objetos es, para entendernos, un repositorio de objetos ya creados que almaceno para no tener que andar todo el rato creando / destruyendo...
Cuando necesito uno de estos objetos (por ejemplo, disparo y sale una bala)  miro en el pool, si existe alguno, lo recojo, modifico las propiedades que sean y lo reutilizo. Si el pool está vacío, obviamente tengo que hacer un new Bala().

Son  clases de lo más sencillas y ejemplos en internet habrá a patadas.

Al terminar de usarlo (p.ej. la bala da en el blanco y desaparece) lo que hago es volver a meterla al pool.

Sed vivillos para optimizar el pool. Os cuento mi caso.

Mi caso es un poco especial, yo por ejemplo en Letrix tengo 27 elementos distintos que sólo se diferencian en el atributo Valor (qué letra es) y en la imagen. Entonces me hice un pool normal y un pre-pool que es un array de 27 posiciones. Las cajas A van a la pos. 0 del array, las B al 1... Así si necesito una letra, miro en el pre-pool, y si hay algo, me evito tener que tirar del pool normal y cambiar la imagen.
Lo mismo al reciclar un elemento, primero lo intento meter al pre-pool, y si ya está ocupado, al pool normal. Mucho mejor resultado que el pool a secas.

Cada cual en su juego tendrá sus trucos para ahorrar memoria, pero ya os digo que es básico. En los primeros días Numis tenía más problemas de memoria que un pez, y eso lo penalizó bastante; pero al meterle los pools y cuidando de no crear objetos a lo tonto quedó bastante bien.

Yo reutilizo incluso las explosiones de las letras.

Tened cuidado también a la hora de crear las texturas, encajadlo todo lo mejor posible para optimizar el espacio ocupado.

Cada vez que acabéis un nivel eliminad todo aquello que no sea reutilizable, limpiad vectores, arrays... Ya vendrá el Garbage Collector a comérselos.

También los sonidos .ogg son más eficientes que otros formatos, al menos en cuanto a tamaño.

Y no sé qué mas contaros... ¿Tiempo necesario? Hombre pues es como todo, el primero cuesta un siglo (y más teniendo en cuenta que te pones a ratos, cuando te dejan) y los demás ya van saliendo solos. Bueno, que yo he hecho solo dos, pero teniendo Numis, parir a Letrix fue bastante sencillo.

Bueno, ya tenéis el juego. Lo habéis probado lo mejor posible pero... ¿cómo estar seguro de que todo va a ir bien allá fuera?

Mano de Santo: ACRA :  http://code.google.com/p/acra/

Supongo que habrá mil formas más, a mi esta me gusta.

Y después de esto... ¿MARKETING? Si, todo el que podais. Yo de esto no tengo ni idea, pero aparte de dar la chapa a los colegas para que se lo bajen, escribir en foros, unos twitters y unos facebooks, poco se puede hacer. Si teneis más apps hechas con anuncios, podéis meter algún banner.
Pero me estoy dando cuenta de que el márketing es fundamental, tan importante o más que tener una app competente. Así que a cualquiera que pueda aportar alguna idea a este respecto le estaremos muy agradecido ;)

Bueno, sé que no es gran cosa, pero con lo que os he contado (o mejor dicho con los enlaces que os he dado) cualquiera puede meterse en harina.

Gracias por leerme, de verdad, y cualquer cosilla ya sabéis dónde estoy.

Y para quien no los haya probado... Échate un Numis o un Letrix, hombre!!

Saludos !

domingo, 5 de junio de 2011

Letrix: En castellano se juega mejor ;) !!

Hola!!

Ya tenemos nueva app. Espero que os guste:

Letrix en Español

Letrix en Español es un juego orientado a hispanohablantes aficionados a los pasatiempos "de letras".



Es una divertida combinación de Tetris y Scrabble para todas las edades.

Funcionalmente recuerda a Numis, realmente está generado a partir de éste último, tras subsanar ciertos detalles de rendimiento.

Con este juego pretendo colaborar a llenar el vacío de juegos de este tipo en español que existe en el market.

Obviamente también puede ser usada por cualquier persona no hispanohablantes que quiera afianzar sus conocimientos de nuestro idioma. También he comprobado que a los niños les encanta...

El objetivo del juego es ir construyendo palabras correctas en castellano con las letras que van apareciendo, pero hay que darse prisa y pensar rápido, antes de que la pantalla se llene de letras.

Cuanto más largas sean las letras, más puntuación. También depende de las letras usadas, ya que se sigue la puntuación del Scrabble.

Las letras aparecen siempre en función a su probabilidad real en español; por ejemplo, es más probable una A que una T.

Existen varios tipos y dificultades de juego, algunos de ellos sólo disponibles en la versión Pro.

En el modo Tour, todas las letras se limpian cada vez que acabamos un nivel y recibimos unas pocas nuevas, pero en el modo Asesino, las letras no desaparecen entre niveles.

Para los efectos de caída de las piezas se ha utilizado el motor de física AndEngine, lo que confiere un alto grado de realismo a los efectos de las piezas al caer y chocar entre sí.

Además de los puntos máximos conseguidos, el juego te recuerda cuál es la palabra más larga que has llegado a construir.

Integrado con ScoreLoop para que puedas subir tus puntuaciones y retar  al resto del mundo.


Además de la app en castellano, voy a ir desarrollando, con la misma base, apps para distintos idiomas. En concreto de momento ya tenemos Letrix English, con idénticas características pero en inglés. Las versiones en otros idiomas estarán disponibles muy muy pronto.


Os dejo unas pantallas. Son de la versión inglesa.






Versiones PRO de Letrix:
- Sin anuncios
- No es necesario estar conectado a Internet
- Todos los modos de juego y niveles disponibles


Aquí podréis consultar las distintas aplicaciones "Letrix" que vaya creando.


o bien en en este enlace

Y nada más, probadlo porque seguro que os va a gustar.

¡Gracias y un saludo!

Jugad mucho !!

jueves, 21 de abril de 2011

Numis: Dale caña a tus neuronas!!

Hola,

En esta ocasión he dejado un poco al margen el tema de las aplicaciones convencionales para desarrollar algo
que me apetecía hace tiempo: Un juego.
He intentado hacer algo original, y la verdad es que estoy contento con el resultado:


Numis !

Numis es un divertido juego de agilidad mental.  Tendrás que ser rápido !!
El mundo entero está siendo atacado por peligrosas cajas.
Tu misión es destruir tantas cajas como sea posible.
Para destruirlas tendrás que pensar rápido y equivocarte lo menos posible!
Simple, divertido y...adictivo !
Perfecto para entrenar tu mente mientras te diviertes.

Además está integrado en ScoreLoop para que puedas subir tus puntuaciones y compartirlas.
¿Pueden tus amigos llegar tan lejos como tú?

Cuatro modos de juego para que te pruebes.

Os dejo un par de pantallazos y un vídeo para que lo veais en acción.
Por cierto, aunque es muy muy sencillo es mejor leerse el "Cómo Jugar" antes de nada!! : )








Prueba versión Lite gratuitamente: Numis Lite aqui



O bájate la versión completa por menos de lo que te cuesta un café: Numis aqui



Si te gusta, por favor coméntaselo a tus amigos y a quien creas que le pueda gustar .

Puedes escribirme a mi correo electrónico con cualquier duda o problema que tengas.

Gracias por bajarte Numis y ...Disfrútalo!

lunes, 7 de marzo de 2011

Seguimos ofreciendo apps útiles para que gestiones tus apuestas de lotería:

LotoApuestas!!



Existen muchas aplicaciones que te permiten leer los resultados de la Lotería, Bonoloto, EuroMillones...

Pero ¿Por que no chequear esos resultados inmediatamente?

Con LotoApuestas no hay cosa más sencilla. Almacena tus combinaciones habituales y... listo!

Inmediatamente sabrás si has ganado... y cuanto.

Por cierto, totalmente gratuita....


Te permite estar informado de los próximos botes de todos los sorteos oficiales, de los partidos de la quiniela, de la clasificación de los equipos de fútbol...

Te proporciona estadísticas sobre los números que más salen de los distintos sorteos (Bonoloto, Primitiva, EuroMillones...)

Te permite generar apuestas aleatorias por si no te apetece elegir números.
Incluye además un buscador de décimos de lotería de pasados sorteos.

Podéis encontrarlo ya en el android market buscando LotoApuestas ó bien con el QRCode:

Existe además una versión "PRO" que de momento tiene LAS MISMAS funcionalidades pero sin anuncios.
Quien quiera colaborar a ayudarme a seguir creando software para todos, puede hacerlo por mucho menos de lo que cuesta un café ;) 

Podéis encontrarlo ya en el android market buscando LotoApuestas Pro ó bien con el QRCode:

Os dejo unas imágenes para que la conozcais:

Pantalla inicial: Selecciona en la ruleta qué sorteo deseas ver (Primitiva, Lotería Nacional, Bonoloto...) ó
ves directamente a ver los últimos sorteos o los próximos botes


Viendo los últimos sorteos (datos oficiales y validados):


Viendo los próximos botes en juego...:


¿Quieres saber cuáles son los partidos de la próxima quiniela y cuando se disputan?


Vemos un detalle del Panel de Euromillones (Hay un panel para cada tipo de sorteo)


Y por último el Panel de Apuestas, que te permite introducir tus propias apuestas ó generarlas al azar:







Y nada más, seguimos aprendiendo y preparando nuevas apps para que las disfrutéis. Podéis dejarme cualquier sugerencia de mejora o comentario.

Lo dicho, Gracias!!!..... Y MUCHA SUERTE !!!!

lunes, 3 de enero de 2011

Bienvenidos!!

Tras varias semanas de trabajo, por fin está disponible en Android Market: EuroDroid !!




Existen muchas aplicaciones que te permiten leer los resultados de la lotería, pero ¿Por que no almacenar y chequear esos resultados inmediatamente? Con EuroDroid no hay cosa más sencilla. Almacena tus combinaciones habituales y... listo!
Inmediatamente sabrás si has ganado... y cuanto!

Por cierto, totalmente gratuita....




Os dejo unas imágenes para que la conozcais:









Podéis verla en acción en el siguiente video:






Y nada más, seguimos aprendiendo y preparando nuevas apps para que las disfrutéis. Podéis dejarme cualquier sugerencia de mejora o comentario.

Lo dicho, Gracias!!!