jueves, 2 de junio de 2016

Software recomendados (Diseño y modelado) 1/2

El día de hoy hablaremos de las diferentes opciones que tenemos como desarrolladores o diseñadores a la hora de modelar, diseñar, texturizar, entre otras. Al igual que con los motores de videojuegos, existen infinidades de programas de diseño, bien sea de software libre o propietario, y para entender un poco mas de que forma nos puede servir cada uno de estos y que función cumplen con nuestro videojuego, haremos un breve repaso sobre los mas famosos y los mas cómodos de usar.

El diseño a la hora de crear un videojuego debe planearse y plantearse de forma ordenada y que concuerde en todas sus fases, es decir, tanto la interface, el modelado, el texturizado, y de mas material grafico de nuestro juego, debe coincidir y ser visualmente cómodo para nuestro publico.


No es lo mismo un software de diseño, a uno de modelado, renderizado u animación, aunque algunos programas como Blender incluyen estas tres ultimas opciones en un solo software de pequeño tamaño y código abierto. Por ello en este post iremos por parte, describiendo los programas recomendados a la hora de diseñar y luego los programas recomendados a la hora de modelar, animar o renderizar.


Diseño: Existen múltiples opciones para el arte de nuestro videojuego, tomando en cuenta los formatos de diseño que debemos usar para cada fase o cada objeto a recrear, es decir, debemos establecer un formato de fondo transparente como PNG para nuestros sprites en un videojuego 2D, o JPG para texturas y background. Enseguida presento una lista de programas recomendados a la hora de diseñar.


1- Photoshop.
Uno de los software de diseño mas famosos en la actualidad, desarrollado por Adobe y usado en su mayoría para retocar fotografías o gráficos. Este poderoso software nos facilitara la creación del arte de nuestro videojuego, pudiendo así el artista de manera profesional crear gráficos impresionantes tanto para nuestros sprites, texturas, background, interface, entre otros.



2- Illustrator.
Al igual que Photoshop, Illustrator es desarrollado por Adobe. Es un excelente y poderos editor grafico de vectores, con la capacidad para editar y crear logotipos, ilustraciones, diagramas, entre otros, bastante útil para la creación de nuestra interface de usuario o GUI, desarrollando así un diseño limpio y profesional.



3- Gimp.
Gimp, es un programa de edición digital en forma de mapa de bit, tanto dibujos como fotografías, desarrollado en el proyecto GNU. Podría decirse que es la contra parte libre y gratuita de Photoshop, siendo uno de los software mas usados a la hora de crear y retocar imágenes digitales, de pequeño tamaño y amigable en su interface, es una excelente opción a la hora de crear sprites, texturas, background, entre otros.


4- InkScape.
De igual forma que Illustrator, InkScape es un editor de grafico de vectores, con la excepción de ser libre y gratuito, con el se puede crear o modificar gráficos vectoriales como ilustraciones, diagramas, líneas, gráficos, logotipos e ilustraciones complejas. Es un software potente tomando en cuenta su pequeño tamaño y muy amigable y cómodo para el uso, no requiere mucha capacidad del sistema y aunque es desarrollado principalmente para el GNU/Linux, es multiplataforma.



Existen otros cientos de software de diseño, sin embargo a la hora de estandarizar nuestra área de trabajo como explicamos en el post "Planifica tu entorno", es necesario establecer un grupo de softwares o programas a usar por todo el equipo, bien sea si desean usar la suite de Adobe que incluye además otros tantos software interesantes como Flash Builder, After Effects, entre otros. O si prefieren el grupo de softwares de Corel Drawn, o apuestan a la iniciativa del software libre con potentes editores como Gimp o InkScape. Aquí solo hicimos recomendación a cuatro (04) editores específicos, no quiere decir esto que sean los mejores o los únicos que existe, sin embargo si forman parte de nuestra recomendación de software para usar, que cuentan además con el soporte necesario y una basta documentación para su uso.

Para mas información al respecto les recomiendo visitar el blog "becreativebeimmortal". Esta excelente diseñadora, especializada en el área de diseño web y GUI de videojuegos, puede darte valiosos tips sobre todo el estudio a realizar para crear un ambiente armonioso y amigable para tus usuarios, además que entrara mas en tema de diseño, explicando así mejor sus recomendaciones y uso de software especializados.

domingo, 29 de mayo de 2016

Software recomendados (Entorno)

Hoy en día existen infinidades de software que cumplen con satisfacción cualquier tarea que encomendemos. Sin embargo en el mundo de los videojuegos hay uno que otro mas poderoso, mas rápido, mas amigable de usar o simplemente mas ligero. Hoy hablaremos sobre las diferentes opciones que tenemos para desarrollar nuestro proyecto de videojuego.

En principio vamos a establecer a que nos referimos con el "entorno", yo personalmente hago referencia totalmente al software que usaremos para armar, construir o realizar nuestro proyecto en ultima instancia, es decir: El motor de videojuego, framework, o como queramos llamarle. En el mercado actual contamos con todas las herramientas necesarias para desarrollar un videojuego, es mas, hacer maravillas con apenas un grupo de 3 o 4 compañeros, eso si, olvidando totalmente la idea de que con escribir dos o tres líneas de código ya tendremos el éxito del mercado.


Un motor de juegos no es mas que una serie de rutinas de programación que permiten el diseño, la creación y la representación de un videojuego. Los cuales nos brindan en su mayoría, motor físico, sonido, animaciones, scripting, inteligencia artificial, motor de renderizado, entre otros. Es decir, una herramienta muy poderosa para simplificarnos la vida en el desarrollo de nuestros juegos. Y a continuación les presentare los software recomendados:

1- Phaser (2D).
Si lo que deseamos es hacer videojuegos multiplataforma que no requieran de la potencia del dispositivo, sino del navegador, Phaser es una excelente opción para aquellos que quieren iniciar en este mundo. Ofrece un entorno amigable, de fácil manejo y cuenta con todas las herramientas necesarias, es decir: físicas, sonido, entradas, animaciones, partículas, soporte, plugins, entre otros. El lenguaje de programación que se maneja en Phaser es HTML5 + JavaScript, lo cual aunque no es un lenguaje muy robusto para la creación de videojuegos, si lo convierte en uno fácil de aprender y con características interesantes.


2- Game Maker: Studio (2D).
Game Maker: Studio, es una herramienta poderosa para el desarrollo rápido de videojuegos 2D, basada en un lenguaje de programación interpretado y un kit de desarrollo de software (SDK). fue desarrollada en el lenguaje de programación Delphi, y es lo suficientemente amigable como para que cualquier novato en programación pueda usarla sin mayor problema aprovechando muchas de sus características. Si lo que deseas es crear videojuegos 2D para iOS, Android o Web, atreve con Game Maker: Studio.


3- CryEngine 3 (2D y 3D).
Sin duda alguna CryEngine es uno de los motores de juego mas completos y robustos del mercado, programado en C++, Lua y C#, este motor de videojuegos cuenta con todas las herramientas y características para que no existan limites en tu proyecto, eso si, contando con un buen equipo y con la capacidad técnica para ello. Tiene soporte para casi cualquier sistema operativo, contando asi con la capacidad para poder construir juegos para Windows, Android, iOS, PlayStation 3 y 4, Xbox 360 y ONE, Linux y Wii U.

 
4- Unity (2D y 3D).
Bueno, el consentido de la casa, Unity, al igual que CryEngine, es uno de los motores de videojuegos mas completos y poderosos del mercado, sin contar que es el mas famoso actualmente, esta programado en C, C++ y C#. Unity esta disponible de forma completamente gratuita para las plataformas Windows, Mac y Linux, además cuenta con todas las herramientas necesarias para el desarrollo de videojuegos para Windows, Android, iOS, PlayStation 3 y 4, Xbox 360 y ONE, PSP, Wii U, Navegador web, entre otros, permite la creación de scripts en Unityscript(una versión interpretada de JavaScript), C# y Boo, lo cual permite a los programadores no limitarse con las funcionalidades de este motor.

 
Tomando en cuenta la variedad de herramientas que hay en el mercado, podemos definir que queda en parte de nosotros y nuestro grupo de trabajo establecer la que sea mas cómoda y cumpla con nuestras necesidades. Aunque personalmente recomiendo a casi cualquier grupo desarrollar bajo el motor de videojuegos Unity, no es este framework el mas poderoso, toca en parte investigar un poco mas al respecto y establecer si tan solo queremos un proyecto pequeño o deseamos entrar a la industria con todos los hierros.

jueves, 26 de mayo de 2016

¡Planifica tu entorno!


Bien sea si trabajas solo o con un grupo de amigos que desean desarrollar el próximo éxito en las consolas de juegos, la base de todo ello empezara aqui, en PLANIFICAR y ordenar tu entorno de trabajo. Hoy en día la metodología lo es todo, por ello un equipo de trabajo funcionando con la metodología exacta, puede llegar muy lejos.

Organigrama: Esta estructura es normalmente usada por empresas e industrias, en forma de cascada y la cual representa las relaciones y las funciones de sus diferentes partes, es decir debemos establecer el rol que jugara cada quien en nuestro pequeño proyecto, y para ello definimos las cualidades de cada uno.

Procesos ágiles de desarrollo de software: La mayoría de las empresas de arranque o mejor conocidas como startups aplican procesos ágiles de desarrollo como lo son los modelos Scrum, Kanban, RUP, entre otros. Estos modelos de desarrollo ágiles son la base para el correcto funcionamiento de tu grupo de trabajo, donde se establece el respeto a las funciones, las tareas, los tiempos de trabajo, el modelo de trabajo, entre otros. Es decir se busca no sobrecargar a ningún miembro del equipo y crear un entorno de desarrollo iterativo y creciente.




Estandarizar: Como consejo personal considero que es importante establecer un estándar en el entorno de trabajo, bien sea en el modelo de producción como en el desarrollo en si (horarios, trabajos, formatos, frameworks, lenguajes, juegos de caracteres, etc.), esto debido a la facilidad que se debe crear en el medio para el intercambio de información entre programadores, diseñadores, diseñadores gráficos, directores, guionistas, etc. Imagina tan solo el desastre que crearías si trabajando en desarrollo web tus programadores decidieran por separado usar distintos juegos de caracteres para el front-end y el back-end. Pero que esto no sea una limitante para probar nuevas tecnologías.

Planifica: Reúnete con tu equipo de trabajo, tus amigos, tus compañeros y hablen, comenten, den ideas y estructúrenlas, creen un ambiente de trabajo de constante intercambio, no se repriman a imaginar, debemos recordar que somos creadores, somos desarrolladores, tenemos un lienzo en blanco en frente y toda la capacidad para convertirlo en una obra de arte. Pero para ello definitivamente debemos planificar, en Frontino Interactive, donde cumplo rango y función de CTO, mantenemos constantes reuniones de planificación para establecer las bases de un desarrollo, es decir: concepto, preproducción, producción, testeo, lanzamiento y soporte, y de nuevo volviendo al concepto para la constante actualización de los productos.

Estudia tus posibilidades, estudia la capacidad de hardware y software con la que cuentas, analiza tu equipo y su productividad y mantén un constante cambio al incremento y mejora de cada uno de estos procesos.

Oscar Leañez - CTO Frontino Interactive
https://www.facebook.com/Frontinointeractive

domingo, 22 de mayo de 2016

¿Que es Unity y para que sirve?

Unity es un motor de videojuego multiplataforma creado por Unity Technologies. Unity está disponible como plataforma de desarrollo para Microsoft Windows, OS X y Linux, y permite crear juegos para Windows, OS X, Linux, Xbox 360, PlayStation 3, Playstation Vita, Wii, Wii U, iPad, iPhone, Android y Windows Phone. Gracias al plugin web de Unity, también se pueden desarrollar videojuegos de navegador para Windows y Mac.

Unity tiene dos versiones: Unity Professional y Unity Personal.


Hay dos licencias principales para desarrolladores: Unity personal y Unity Professional. Originalmente la version pro costaba alrededor de 200 dólares estadounidenses. La versión Pro tiene características adicionales, tales como render a textura, determinación de cara oculta, iluminación global y efectos de postprocesamiento. La versión gratuita, por otro lado, muestra una pantalla de bienvenida (en juegos independientes) y una marca de agua (en los juegos web) que no se puede personalizar o desactivar.

Tanto Unity como Unity Pro dan acceso a la documentación del motor y a tutoriales o vídeos de entrenamiento. La version pro ofrece soporte a una version, ejemplo si ha comprado Unity 5 esta licencia le da acceso a todas las actualizaciones y soporte de las siguientes mejoras de la version (Unity 5.x), al igual que le da acceso a las versiones beta.

Unity technologies ofrece la licencia pro como una suscripcion o como un objeto de pago en una sola exhibicion, esta puede ser configurada a la necesidad del desarrollador que puede incluir las plataformas a las que desee publicar, tales como Android Pro, IOS Pro, etc. La subscripcion tiene un valor de 75 USD al mes durante el plazo que se quiera utilizar el motor.
El código fuente, PlayStation 3, PlayStation 4, PlayStation Vita, Xbox 360, Xbox One, Wii, licencias se negocian caso por caso donde se debe acudir a un vendedor para negociarlo.
Las licencias educativas son proporcionados por Studica con la estipulación de que es para la compra y uso de las escuelas, exclusivamente para la educación.

Desde la versión 4.0, un nuevo modelo de licencia se puso en marcha para organizaciones de juegos de azar. Deben ponerse en contacto con Unity directamente para obtener una licencia de distribución. Esta licencia se encuentra en el nivel de la distribución, no el nivel de desarrollador


Sobre el desarrollo de videojuegos

El desarrollo de videojuegos es todo un arte, tanto en la programación como en el diseño grafico. En este blog haremos lo posible por enseñar y analizar todas las técnicas y pasos requeridos para la creación de un videojuego.

Mi nombre es Oscar Leañez, actualmente formo parte de Frontino Interactive, la cual es una empresa de desarrollo de videojuegos para plataformas móviles, contamos con distintos proyectos en nuestro portafolio y los cuales podrán ir observando en el pasar de los días a través de este blog.


Ya que nos conocemos, antes que nada deseo aclarar que en este blog no se dictaran clases de programación ni diseño grafico, no habrá una línea de tiempo mediante el cual se sientan como si estuvieses en un curso online, no, este blog será totalmente informativo y tratare de aclarar todas las dudas que presenten en los comentarios de cada post. Antes que nada empezaremos conociendo las herramientas básicas y esenciales para la creación de videojuegos, luego nos iremos internando cada vez mas y mas en cada uno de estos programas y conociendo así los pasos para el correcto desarrollo.


Espero que este blog les sea de ayuda y poder así solucionar cualquier duda que se les presente.