martes, 31 de julio de 2012

Detección de colisiones entre Sprites

Por fin he llegado a una de las partes que más me preocupaba: La Detección de Colisiones

Y me ha sorprendido gratamente el poco esfuerzo que le supone al ordenador detectar la colisión entre 313 sprites.

En el ejemplo actual me he puesto a dibujar monedas de euro por todo el escenario, hasta un total de 313. Lo ideal sería que antes de dibujar cada frame se comprobasen las posibles colisiones de una zona reducida del escenario para de este modo ahorrar recursos. El caso es que aun no he llegado a ese punto y en cada frame comprueba las posibles colisiones de todos los sprites del escenario (de los 313), cosa que me parece un despilfarro de recursos, y cuál fue mi sorpresa al ver como mi iMac de más de 3 años lo hacía prácticamente sin despeinarse.

A continuación os dejo los enlaces al código fuente, al ejecutable y al vídeo subido a youtube.



Código fuente: 

Ejecutable:

sábado, 14 de julio de 2012

XCode y Open GL: Parte 1 Configurando el proyecto

Para que nos sea más sencillo empezar con nuestro proyecto Open GL he pensado que lo mejor será explicar todos los pasos a seguir uno a uno.

Y lo primero es configurar nuestro nuevo proyecto siguiendo las instrucciones de este vídeo



viernes, 13 de julio de 2012

Personaje compuesto por varios sprites y animados

Con las últimas mejoras en el código fuente ya podemos especificar más de un sprite para el personaje, de forma que podamos añadirles armas, escudos, casco, etc.

También es posible especificar diferentes estados y por lo tanto animar al personaje.

En este enlace está el código fuente (Lion) 

Y en este otro está el ejecutable (Lion) 



lunes, 9 de julio de 2012

Plataformas o Tower Defense?

En un principio tenía pensado hacer un juego tower defense al estilo de Paladog, por su simplicidad técnica en comparación con un juego de plataformas clásico como el propio Mario Bros o Lep's World (por poner un ejemplo de la App Store) en donde el control de colisiones me parece más complicado.

Ya he conseguido desarrollar la parte sencilla del juego: un poco de gravedad, aceleración e interacción con el Tilemap (el escenario). Pero juzgar vostr@s mism@s, os dejo un vídeo, el código fuente y la aplicación compilada para Lion OSX



lunes, 5 de diciembre de 2011

Nuevo Año Nuevo Proyecto

Pequeño avance de juego para mac del cual trataré de tener una versión temprana durante el año 2012.


He estado mucho tiempo meditando si hacer un juego de naves espaciales al estilo desplazamiento horizontal o un plataformas tipo Mario Bros y finalmente he decidido que intentaré hacer un Tower Defense que ahora están tan de moda.

Espero tener algo listo en los próximos meses.

viernes, 26 de agosto de 2011

Multithread y fuente de caracteres

Tras unos meses de sequía por fin he vuelto a sacar tiempo y ganas para seguir con esta pequeña pasión que tengo.

Entre las novedades de esta versión está la separación del flujo de programa en dos threads principales.

El primer thread se encarga de todo lo relacionado con los cálculos de posición, comprobación de colisiones y lectura del teclado. Mientras que el segundo hilo tiene la principal función de interpretar los resultados del hilo anterior y mostrarlos en pantalla.

Con esta simple modificación se puede apreciar un aumento en el rendimiento del programa.

La última novedad es la inclusión de una fuente de caracteres para en un futuro poder añadir texto explicativos u opciones de menú.

Sin más os dejo los enlaces al binario ejecutable y al archivo comprimido con el código fuente.

Espero que lo disfrutéis

Ejecutable


Se agradecerá cualquier comentario o sugerencia, bien sea en este mismo blog o en twitter a @DanielSanRiv o @JuegosBolsillo

viernes, 1 de abril de 2011

De vuelta!

Vuelvo con ganas renovadas de seguir aprendiendo todo lo que sea posible sobre el apasionante mundo de Opengl + Mac + ObjectiveC.

Y para celebrarlo cuelgo la última versión.

Código fuente próximamente...

La diferencia con versiones anteriores radica en que he corregido un bug que se manifestaba con ciertas versiones de Mac OSX 10.6 y que evitaba un correcto redibujado de la pantalla.

Para ello he tenido que añadir estas líneas en la función prepareOpenGL


GLint swapInt = 1;
[[self openGLContext] setValues:&swapInt forParameter:NSOpenGLCPSwapInterval];



También podréis notar un pequeño guiño que he querido hacer al Grupo de Usuarios Mac de Asturias al cual tengo la suerte de pertenecer.

Aprovecho para hacer una pequeña recomendación: Si tenéis un Grupo de Usuarios Mac (GUM) en vuestra ciudad no dudéis en "alistaros" pues es una oportunidad de aprender y conocer gente con la que seguro compartís inquietudes.

Saludos

domingo, 13 de febrero de 2011

Código Fuente de la última versión de Tetris para MacOsX

¡Muy buenas de nuevo!

Por fin he podido volver a dedicarle unos minutejos al blog y publicar de una vez el código fuente, he aprovechado para volver a subir el ejecutable esta vez con icono incluido.

También me he decidido a publicar el código fuente bajo licencia Creative Commons, así que podéis hacer las modificaciones que queráis con la única condición que las compartáis de forma gratuita. No quiero obligar a nadie a compartir el código fuente de las modificaciones que realice, aunque creo que estaría muy bien que compartamos el código para que todos/as podamos aprender.


Licencia Creative Commons
cocoaBlocks por Daniel Santamaría Rivero se encuentra bajo una Licencia Creative Commons Atribución-NoComercial 3.0 Unported.
Permisos que vayan más allá de lo cubierto por esta licencia pueden solicitarse en http://juegosdebolsillo.blogspot.com

martes, 8 de febrero de 2011

Última versión de Tetris para MacOsX

Muy a mi pesar y debido a motivos personales, esta será la última versión del Tetris para MacOsX que publicaré. Pero que no cunda el pánico, porque aunque éste será mi último proyecto de objectiveC (de momento), muy pronto publicaré mi nuevo proyecto de juego hecho en HTML5.

Cambiando de tema y debido a la gran ayuda recibida de la comunidad de www.nscodecenter.com he querido tener un pequeño detalle con la misma... para ver de qué hablo tendréis que descargar y ejecutar el juego ;-P.

Aquí os dejo la última versión del juego:
(el código fuente lo publicaré en los próximos días)

¡Nos vemos en HTML5!

Y en twitter en @juegosbolsillo

sábado, 29 de enero de 2011

¡De vuelta!

Feliz 2011 a tod@s!! Siento el retraso pero la cuesta de enero ha sido terrorífica en cuanto a saturación de trabajo se refiere.

Espero finiquitar este proyecto para poder pasar a los siguientes y así seguir aprendiendo un poco más cada día. Prometo alguna novedad en la siguiente entrada que publique.

Saludos para tod@s.

lunes, 6 de diciembre de 2010

Seguimos con el desarrollo del juego: ahora con puntuación

En el nuevo sistema de puntuación he conseguido realizar 386 líneas y 4914 puntos ¿alguien me supera?


Los puntos se calculan en funciona a las líneas realizadas, pero si además limpiamos líneas de forma consecutiva el número de puntos que se añadirán se multiplicará por el número de veces consecutivas que hemos realizado las líneas.

También he añadido la dificultad clásica del Tetris: en función del número de líneas realizadas la velocidad irá aumentando, pero le he puesto un límite para que no llegue a ser inmanejable.


Ejecutable: http://www.mediafire.com/file/6to1s338cxc5bvt/cocoaBlocks.app%200.22.zip

Aprovecho para agradecer la ayuda recibida de los usuarios YoNoSoyTu, Blind ♦♦ y Jorge Ortiz de http://www.nscodecenter.com/

viernes, 3 de diciembre de 2010

Nueva versión del juego con nuevas animaciones y puntuación

Como de costumbre os dejo enlaces al código fuente y al ejecutable.


En breve subiré nuevos avances.

domingo, 28 de noviembre de 2010

Lo que cambia el juego con un par de texturas

Os dejo una captura de pantalla y los enlaces para descargarse tanto el ejecutable como el código fuente.



Espero empezar con la pantalla de configuración y las puntuaciones esta semana para ver si, a parte de para practicar la programación de videojuegos, también empieza a ser un poco divertido.

Las texturas las he hecho con lápiz y papel, las he escaneado y coloreado con un programa de retoque fotográfico y en vista de lo bien que ha quedado creo que seguiré haciendo el resto de recursos gráficos con esta técnica.

viernes, 26 de noviembre de 2010

Ahora también estaré en Twitter


A a partir de ahora también podréis hacerme llegar vuestras consultas en Twitter a @DanielSanRiv.

Aunque yo preferiría que las dudas y sugerencias se hagan en público para que ayuden a todos, no tengo ningún problema en responder vuestros comentarios, dudas y preguntas vía e-mail, dejo eso a vuestra elección.


Un saludo.

jueves, 25 de noviembre de 2010

Código fuente del Tetris para Mac (Versión COCOA)


Aunque me ha costado un poco, he conseguido adaptar el código del juego al API de COCOA.
Os dejo el código y pronto os comentaré los cambios que tuve que realizar para adaptarlo.

http://www.mediafire.com/file/vc6tra05kb6cvik/cocoaBlocksSource.zip

jueves, 11 de noviembre de 2010

Código Fuente del Tetris para Mac


Lo prometido es deuda: a continuación os dejo un enlace al código fuente de este proyecto mio que algún día pretende convertirse en juego.


Para que os podáis orientar un poco por el código tenéis que tener en cuenta dos ficheros: main.m y juegoTetris.m

main.m no llama directamente a juegoTetris.m, si no que llama a otra clase llamada motorPrincipal.m, este paso intermedio se debe a que tenía pensado realizar otro minijuego dentro de este y motorPrincipal.m tendría el menú en donde se elegirían las opciones de juego así como la lista de juegos disponibles. Pero como sólo juegoTetris.m es el juego que está en desarrollo casi podéis ignorar la clase motorPrincipal.m

También podréis observar que he decidido probar con el maravilloso recolector de basura de objective-c y de momento estoy encantado. Pues el uso de CPU no pasa del 5%, así que no consume apenas recursos y si llegase a necesitar recursos se puede desactivar para hacer lo que tenga que hacer que tantos recursos necesite y luego volver a reactivarlo para que recoja toda la basura que he dejado... ¡una maravilla!

Espero vuestros comentarios y aportaciones

Os adelanto que aun no he organizado el código y que podréis encontrar cualquier cosa en los pocos comentarios que he incluido.

Un saludo

domingo, 7 de noviembre de 2010

Un juego tipo Tetris para Mac

Como podréis ver se trata de una versión muy temprana del juego, podríamos decir que es una versión pre-alpha y es posible que tenga un par de bugs que aun no he detectado.


Descargar desde mediafire.com: http://www.mediafire.com/?anurwtjspg15uto

Aun está en pañales y todavía no he puesto fondos o texturas a las fichas, ni siquiera tiene una opción para salir del juego, así que tendréis que hacer uso de la combinación de teclas Cmd+Q o de la opción salir en el propio menú del programa.

RequiereMacOSx 10.5 o superior, pero no he podido probarlo en esta versión pues mi equipo tiene instalado Snow Leopard.

viernes, 25 de diciembre de 2009

Mi Primer Juego: Pocket Bolo (para móviles con Java)

El primer juego que he subido trata de un sencillo sistema de puzzles cuya dificultad va aumentando con cada nuevo nivel.




El juego ha sido probado en los Nokia N70, 6120 Navigator, 5800 y en HTC Diamond.

Descarga Principal:

Por favor no dudéis en hacerme llegar vuestras dudas, sugerencias y aportaciones.

Nos vemos en el próximo lanzamiento.