Programación de Videojuegos

Post on 08-Feb-2016

55 views 2 download

description

Programación de Videojuegos. 1. Introducción. 2. Un poco de Historia. 3. Motores de Videojuegos. 4. El Futuro. 1. Introducción. ¿Qué es la programación de videojuegos?. - PowerPoint PPT Presentation

Transcript of Programación de Videojuegos

Programación de Videojuegos

1. Introducción.2. Un poco de Historia.

3. Motores de Videojuegos.4. El Futuro.

1. Introducción

“Es el arte de instruir a un computador sobre los pasos necesarios para resolver los problemas que influyen en la creación de un videojuego”.

“Es el componente que le da vida al videojuego”.

¿Qué es la programación de videojuegos?

Algoritmo: “Es una lista bien definida , ordenada y finita de operaciones que permite hallar la solución a un problema”.

Operaciones: Paso a paso, Toma de decisiones, iterativas.

Paso a paso: Creación del Mundo.◦ Crear_Camara();◦ Crear_Escenario();◦ Crear_Protagonista();◦ Crear_Enemigos();◦ Adherir_Luces();◦ Adherir_Cielo();◦ Adherir_Niebla();

Principios de programación: Algoritmos.

Toma de decisiones: Comportamiento de Enemigo.

◦ Si Enemigo.Distancia( Personaje) < Distancia_Minima Atacar_A_Protagonista();

◦ Sino Patrullar();

Principios de programación: Algoritmos.

Iteraciones: Loop de un videojuego:◦ Mientras ( No_Salir )

Chequear_Input(); Correr_IA(); Mover_Enemigos(); Resolver_Colisiones(); Dibujar_Grafica(); Reproducir_Sonidos();

◦ Fin_Mientras;

Principios de programación: Algoritmos.

En Resumen:

2. Un Poco de Historia…

Programación directa con instrucciones del microprocesador. Normalmente lenguaje Assembler, luego lenguaje C.

1ª Etapa.

1ª Etapa

Programación basada en un API, conjunto de funciones que permite aislar el hardware de la aplicación.

2ª Etapa

Aparición de videojuegos 3D. Aparición de librerías Gráficas: DirectX,

OpenGL.

2ª Etapa.

Programación en base a un motor de videojuegos, es en cierto modo un API especializado.

idTech 3:

3ª Etapa.

RenderWare:

Source Engine:

3ª Etapa.

3. Motor de Videojuegos 3D

Plataforma:◦ PC: Windows, Linux, Mac OS.◦ Consola: Xbox 360, PS2, PS3, Wii.◦ Móviles: Zune, Windows Mobile, iPhone, Symbian.

Lenguaje:◦ C, C++, C#, Java, Python.

Tipo de Videojuego:◦ FPS, RTS, MMORPG, Fighting Game, Racing Game.

Características básicas

Motor de Render. Motor de Física de Detección de Colisiones. Motor de Sonido. Motor de Redes. Motor de IA.

Componentes de un Engine

Proporciona funciones gráficas, se encarga de la visibilidad, gestión de mallas, entre otras cosas.

Debe proporcionar técnicas para optimización de recursos visuales.

Motor de Render.

Basado en pluggins. Escenarios: mapas de alturas y BSP, Iluminación y sombras. Animación: Skeletal, Morph. Efectos especiales: Cielo, Agua, Niebla. Scripts: Materiales, Partículas,

Compositores. Shaders: Vertex y Pixel Shaders de alto

nivel.

Motor de Render: Ogre3D

Motor de Render: Ogre3D

Motor de Render: Ogre3D

Hydrax Caelum

PagedGeometry

Motor de Física. Simula modelos de física, utilizando variables

de tipo velocidad, masa, etc.

Detección de Colisiones. Gravedad en el mundo. Cuerpos rígidos y dinámicos. Aplicación de Fuerzas. Uniones entre cuerpos.

Motor de Física: Ode

Motor de Sonido. Encargado de reproducir la banda sonora

del videojuego y efectos de sonido.

OpenAL:◦ Música de background.◦ Sonido dependiendo de la posición, velocidad y

dirección.

Motor de Redes Cada vez tiene más importancia. Debe proveer las funcionalidades tanto de

servidor como de cliente. Estabilidad y escalabilidad son conceptos

claves.

Motor de IA Encargado de dotar ciertos elementos del

juego con un comportamiento pseudo-inteligentes.

Técnicas Simples: Máquinas de estados y algoritmos de búsqueda.

Nuevas técnicas: redes neuronales y algoritmos genéticos.

Motor de IA Máquinas de estados

Patrullar

Atacar

PerseguirHuir

Descansar

4. El futuro.

El futuro en la programación de videojuegos.

Programación Visual. Realidad Aumentada. Interacción con hardware.