Introducción
En esta sección vamos a repasar los aspectos fundamentales a tener en cuenta para comenzar con el desarrollo de videojuegos.
Quizás te ocurra como a mi que de chico soñaba con hacer juegos, pero era algo tan inalcanzable que dejé esos sueños de lado.
Hoy en día existen distintas herramientas que simplifican la tarea de crear juegos y hacen posible que un pequeño grupo de personas o incluso una persona traiga al mundo su propia creación.
Empezar a desarrollar videojuegos
Antes de hablar sobre qué es un videojuego y herramientas útiles, tal vez te interese pasar directamente a la acción así que te cuento un poco cómo va a estar estructurada la sección de desarrollo de videojuegos de GameDevTraum.
Voy a crear artículos y videos pertenecientes a tres categorías.
Tutoriales y Soluciones para el Motor Unity
En la primera categoría estarán todos los tutoriales y soluciones para el motor gráfico Unity, aquí podemos encontrar por ejemplo la serie del juego del laberinto.
Tal vez no quieras utilizar Unity para trabajar, aún así te pueden interesar las otras dos categorías.
Análisis de videojuegos desde la perspectiva del desarrollo
La segunda categoría tratará sobre análisis de videojuegos desde el punto de vista del desarrollo, aquí vamos a examinar distintos juegos y relevar datos de interés sobre estructura de menúes, interfaz gráfica, mecánicas, efectos y demás.
Proyectos personales
La tercera categoría la usaré a modo de diario de desarrollo, mostrando las cosas que hago con mis proyectos. Actualmente en mi tiempo libre trabajo en dos proyectos, uno personal y otro con un grupo de personas.
Las últimas dos categorías las estoy preparando, así que sólo encontrarás videos y artículos de la primera categoría.
¿Qué es un videojuego?
Un juego de computadora, móviles o consolas es básicamente una serie de imágenes que se reproducen de manera continua en la pantalla, igual que ocurre en una película o animación.
Estas imágenes se llaman frames (fotogramas) y mostrando muchas imágenes por segundo se logra un efecto visual de continuidad.
Además podemos controlar lo que ocurren en pantalla usando los periféricos (teclado, mouse, entradas táctiles, mando, acelerómetros, micrófonos, etc), con esto podemos modificar las variables internas del juego y cambiar la forma en la que se desarrolla.
Podemos clasificar los juegos en 2D y 3D, dependiendo de cuántas dimensiones espaciales utilicen. Los juegos clásicos de arcade son ejemplos de juegos 2D, mientras que juegos como los de disparos en primera persona son en 3D.
¿Cómo crear un videojuego?
Ahora que sabemos un poco en qué consiste un videojuego, vamos a pensar en cómo crear uno. Básicamente hay dos formas de encarar el problema.
Programar un juego desde cero
Para esto necesitamos sólamente un editor de código y el conocimiento de las librerías.
Es un camino bastante difícil porque requiere muchos conocimientos de programación ya que hay que escribir desde cero un motor gráfico que pueda renderizar gráficos 2D o 3D utilizando la tarjeta gráfica. También un sistema de colisiones, física, procesamiento de audio.
Definitivamente no es la forma de empezar, especialmente si no sabemos programar y no tenemos experiencia.
Motor gráfico auxiliar
La otra alternativa es utilizar un software que nos ayude con la parte técnica, dejándonos a nosotros la parte lógica y artística.
En este caso un motor gráfico nos ofrece un entorno de desarrollo preparado para renderizar gráficos, procesar sonido y crear videojuegos para un amplio número de plataformas.
¿Qué herramientas podemos utilizar para desarrollar videojuegos?
Motor Gráfico
Vamos a usar Unity 3D ya que es un motor versátil
Diseño 3D
Con Blender hacemos los modelos 3D y animaciones. Es un software muy versátil con una amplia comunidad. Se puede descargar desde el siguiente link:
Texturas
Contamos con una licencia Indie en Allegorithmic, que nos permite crear texturas PBR Seamless y también crear texturas para un modelo en particular.
Allegorithmic ofrece una versión de prueba por 30 días y una licencia educacional. Más información en el siguiente link:
Edición de audio
Utilizamos Audacity para grabar voces, efectos de sonido y hacer la post-producción. Pueden conseguirlo en el siguiente enlace:
Edición de imágenes
Para crear y editar imágenes puedes utilizar GIMP, es un software libre similar a Photoshop.
Una reflexión: Hacer un juego sin gastar dinero.
Podríamos pensar que utilizando un motor gráfico que es gratuito hasta cierto punto y usar herramientas Open Source nos permitirá crear juegos sin gastar un centavo.
Este razonamiento para empezar no es del todo acertado, por el simple hecho de que todo proyecto gasta mientras existe, hay gastos que solemos dejar de lado (electricidad, víveres, transporte…) que surgieron precisamente porque empezamos a trabajar en un proyecto.
Además de estos gastos que en general son pequeños, hay un gasto del que no somos muy conscientes debido a su naturaleza abstracta. Me refiero al gasto de tiempo. Nuestro tiempo es precioso y limitado, por eso debemos aprovecharlo eficientemente.
Habrán situaciones en las que necesitamos algo concreto para nuestro juego (puede ser un efecto, un conjunto de modelos 3D, Scripts…) y hacerlo nosotros mismos podría tomarnos muchas horas de esfuerzo.
Resolverlo por nuestra cuenta no está mal, de hecho puede ser una experiencia que nos traiga muchos conocimientos, sin embargo tenemos que valorar la gran cantidad de horas que invertimos intentando lograrlo.
Supongamos que dedicamos 15 horas. Esas 15 horas de vida ¿Valen menos que una solución que pudimos haber comprado por 10 dólares? Es muy importante tener en cuenta el gasto de tiempo. A veces con una pequeña inversión solucionamos un gran problema y de paso podemos aprender de ella!
Algunas palabras más
En esta página encontrarás proyectos que podrás estudiar y resolver utilizando los videos, archivos e información disponible.
Solo hay que saber manejar una computadora e instalar los programas.
Lo único que tienes que hacer es descargar el software Unity y ya puedes empezar a aprender de esta página.
Tendrás a tu disposición los modelos 3D, texturas, audio y scripts.