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.

El poder de una buena paleta

Como he comentado algunas veces el aspecto visual de un juego es muy importante para darle personalidad. Que un juego tenga algo distintivo es básico para destacar del resto. Esto puede ser una mecánica, los gráficos, la música o cualquier otro aspecto.


Hoy me gustaría compartir una herramienta web que nos puede ayudar en este objetivo visual. La página en cuestión se llama Lospec. En concreto me ha llamado la atención la sección de paletas ya que podemos aprender cómo utilizando un conjunto de colores impartir un carácter determinado a un juego.


Esta página está formada por un conjunto de herramientas donde entre sus múltiples opciones hay un foro donde compartir ideas, preguntas y respuestas, un recopilatorio de tutoriales de pixel art, un buscador de paletas de colores y un apartado con recursos donde encontrar software de pixel art (editores, utilidades, etc.).

Las paletas

En el apartado de paletas se nos ofrece un listado de paletas disponibles y un pequeño sistema de búsqueda para filtrar el tipo de paleta que estamos buscando. En cada paleta veremos su composición y una imagen de un juego de muestra para ver su efecto visual.

 

Una vez encontrada una paleta que nos guste podemos acceder a la información ampliada donde podemos encontrar una descripción, un ejemplo y la composición en colores en diferentes modelos de referencia para que la podamos utilizar. 

 
Además la dispone de una herramienta para analizar la paleta en cuestión y varias opciones para poder descargar un archivo con los datos de la paleta de utilizarla en el futuro (PNG, PAL, Photoshop ASE, Paint.net TXT, Gimp GPL, HEX) en nuestro software de edición preferido.


Otra opción es probar o incluso trabajar con la paleta seleccionada en su propio editor de pixel art que lleva incorporado y hacer nuestros trabajos directamente con una herramienta online donde podemos probar nuestra paleta o utilizar alguna de las clásicas que el sistema incorpora por defecto.
 

Una vez en el editor si vemos que necesitamos conocimientos adicionales para hacer alguna creación para vuestro juego podéis acceder al apartado de tutoriales donde hay una recopilación de diversas fuentes de pixel art, teoría de la animación, ejemplos, tutoriales, etc.
 
 

También podemos utilizar otras herramientas para trabajar con sprites que nos pueden ser muy útiles en nuestros juegos y ahorrarnos muchas horas de trabajo con el editor de imágenes. Si queréis podéis echarle un vistazo y como siempre os dejo los enlaces y el contacto para que le podáis dar una oportunidad.
 

Conceptos básicos: Recursos de Junmin Lee

Si hace unos días presentaba un canal de Youtube con recursos básicos en español, hoy me gustaría compartir un canal con recursos básicos en inglés. En este caso se trata del canal de Junmin Lee, una chica que explica los conceptes de Unity de una manera muy didáctica y permitirá a los que se inician a entender conceptos básicos como los Colliders, Rigidbody, Physics y Cameras.

Lo que mas me ha gustado de este canal es lo didáctico que es explicando los conceptos básicos a través de ejemplos, animaciones y diagramas. Si estas empezando en Unity o en el la programación de videojuegos te recomiendo que le des una oportunidad.


Datos 

 

Conceptos básicos: Recursos de Ludibyte Games

Navegando por la red he encontrado un recurso muy interesante. Encontrar cursos básicos que sean muy didactivos y visuales cuesta mucho y para aquellos que empizan o aquellos que quiren refrescar conceptos básicos esta muy bien encontrar con buen material.


En esta ocasión os presento un conjunto de vídeos en español del canal de Youtube de Ludibyte. En este conjunto de vídeos clasificados por temas. Estos vídeos es la parte gratuita de un curso mas extenso, donde los primeros 18 vídeos son gratuitos.


Creo que  es un bue material para aquellos que empiezan donde tener conpectos claros antes de sumerjirse en tutoriles concretos donde podemos ver como realizar un tipo de juego concreto. A veces tener los conceptos básicos claros ayudan a comprender mejor todo lo demás.

Datos 

 

Market Finder, localización a través de los números

Una de las estrategias que debemos saber consiste en aprovechar el esfuerzo de localización de un juego con una estrategia combinada a nivel de ASO para potenciar las descargas orgánicas de nuestro juego en ese mercado. 


Eso pasa por conocer el mercado que queremos explorar. Debemos conocer las lenguas que se habla, los indicadores principales económicos y sociales para poder fijar los precios de las compras en la aplicación o conocer si es mejor desarrollar para Android o para iOS. 


Para ello hay un servicio web gratuito que nos puede ayudar a hacernos una idea del mercado a explorar en función del nicho de aplicación del juego que queremos lanzar. Market Finder es un servicio asociado de Google que ofrece de manera gratuita información de los mercados internacionales en función de la categoría de la aplicación que queremos localizar. 


Para acceder a este servicio sólo debemos tener una cuenta Google, introducir la dirección del juego en nuestra tienda de aplicaciones e indicar a que categorías pertenece. En este caso Energy Up esta definido como un juego de la categoría Puzles.


A partir de aquí nos indica cuales son, según su criterio, los mercados potenciales más interesantes. En nuestro caso para un juego tipo puzle nos propone como mejores mercados China, Estados Unidos y Japón. De esta lista podemos seleccionar varios países para hacer una comparativa entre ellos y analizar sus datos macroeconómicos, sociales, lingüísticos y culturales para analizar y hacernos una idea de como son los usuarios potenciales y que modelo de negocio se ajusta mejor a cada territorio. 






Con toda esta información podemos tomar decisiones que afectan a la localización del juego y su modelo económico. En el ejemplo expuesto para juegos de tipo puzzle queda claro que el mercado indio es mucho mayor que el mercado japonés pero su capacidad económica para un juego basado en compras dentro de la aplicación no lo hace tan interesante. Así mismo el mercado japonés tiene la barrera lingüística ya que el ingles en Japón es residual y en la India tiene una implantación cultural que nos permite una entrada más rápida a su mercado. Todo son datos que debemos analizar… 

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...