miércoles, 25 de enero de 2012

Cocos2D-X otro framework de programación



Señoras y señores, vuelvo a cambiar de framework de trabajo.

Primero fue cocos2d, luego Kobold2d (un cocos2d vitaminado)  y por último, cocos2d-x.

¿Acaso quiere decir que cocos2d-x es mejor que Kobold2d o cocos2d?.... para nada, simplemente su publico es diferente. 

Después del éxito cosechado por Mariano Ninja (llegando a las 20.000 descargas en solo 6 dias, y llegando a ser top #9 de aplicaciones de iPhone) se nos preguntó por la versión de Android,  Mariano Ninja ha sido muy reclamado por todos mis amigos poseedores de Android que no disponen de iPhone, por que me he decidido a portar el juego a Android.

Como la tarea de migrar/portar el juego no es muy agradecida (tengo que programar todo otra vez),  esto me ha llevado a la conclusión de que mi próximo juego será programado directamente con cocos2d-x.

A continuación os detallaré las ventajas/inconvenientes de este nuevo framework.

Ventajas:



  • Multiplataforma. Con el mismo código, puedo compilar versiones para Android, iOS, windows, linux, y otras arquitectura.

  • Permite el desarrollo desde otros entornos NO Mac, como por ejemplo Microsoft Visual C++ Express o Eclipse (linux)

  • Programación en C++ (para los que no entienden de objective-c, les será útil)

  • GRATIS, no hay que pagar nada y es libre de ser utilizado en proyectos comerciales.


Inconvenientes:



  • Documentación escasa, casi toda la que hay hace referencia a la documentación de cocos2d-iphone

  • Comunidad de usuarios menor. 

  • No está claro su futuro, a diferencia de cocos2d-iphone, cocos2d-x está siendo desarrollado por un equipo oriental, no se sabe si este equipo dejará de darle soporte en un futuro, pero de momento mantiene un ritmo constante de actualizaciones.


Recomendaciones


Para los novatos, os recomiendo que descarguéis el Microsoft Visual Studio 2010 Express , luego la última versión de cocos2d-x (atualmente van por la 0.11.0) y ejecuteis el fichero bat que tiene en su interior build-win32.bat  (primero instalar el visual studio).

 
Os compilará todo el entorno y luego os instalará unas templates para iniciar un proyectos cocos2d-x.

 
A partir de aquí os recomiendo que miréis todas la clases que hay dentro de la carpeta "Classes" (que es la parte multiplataforma), entendais como funcionan y os animeis a compilar juegos ya realizados con cocos2d-x.

 
Aquí os paso una lista de ejemplos.


Y por último, si te ha sido útil este post, recuerda compartirlo. ;)

martes, 17 de enero de 2012

Mariano Ninja disponible en la App Store



Señoras y Señores, hoy es un día muy especial.  Después de mucho tiempo sin noticias.  Hoy ha salido a la luz mi último trabajo como programador indie,  Mariano Ninja! en colaboración con mi buen amigo @xelpuche que se ha encargado de los gráficos y la colaboración de @Segebemi que me ha proporcionado una pequeña melodía para el menú.

El objetivo de este juego es captar la máxima audiencia mediante una interpretación cómica de lo que está pasando en España. Como todos sabéis, el gobierno está realizando una serie de "recortes" para poder cumplir con el déficit, así que quien mejor que @MarianoNinja para para solucionar estos problemas.

Os animo a todos a descargar el juego de forma gratuita!! Así como haceros fan de Mariano en su perfil de Facebook.

Este es mi primer juego programado mediante el framework Kobold2d , siendo una experiencia bastante gratificante. Solo le falta que sea multiplataforma, cosa que yo y muchas personas agradeceriamos muchísimo.

A continuación tenéis disponible un vídeo así como la nota de prensa.

[yframe url='http://www.youtube.com/watch?v=s9F-2-DVv7Q']

Nota Prensa

jueves, 27 de octubre de 2011

Añadir gitweb a nuestro servidor Git gestionado por Gitolite



Después de configurar nuestro servidor Git gestionado por Gitolite, tal y como comentaba en mi anterior post "Instalación de un Servidor Git gestionado con Gitolite", he decidido añadirle la posibilidad de ver los repositorios mediante el frontend gitweb.

Para esta configuración partiré de la máquina virtual que ya tenemos creada y  detallaré los pasos para configurar-la y dejar configurado el acceso mediante gitweb.

Configurar usuario git


Para que gitweb pueda funcionar correctamente es necesario que nuestro usuario git (que es el encargado de los repositorios) tenga los mismos permisos que www-data, para que este pueda leer y tratar los repositorios, para ello tendremos que hacer lo siguiente

root@gitserver:~# usermod -a -G git www-data

Configurar Gitolite


Hay que configurar una variable de gitolite para que funcione correctamente, para ello hemos de editar el fichero .gitolite.rc y modificar la variable $REPO_UMASK para que contenga el valor 0027.


vi /home/git/.gitolite.rc


También hay que cambiar los permisos del fichero projects.list y del directorio repositories, para que el servidor apache pueda leer el contenido y mostrarlo en la interfaz gitweb.


chmod -R g+rx /home/git/repositories
chmod g+r /home/git/projects.list


Instalación y configuración de gitweb

Como partimos de la distribución Debian, la forma más fácil de instalar gitweb es mediante el comando apt-get. De paso instalaremos el paquete que nos permitirá ver el código marcado según el lenguaje que utilicemos.

apt-get install hightlight gitweb

Ahora hay que configurar gitweb para que apunte a nuestros repositorios. Para ello modificar las variables del fichero /etc/gitweb.conf 

  • cambiar projectroot a "/home/git/repositories"

  • cambiar projects_list a "/home/git/projects.list"


Ahora podemos reiniciar el servidor web y conectarnos a nuestro gitweb apuntando en nuestro navegador a http://gitserver/gitweb  (donde gitserver es la ip de tu maquina)

apache2ctl restart.

Configurar git-daemon para acceso anónimo solo de lectura


Si lo deseamos,  podemos configurar un git de tal forma que existan proyectos que puedan ser clonados de forma anónima, sin necesidad de configurar claves RSA. Para ello tendremos que configurar el servicio que se encarga de ello. De forma sencilla instalaremos el git-daemon.

apt-get install git-daemon-run


Después hay que editar el fichero /etc/sv/git-daemon/run , añadir el -ugitdaemon:git y modificar el base path. El contenido del fichero ha de ser el siguiente.
root@gitserver:/home/git# cat /etc/sv/git-daemon/run
#!/bin/sh
exec 2>&1
echo 'git-daemon starting.'
exec chpst -ugitdaemon:git \
"$(git --exec-path)"/git-daemon --verbose --reuseaddr \
--base-path=/home/git/repositories/ /home/git/repositories/


Reiniciamos el git-daemon

root@gitserver:/home/git# sv restart git-daemon
ok: run: git-daemon: (pid 3707) 0s


Y ya tendremos listo nuestro servicio git-daemon funcionando correctamente, por lo que ya podremos clonar los repositorios de forma anonima utilizando como url
git://gitserver/testing.git

Modificar el aspecto visual de gitweb


El siguiente apartado es totalmente opcional, pero muy aconsejable si queremos que nuestra interfaz de gitweb tenga un aspecto más amigable y similar a github. (Popular gestor de repositorios, gratuito para proyectos opensource y de pago para privados)

Editar el fichero /etc/gitweb.conf y añadir estas lineas al final


$projects_list_description_width = 100;

# Enable blame, pickaxe search, snapshop, search, and grep
# support, but still allow individual projects to turn them off.
# These are features that users can use to interact with your Git trees. They
# consume some CPU whenever a user uses them, so you can turn them off if you
# need to. Note that the 'override' option means that you can override the
# setting on a per-repository basis.
$feature{'blame'}{'default'} = [1];
$feature{'blame'}{'override'} = 1;

$feature{'pickaxe'}{'default'} = [1];
$feature{'pickaxe'}{'override'} = 1;

$feature{'snapshot'}{'default'} = [1];
$feature{'snapshot'}{'override'} = 1;

$feature{'search'}{'default'} = [1];

$feature{'grep'}{'default'} = [1];
$feature{'grep'}{'override'} = 1;

$feature{'show-sizes'}{'default'} = [1];
$feature{'show-sizes'}{'override'} = 1;

$feature{'avatar'}{'default'} = ['gravatar'];
$feature{'avatar'}{'override'} = 1;

$feature{'highlight'}{'default'} = [1];
$feature{'highlight'}{'override'} = 1;


Modificar el aspecto visual mediante el tema gitweb-theme.  Descargamos el zip y lo descomprimimos en el directorio temporal.


root@gitserver:/tmp/kogakure-gitweb-theme-ccb4b48# mv /usr/share/gitweb/gitweb.js /usr/share/gitweb/gitweb.js.orig
root@gitserver:/tmp/kogakure-gitweb-theme-ccb4b48# mv /usr/share/gitweb/gitweb.css /usr/share/gitweb/gitweb.css.orig
root@gitserver:/tmp/kogakure-gitweb-theme-ccb4b48# cp gitweb.css /usr/share/gitweb/
root@gitserver:/tmp/kogakure-gitweb-theme-ccb4b48# cp gitweb.js /usr/share/gitweb/


Por último, comentaros que aquí tenéis la imagen para VirtualBox.


http://www.megaupload.com/?d=41QOJL6W
http://www.megaupload.com/?d=UDH6Z22N
http://www.megaupload.com/?d=KZJ0B116
http://www.megaupload.com/?d=YK10YPYT
http://www.megaupload.com/?d=4R5FHN57
http://www.megaupload.com/?d=K3WHU28B