viernes, 21 de septiembre de 2012

Gamingtosh - Parte 1 - Componentes


Ayer me llegaron los componentes, y después de las 22:00h pasadas, pude ponerme manos a la obra. Las fotos no tienen mucha calidad, pero es lo que tiene trabajar por las noches con poca luz. Esta tarde si puedo espero poder terminar de montar todo el PC.

Lo primero que me sorprendió, fue el tamaño de la caja la Corsair Graphite 600T, se supone que es una "semi torre", y pensaba que sería como una de las semitorres de mi trabajo, pero  estaba muy equivocado, es una caja ENORME. Como también pudo apreciar mi mujer al exclamar "¿que cojones es esto?"

Sí, ya se que podía coger el metro y calcular las medidas, pero lo hice a ojo y pensé que no era tan grande.

Aquí os paso una foto de la caja desmontada. La verdad es que es de muy buena calidad, por tener, tiene hasta una ranura debajo de  la fuente de alimentación para recoger el polvo y suciedad que esta va expulsando.
Caja desmontada 600t

Caja

jueves, 20 de septiembre de 2012

Coolmod me ha regalado....



Coolmod se lo ha currado, y me ha regalado dos magníficos juegos por la patilla. (bueno supongo que algo habrá influido el pedido que hice a su tienda para mi Gamingtosh) :P

Los juegos son:

  1. Borderlands 2

  2. Batman Arkham City


Les estoy muy agradecido y recomiendo a todo el mundo que compre desde esta mágnifica tienda.  En cuanto tenga tiempo, me pondré con el batman, que hace tiempo que le tengo ganas y luego por el borderlands.


Recordad.

miércoles, 19 de septiembre de 2012

Facebook World Hack 2012



Ayer, 18/09/2012 , fue el día elegido por Facebook para el evento "World Hack 2012" en Barcelona.

Por suerte para mí, pude asistir a este evento, gracias a que fui invitado por uno de los integrantes del equipo de desarrollo de Facebook. Gracias Abigail, sin tu invitación no hubiese podido asistir a este fabuloso evento.

En un primer momento, este evento no me emocionaba mucho, de hecho ni siquiera sabía que existía, pero no me arrepiento para nada de haber participado en el.

Para el que no lo sepa, un Hack es básicamente dedicar unas horas (4 en este caso) en formación específica (en este caso la programación utilizando Open Graph de Facebook), y justo después dedicar tiempo (6 horas en este caso) para programar y crear un proyecto. Podríamos decir que un Hack es básicamente un evento especial que cualquiera que se precie como programador ha de asistir como mínimo una vez en su vida. (Aunque yo recomiendo asistir a mas de uno).

Aquí tenéis una foto del zulo donde nos tenían para programar. 



El mismo día se crearon equipos para desarrollar ideas, la mayoría de los cuales era para web, pero también habían proyectos para dispositivos hardware (como una pulsera que se ilumina cuando alguien te hace un "like" a una publicación tuya) o proyectos para dispositivos móviles. (iOs, Android)

Como el evento duró desde las 9:00h hasta las 21:30h nos dieron de comer, beber, merendar y todo lo que quisiéramos (solo faltaba que nos abanicaran), todo muy americanizado. Aquí tenéis mi comida (entre otras cosas), la típica pael....la como dicen ellos. 



En mi caso, yo intenté dedicar el día a la creación de un nuevo modo de juego para mi aplicación ¡Adivina el Personaje! , pero al no tener experiencia en la API de Facebook el tiempo que pude dedicar fué insuficiente para presentar el proyecto listo.

Eso sí, a la hora de presentar, ¡¡me tocó ser el segundo!!. Mis dos minutos de gloria, que se convirtieron en todo un reto, aunque podría haberlo hecho mejor.



Por otra parte, este mismo día conocí a mucha gente, a amigos del twitter y gente con proyectos muy interesantes. Este mismo día pude conocer personalmente a Toni Sala, desarrollador independiente de iOs con el cual mantengo conversaciones via twitter. Podéis ojear su blog en www.indiedevstories.com

Aquí nos tenéis a los 2 en la entrada del hall. (El gordaco soy yo)



He aprendido muchas cosas ese día, y hay una cosas que me ha quedado muy clara.

¡Tengo que mejorar mi inglés!

Estad atentos que mi próximo post será sobre el Gamintosh, que ayer me llegaron los paquetes, pero como no estaba los tiene un vecino al que tendré que pedirselos esta tarde.

Saludos

sábado, 15 de septiembre de 2012

Gamingtosh comming soon



Viciados y Viciadas,

este fin de semana me he vuelto loco.

Tenía unos dólares ahorrados en una cuenta paypal, pero al ver que el dólar está cayendo en picado, he decidido invertirlos en algo antes de que se devalúen. Es por eso que ha llegado el momento del despilfarro.

Lo siento por Apple, pero al no tener un MacPro en condiciones se ha quedado sin un comprador.

He optado por montarme un "hackintosh" que me permite desarrollar cómodamente y de paso pueda jugar a todo lo que salga. Así pues, con la ayuda de mi amigo Puni, he adquirido el siguiente equipo (que espero no cambiar en mucho tiempo).

  • Monitor: Dell Ultrasharp U2711 27" PremierColor IPS

  • T.Gráfica Gigabyte GTX690 4Gb GDDR5

  • Fuente Cooler Master Silent Pro M2 1000W - Modular 

  • Caja Corsair Graphite Series 600T - White

  • 2x Disco SSD Crucial M4 128Gb

  • Memoria DDR3 Corsair Vengeance 32Gb(4x8192Mb) - PC12800(1600Mhz) 

  • Memoria DDR3 G.Skill TridentX 16Gb(2x8192Mb) - PC19200(2400Mhz) - CL10 - 16GTX

  • Corsair Cooling Hydro Series H100

  • CPU Intel Core i7-3770K 3.5Ghz 8Mb - Socket 1155 - 22nm - Ivy Bridge

  • Placa Gigabyte GA-Z77X-UP5 TH

  • TP-Link TL-WDN4800 450Mbps Wireless N Dual Band PCI Express

  • Pasta Arctic Silver

  • Plantronics Gamecom 380 Gaming Headset


No os quiero marear con el precio de todo esto, pero ya os adelanto que me ha temblado mucho el pulso antes de darle al botón comprar. Pero ahora, todo está hecho.

En próximos post, os mostraré el proceso de montado y configuración hackintosh.

Ahora toca vender todas mis consolas (PS3, 360, WII, 3DS), ya que no creo que las utilice nunca mas. :P

NOTA: Me he equivocado en el pedido (en la memoria), menos mal que he comprado en coolmod y me han modificado el pedido antes de enviármelo, y me han perdonado unos céntimos. Recomiendo mucho esta tienda.

martes, 11 de septiembre de 2012

¡Adivina el Personaje! puede que llegue a Android



 

Hace mucho tiempo que tengo pendiente pasar mi juego "¡Adivina el Personaje!" para Android, y creo que voy a intentarlo.

Para ello, voy a utilizar el framework StellaSDK que permite compilar código en objective-c y contiene la librería cocos2d, cosa que hará que el proceso de migración sea muchísimo más fácil y rápido.

Espero poder traer lo antes posible el juego a Android y quitarme esa espinilla del cuerpo.

lunes, 16 de julio de 2012

¡Problemas con el formulario de contacto!

Ha habido un problema con el formulario de contacto, si has intentado contactar conmigo en estas semanas, no hemos recibido ningún correo.

 

Rogamos que todo aquel que se haya intentado ponerse en contacto conmigo, que lo haga otra vez.

 

Saludos

miércoles, 4 de julio de 2012

¡Adivina el personaje! rompe todos los records


La nueva versión de ¡Adivina el Personaje! ha roto todos los récords y mis mejores aspiraciones, ha conseguido en apenas 2 semanas mas de 780.000 descargas, consiguiendo llegar al millón de descargas totales!

Se ha posicionado como top #1 en más de 20 países, siendo Francia, Alemania y Canadá los que más descargas han computado.

Esto es un buen trabajo, y espero que mi próximo proyecto supere con creces este (que fué mi primer juego para iOs)

 



 

jueves, 21 de junio de 2012

Vuelve ¡Adivina el Personaje! y esta vez con sorpresa


Desde ayer mismo, ya tenéis disponible mi primer juego para iOs ¡Adivina el Personaje! totalmente renovado.

Hace un tiempo que estoy enfrascado en mi siguiente proyecto para moviles, pero antes de seguir adelante con él he querido terminar de una manera digna mi primer juego para iOs. Son muchas las novedades que he puesto pero básicamente se pueden resumir en lo siguiente.


  • Aplicación Universal (Ya es posible jugar con el iPhone y jugar partidas entre un iPad contra un iPhone/iPod)

  • Renovación de los gráficos. (el juego ha cambiado mucho y ahora es mucho más amigable a la vista)

  • 6 idiomas soportados. (Inglés, Francés, Catellano, Alemán, Italiano, Portugués)


A continuación os paso un video del juego junto con algunas capturas.

[yframe url='www.youtube.com/watch?v=3j4ISFSFJJI']



 


 


 


 

domingo, 13 de mayo de 2012

Cocos2d-x-Extensions



Llevo varios días programando para cocos2d-x, y he visto que hay muchas extensiones de cocos2d-x que son muy interesantes. Puedes echar un vistazo en el foro oficial de cocos2d-x. Sub-apartado de Assets.  

Desafortunadamente, muchas de las extensiones o no funcionan bien, o les falta código, o están incompletas. Así que decidido que ya va siendo hora que alguien ponga orden a este caos.

Llevo un par de días modificando un fork personal del repositorio cocos2d-x-extensions y actualmente ya hay incluidas muchas de las extensiones del directorio Assets, los ejemplos funcionan en win32 y en iOs, ya que no me he puesto a modificar los templates para Android u otras arquitecturas.

Podrás encontrar el repositorio en https://github.com/jandujar/cocos2d-x-extensions y te animo a que hagas un fork y empieces a compartir tus extensiones con la comunidad haciendo "Pull Request", estaré encantado de actualizar este repositorio lo más rápido posible.

Saludos a todos los programadores de cocos2d-x

martes, 21 de febrero de 2012

Mariano Ninja llega al Android Market



Después de casi 2 semanas de duro trabajo, por fin a llegado el día. Mariano Ninja ya está disponible en el Android Market!!!

Lo podreis descargar desde la siguiente url https://market.android.com/details?id=com.jandusoft.marianoninja

 

Tal y como expliqué en mi último post sobre Cocos2d-X he utilizado está versión para portar la versión de iPhone a Android (mediante C++ y JNI). Y ya puedo decir con certeza que a partir de ahora utilizaré este framework de programación, dispone de menos funcionalidades que la versión de iOS o Kobold2D, pero utilizar este framework me permite reaprovechar código y no tener que volver a programar todo para varias plataformas. (Cosa que no es divertida)

Así que ya sabeis, si disponéis de un móvil con Android, o tablet, ya tardais en bajar este juego tan divertido, que por otra parte es una versión más actualizada que la de iPhone, ya que Apple NOS HA VUELTO A CENSURAR LA NUEVA VERSION. Bajar, la versión de iPhone y luego la de Android y ver las diferencias, ¿DE VERDAD QUE ES TAN OFENSIVA COMO PARA QUE NOS CENSURE APPLE?

Espero vuestros comentarios. ;)

 

Por último, os recomiendo que visualiceis el trailer que se ha currado mi colega Puche, NO TIENE DESPERDICIO.

[yframe url='http://www.youtube.com/watch?v=HDHNpMjmCrQ']

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

lunes, 24 de octubre de 2011

Instalación de un servidor Git gestionado con Gitolite



Por motivos de trabajo, tengo la posibilidad de realizar un cambio en el repositorio de control de versiones para el departamento. Por lo que voy a plantear la posibilidad de migrar todo el código desde StarTeam (un SCM desfasado que nadie conoce) a Git (sin duda uno de los mejores SCM que hay actualmente).

Para ello voy a montar una maquina virtual con una distribución linux debian, a la que voy a instalar los siguientes componentes.

  • git. Sistema de control de versiones.

  • gitolite. Sistema para gestionar los repositorios mediante una única cuenta.


Al final del tutorial dispondréis de una imagen preparada y lista para funcionar con todos los pasos ya realizados. Esta imagen será realizada con VirtualBox un sistema de virtualización gratuito disponible para todos los sistemas (Linux/Mac/Windows)

Lo primero que necesitamos es disponer de un linux funcionando. Para este servidor utilizaré un cd de instalación de debian netinst versión 6.0.3  e instalaré solo lo indispensable para que podamos disponer de un servidor mínimo y funcional. Queda fuera de este tutorial la instalación de debian desde una imagen, por lo que procederé a detallar los pasos una vez disponemos de un sistema linux funcionando correctamente.

Instalación de Git


 Primero instalamos las herramientas de git

apt-get install git

Creación de usuario git


Crearemos un usuario con username "git" , que será el encargado de gestionar los repositorios.

sudo adduser --system --shell /bin/bash --gecos 'git version control' --group --disabled-password --home /home/git git

Generación de Clave RSA del Administrador del repositorio

Antes de instalar gitolite, es necesario que creemos una clave RSA para el usuario que administrará los repositorios GIT. En mi caso, voy a administrarlo mediante una máquina windows, por lo que utilizaré PuTTY. (Queda fuera de este tutorial la instalación y configuración de PuTTY, pero es tan fácil como descargar el fichero putty-installer y ejecutarlo).

A continuación generaremos una clave SSH-2 RSA mediante PuTTY Key Generator. Le daremos a Generate y guardaremos las claves, public key y private key. Tendremos que guardar estas claves.



A continuación subiremos el fichero public key a nuestro servidor (al directorio temporal por ejemplo). El fichero gitserver.pub corresponde a lo que hay dentro del cuadrado (ssh-rsa AAA....)

 Instalación de gitolite


La instalación de gitolite puede llevarse a cabo desde debian de la siguiente forma.
apt-get install gitolite
Pero para esta instalación prefiero instalar la última versión de gitolite, descargandola desde la página web https://github.com/sitaramc/gitolite

Para ello entraremos como usuario root, y nos cambiaremos al usuario git (recordar que el usuario git no tiene password a menos que se lo hayamos dado).

root@gitserver:~# su - git

Añadimos al PATH el directorio $HOME/bin mediante la modificación del .bash_profile con nuestro editor favorito, el contenido ha de contener la siguiente línea.

export PATH=/home/git/bin:$PATH
git@gitserver:~$ cd sitaramc-gitolite/src/
git@gitserver:~/sitaramc-gitolite/src$ ./gl-system-install
using default values for EUID=105:
/home/git/bin /home/git/share/gitolite/conf /home/git/share/gitolite/hooks


Después ejecutaremos el gl-setup desde el path (no desde el directorio src)

git@gitserver:~$ gl-setup /tmp/
gitserver.pub
.ICE-unix/
sitaramc-gitolite-v2.1-31-gf0cedeb.zip
.X11-unix/
git@gitserver:~$ gl-setup /tmp/gitserver.pub
The default settings in the rc file (/home/git/.gitolite.rc) are fine for most
people but if you wish to make any changes, you can do so now.

hit enter...
creating gitolite-admin...
Initialized empty Git repository in /home/git/repositories/gitolite-admin.git/
creating testing...
Initialized empty Git repository in /home/git/repositories/testing.git/
[master (root-commit) ce2e627] start
2 files changed, 6 insertions(+), 0 deletions(-)
create mode 100644 conf/gitolite.conf
create mode 100644 keydir/gitserver.pub


A partir de ahora ya tenemos disponible un servidor GIT con autentificación, para gestionarlo hemos de clonar el siguiente repositorio con la clave privada generada anteriormente (como usuario administrador)
git clone git@server:gitolite-admin
En mi caso, como utilizo una máquina virtual, he de clonar la IP 10.16.77.96, por lo que el cuadro de dialogo del TortoiseGit (el client GIT que utilizo para windows) queda de la siguiente forma.



Si quieres saber como se gestionan los usuarios/grupos en gitolite, puedes consultar mi post "PROXIMAMENTE" donde detallo como se gestionan los repositorios, usuarios y grupos.

Por último, aquí os dejo la imagen VirtualBox con un servidor GIT funcionando con Gitolite. (La imagen se ha subido a MegaUpload para ahorrarme mucho ancho de banda)


http://www.megaupload.com/?d=8ZL5QOOU
http://www.megaupload.com/?d=L4OW5CVC
http://www.megaupload.com/?d=UM14HWG9
http://www.megaupload.com/?d=TSWJK2F8
http://www.megaupload.com/?d=5ZU9ARKY
http://www.megaupload.com/?d=Q7SUT2TZ


Recuerda dejar un comentario y compartir el artículo si te ha sido útil.

 

Por último, os recomiendo visitar mi último post donde añado gitweb al servidor. Añadir gitweb a nuestro servidor Git gestionado por Gitolite

martes, 18 de octubre de 2011

Kobold2D, un nuevo Framework para iOs



Hoy voy a presentaros un nuevo framework de desarrollo de juegos para iOs, pero antes voy a introduciros un poco por que he optado por elegir este framework.

Para mi primer juego desarrollado para iOs y Mac  opté por utilizar Cocos2D, debido a su enorme popularidad, su facilidad de uso y su madurez. Gracias a esto pude lanzar mi primera aplicación para iPad y Mac "Adivina el personaje", que podeis ojear en su pagina oficial. www.jandusoft.com

Para mi próximo juego también voy a utilizar Cocos2D debido a que ya estoy acostumbrado a utilizarlo y no tengo mucho tiempo libre para dedicar a aprender otro framework, como CoronaSDK, que me llama bastante, sobre todo por la posibilidad de portar aplicaciones a Android.

Pero hace poco, descubrí que hay otro framework que está siendo desarrollado por un conocido en el mundo de cocos2d, Kobold2D es el nombre de este nuevo framework, desarrollado por Steffen Itterheim , autor del libro "Learn Cocos2D and iOS game developer".

Kobold2D es un cocos2d hypervitaminado, con muchísimos utilidades para poder desarrollar juegos para plataformas iOs y Mac. Entre ellas cabe destacar las siguientes.

  • Una misma "Template" para desarrollar para iOs como para Mac. Olvídate de como se ha de configurar Xcode para tener más de un target. (Cosa que no es nada facil si estas empezando en este mundillo)

  • Proyectos de ejemplo con diferentes funcionalidades con los que poder empezar a aprender y trabajar. Podrás compilar y ver el código de un pinball, de un juego completo, de un ejemplo en cocos3d, etc...

  • Posibilidad de actualizar la versión de Kobold2D de forma automática. Kobold2D tiene un instalador y un migrador de proyectos a nuevas versiones, por lo que actualizar a la última versión ya no será nunca más un suplicio y perdida de tiempo. Y nos permitirá estar siempre a la última.

  • Incluir librerias muy utilizadas en el desarrollo de juegos. Como pueden ser, cocos2d, cocos3d, Box2d, chipmunk, cocosdenshion, sneakyinput, cocos2d-extensions

  • Poder configurar el proyecto mediante Lua y ahorrarnos el tener que picar mucho código para configurar el entorno.


Aquí tenéis algunas imagenes de dos utilidades incluidas en kobold2d.



Por otra parte, Kobold2D se encuentra constantemente mejorando gracias al gran trabajo de Steffen, y estoy seguro que con el tiempo será uno de los frameworks más utilizados para programar juegos para iOs.

Estos son algunos de los ejemplos de utilidades que kobold2d tiene a disposición de sus usuarios.

  • Posibilidad de configurar varias plataformas de publicidad. (admob y iAd de momento), con solo modificar un fichero de configuración.

  • KKInput, aunque el nombre parezca rídiculo para los hispanoparlantes, esta clase nos ayudará muchísimo a gestionar los eventos de input del sistema, y sobretodo no tener que andar configurando diferentes formas de gestionar los inputs en caso de ser Mac o iOs, ya que esta clase se encarga de encapsular el tratamiento de los mismos.


Por otra parte, Steffen está abierto a cualquier sugerencia, y es posible contactar con él para dejar nuestro feedback, yo por ejemplo he contactado con el varias veces mediante su pagina de "feedback" y en todas las ocasiones mis sugerencias se han tomado en cuenta. La página para sugerir mejoras es la siguiente :http://kobold2d.uservoice.com/forums/134154-general

Y estas son algunas de las mejoras que he solicitado y se han llevado a cavo.

Espero sinceramente que este proyecto siga adelante, y no me estrañaría que algún día de estos, steffen fichara para Zinga u otra compañia como ya hizo en su día Enrique Quesada (Project leader the cocos2d-iphone). Yo por mi parte, ya he optado por utilizar Kobold2D para mi próximo proyecto, y si quereis empezar en el mundo de desarrollo de juegos para iOs os recomiendo que también lo utiliceis.

lunes, 17 de octubre de 2011

Rediseño del Blog



Como podeis observar, he optado por rediseñar la página por segunda vez.

El objectivo de este segundo diseño es el facilitarme la tarea de publicar posts en el blog, por lo que intentaré ser mas regular en la publicación de los mismos.

Entre las novedades que encontrareis, vereis que ahora todos los post son más fáciles de "compartir", así que os animo a que compartais este post y los que vengan en vuestra red social favorita.

Si detectais algún problema en la web, o tenéis alguna sugerencia, podeis poneros en contacto conmigo mediante el formulario de contacto.

Por último, os quiero recomendar que os creéis una cuenta en http://www.gravatar.com . Para el que no lo sepa, gravatar es portal que se encarga de almacenar un "avatar" (imagen de usuario) y lo asocia a una dirección de correo (o varias), de esta forma al añadir un comentario en el blog (y otros blogs) con solo la dirección de correo podemos mostrar vuestro "avatar", sin tener que daros de alta en el portal ni dar ningún tipo de información/permiso.

Y por último, me gustaría saber que os parece el nuevo diseño. Estaré atento a vuestros comentarios.

lunes, 12 de septiembre de 2011

Adivina el personaje camino de la Mac App Store

Si señoras y señores, despues de pasarme 2 semanas he conseguido portar mi primer juego de iPad a laMac App Store.

[yframe url='http://www.youtube.com/watch?v=8dSDBbQkwwk']

Y no es otro que ¡Adivina el personaje!. El problema de que haya tardado tanto es que mi juego tenía un bug que no se reproducia en iOs, pero que al pasar a Mac, se reproducía constantemente, y esto hacía que el juego reventara con un Segmentation Fault.

Al final he conseguido solucionarlo, y no solo eso sino que la versión de iOs ha sufrido un cambio importante. Ahora es posible tachar los personajes, cosa que en la primera versión no se podía hacer.

La versión de Mac todavía no se encuentra disponible en la App Store, cuando se encuentre ya os contaré.

Por otra parte, le tengo bastante cariño a este juego, ya que es el primero que he echo, y todavía no lo voy a dejar por terminado. Tengo planes de mejorar el aspecto visual (uno de los aspectos mas criticables) y espero que el grafista con el que me he puesto en contacto no me deje atrás.

Otro de los aspectos que quiero mejorar son los idiomas, me gustaría poder traducir el juego al Francés, Aleman, Italiano y puede que algún que otro idioma más, pero para ello voy a contactar con páginas de reviews a ver si me sponsorizan la traducción.

No espero ganar mucho dinero con este juego, pero sacarlo adelante me ha ayudado a  aclarar algunas ideas, tomar contactos con gente genial y lo que es más importante, ver que Si soy capaz de hacer algo si me lo propongo.

Este puede ser el principio de un nuevo developer Indie, o al menos eso es lo que yo quiero.

Desde aquí os animo a todos a intentarlo. 

miércoles, 6 de julio de 2011

Marketing Freemium App Fail

 



Ya ha pasado un més desde que publiqué la entrada Potenciar ventas mediante Marketing y ya he podido observar los resultados del mismo.

En resumen: Ha sido una perdida de dinero

Pero esta experiencia me ha servido para determinar el motivo del fallo en la estratégia de marketing. Pueden que existan otros motivos, pero para mí, el que más me ha perjudicado, es el modelo Freemium.

PRIMERA PRUEBA

La mayoría de portales de publicidad cargan al usuario mediante la fórmula del CTR (Click Through Rate), o lo que es lo mismo,  coste por click. Eso quiere decir que cada vez que un usuario realiza un click, nos cobran dinero. Y precisamente por esto, no se puede realizar una campaña de marketing basada en el CTRcon aplicaciones Freemium, ya que las aplicaciones son gratuitas (aunque tengan InApp) y eso hace que estemos perdiendo dinero cada vez que un usuario hace click en nuestro banner (a menos que compre upgrades en el juego, pero por experiencia propia, estos suelen ser el 4% de los que se bajan la aplicación).

Antes de realizar la campaña de marketing, este paso lo tenía medianamente claro, pero aún así quise hacer la prueba, así que contraté los servicios de https://www.admob.com/ para tal tarea.



 

Como podeis observar, solo realizé una campaña de 4 días en admob (tenía un vale de 80$ que tenía que gastar, así que no me ha costado dinero de verdad, solo he tenido que agotar la mitad de mi vale)

Si realizamos cálculos, veremos que se han clickeado 252 veces de 51.234 impresiones, eso hace una media de 0.49%, o lo que es lo mismo, de cada 200 impresiones solo 1 persona realiza el click, en este gráfico tambien podemos ver que el coste de cada click corresponde a 0.16$ , puede parecer barato, pero no lo es, como podeis observar en solo 4 días se han gastado los 40$ que había puesto de límite (gracias a que había puesto un límite diario de 10$).

Si la aplicación fuera de pago, tendría que ver cuanta gente realmente compra el juego mediante esta publicidad, pero al ser una versión Freemium, (y sabiendo que solo el 4% de la gente que la baja lo compra), significa que como mucho solo un 4% de los 252 clicks (suponiendo que todos se bajan la aplicación, cosa que dudo) pagarían por los In-App, y eso suponen unas 10 ventas REALES. Si de cada venta Real, gano aproximadamente 1$, significa que he perdido 40-10 = 30$ por esta campaña. Como podeís observar, esto ya lo tenía mas o menos claro, así que corté rápidamente el marketing con admob, para no seguir perdiendo dinero.

SEGUNDA PRUEBA

De manera paralela, decidí adquirir dos espacios publicitarios en dos páginas web. Mediante la adquisición de dos banners. Uno en ipadizate y otro en ipadwallpaper (una página que desconocia). Para realizar la compra de los banners, utilizé la página buysellads y adquirí los dos por un precio de 299$ (249$ ipadizate y 50$ ipadwallpaper), siendo estos los resultados.



 

Lo primero que cabe destacar, es que he tenido un CTR muy bajo, de solo el 0.08%, siendo el CTR de admob del 0.49%. Y lo segundo es que ipadizate me ha conseguido solo 483 clicks con un precio de 249$, mientras que ipadwallpapers me ha conseguido 345 clicks con un precio de 50$.

No puedo quejarme del soporte de ipadizate (ya me avisaron que tenía un CTR muy bajo, y que debía contratar un desarollador de banners para aumentar el CTR, cosa que hice, pero no sirvió para nada), pero en mi caso los costes de banner no compensan (y menos aún con el modelo freemium).

Si hacemos los calculos del CPC (Coste por click), veremos que esta opción me ha salido más cara que admob.

CPC TOTAL = 299$/828 clicks = 0.36$/click

CPC Ipadizate = 249$/483 clicks = 0.51$/click

CPC ipadWallpapers = 50$/345 clicks = 0.14$/click

En este caso, solo ipadwallpapers se ha comportado mejor que admob, pero con un tiempo de 30 días, cosa que admob ha conseguido en solo 4 días. Por lo que para futuras campañas elegiré admob.

Para terminar, comentaré que mi próximo juego no será Freemium, utilizaré admob para promocionarlo y volveré a ver las graficas. En ese momento volveré a realizar otro post contando mi experiencia.

Y recuerda, si tienes un juego Freemium, NO GASTES DINERO EN MARKETING.

Si te ha gustado este post, o crees que puede serle util a alguien, acuerdate de compartirlo mediante el botón de addthis. 

sábado, 4 de junio de 2011

Potenciar ventas mediante Marketing

 



Hoy 4 de Junio, ha sido aceptada mi nueva versión de ¡Adivina el Personaje!, mi primera aplicación para iPad.

En esta nueva versión, he añadido dos mejoras considerables.

  1. Multijugador mediante GameCenter

  2. Logros


Para esta segunda versión, he querido estudiar la evolución de las ventas en función del marketing asociado. 

Como podeis observar en mi anterior post "Modelo de negocio FREEMIUM en App Store", mi primera aplicación ha tenido bastante éxito gracias al modelo utilizado.

En esta ocasión voy a intentar ver la evolución de la misma una vez aplicados varios espacios publicitarios. Para ello voy a enfocar mi campaña de marketing en dos pilares.

  1. Adquisición de un espacio publicitario en http://buysellads.com/ con un presupuesto de 300$

  2. Creación de una campaña en admob, con un presupuesto de 100$


Como podeis observar, realizar una campaña de 400$ no es una campaña nada despreciable para un desarrollador Indie, por lo que en caso de no ser satisfactoria, habré perdido 400$ de mis ingresos (que he obtenido gracias a mi primera aplicación, y que podría haber invertido en adquirir un iPad 2 o un iPhone).

Pero quiero aprender a rentabilizar las aplicaciones que haga, y si no se arriesga no se gana. Por otra parteSI NO TE ANUNCIAS, NO EXISTES por lo que es imposible que la gente descargue tu aplicacion si no la encuentra. Y recordemos que la iTunes Store dispone de muchísimas aplicaciones.

Para el primer caso, he adquirido dos espacios publicitarios durante 1 mes con una estimación de 915.000 impresiones sin costes por click (da igual el número de clicks que se realicen) por lo que el presupuesto no se verá incrementado.

El primero de ellos está enfocado para el mercado americano. Mediante un banner en la página http://ipadwallpaper.org/


 


El segundo banner, está enfocado al mercado español. Mediante un banner en http://ipadwallpaper.org/

 

 



Para la campaña admob, he decidido enfocarla al mercado americando/canadiense. Aquí podeis ver la configuración actual.



 




Así pues, estos son los canales de voy a utilizar para mejorar las ventas de mi aplicación. Dentro de un més, os entregaré los resultados de la misma. Estad atentos al blog, o añadirme al twitter/facebook.