Introducci n al dise o y programaci n de video juegos
This presentation is the property of its rightful owner.
Sponsored Links
1 / 76

Introducción al Diseño y Programación de Video Juegos PowerPoint PPT Presentation


  • 202 Views
  • Uploaded on
  • Presentation posted in: General

Introducción al Diseño y Programación de Video Juegos. Profesor: Oscar Sanjuán Martínez. Historia de los videojuegos. Inicios 8 bits 16 bits 32 bits Generación actual “Next-gen”. En cifras…. 1985: 2-6 personas 4-12 meses de desarrollo Presupuesto: 20-80 miles de Euros

Download Presentation

Introducción al Diseño y Programación de Video Juegos

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Introducci n al dise o y programaci n de video juegos

Introducción al Diseño y Programación de Video Juegos

Profesor:

Oscar Sanjuán Martínez


Historia de los videojuegos

Historia de los videojuegos

  • Inicios

  • 8 bits

  • 16 bits

  • 32 bits

  • Generación actual

  • “Next-gen”


En cifras

En cifras…

  • 1985:

    • 2-6 personas

    • 4-12 meses de desarrollo

    • Presupuesto: 20-80 miles de Euros

      • (cuando lo había, que no era siempre)

    • Mercado total: 200m €

  • 2005:

    • 40-120 personas

    • 18-36 meses de desarrollo

    • 5-20 millones de Euros

    • Mercado total: 30 bn €


En cifras1

En cifras…


Qu son los videojuegos

¿Qué son los videojuegos?

  • Definiciones clásicas de videojuego

    • “Una serie de decisiones interesantes”

      Sid Meier

    • “Identificar, aprender y dominar patrones”

      Raph Koster

    • “Una actividad divertida, y una excusa para repetirla una y otra vez”

      Anónimo


Qu son los videojuegos1

¿Qué son los videojuegos?


Estructura de un equipo

Estructura de un equipo

  • Dirección

  • Programación

  • Gráficos

  • Diseño

  • Producción

  • Sonido

  • Testing y QA

  • Marketing


Programaci n

Programación

  • Escriben el software que implementa la funcionalidad pedida por diseño, la tecnología necesaria para mostrar los contenidos, y las herramientas para construirlos

    • Lógica de juego

    • Sistema

    • Tecnología

    • Herramientas


Herramientas de programaci n

Herramientas de Programación

  • Desarrollo:

    • Compiladores: MSVC, Intel, gcc, Codewarrior...

    • Depuradores y analizadores run-time: MSVC, Boundschecker, Purify...

    • Profilers: VTune, profilers hardware

    • Kits de desarrollo para consola

  • Control de código (formalmente: gestión de configuración)

    • Visual SourceSafe, Perforce, CVS, BitKeeper...

  • SDKs y librerías externas

    • DirectX, OpenGL, MaxSDK...


Gr ficos

Gráficos

  • Construyen los elementos visuales, escenarios y personajes

    • Diseño artístico

    • Modelado y texturado

    • Animación

    • Maquetación y diseño 2D

    • Render y FMV


Herramientas gr ficas

Herramientas Gráficas

  • Photoshop para imágenes y texturas

  • 3DS Max, Lightwave, Maya o SoftImage para modelado y animación 3D

  • Sin olvidarnos de plug-ins: telas, fluidos, render cartoon, etc.

  • Adobe Premiere y Discreet Combustion para secuenciado y compresión de video

  • Herramientas internas para exportación, visores, creación de secuencias cinemáticas, editores de mapas


El proceso de desarrollo

El proceso de desarrollo

  • Desarrollo (a)típico de un videojuego

    • Concepto: la idea fundamental “en 25 palabras”

    • Pre-producción: desarrollar la base e implicaciones de esa idea

    • Producción: construir la funcionalidad y contenidos

    • QA y cierre: asegurar la estabilidad y solidez del juego

    • Post-release: parches, expansiones, explotación

Concepto

Concepto

Pre-producción

Producción

QA

Post-release


Herramientas game maker

Herramientas: Game Maker


Objetivos

Objetivos

  • Conocer la estructura y características básicas de GAMEMAKER

  • Probar varios ejemplos

  • Desarrollar al menos un juego completo


Por qu desarrollar un videojuego

¿Porqué desarrollar un videojuego?

  • El desarrollo de un videojuego incorpora elementos muy variados pertenecientes a diferentes campos de la informática.

  • El mercado del software de entretenimiento es pujante y creciente.

  • Interesa a los alumnos (Ejemplo ADOO UPSAM).

  • ES DIVERTIDO!!!!


Porqu usar game maker

¿Porqué usar Game Maker?

  • La mayoría de los videojuegos profesionales son escritos en C/C++, C# o incluso ensamblador.

  • Los proyectos de desarrollo comerciales implican muchisimo tiempo, personas y esfuerzos.

  • Game Maker simplifica todo eso.

    • (Ejemplo D&D  JAVA 2D 4 alumnos, 4 meses de clase)


Qu es un videojuego

¿Qué es un videojuego?

  • “Un software en el cual uno o más jugadores toman decisiones mediante el control de objetos y recursos en busca de conseguir un objetivo.”


Qu tipo de videojuegos podemos crear

¿Qué tipo de videojuegos podemos crear?

  • El Game Maker permite la creación de videojuegos sencillos de cualquier género.

  • Permite la creación incluso de videojuegos 3D y multiusuario.

  • Aunque su objetivo es sobre todo didáctico, nos ayudará a aprender a desarrollar videojuegos.


Modelo de programaci n poo

Modelo de programación: POO.

  • Programación Orientada a Objetos. OOP.POO.

  • Existen algunos matices con respecto a la POO tradicional.

  • OBJETO: todo aquello sobre lo que es posible desencadenar una acción.

  • Ej: en un matamarcianos, serán objetos tanto la nave, como los marcianitos o incluso las balas.


Eventos

EVENTOS

  • “algo que sucede sobre el objeto o provocado por el”

  • Un evento es por ejemplo cuando un usuario presiona un tecla para disparar.

  • Hay que diferenciar claramente los eventos de las acciones.


Propiedades

PROPIEDADES

  • Diferentes características que tiene un objeto.

    • Nombre

    • Color

    • Ancho

    • Largo

    • Etc…


Caso de estudio el tetris

Caso de estudio: el Tetris

  • Fondo

  • Objetos ¿Qué elementos intervienen?

  • Eventos ¿Cuándo pasan las cosas?

  • Acciones


Ejercicio

Ejercicio

  • Realizar un análisis en función de:

    • Objetos

    • Eventos

    • Acciones

    • Propiedades

  • PACMAN

  • FIFA

  • UN JUEGO A SU ELECCIÓN


Elementos de un juego

ELEMENTOS DE UN JUEGO


Descripci n

DESCRIPCIÓN

  • Un juego contendrá:

    • Objetos

      • Sprites

    • Sonidos

    • Fondos

    • Niveles

    • Acciones

    • Eventos


Sprites

Sprites

  • Los sprites son la representación gráfica de los objetos en pantalla y puede ser estática o animada.

  • Un sprite puede representar uno o muchos objetos.

  • Todas las galletas e incluso los fantasmas

    son el mismo sprite.


Formatos

Formatos

  • Los sprites pueden ser creados utilizando cualquier programa o editor gráfico, los formatos más habituales incluyen:

    • BMP

    • GIF

    • ICO

    • JPG

    • PCX

    • TIF


Objetos

Objetos

  • Elemento capaces de captar y generar eventos.

  • Pueden ser visibles o no.


Fondos

Fondos

  • Las imágenes que están detrás de todo, pueden ser estáticas o dinámicas o incluso tener efectos de scrooll.


Sonidos

Sonidos

  • Los sonidos son una parte fundamental de la historia, la ambientación e incluso de la jugabilidad y el ritmo.

  • Los sonidos pueden ser incorporados en diferentes formatos, los más habituales son:

    • WAV (digital)

    • MP3 (digital)

    • MIDI (sintético)


Niveles

Niveles

  • “ROOMS”

  • Son las estructuras donde se desarrolla el juego, un juego puede tener muchos niveles cada uno con su propio fondo, objetos, características, reglas y lógica.

  • Algunos juegos pueden tener un solo nivel como por ejemplo el tetris


Ejercicio1

Ejercicio

  • Esquematizar un juego de tipo arcade (acción) inventado por ti, indicando donde transcurre la acción, cómo se juega y cual es el objetivo.

  • Una vez hecha la descripción, indicar cual es el fondo y los objetos que intervienen en cada nivel.


Ejemplo

Ejemplo

  • Vamos a usar como ejemplo una versión del conocido juego breakout en la que el jugador tiene que destruir una pared de ladrillos haciendo rebotar una pelota contra ellos.

  • La pelota rebota en todas partes de la pantalla excepto en los ladrillos a los cuales rompe y la parte de debajo de la pantalla donde desaparece la pelota y el usuario pierde vida.


Ejemplo ii

Ejemplo II

  • El jugador controla un plataforma que se mueve horizontalmente en la parte baja de la pantalla con el objetivo de impedir que se caiga la pelota y romper el mayor número de ladrillos posibles.

  • Al destruir ladrillos el jugador va ganando puntos y cuando destruye todos los ladrillos se cambia de pantalla.

  • El fondo es una imagen fija.


Ejemplo iii

Ejemplo III

  • Una vez descrito el juego debemos definir los eventos:

    • OBJETO LADRILLO:

      • Evento “tecla cursor izquierda”  mover base izquierda.

      • Evento “tecla cursos derecha”  mover base derecha.

    • OBJETO BOLA:

      • Evento “chocar contra ladrillo” 

        • Destruir ladrillo.

        • Sumar puntos de acuerdo al color y al nivel.

        • Suena una explosión.

    • Chocar “contra las base o contra las paredes” 

      • Rebotar.

      • Suena el rebote.


Ejemplo iv

Ejemplo IV

  • Evento “salir por la parte inferior de la pantalla” 

    • Quitar una vida al jugador.

    • Comenzar de nuevo.

    • Tocar sonido “perder”.


El entorno de desarrollo de game maker

El Entorno de desarrollo de Game Maker


M todo de estudio

Método de estudio

  • Explicación

  • Ejemplo

  • Practica

  • 5 + 1 + 1


Interfaz de game maker

INTERFAZ DE GAME MAKER

MENU DE OPCIONES

ICONOS

AREA DE TRABAJO

EXPLORADOR DE RECURSOS


El men de opciones

El menú de opciones

  • Tiene las opciones típicas de cualquier otro programa windows y algunas cosas específicas como el añadir un sprite, un objeto o un sonido

  • El menú de opciones tiene dos formas de funcionamiento:

    • Sencillo

    • Avanzado


El men file

El menú file

  • El formato de los archivos del Game Maker es .gmd.


Conos de acceso r pido

Íconos de acceso rápido

  • Nuevo

  • Abrir

  • Grabar

  • Ejecutar

  • Agregar sprite

  • Agregar sonido

  • Agregar fondo

  • Agregar objeto

  • Agregar nivel


El explorador de recursos

El explorador de recursos

  • Contiene los elementos del juego:

    • Fondos

    • Niveles

    • Sprites

    • Objetos

    • Etc…

  • Para añadir un recurso es suficiente hacer click con el botón derecho sobre el tipo de recurso que se desea agragar.


Modificar un recurso

Modificar un recurso

  • Todos los recursos funcionan igual independientemente de su tipo.

  • Si se presiona con el botón derecho sobre el nombre del recurso aparecerán sus propiedades


Eliminaci n de recursos

Eliminación de recursos

  • Durante el proceso de creación de videojuegos que muchas veces es iterativo, suele ser habitual el añadir recursos que terminan no siendo necesarios.

  • Es mejor eliminar estos elementos para que no consuman recursos de la máquina.


Ejercicio2

Ejercicio

  • Crear un juego con un fondo llamado.piso., cuya imagen deberá ser back2.GIF. Agregar dos sprites con las imágenes ball1 y diamant y llamarlos pelota y premio respectivamente.

  • Agregar dos sonidos: applause y zap y llamarlos final y disparo.

  • Definir tres objetos llamados pelota1, pelota2 y premio usando como sprites pelota (para los dos primeros objetos) y premio respectivamente.

  • Agrego un room (nivel) sin cambiarle el nombre, luego lo edito (hago doble click sobre él) y le cambio el nombre a primer nivel.

  • Elimino el objeto pelota2 y el sonido disparo.

  • Grabo el ejercicio en mi carpeta de trabajo


Pasos para crear un juego

Pasos para crear un juego


Introducci n

Introducción

  • Para que toda construcción llegue a buen puerto, es necesario seguir una serie de pasos…


El orden de creaci n

El orden de creación

  • Los Fondos

  • Los Sonidos

  • Los Sprites

  • Los Objetos

  • Los Eventos de cada Objeto

  • Las Acciones de evento

  • Los niveles

  • Para poder seguir estos pasos es necesario tener un análisis detallado del juego.

  • A continuación vamos a hacer una pequeña prueba.


  • El fondo

    El fondo

    • Para agregar un fondo seguimos los pasos descritos con anterioridad.

    • Añadamos un fondo llamado Pista y asociado al fichero back2.

    • Es importante fijarse en los detalles que se pueden consultar sobre las imágenes al seleccionarlas.

    • Existe la posibilidad de editar la imagen al añadirla.


    Los sonidos

    Los sonidos

    • Podemos seleccionar un sonido de manera muy parecida a como lo hemos hecho con el fondo.

    • Hay que tener especial cuidado con el uso de sonidos demasiado grandes o largos.

    • Es posible añadirle efectos al sonido o incluso editarlo.

    • Añade un sonido de explosión.


    Los sprites

    Los sprites

    • Aunque son similares a los fondos, ya que son imágenes, su diferencia radica en que un sprite dinámico está formado por más de una imagen.

    • Añadimos un sprite

      llamado explosión


    Los objetos

    Los objetos

    • Nombre

    • Lista de Sprites

    • Lista de Eventos definidos

    • Lista de acciones definidas/evento

    • Acciones


    Los objetos ii

    Los objetos II

    • En la ventana de propiedades hago lo siguiente:

      1 Le doy un nombre al objeto

      2 Asignarle un sprite (que obviamente ya tiene que estar definido)

      3 Agregar un evento

      4 Elegir todas las acciones que tengo previstas para ese evento

      5 Repito los dos pasos anteriores tantas veces como eventos vaya a tener el objeto

    • Para agregar un evento hago click en el botón Add Event; se abre una nueva ventana con los diferentes eventos disponibles.


    Los objetos iii

    Los objetos III

    • Existen diferentes tipos de eventos predefinidos.


    Niveles1

    Niveles

    • Los niveles o ROOMS son los lugares en donde se desarrolla el juego.

    • Todo juego necesita al menos un nivel.

    • En los niveles colocaremos las diferentes instancias de los objetos.


    Niveles ii

    Niveles II

    • Existen pestañas referentes a la definición del nivel en cuanto a:

      • Objetos

      • Fondos

      • Configuración

      • Etc…

    • Una vez hecho esto, estamos

      listos para empezar!!!!


    Primer ejercicio

    Primer ejercicio

    Vamos a crear un primer juego que no tendrá gran interacción con el usuario, sino que será más bien como un simulador del movimiento de partículas.

    • Fondo: uno solo, a partir de la imagen back7 que está en la carpeta backgrounds; le llamamos piso.

    • Sonidos: uno sólo, para cuando hay un choque; elegimos beep1 de la carpeta sounds y le llamamos rebote

      Nuestro juego tendrá dos sprites uno para la pared que rodea a todo el nivel y otro para las partículas. Elegimos para el primero la imagen square y para el segundo ball2, ambas de la carpeta Sprites\Various. Les llamamos spPared y spParticula respectivamente. Los objetos también serán dos: pared, a partir del sprite spPared y Particula, a partir del sprite spPartícula.


    Primer ejercicio ii

    Primer ejercicio II

    En ambos marcamos la propiedad Solid para que el GM pueda detectar el choque. En el objeto pared no definimos ningún tipo de evento ni, por lo tanto, ninguna acción. En el objeto Partícula tendremos que definir tres eventos:

    • Creación: en el tenemos que indicar que hace la partícula cuando es creada (va a moverse en cualquier dirección con velocidad 5)

    • Colisión con la pared: va a rebotar contra un objeto sólido (bounce against solid objetcs) y va a tocar el sonido rebote (play sound)

    • Colisión con otra partícula: efectúa exactamente las mismas acciones que en el evento anterior.

      Habrá un sólo nivel, que tendrá como fondo al piso definido en primer lugar y como borde al objeto pared. Le agrego tantas instancias de partículas como quiera (no poner muchas al principio).

    • Variación1: hacer que el jugador pueda hacer click sobre las partículas y esto cambie su dirección y/o su velocidad

    • Variación 2: hacer que cuando dos partículas choquen se desintegren y aparezca otra diferente (muy difícil)


    Nuestro primer juego completo

    Nuestro primer juego completo


    Descripci n1

    Descripción

    • Se trata del desarrollo de un sencillo juego, para mayor comodidad, el enunciado se encuentra en un fichero PDF llamado práctica1_GM.pdf

    • AVION MATA GLOBOS

    • NOTA: los ficheros necesarios se encuentran en el mismo directorio que el enunciado de la práctica


    La gesti n del tiempo y control

    La gestión del tiempo y control


    Porqu medir el tiempo

    ¿Porqué medir el tiempo?

    • Hay muchos eventos que suceden en momentos concretos y cada cierto tiempo.

    • HERRAMIENTA BÁSICA: ALARM

    • Las alarmas miden el tiempo en pasos, no en segundos. Un segundo suele constar de 30 pasos.


    Acciones relacionadas con el tiempo

    Acciones relacionadas con el tiempo

    • ASIGNAR UN VALOR A UNA ALARMA

    • ESTABLECER UNA PAUSA


    Control

    Control

    • Existen un tipo especial de objetos llamados objetos de control que no tienen ningún sprite asociado.

    • Este tipo de objetos resultan especialmente útiles para gestionar la operativa del juego, por ejemplo para crear enemigos, controlas elementos de tiempo, etc.


    Acciones condicionales

    Acciones Condicionales

    • Permiten tomar distintas decisiones en función de valores de elementos, por ejemplo:

      • En el missile command será necesario comparar el número de instancias de una ciudad para saber si el juego debe terminar.


    Missile command

    Missile Command

    • Hay que defender varias ciudades del ataque de unos misiles que caen del cielo.

    • Si los misiles caen sobre las ciudades, se destruyen.

    • Es posible eliminar los misiles y evitar la destrucción de las ciudades interceptandolos.

    • Ver Enunciado Completo práctica 2

    • NOTA: los ficheros necesarios se encuentran en el mismo directorio que el enunciado de la práctica


    Uso de variables

    Uso de variables


    Uso de variables1

    Uso de Variables

    • “nombre que hace referencia a un valor”

    • GM utiliza muchas variables de forma transparente y automática, por ejemplo:

      • Cantidad de puntos

      • Cantidad de vidas

      • Cantidad de energia

    • A veces esto no es suficiente.


    Caracter sticas de las variables de gm

    Características de las variables de GM

    • No es necesario declarar las variables.

    • Existen dos tipos:

      • Numéricas

      • Cadenas

    • Pueden tener ambito:

      • local o

      • Global (global.nombre)


    Operaciones

    Operaciones

    • Asignar

    • Verificar

    • Mostrar


    A practicar carreras y futbol

    A practicar: Carreras y Futbol

    • Estas prácticas son la 3 y la 4.

    • La tres consiste en realizar una carrera de 2 corredores

    • La cuatro en tiros de faltas en futbol.

    • NOTA: los ficheros necesarios se encuentran en el mismo directorio que el enunciado de la práctica


    Sentencias repetitivas

    Sentencias repetitivas

    • Al igual que en otros lenguajes de programación, existe la posibilidad de repetir operaciones


    Sentencias condicionales

    Sentencias condicionales

    • También es necesario que exista la posibilidad de utilizar sentencias condicionales.


    Break out

    Break Out

    • Practica 6


    Para practicar

    Para practicar…

    • Como proyecto final, vamos a acometer el desarrollo de un pequeño videojuego utilizando las herramientas aprendidas.

      • Grupos de 2 o 3 como máximo.

      • Tema LIBRE.

    • NOTA: se debe realizar también un desarrollo del argumento, historia, planificación, etc.


  • Login