domingo, 4 de septiembre de 2011

Introducción: Cómo empezar a crear tu propio juego (parte 2) [Programación]


*** Reanudando transmisión ***

Muy bien, ya en el post pasado les platique un poquito a grandes razgos de los 3 componentes nucleares con los que se construye un juego. Ahora, para no extenderme tanto y concentrar más el tema a lo que conozco y puedo explicar más facilmente, pienso hablarles sólo del lado del programador. Con un poco de suerte, convenceré a Greñas para que les describa el enfoque del artista, y con un poco más de suerte hasta invite a alguien más para que nos platique del diseño.

En todo caso, esta nota se enfocará a 3 cosas que van muy relacionados y que deben tenerse para crear poder crear el juego: Habilidades, Herramientas y Práctica.



Habilidades

Con esto me refiero a que para poder programar algo conscientemente y con un objetivo firme y claro de fondo se necesita desarrollar unas cuantas hablidades y tener conocimientos al respecto. Es más que obvio que hay que conocer de informática y programación, pero no es tan obvio el tipo de conocimientos ni los lenguajes que debe uno apreder o estudiar. Y lo más complicado del asunto es que no hay algo concreto que te garantice que te servirá para todos los casos. Pero al menos puedo darles unos cuantos consejos al respecto.

Lo primero, es entender de computadoras. No es necesario que sepas como funciona todo en ella, ni como armar o reparar una, aunque podrían ayudarte a entender mejor cómo es que funcionan los programas. A fin de cuentas, un videojuego sigue siendo un programa de computadora. Entonces, lo primordial es entender como funcionan los programas. Ayuda mucho estudiar una carrera relacionada con informática, sistemas y programación (si piensas dedicarte profesionalmente a programar juegos). Pero aunque sólo quieras hacerlo como pasatiempo o de manera no profesional, ayudaría que al menos tomaras un curso de programación y te familiarizaras con todos los términos y peculiaridades de la labor.

En cuanto a qué lenguaje de programación aprender, realmente no hay un único lenguaje infalible y perfecto que te sirva para aprender todo lo que necesitas. Como sugerencia personal, diría que te enfocaras a aprender C/C++, ya que es un lenguaje muy poderoso y la base de muchos otros lenguajes más recientes. Después de conocer de C, recomendaría que también aprendas programación orientada a objetos. En ese caso, recomendaría que aprendieras un poco de C# y/o Java, que son 2 de los lenguajes más utilizados actualmente (y muy similares entre ellos). También sería bueno que aprendieras un poco de lenguajes de scripting. Estos son un poco más sencillos que los lenguajes de programación más grandes. En mi caso, me han servido mucho aprender de Javascript y NSIS. Este último es un lenguaje open source usado para crear instaladores de programas para Windows de manera gratuita, y se deriva de estructuras de otros lenguajes. ¡Y vaya que me ha servido mucho para entender mejor de programación!

Otra habilidad muy importante es saber inglés. Si sabes hablar, leer y escribir en este idioma, verás que la estructura de los lenguajes de programación es muy similar a este.


Herramientas

Las herramientas más básicas que se usan para desarrollar programas de computadora son los kits de desarrollo de software (SDK por sus siglas en inglés). En el caso de crear juegos, también existen GDKs, que son kits de desarrollo de juegos. Estos últimos son plataformas creadas con el fin principal de programar juegos, así que son las herramientas más importantes para nosotros. Hay de todos tipos, tamaños y formas; algunos gratuitos y otros que requieren pagar por usarse.

Como lo hemos dicho en este blog, nosotros estamos usando Unity 3.4 para programar nuestros juegos. Elegimos esta plataforma porque cuenta con una licencia gratuita para aprender y publicar sin fines de lucro tus creaciones. Es fácil de usar, y tiene una base de usuarios muy amplia, por lo que cuenta con muchos plugins (ampliaciones y herramientas que aumentan las capacidades del programa), documentación y ejemplos que se pueden descargar y seguir paso a paso para aprender a usar la herramienta. Durantre y al final del proyecto, nosotros mismos en Protocrits dejaremos disponibles los archivos fuente de los juegos que estamos creando para que les ayude a entender y aprender a crear sus propios juegos.

Así como Unity, existen muchas otras plataformas de creación de juegos. No voy a hablar de otras por el día de hoy, pero con gusto podemos platicar de ellas en otra ocasión (si les interesa, claro esta).


Práctica

Lo mejor para aprender a hacer algo es intentarlo. Del ejemplo y el ejercicio es de donde se aprende mejor. También ayuda mucho investigar y buscar recursos, y ponerlos a funcionar. Si intentan hacer algo, pero no logran conseguirlo, no dejen de intentar. Muchas veces la solución esta más cerca de lo que se imaginan. Tampoco teman a pedir ayuda y preguntar.

En resumen, intenten todo lo que se les ocurra, y no se desanimen si al principio no tienen exito.

Estas han sido unas breves ideas y observaciones personales de lo que se necesita para empezar a hacer juegos. Espero les sirvan de algo, y aquí seguiremos publicando detalles más tecnicos de nuestros juegos. Quedense al tanto y pronto tendran más notas de nuestra parte.


4rm4tr0n

sábado, 3 de septiembre de 2011

Introducción: Cómo empezar a crear tu propio juego (parte 1)

¡Hola a todos! Ahora me toca el turno de aportar un poco al proyecto.

Como ya hemos escrito antes, la idea de este blog es brindar un pequeño espacio para compartit ideas, opiniones y conocimientos a quienes esten interesados en aprender a desarrollar sus propios videojuegos. Tanto Greñas como yo haremos todo lo posible por compartir lo más que podamos de nuestros conocimientos al respecto. Pero no sólo queremos exponer de nuestra cosecha, también queremos que ustedes, nuestros apreciados lectores, se involucren un poco más e interactúen con nosotros. Si quieren opinar o corregirnos, adelante. Este espacio es para aprender y crecer.

Bueno, después de esa breve nota no tan relacionada con el titulo de este post, ahora si me enfocaré a hablar de lo que compete al tema.



¡Quiero hacer mi propio videojuego! (pero no se por donde empezar)

Muy bien, si ustedes (como yo hace no tanto tiempo) piensan eso mismo, entonces esta nota les va a interesar. Todos los comentarios contenidos aquí van enfocados a tratar de dar una orientación básica a qué es lo que se necesita para poder hacer tu propio videojuego. Si tienes alguna idea interesante y divertida, siempre has soñado con trabajar haciendo juegos, te facina idear historias e imaginar mundos extraordinarios, definitivamente te va a gustar participar en la creación de un videojuego. En estos proyectos uno puede usar todos sus conocimientos y creatividad para lograr cosas maravillosas, sorprenderse realmente de sus propias capacidades y de paso maravillar e inspirar al mundo. Pero por más maravilloso que suene eso, no es un camino fácil ni un objetivo sencillo de lograr. Esta lleno de obstáculos, contratiempos, altibajos y tropiezos. Sin embargo creanme, ha resultado para mi un gran logro en mi vida poder dedicarme a ello.

Después de todo ese rollo mareador, paso ahora si a lo objetivo del post (una disculpa por dar tantos rodeos, es que me emociono al tratar el tema). Lo principal es identificar qué es lo que QUIERO Y PUEDO hacer para sacar mi propio videojuego. Lo primero, a mi parecer, es el enfoque o rol de desarrollador que quiero tomar.


Enfoque / Rol
¿A qué me refiero con estas 2 palabras? Es muy sencillo: un videojuego principalmente se compone de 3 factores muy importantes. Estos factores son el diseño, el arte y la programación. El desarrollo nuclear del videojuego se compone de esas 3 cosas (digo nuclear, pues eso es lo mínimo que se necesita para crearlo). Obviamente existen otros factores que afectan el desarrollo del juego, pero estos 3 son los que más nos importan. De modo que me enfocaré a explicar la importancia y responsabilidades de las personas que se encargan de forjar estos 3 elementos.

Diseñador: Esta persona es quien se encarga principalmente de pensar qué es lo que va a contener el juego, la historia o justificante de por qué el jugador se va a interesar en jugar, los objetivos a lograr en la experiencia del juego. Básicamente, él es el visionario que le da forma al juego, tomando las ideas que surgen de él y las que le rodean o el comparten. Él es quien ayuda a dirigir el proyecto.

Artista: El artista es quien visualiza el mundo virtual del juego, y con sus habilidades le da forma y lo hace palpable. En cierta forma, a través del ojo, la mente y la mano del artista es que se crean estos mundos.

Programador: El programador es quien se encarga de que todo funcione. Él es quien mueve al mundo que se ha creado con la visión del diseñador y la obra del artista. Gracias a él es que el mundo cobra vida y nace el juego como tal.

Los 3 roles son muy importantes e indispensables para que funcione el juego. Cada uno tiene su importancia, sus retos y objetivos. Son diferentes, pero a la vez forman parte de lo mismo. Además, una persona puede tener 2 roles, inclusive los 3 en un proyecto. Aunque, en opinion propia y de quienes saben al respecto, se recomienda que cada persona se enfoque a un solo rol. Como dice el dicho: "El que mucho abarca poco aprieta".

En particular, es mucho mejor que te enfoques a qué es lo que quieres del videojuego, busques prepararte para tener las habilidades y conocimientos necesarios, y conozcas las herramientas más comunes y utilizadas para hacer tu parte.

Poniendo el ejemplo de la vida real, yo estoy enfocado al rol de programador, pues siempre me ha intrigado saber cómo funcionan los juegos, además de que tengo mis propias ideas que me gustaría implementar para hacer un juego más original y divertido de lo que ya es. Para esto, me he estado preparando poco a poco aprendiendo conceptos y distintos lenguajes de programación, buscando recursos en linea y en libros. Pero de eso hablaré más tarde, así que esten pendientes de la siguiente parte.



*** Fin de la transmisión ***

4rm4tr0n

viernes, 2 de septiembre de 2011

Primera entrega! Ekusu-Panchi!


¡Comenzamos!
Ya tenemos en linea el primer build de nuestro beat’em up en progreso, que para fines practicos llamaremos  al proyecto Ekusu-Panchi. Eventualmente iremos subiendo el concept art y el material adicional sobre este mini-proyecto, buscando mantener un desarrollo abierto (open development).
En esta primera fase buscamos tener lo básico del movimiento del personaje, como de momento estamos buscando que se sienta bien el jugarlo, las animaciones puede que no cuadren del todo, pero se irán ajustando para tener la mejor experiencia de juego posible.
Nuestra meta es terminarlo pronto, así que probablemente no logremos incluir todas las funciones y atributos que queremos, sin embargo, buscamos lograr algo que sea muy entretenido de jugar!
Pueden jugar el juego aqui –> http://www.lordsofxibalba.com/protocrits/
Usuario: everyone / pass: 3veryone#
Comenten! compartan sus dudas y criticas
Disfrútenlo!
Arte – Alejandro Aguirre a.k.a. grenias //Programación - Amador Guardado a.k.a. 4rm4tr0n