Como hacer copias de tu código de Unity con GitHub

Podriamos escribir un libro entero de las bondades de Git para el trabajo colaborativo y la gestión de versiones en un entorno como Unity. De hecho hay mucha literatura en internet para aprender a utilizar Git en todo tipo de entornos de programación.

Así mismo para aquellos que empiezan seguramente lo primero que deberían aprender como hacer una copia de seguridad periódica de sus proyectos.. y ya habrá tiempo para, poco a poco aprender todo el potencial de una herramienta como esta.

En su momento hice un tutorial para usar Git con una interfaz gráfica como SourceTree como punto de entrada al mundo de Git, pero en esta ocasión me gustaría explicar, paso a paso como utilizar GitHub para hacer copias de seguridad de tu proyecto en Unity. Para iniciar este proceso se deben hacer tres pasos:

1.- Crear una cuenta en GitHub

En la pantalla principal de GitHub debemos crear una cuenta nueva (Sign up) y seguir el asistente para tener una cuenta gratuita con los parametros por defecto que nos propone el sistema.

 

Una vez creada la cuenta nos propondrà crear un repostorio nuevo. Al pulsar el boton la página web nos pide el nombre del repostitorio y sus propiedades principales para definir quien podrá acceder al código (público para todo el mundo, privado sólo para el usuario y aquellos que invitemos). Además debemos seleccionar Add a Readme file, como buena práctica para documentar nuestro proyecto y el .gitignore de Unity para indicarle que no queremos que copie los archivos temporales cuando copie el código fuente en la nube.

 

Una vez generado tendremos una pantalla como esta donde nos muestra nuestro repositorio con los archivos que ahora contiene.

 

2.- Instalar un gestor de Git visual para hacerlo más fácil

Con el repositorio creado, pero vacio, debemos intalar un gestor de Git compatible con nuestros sistema operativo. En este ejemplo he usado el propio de GitHub para que sea mas fácil.

 

Una vez instalado nos saldrá una pantralla de de una manera fácil podremos enlazar nuestro repositorio que hemos hecho con la copia (Clone a repository from Internet) que usaremos en nuestro ordenador con Unity. En la imagen veremos la opción.

Cuando pulsamos la opción, se nos pide que seleccionemos que repositorio quermos clonar y donde queremos hacerlo de nuestro ordenado. Aquí hay que tener en cuenta que debe ser una carpeta vacia. Una vez clonado podemos ver visualmente el contenido con los archivos que en el paso 1 hemos generado desde GitHub.

 

3.- Generar el proyecto en Unity y enlazar

Con el repositorio clonado hahora nos toca crear un proyecto en Unity. Aquí hay que tener en cuenta que debe coincidir con la carpeta donde hemos clonado nuestro repositorio de GitHub. Aquí es donde debemos vigilar ya que al seleccionar la carpeta contenedora al crear el proyecto puede pasar que nos cree el proyecto en una carpeta dentro de la carpeta del repositorio

 

Si esto nos ocure deberemos mover los archivos para que el proyecto nos quede junto con los archivos .gitignore y no tengamos carpetas anidadas y el fichero .gitignore pueda hacer su funcion. En Windows deberia quedar como la figura.


4.- Hacer la copia de seguridad

Si ahora abrimos el programa GitHub veremos que ha detectado archivos nuevos en el repositorio. En el ejemplo de la figura detecta 33 cambios o archivos nuevos. En realiad hay muchos mas, pero son los archivos que le hemos indicado con .gitignore que debía ignorar ya que son archivos temporales.


Ahora debemos sincronizar con la copia que hay en la nube. Para ello debemos indicar un nombre para la versión que quermos sincronizar y podemos escribir una descripción para que nos quede mas claro lo que estamos actualizando. Al pulsar Commit preparamenos la versión para ser sincronizada.

Una vez creado el commit, debemos hacer la acción de sincronizar pulsando el boton Push origin y será entonces cuando la nueva versión se suba a la nube como una nueva versión de nuestro proyecto.


Una vez terminado si vamos a la página web de GitHub veremos nuestro repositorio actualizado con la nueva versión del proyecto.


Ahora siempre que queamos hacer una copia de seguridad de nuestro proyecto solo hace falta repetir el paso 4 para tener siempre la última versión del nuestro juego en la nube.

Controladores de personaje para Unity 3D

Como no me gusta inventar la rueda agradezco aquellos desarrolladores que comparten parte de su esfuerzo con la comunidad. En esta ocasión os traigo dos controladores de personaje para vuestros proyectos Unity 3D que he encontrado muy interesantes y que os pueden ayudar en vuestros proyectos.



En primer lugar tenemos a Dynamic Parkour System de Eric Canela. Es un plugin gratuito para Unity que permite a cualquier persona importar cualquier modelo y tener un controlador ya funcionando con capacidades de parkour como en los juegos de Assassin's Creed. 

Lo he probado en Unity y después de poner las dependencias (para que el Sistema de Parkour Dinámico funcione, requiere la importación de los paquetes de Cinemachine y del Sistema de Entrada ubicados en el Administrador de Paquetes de Unity.) ha funcionado perfectamente en un proyecto propio. 

Si os interesa o si estaís diseñando un juego con mecánicas como esta os recomiendo que le echéis un vistazo. Al final del artículo os dejo los enlaces de esta libreria.

 

El segundo proyecto que he encontrado sobre controladores de personaje es Traverser 2.0 de Aitor Simona. Traverser es un kit de herramientas de desplazamiento de jugadores gratuito y de código abierto que incluye Locomoción, Parkour y Escalada. Incluye animación procedimental, animación física, warping de movimiento personalizado y movimiento de raíz. Es autocontenido en un conjunto de scripts. Utiliza las habilidades dadas o expande el sistema a través de su flujo de trabajo de habilidades compartidas. En este caso la librería también es gratuita y la puedes utilizar en tus proyectos. 

 

Sin duda son dos excelentes opciones para con poco trabajo dotar a tus personajes de movimiento, escalada y parkour como tienes muchos juegos AAA que podemos encontrar en el mercado. Os recomiendo que les deis una oportunidad.

Datos 

 
 

Como crear un PressKit para tu juego

Como ya hemos explicado en múltiples ocasiones uno de los mayores problemas de los desarrolladores indie es como dar a conocer nuestro el juego a la comunidad. Algunas veces hemos hablado de la importancia de las redes sociales o de la compra de publicidad. Otro elemento a tener en cuenta es dar a conocer nuestro juego a través de medios especializados (foros, revistas, blogs especializados, publishers, etc) y para todos ellos necesitamos tener un kit de prensa. 

En este caso un kit de prensa o PressKit es una pagina web que contiene la información relevante sobre el juego, un resumen, material gráfico, logotipos para que terceras personas puedan utilizarlo cuando hagan referencia a nuestra juego en sus medios (webs, blogs, revistas, canales de youtube o cualquier otro método de promoción).

Una manera de hacerlo sería crear una página web al uso con el coste que tiene pero en este artículo querría compartir una estrategia que puede ser interesante. Yo para estos menesteres utilizo los recursos que ofrece IndieDB una página web especializada en juegos indie donde podemos registrarnos como desarrolladores para poder informar de nuestros proyectos y nuestros estudio.


En concreto, una vez registrados como desarrolladores podemos generar un presskit donde una vez implementados los campos requeridos generará una página web con formato presskit sin anuncios. Esta página puede ser privada hasta que esté terminada o requerida y una vez activada está publicada en internet. Además tendremos una página dentro de IndieDB para promocionar nuestro juego.

Yo personalmente recomiendo tener un presskit para cada juego que realicemos ya que es un recurso necesario si queremos promocionar nuestro juego de un modo profesional. Aquí tenéis el enlace de Space Farm, mi ultimo título.

Como hacer copias de tu código de Unity con GitHub

Podriamos escribir un libro entero de las bondades de Git para el trabajo colaborativo y la gestión de versiones en un entorno como Unity. D...