Está en la página 1de 20

-1-

-2-

Como Fabricar Video juegos

Elvis Kelley 12/03/2008.

-3-

Elvis Kelley Games 1 edicin Licencia intelectual: Safe creative. Impreso en Espaa / Printed in Spain Impreso por Bubok

-4-

Dedicatoria Dedico este libro a todos aquellos soadores que se levantaron pensando que podrian hacer la diferencia. Y a todos en la comunidadgm por haberme ayudado en el aprendisaje de este lenguaje de programacion de video juegos.

-5-

-6-

ndice Capitulo 1. Iniciando con el fabricante de juegos Capitulo 2. Creando un video juego shooter Capitulo 3. Sentencias Capitulo 4. Creando un video juego Arkanoid Capitulo 5. Tutorial de plataformas Capitulo 6. lenguaje. GML Capitulo 7. Inteligencia Artificial. Capitulo 8. Tutorial 3D Capitulo 9. Creando Juego 3D de naves Capitulo 10. Juego de Maze en 3D Capitulo 11. Crear juego plataformas en 3D. Capitulo 12. Tutorial de juegos online. Capitulo 13. Preguntas Frecuentes. Capitulo 14. Cargar Recursos Externos. Pag.12 Pag. 37. Pag. 56. Pag.57. Pag. 74. Pag. 85. Pag. 92. Pag. 108. Pag. 114. Pag. 125. Pag. 133. Pag. 136. Pag. 151. Pag.177.

-7-

-8-

Manual Frabricante de juegos

La presente es un manual creado por Elvis Kelley para instruir de una forma didctica a utilizar la herramienta Game maker, con la cual podrs fabricar innumerables video juegos. Licencia Game maker, la licencia es extensa de la cual cabe destacar las siguientes: Lo primero que debes saber es, que game maker es una herramienta creada por Mark Overmans, web origen www.yoyogames.com Esta herramienta posee una licencia la cual debers respetar, para usar correctamente el Game maker. Lo primero es que no puede modificar el Game maker. Segundo los juegos o programas que crees con el game maker son tuyos, as como los derechos y responsabilidades de estos Tercero no puedes usar licencias piratas, ni usar Crack, esto viola las normas de uso. Ms informacin de acuerdo de licencia.

1.- El acuerdo de licencia del Game Maker:

Este acuerdo expresa los trminos y las condiciones en los cuales tu puedes utilizar este programa o software y los archivos que lo acompaan, con los cuales el autor lo equipa o que pone a tu disposicin con este acuerdo de licencia (colectivamente el software).

Lee los trminos y las condiciones de este acuerdo de licencia cuidadosamente antes de instalar o de usar el software.

Al instalar, la copia o al utilizar de otra manera el software, de tu parte y/o de parte de su compaa (colectivamente, "tu") es que aceptas y que convienes a los trminos de este acuerdo de licencia. Si tu o su compaa no est dispuesta a ser limitado por este acuerdo, no instale este software.

El derecho de autor y otros derechos de caractersticas intelectuales protegen el software. Este acuerdo es un acuerdo de licencia que le da los derechos limitados de utilizar el software y no un acuerdo para la venta o para la transferencia del ttulo. El autor se reserva todos los derechos no expresos concedidos por este acuerdo.

-9-

1.1.- concesin de la licencia En los trminos y las condiciones de este acuerdo, el autor le concede una licencia no exclusiva, y no transferible de utilizar el software en una sola computadora.

1.2.- LOS DERECHOS Y RESTRICCIONES DE CARACTER

1.2.1.- La Propiedad. El software y todas las modificaciones o mejoras, o el trabajo derivado basado en el software, ya sea creada por el Autor o usted, y todo el copyright, patentes, secretos comerciales, marcas registradas y otros derechos de caractersticas intelectuales o cualquier aspecto del software o cualquier modificacin, mejora o trabajo derivado es y seguir siendo de caracterstica nica y exclusiva del autor. Este acuerdo no transporta el titulo o propiedad a usted sino que por el contrario le da solamente los derechos limitados en la seccin 1 y 1.1.

1.2.2.- Los Derechos Limitados. A menos que segn lo expreso, dispuesto en este acuerdo, usted no tiene ningn derecho de utilizar, o hacer, sub licencias, modificar, transferir o copiar la versin original o cualquier copia del software o permitir que cualquiera otra persona lo haga.

1.2.3.- Avisos Propietarios. Usted no puede quitar, inhabilitar, modificar, agregar o tratar de forzar con ningn cdigo los datos del programa, el derecho de autor, la marca registrada u otros avisos y leyendas propietarios contenidas dentro del cdigo del objeto (compilado) del software.

1.3.- SIN GARANTA.

El autor est proporcionando este software y los archivos que lo acompaan "como es". El autor niega todas las garantas, condiciones o representaciones (si est expresado o implicado, oral o escrito) con respecto al software y a los archivos que le acompaan. El autor no autoriza que el software funcionar sin la interrupcin de algun error o que libremente, el autor corregir todas las deficiencias, errores, defectos o no conformidades o que el software resolvera sus requisitos especificos.

1.4.- LOS JUEGOS CREADOS

- 10 -

Los Juegos que usted crea con el software, usted los puede utilizar en cualquier manera que usted tenga a buen criterio. No se requiere ningn impuesto sobre patente. Se permite vender los juegos solamente si usted posee los derechos de todos los recursos usados en el juego (Imgenes, Sonidos, etc.). La responsabilidad y las responsabilidades completas por los juegos creados con el software recaen solamente sobre el creador del juego y no con el autor del software.

Las versiones independientes de los juegos creados con el software se pueden distribuir sin ningunos honorarios de licencia. Sin embargo no se permite invertir en el ingenio o descompile de estos ejecutables.

1.5. OTRAS OBSERVACIONES

Se apreciara y agradecer cuando usted menciona que El Game Maker fue utilizado para crear el juego que usted realice, pero esto no se requiere.

Esta licencia no se aplica a los sprites, fondos, o los sonidos proporcionados, junto con el programa. Ya que estos no son parte del programa, sino que fueron tomados de las colecciones de libre uso y previstas su conveniencia.

Si usted tiene preguntas sobre estos trminos, entre en contacto con a autor. En el sitio Web www.gamemaker.nl para los detalles, en los que tenga dudas.

Ya que la web es en ingles puedes usar comunidades Makeras en espaol para aprender entre estas esta www.comunidadgm.org. Si quieres tener el codigo fuente de algunos de mis juegos o divertirte jugandolos entra aqu: www.ekgames.3a2.com La mejor manera de aprender segn yo es la de crear videojuegos, por esta razn iniciemos nuestros tutoriales creando videojuegos

- 11 -

.-Capitulo 1. Iniciando en el Game Maker.

Se preguntaran de que trata este tutorial, la verdad es sobre el como crear video juegos, y para ello explicare como hacerlo usando la herramienta game maker, creada por Mark Overmars, y que puedes descargar desde su web oficial www.yoyogames.com . Ya sabes que hablo del game maker como herramienta para que puedas crear tus video juegos, pero que necesitas saber, la verdad solo se requiere conocimientos bsicos de matemticas, bastante ingenio, y dedicar un poco de tiempo, por lo que por experiencia propia puedo decir que he visto nios de 12 aos hacer fabulosos juegos en 2D y 3D con esta herramienta. Instalando el Game maker. Lo primero descargarnos el programa entra en www.yoyogames.com click en la pestaa Make y click en download Game maker, una vez descargado demos doble click para instalarlo, marcamos la pestaa i agree to y click en siguiente. Una vez instaladas demos doble click en el icono. Abrir una ventana as.

. . Demos click tal cual indica la imagen. (puede variar segn la version) Es mejor aun si lo registras por que tendrs ms opciones, pero para inicial trabajaremos con la versin Lite (no registrada) GML. Esto es el leguaje de programacin interno del game maker, lo que se traducira en Game Maker Lenguaje. Ups programacin ya debes estar pensando tengo que saber programar, la verdad no, por que mark pensando en aquellos que se inician en este mundo, diseo en el game maker un sistema de iconos con los que a travs de estos podra decirse definiras tu juego, a que me refiero con esto al D&D, estas siglas significan Drag and Drop, lo que la accin de arrastrar y soltar un archivo desde una ventana otra o en la misma ventana de un programa. Para no perder mucho el tiempo, vayamos a lo que nos importa. Que juegos podras crear? La verdad puedes crear desde un clsico juego de naves en 2D hasta un juego de disparos 3D en primera persona. - 12 -

Seria muy difcil? La verdad no, aunque es necesario que conozcas el programa a fondo y empieces por lo bsico, y poco a poco disees juegos de mayor dificultad para ir familiarizndote con el programa. Para no hablar de ms empezar por explicarte el programa y sus funciones. Cuando instalas el programa y abrirlo este mostrara una ventana como la siguiente.

En la primera lnea de arriba vez File, Edith, Resources, Script, Run, Window, Help. En file encontraras las opciones tradicionales de Abrir (open), Guardar (save), Guardar en otro destino (save as), entre otras dos opciones que te sern importantes el save y save as, podras guardar lo que se comoce como GMK, osea un archivo en formato unico para ser abierto con el game maker, pero que es editable, esto sirve para ir guardando tus avances, ya que un juego muy largo y bueno, puede tomarte un buen tiempo el desarrollarlo, mas aun si la intencion que tienes, es hacer un juego con calidad suficiente, para comercializarlo, te en cuenta que para juegos comerciales, los graficos y sonidos, deberan ser creados por ti, o sin derechos de autor. Hay otras opciones en File como: Crate Executable Esta opcin es para guardar el juego ya terminado en archivo exe, lo que permitir distribuir tu juego a todos. Merge Game. Esta opcin permitir unir dos editables (gmk), de que te sirve, yo lo he usado cuando creo mis juegos para agregar nuevos enemigos, como simplemente creo el nuevo enemigo en otro archivo, lo pruebo y una vez listo usa esta opcin para unirlo al juego final, de manera de no enredar las cosas.

A parte de estas las opciones siguientes la que suelo usar mas es la de Script, ya que esta opcin me permite importan un script que previamente creara y lo use en mi nuevo juego. Pero Qu es un script? La verdad son un conjunto de cdigos en gml, los cuales pueden ejecutar una serie de funciones, por ejemplo en juegos de plataformas es comn el tener que definir la gravedad, y para evitar crear una nueva en cada personaje o juego podra crearlo como script, y llamarlo cuando lo necesite, mas adelante lo explicare con mas detalles. - 13 -

Siguiendo a Esta la opcin que tambin suelo usar el Rum, ya que aqu me permite correr mi programa (juego) para as probar como va quedando, y mejorar o corregir errores, en esta opcin hay dos formas de correrlo, una es Rum normally, la cual corre el juego tal cual como quedara si en ese momento creas el exe. Y la opcin Rum in debug mode, esta opcin te permite mientras corre el programa (juego) verificar los cdigos o d&d, pausarlo, y otras muchas opciones para as poder corregir fallas que tenga el juego.

De las siguientes opciones de la primera lnea una que podras usar es Help, claro eso si es que comprendes el idioma ingles, de ser as te servira bastante.

Luego como puedes notar siguen una lnea de iconos, estos son un resumen de las opciones ms usadas, para facilitar su ejecucin, solo basta con dejar el cursor del mouse sobre el icono para saber cual es su funcin.

Luego como puedes ver hay una lista de sub carpetas las cuales estn nombradas. Sprites, Sound, Backgrounds, Paths, Scripts, Fonts, Time Line, Objects, Rooms, y dos opciones extras que son Game informations, y Global Game Setting.

Sprites: son los dibujos que usaras para todo lo que tenga alguna accin en el juego, como pueden ser los personajes, tanto el jugador como los enemigos, tambin alguna pared, o el suelo. Estars pensando pero si una pared y un suelo no se mueven como podran tener acciones? La verdad es que aunque directamente no poseen acciones sobre estos se ejercen acciones de colisin.

Sounds: Aqu podrs subir una lista de sonidos, o msica la cual utilizaras en el juego.

Backgrounds: Aqu subirs, o crearas las imgenes que sern usados para el fondo de tus juegos, cuando dije crear lo digo en sentido literal, ya que el game maker posee su propio editor de imgenes, con el cual podrs crear o editar las imgenes.

- 14 -

Paths: Ac podrs establecer rutas predeterminadas las cuales al colocarlas en algn personaje este se mover en las coordenadas indicadas en el path, es muy usado para simular la inteligencia artificial.

Scripts: Esto se usa para lo siguiente, digamos que ya sabes usar el gml, y hay un cdigo el usaras en varios personaje, para evitar estar copiando y pegando cdigos, lo que haces es que creas un script digamos scrCode, y lo llamas desde cada personaje scrCode (); como vez evitas el copiar y pegar.

Fonts: Es usado para cambiar las fuentes de los textos que uses en el juego.

Time Lines: Esto se usa para tiempos, es decir que podrs hacer que cada cierto tiempo se ejecute una accin distinta, es comnmente usado para crear enemigos, o para hacer que algn personaje realice unas series de acciones a cada cierto tiempo. Room: aqu es donde creas todos los niveles de tu juego tanto como el men de inicio as como el nivel de presentacin y del juego. Game information: aqu escribes toda la informacin de tu juego quien lo creo, como se llamara, fecha, etc. Global setting: te permite cambiar opciones como el icono de tu juego la imagen de carga del juego y otros aspectos.

Objects: Lo dejo de ultimo por que aqu se crean los personajes, es decir creas un object, a este object le asignas un sprite, luego en el objects le das las acciones correspondientes y as quedara listo, el personaje, para lograr esto hay una serie de eventos, en donde colocaras las acciones, y varias pestaas para que uses los D&D, o cdigos GML, observa la imagen.

- 15 -

En Name le colocas el nombre a tu personaje, recomiendo que uses como inicial para cualquier nombre las siglas obj. Ejemplo objRobot, esto para mantener organizado mejor tus recursos. Como logras ver esta un botn que dice Add Event, en el cual al hacer click se muestra la pantalla para seleccionar events, y como puedes ver hay varios events, los cuales son: Create, Destroy, Alarm, Step, Collision, Keyboard, Mouse, Other, Draw, Key press, Key Release, Cancel. A continuacion te explico cada una.

Event Crate: Este tiene como funcin ejecutar las acciones de primero, es decir que ejecuta los cdigos o D&D en este event antes que cualquier otro. Es muy usado para declarar tus propias variables, o para que se ejecute algn cdigo una sola vez, por que aunque es ejecutado antes de todo, tan bien se ejecuta al inicio del nivel es decir al momento en que es cargado la instancia en el room. Por ejemplo si colocara en el event crate de un auto, move_towards_point (objauto.x, objauto.y, 5) al momento de ser cargado se dirigira asa el objauto pero no cambiaria su direccin inicial es decir solo ejecuto el cdigo de perseguir una vez y nada mas Luego explicare el codigo move_towards_point, ya que esto es GML y no intento confundirte.

- 16 -

Event Destroy: Este event ejecuta las acciones sean de gml o d&d, justo antes de que la instancia sea destruida. Es comnmente usado para sumar score, y cosas as.

Event Alarm: Como se puede ver usan como icono un reloj, eso es por que este event ejecuta las acciones segn el tiempo y alarm indicadas, a ver explico, este event puedes seleccionar a cada object, 10 alarm, y claro esta que hay 10 formas de llamar a que se ejecute, primero seleccionamos cuando deba ejecutarse sea con el d&d alarm en la pestaa Main 2, o en gml escribiendo alarm [numero de alarm]=tiempo de ejecucin; Ms adelante se explicara mejor.

Event Step: Este event resulta que posee 3 fases que son: Begin step, Step, End step. Begin step: ejecuta las acciones de primero, Step: es la parte media, y End step la parte final, a ver me explico, los cdigos en cualquiera de los 03 tipos de step se ejecutaran una y otra vez, pero se pueden realizar comparaciones de las variables desde el Begin step, al step, y por ultimo el End step, por mi parte en lo particular lo he usado de la siguiente manera, los cdigos de movimientos (cuando no uso evento de teclas) lo hago en el event step, y el cambio de sprites en el End step, en el event Begin step, por lo general comparo vidas, y las acciones que ejecutara cuando no tengan mas, claro hay eventos para esto, pero esto seria para las vidas que declare para los enemigos, mas adelante lo explicare un poco mejor. A ver un ejemplo mas detallado si coloco este cdigo en el event step move_towards_point (objauto.x, objauto.y, 5) suceder que la instancia que posea ese cdigo perseguir al objauto a todo momento.

Event Collision: Este event solo ejecutara las acciones al momento en que se encuentren los sprites de 2 instancias. En pocas palabras es un event de choque. Yo lo he usado para las balas que al colisionar contra el enemigo el enemigo se destruya, lo he usado en plataformas para que pueda caminar sobre los object de suelo, para juegos donde destruyes al enemigo al caerle encima, y otros como esos.

Event Keyboard: este event es de acciones de teclado es decir que al presionar en este botn de event te dar a seleccionar uno de los botones del teclado, y ejecutara las acciones que coloque en este, cuando se mantenga presionado ese botn del teclado.

- 17 -

Event Mouse: Este event es de acciones del mouse, al presionar sobre el botn de seleccin de este event te dar a escoger entre varias de sus opciones como son, cuando el mouse esta sobre alguna instancia, cuando el mouse deja de estar sobre alguna instancia, cuando se presiona click sobre alguna instancia, o en global cuando se presiona alguno de sus botones sobre la pantalla en general.

Event Other: La verdad en este event al dar click salen una serie de event que puede usar en tus juegos, yo no los uso, pero cuando me inicie en esto lo asia siempre, explicare los mas importantes. Outside room: Este se ejecutara solo cuando la instancia salga de los bordes del room, yo lo use cuando cree mi primer juego para que al salir por la derecha apareciera a la izquierda, y viceversa.

Game Start: Este lo usas ms que todo para declarar las vidas de tu personaje o para declarar variables globales. Ya que este solo ejecuta las acciones al momento en que inicie el juego.

Game End: Este ejecuta sus acciones un segundo antes de cerrar el juego, yo la verdad la use en algunos juegos para mostrar la pgina de descarga del juego.

Room Start: Solo ejecuta las acciones al momento en que el room inicia.

Room End: ejecuta las acciones justo antes de salir del room, lo sigo usando para salvar el juego, como un auto save.

No more lives: Ejecuta las acciones solo cuando usas la variable lives para las vidas o el d&d que se encuentra en la pestaa escore con icono de un corazn de nombre Set lives, si usas alguna de estas para las vidas de tu personaje, esto ejecutara las acciones cuando las vidas sean igual o menor que 1. - 18 -

Animations end: Ejecuta las acciones cuando el sprite de esa instancia llega a su ultima sub imagen, comnmente usado para juegos de peleas, o sprites de un personaje cuando fllese, ente otros

End of Path: si usas un path para ese personaje, con este event puedes establecer que suceder al culminar la ruta del path.

Event Draw: Este es usado para crear acciones de dibujo, es decir para todo lo que sea dibujado, como texto en pantalla, barras de energas, score, vidas, y otros Es importante recalcar que cuando usas este evento el object que lo usa no se vera, al menos que uses este cdigo. draw_sprite_ext (sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha); Si te estas preguntando el Por qu?, esto se debe a que el game maker por defecto coloca ese cdigo a los objects cuando son creados y es visible, pero al usar el event draw ese cdigo es descartado, por lo que debes indicar que se use de nuevo, para dibujar los sprites, otra forma de entender el event draw, es que todo lo contenga un dibujo o inicie por draw, debe estar asignado a este event.

Key Press: muy parecido al event keyboards, solo que este solo ejecutara las acciones al instante en que es presionada la tecla indicada.

Key Release: Igualmente es un event de teclado, pero solo ejecuta las acciones al instante en que se suelta una tecla. Es usado mucho para detener el movimiento, o para cambios de sprite. OPERADORES. Hemos visto ya los Event, que se usan en cada object, para entender mejor su uso, lo unico que debes hacer es pruebas, coloca un D&D, en cada event usando el mismo D&D con las mismas instrucciones, y ves que sucede en cada distinto event. En game maker deberas usar operadores matematicos, yo te indicare los mas comunes, y claro los mas usados. Sumar: Signo + para un D&D basta con colocar +1, en GML +=1.

- 19 -

Restar: Signo para un D&D basta con colocar -1, en GML -=1, en caso de decir que el valor es absolutamente negativo usa asi =-1. Dividir: Signo / para dividir colocas /1 para ambos casos ejemplo 4/2 el resultado sera 2, como puedes ver. Multiplicar: Signo * para multiplicar en D&D *1, para hacerlo en GML *=1; Mayor o menor: para indicar sin se compara un valor es mayor o menor usa > para mayor, y este < para menor. Nota: = (igual) en game maker no se usa el ==

Ya hemos visto un resumen de la estructura del game maker ahora a lo que nos trajo este tutorial los D&D y su traduccin y uso en GML. Iniciare indicando que, al momento en que creas un object justo a la derecha logras per varias pestaas las cuales son Move, Main 1, Main 2, Control, Score, Draw, hay una ventana que se muestra solo en la versin paga que es Extra, por que solo es opcional no la mostrare en este tutorial. Ahora explicare cada una de la siguiente manera, vern una imagen donde aparecern los D&D, yo les explicare cada D&D de izquierda a derecha e iniciando desde arriba haca abajo, claro usando el nombre del D&D, el cual pueden ver solo dejando por un momento el puntero del mouse colocado por encima del D&D, as estarn claros de que D&D estoy hablando. Cuando seleccionas un D&D, encontraras que deberas asignarle el valor de dicha accion, usando numeros y los operadores antes mencionados asignas esos valores, aunque es bueno que conozcas, algunas de las posible asignaciones a D&D. POSIBLES ASIGNACIONES DE ACCIONES EN D&D. Lo que esto significa es que cuando colocas un D&D en algun event debes asignar las operaciones a realizar, osea las acciones, generalmente los campos a reyenar son: Relative: Esta es una pestaa que marcas o desenmarcas siempre que desees o no el valor de la operacin sea relativo al actual. Ejemplo: En Speed, el cual es la velocidad, colocas 1; el valor de Speed sera 1; sin importar si Speed tenia un valor de 3, u otro, otro ejemplo: digamos que Speed tenia un valor de 3 y marcas la casilla reltive y donde dice Speed colocas -1 con relative marcado, y el valor de Speed de esa instancia era de 3, la operacin sera la siguiente: Speed=Speed-1; siendo el valor 3, seria asi Speedy=3-1 resultado Speed=2; Espero comprendas la casilla relative. Self: Este campo lo que indica es que las operaciones que realice ese D&D solo afectaran a la instancia actual, que posee dicho D&D. - 20 -

También podría gustarte