Motor de Videojuegos.

Documentos relacionados

ELEMENTOS HARDWARE DEL ORDENADOR. Tarjeta gráfica

Diseño y programación de videojuegos TEMARIO. Diseño y programación de videojuegos 150 horas. Diseño y programación de videojuegos Página 1

EXPERTO EN DESARROLLO DE APLICACIONES MÓVILES" Curso especialista (500 horas)

Herramientas de Programación Gráfica para Desarrollo de Videojuegos

REALIZACIÓN DE UN MOTOR DE RENDER PARA DISPOSITIVOS MÓVILES BASADO EN IRRLICHT. Autor: Javier Meseguer de Paz Dirigido por: Antonio Berlanga de Jesús

DESARROLLADOR ANDROID INTRODUCCIÓN ANDROID. Ing. Marco Antonio Toscano Freire tw: martosfre

Curso de Desarrollo de Videojuegos con Unity 5 (40 horas)

Entidades Colaboradoras: Entidad Organizadora:

Quienes somos: Profesores:

Creación de Videojuegos en OpenGL

La Fase de Diseño. QUÉ vamos a hacer? CÓMO lo vamos a hacer? Gestión de Proyectos: La Fase de Diseño

Desarrollo de Videojuegos

UNIVERSIDAD DE ALMERÍA

Versión 1.1 Fecha: Autores: Francisco González García Ismael García Fernández

CURSO COMPLETO DE CREACIÓN DE VIDEOJUEGOS CON UNITY3D

Tema 1: Arquitectura de ordenadores, hardware y software

COMPARATIVA DE MOTORES GRÁFICOS PARA VIDEOJUEGOS

CAPITULO I. INTRODUCCIÓN

Lenguaje binario. Código ASCII. Medidas de la información

Ahora veamos algunos de los cables más comunes para conectar los dispositivos a nuestra PC. 1- Cable de power, del toma eléctrico al CPU.

Prototipado Programación Edición y Diseño WEB

SISTEMAS OPERATIVOS. Informática Básica

Informática Electrónica Manejadores de Dispositivos (Device Drivers)

1. Computadores y programación

CI-2354 Dispositivos Móviles. Windows Phone. Yahaira Jerez

ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DE UN SOFTWARE PARA VISITAS VIRTUALES 3D INTERACTIVAS POR INSTALACIONES DE LA UNIVERSIDAD TECNOLÓGICA DE PEREIRA

Lección 01. Introducción a los Lenguajes de Programación. Contenido. Conceptos Básicos. Lenguaje de Programación. Introducción al Lenguaje Maquina

Programación del robot humanoide Nao para la RoboCup

VOCABULARIO DEL HARDWARE. Docente Yeni Ávila

Universidad de Belgrano

Curso de Android con Java

SISTEMAS DE DETECCIÓN DE INTRUSOS EN LA PLATAFORMA NETFPGA USANDO RECONOCIMIENTO DE EXPRESIONES REGULARES.

El lenguaje de programación PHP Tipos de Datos. Semestre: A-2010

Tema IV El lenguaje de programación PHP Tipos de Datos

COLEGIO COMPUESTUDIO

Getting Started. 1. Introducción. 2. Requerimientos de software

Videojuegos. Guillermo Escudero Diego Hiegeo Nestor Tena Igor Moreda

DECISIÓN DEL MOTOR GRÁFICO

Mac OS X. Apple Inc. Historia

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente

Computación Gráfica = CG = Computer Graphics

º 5.3 ADAPTADORES DE VIDEO

JACK Ardour Hydrogen Rosegarden ZynAddSubFX Pure data Blender

Programa del Curso. Tema 1. Introducción a los Gráficos por Computador. Bibliografia Básica (6.5 horas).

Tema 1 Introducción. David Vallejo Fernández. Curso 2007/2008. Escuela Superior de Informática

2. Marco teórico 2.1.XNA

Ejercicio 1: Windows En este primer ejercicio primero vamos a ver que es el Sistema Operativo Windows, qué es un Sistema Operativo y para que sirve.

Se llama hardware a todos los dispositivos que forman la PC y que se puedan tocar, es decir, es todo el conjunto de accesorios que se le pueden

Universidad de Costa Rica Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Información Técnica acerca de las tarjetas de video, la generación de renders y solución de problemas

VIDEOJUEGOS: GUIÓN, DISEÑO Y PROGRAMACIÓN (III EDICIÓN)

Instituto Schneider Electric de Formación

PROYECTO TRABAJO FINAL DE CARRERA EDITOR INTERACTIVO DE POLICUBOS

ACER SKU: DT.B15AL.004 EAN: Principales características:

Iniciación a la informática

20483 Programación en C#

abc airfield aplicaciones abc

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Programación de Algoritmos para Sistemas Robóticos

KAPA DIGITAL. Rockey. Proteccion de software Licenciamiento seguro.

Sistemas Operativos. Introducción. Actividades. Soluciones

U2. Introducción al desarrollo de aplicaciones móviles Smartphone y Android Desarrollo de Aplicaciones III TIC-UTSV Enero 2015 I.S.C.

estimada del tutor de HP Este proyecto permitirá adquirir los conocimientos necesarios para crear aplicaciones web, usando

El ordenador. Llamamos ordenador a una máquina capaz de procesar información, es decir, de recibir datos, almacenarlos, hacer

Los componentes de la tarjeta madre del PC. Sistemas Operativos. Febrero 2014.

ESET Secure Authentication

Developing ASP.NET MVC 4 Web Applications

Sistemas Operativos. Introducción. Tema 6

La plataforma Arduino y su programación en entornos gráficos

UNIVERSIDAD MILITAR NUEVA GRANADA INVITACIÓN PÚBLICA No. ANEXO 16 REQUERIMIENTOS TÉCNICOS DE SERVICIO DE REINSTALACIÓN

Subdirección General de Centros de Formación Profesional CONSEJERÍA DE EDUCACIÓN Comunidad de Madrid. Convalidaciones FP. Universidad Camilo José Cela

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)

Programación de Sistemas

Herramientas hardware y software para el desarrollo de aplicaciones con Microcontroladores PIC bajo plataformas GNU/Linux

Parte I:Teoría. Tema 3:Introducción a los Sistemas operativos. Instalación

Requerimientos de Hardware y Características

Cloud Computing Huibert Aalbers Senior Certified Software IT Architect

Arquitecturas GPU v. 2013

Introducción. Aparición en los 50, se facilita la comunicación entre el usuario y el ordenador Cualquier persona puede utilizar un ordenador.

OPERACIONES AUXILIARES CON TECNOLOGÍAS DE LA INFORMACIÓN Y LA COMUNICACIÓN. Entornos multimedia. Unidad 3

Demo FireMonkey La nueva generación de desarrollo de aplicaciones de negocio

Visión general y entorno de desarrollo

Partes Internas y Externas de la Computadora

Transcripción:

Motor de Videojuegos.

En un comienzo se diseñaban los videojuegos para un hardware específico, usando directamente instrucciones de los diversos microprocesadores. Si se deseaba que el videojuego fuera jugable en otro equipo, se debía reescribir el código.

Mientras evolucionaba la programación y el hardware (consolas / pc), era más fácil diseñar videojuegos. Además cada vez importaba menos si se diseñaban juegos para una CPU o para otra. Comenzaron a crearse herramientas de dibujo más sencillas, etc.

Usan drivers para las tarjetas gráficas, de forma que son la interfaz entre la aplicación software (videojuego) y el adaptador gráfico hardware. Proveen una librería de elementos gráficos simples para poder así producir gráficos complejos. APIs Gráficas: DirectX, OpenGL

Se basó de un API de Gráficos 3D llamada Reality Lab, y una vez que Microsoft compró la empresa que desarrollaba el software en 1995, lo implementó como motor gráfico para Windows 95. Colección de APIs para la plataforma Windows y algunas consolas como Dreamcast, XBox y XBox360. Provee APIs para gráfica 2D y 3D, sonido, video, input y redes.

1. Introduce los datos de entrada (primitivas). 2. Opera sobre los vértices de forma individual. 3. Realiza operaciones con primitivas. 4. Almacena los datos en memoria. 5. Convierte la imagen 3D en pixeles. 6. Realiza operaciones con los pixeles. 7. Combina la salida de pixeles con patrones de profundidad para construir el resultado final.

Desarrollada originalmente por Silicon Graphics Inc. en 1992, actualmente por el grupo Khronos. Provee sólo funciones gráficas, abstrayéndose de las distintas tarjetas gráficas. Es Multiplataforma: Mac OS, Windows, GNU/Linux, PS3

Aplicación (Videojuego) API Gráfica (DirectX, OpenGL) Driver Hardware (Tarjeta Gráfica)

Es una API especializada para videojuegos, que contiene varios componentes y herramientas para el desarrollo de éstos. Entre los componentes: Motor de Render. Motor de Física y Colisiones. Motor de Sonido. Gestor de Redes. Motor de I.A. Lo más importante es el motor gráfico, que se apoya en las APIs gráficas.

En un principio los videojuegos se diseñaban desde cero. La experiencia de los diseñadores hizo que se comenzara a reutilizar material En los 90 tras el éxito de Doom y Quake, diseñados por id Software, surge el desarrollo de motores de videojuegos, en un principio sólo diseñados para FPS.

IdTech3:

RenderWare:

Source Engine:

Facilita el desarrollo. Abstracción de la plataforma. Separación de motor y contenidos. Permite enfatizar en la parte artística. Permite el rápido desarrollo de videojuegos. Facilita la realización de secuelas.

Plataforma: PC: Windows, Linux, Mac OS. Consola: Xbox 360, PS2, PS3, Wii. Móviles: Zune, Windows Mobile, iphone, Symbian. Lenguaje: C++, C#, Java, Python. Tipo de Videojuego: FPS, RTS, MMORPG, Fighting Game, Racing Game.

Comercial: Ventaja: Soporte, muchas herramientas adicionales. Desventaja: Precio, sujeto a lo que ofrecen. Open Source: Ventaja: Precio, posibilidad de modificación. Desventaja: Sin soporte técnico oficial, falta de herramientas.

Comerciales: Torque Game Engine Advance ($295). 3D Game Studio ($1.250). Quake III Engine ($250.000 + 5% de royalties). Warcraft III Engine: ($3.750.000) Open Source: Irrlicht. Ogre. Panda 3D. NeoAxis. Semi-Comercial ( El nuevo enfoque) UDK. XNA.

Aplicación (Videojuego) Engine Gráfico API Gráfica (DirectX, OpenGL) Driver Hardware (Tarjeta Gráfica)

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.

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.

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.

Encargado de reproducir la banda sonora del videojuego y efectos de sonido. Música de Background. Sonido 3D dependiendo de la posición, velocidad y dirección. Capaz de soportar múltiples formatos: Ogg Vorbis, Wav, Midi

Cada vez es más importante el concepto de Red, ya que no es lo mismo interactuar con enemigos computarizados que interactuar con otros jugadores en el mismo mundo.

Debe proveer las funcionalidades: Tanto de servidor como de cliente. Tanto para LAN como para Internet. Para los nuevos protocolos de red, ej: IPv6. Estabilidad y escalabilidad son conceptos claves.

Necesitamos realidad en nuestro videojuego. Encargado de dotar ciertos elementos del videojuego con comportamientos seudo-inteligentes. Técnicas simples: Máquinas de estados y algoritmos de búsquedas. Nuevas técnicas: redes neuronales y algoritmos genéticos.

Máquinas de Estados. Patrullar Descansar Atacar Huir Perseguir

Hoy en día un motor de videojuegos es más que esto, además debe proveer: Encriptación, para eliminar piratería. Manejo con nuevos periféricos (lásers, cámaras para realidad aumentada, gps, etc.). Leer una cantidad de formatos considerable. En resumen, debe estar al día con la tecnología y los requerimientos de la sociedad gammer.

TGEA 3D

Ogre3D

Source Engine

Source Engine

Unreal Technology (UnrealKismet, the visual scripting system)

Unreal Technology

DirectX y OpenGL. http://www.slideshare.net/guest5506a9/directxy-open-gl-presentation Motor de juegos. http://www.esi.uem.es/jccortizo/motores.html Programación de Videojuegos. http://sabia.tic.udc.es/gc/contenidos%20adicional es/trabajos/juegos/programacionvideojuegos/pro gramacion%20de%20videojuegos.htm