DJDY 02: herramientas para hacer juegos

Nota: si encuentras alguna inconsistencia o errata en conceptos técnicos, estaría muy agradecido lo reportaras, sea por mail o por medio de los comentarios. Estoy aprendiendo igual que tu.

Lenguajes, librerías, frameworks, editores, motores, middleware, modeladores, etc. Disponemos de un sinfín de herramientas, sin embargo ante tantas posibilidades tenemos la posibilidad de iniciarnos con una herramienta incorrecta y que nos puede no solo atrasar, sino darnos frustración, alejándonos de nuestro objetivo, también podemos escoger una herramienta que nos hará creer que estamos haciendo algo, pero en realidad una vez terminemos nuestro trabajo, los conocimientos adquiridos serán poco prácticos y no conseguiremos siquiera un empleo de tester en el mundo de los desarrolladores de juegos.

Las herramientas

En la “antigüedad” para desarrollar un juego solo bastaba con una IDE y saber muy bien un lenguaje, además de conocimientos en programación grafica, con ello te debías crear una serie de herramientas que te facilitaran el desarrollo y la manipulación de los actores del juego, además de librerías dedicadas a manipular los elementos en el espacio vectorial, sin tener que generar tanto código y otras cuantas cosas. Así aparecieron librerías dedicadas a juegos como Allegro, que facilitaban las cosas, sin embargo, llegar a un juego completo suponía aún un reto.

Estamos en la era de los juegos Indie, con la aparición de flash, participamos en un boom de juegos basados en esta tecnología, con la complicidad de Facebook, y juegos como Farmville, poco a poco mas empresas se dieron cuenta de la popularidad de los juegos realizados por desarrolladores mas pequeños y lo rentable que puede llegar a ser. Se conoció un negocio que poco a poco está creciendo, estamos a las puertas de la transformación de los juegos como negocio; por ejemplo, hoy por hoy los juegos AAA empezaron a poner un modo online, así no tuviera necesidad, pero el negocio así lo está exigiendo y el online (asi sea estúpido pornerlo) debe estar metido. Ahora tenemos a la mano herramientas que hace años valían una “fortuna”, para cualquier desarrollador indie, y además nos ahorra horas de trabajo adicional, generando un producto de calidad con menor esfuerzo, y esa es una de las partes más importantes al realizar juegos.

Tenemos Ogre, XNA, UDK, Unity 3, Shiva, Love2D, y otras cuantas que nos ayudaran a realizar nuestro trabajo más rápido, además con estas herramientas adquiriremos un conocimiento útil para el desarrollo de juegos.

Algo de conceptos

Un Framework es una base o estructura de soporte, en la que se construye alrededor tu actual aplicación. Por ejemplo, el framework .NET no solo incluye una base-foundation (el CLR), sino además una serie de librerías que proveen una funcionalidad estandarizada que de otra manera tendrías que implementar por ti mismo. Otros frameworks proporcionan áreas de soporte mas especificas, como UI, interacción cliente servidor, almacenamiento de datos, etc. Los Frameworks proveen una estructura relativamente estática y genérica en la que puedes construir algo específico y único.

Un Engine es una pieza de código que encapsula una poderosa lógica diseñada para realizar un tipo de trabajo específico, independiente, pero externamente controlable. Las Engines existen para hacer el trabajo pesado, donde se le instruye a realizar algunas complejidades, tareas abstractas y las manejara específicamente con relativa eficiencia sin guía externa adicional. Por ejemplo las implementaciones de SQL, y otros servicios que realizan búsquedas son típicamente llamados “engines”, también podemos encontrar engines de física, graficas, etc. Es algo como decirle “haz esto” de forma genérica y el manejara los detalles. Si no tienes idea de los ejemplos como que es .NET o que es SQL, no te preocupes, en algún momento tocaremos el tema.

UDK vs Unity

Ogre es libre y todo eso, pero es más un engine de render que uno para juegos, tal vez con más experiencia puedas tomarlo y modificarlo a tu antojo, pero hagamos de cuenta que no sabemos nada y que además no nos queremos complicar la vida, con esta misma lógica descarto XNA y Love2D, muy buenos frameworks, pero carecen de las herramientas que nos da UDK y unity3. UDK y Unity3 son motores de juegos, que se usan en el ámbito profesional, por lo que usar estas herramientas ya nos ubica como desarrolladores “reales” de juegos.

para descargar unity3: http://unity3d.com/unity/download/

Pero ¿cuál de las dos escogeremos? , en estos tutoriales, empezaremos con Unity y luego pasaremos a UDK, ¿Por qué?, por obvias razones, UDK es mucho mejor que Unity, pero Unity es más fácil que UDK, además con Unity podremos cobrar de una vez con nuestro primer producto, feo y todo pero cobramos. ¿Que mas necesitamos? Lo que vamos a agregarle a nuestro juego, los props, los modelos, las imágenes, las fuentes, los scripts, todo eso se debe realizar con otras herramientas, aunque algunos motores poseen sus propios editores de imágenes, sonido, etc. En la mayoría de los casos es mejor usar una aparte. Y aquí el conflicto… pues estamos ante, herramientas de pago y libres, las buenas y las malas, las que uso y las que no, con las que puedo comercializar mi juego y con las que no.

Como es nuestro primer prototipo, vamos a usar la que mas manejemos o nos guste, el todo los archivos que generen sean de la extensión que necesitamos, y compatible con el motor, por eso vamos por partes, todo esto es referente a algo llamado el pipeline, lo que traduciría tubería, pero mas como al flujo de trabajo que tenemos en nuestro motor como cada cosa que creemos se concatena o se une con el resto de cosas que tenemos para formar una sola estructura solida, por eso debemos ver que soporta nuestro motor para saber si lo que hagamos fuera de él lo podemos integrar a nuestro juego, mas adelante hablaremos del Asset pipeline.

Así que lo primero que debemos mirar es esta página:

http://unity3d.com/unity/editor/importing

En esta página miramos que es compatible con nuestro motor, cuando seamos grandes desarrolladores inclusive podremos crear nuestro propio pipeline y hacer que un motor sea compatible con más cosas, inclusive crear nuestros propios formatos, y codificadores.

Para modelado:

El modelado es lo más importante, a los personajes en 3D (poligonal, con mallas y demás) se les llama modelos, y a los que están en 2d (generalmente una matriz de imágenes, en una sola imagen) se les llama sprites. Vemos que es compatible con Maya, 3ds Max, Cinema 4D, Cheetah3D y Blender este último gratis como nos gusta, aunque el más usado sea Maya. Puedes elegir cualquiera, si tienes alguien que te modele, mucho mejor, esta será una tarea de mucho tiempo. Para los articulos escogeré Blender.

para descargar blender: http://www.blender.org/download/get-blender/

Más abajo veremos los formatos que soporta, directamente Unity 3, desde Collada, hasta los .blend, para lo que haremos nos servirá .FBX, es un formato que se está volviendo muy flexible entre varias aplicaciones de modelado.

Para texturas e imágenes:

Recibe los archives de Photoshop .psd .tiff automáticamente con todas sus capas. Además soporta los formatos JPEG, PNG, GIF, BMP, TGA, IFF, PICT, entre otros. (dice entre otros pero vaya uno a saber cuáles) Por lo que puedes usar Photoshop obviamente, al igual que Gimp, y paint .net que les gusta a algunos. Para los articulos, se usará Photoshop.

Pero si quieres Gimp: http://www.gimp.org/downloads/

Para audio:

Soporta MP3 y Ogg Vorbis .ogg recuerden que .MP3 es propietario y no se puede codificar con el así como así, en cambio con los .ogg tranquilo, si quieres comercializar tu juego te recomiendo .ogg para no recibir sorpresas mas adelante.

AIFF, WAV. También son soportados sin embargo estos no tiene compresión y pesan muchísimo.

MOD, IT, S3M, XM. Estos personalmente no los he usado.

Software para editar música o sonidos hay en cantidad, pagos y gratuitos, por el momento no me he decidido por alguno en especial, pero si es para cortar y poner, personalmente uso el AudaCity.

Para descargar AudaCity: http://audacity.sourceforge.net/?lang=es

Para video:

Ogg Theora video. Esta es nueva y sirve para compresión de Video. Video MOV, AVI, ASF, MPG, MPEG, MP4VIDEO. Estos ficheros son trans-codificados por untiy.

Para vídeo si mejor esperar, porque la versión que usaremos, ”free” no soporta video.

Otros formatos: Crees que no los usaras, pero te aseguro que algún día saldrá un loco requerimiento y entonces agradecerás que lo soporte .XML y archivos de texto,  (XML y .TXT) además de los RTF y los DOC, mira tú. Aquí si desde el notepad hasta Word 2010 Enterprise Universe edition plus Gold Alfa.

Por último si quieres crear tu propia fuente, unity soporta True type (Unicode), y como toca darle al código, puedes elegir entre Visual Studio 2005 en adelante, o el que viene con unity Mono.Net, ya si eres temerario con un notepad te basta… aunque prefiero el notepad++, claro que si estas en MAC o Linux pues, tu ya eliges como mejor te sientas.

¡Listo!, ahora descargar Unity 3 y Blender, ehhh Gimp, PhotoShop es de pago (cof cof), y lo demás, y en el próximo articulo empezamos con la interfaz de Unity y algo de los pasos para desarrollo de juegos, si es posible alguna cosillas técnicas.

Anuncios

2 comentarios sobre “DJDY 02: herramientas para hacer juegos

  1. discrepo con q unity es peor q udk. unity funciona sobre mac os cosa q udk no hace. y respecto a calidad no veo ninguba diferencia, fisicas, iluminacion, etc. cabe eecir q el unity q uso es el pro

  2. Soy apenas novato (muy novato) en esto de diseñar juegos o de que herramientas se deben utilizar para modelar, pero he leído y he visto que se toma el tiempo para explicar que software utilizar, el tipo de archivo con el que trabaja y las compatibilidades de un programa con otro, chevere el articulo

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s