games control system s.a.w2.ucab.edu.ve/tl_files/ingenieriainformatica/tig/framework...

11
Games Control System S.A. Diseño y Desarrollo de framework para la construcción de video-juegos que posean simulaciones dinámicas virtuales 3d en tiempo real e implementación en juego basado en pinball. José Enrique Reyes 25/03/2010

Upload: others

Post on 28-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Games Control System S.A.w2.ucab.edu.ve/tl_files/IngenieriaInformatica/TIG/Framework Videojuegos.pdfGCS 2010 y El juego recrea un mundo virtual 3d con colisiones en tiempo . 6

Games Control System S.A.

Diseño y Desarrollo de framework para la construcción de

video-juegos que posean simulaciones dinámicas virtuales 3d en

tiempo real e implementación en juego basado en pinball.

José Enrique Reyes 25/03/2010

Page 2: Games Control System S.A.w2.ucab.edu.ve/tl_files/IngenieriaInformatica/TIG/Framework Videojuegos.pdfGCS 2010 y El juego recrea un mundo virtual 3d con colisiones en tiempo . 6

2

EMPRESA

La empresa Games Control Systems

desarrollo de soluciones tecnológicas y de sistemas informáticos para diferentes

centros de esparcimiento

están relacionados con el área de los video

carreras de caballos, etc.

procesos administrativos,

establecimientos, así como la gestión de los sistemas informáticos propios de la

empresa. Adicionalmente

equipos necesarios para que estos sistemas sean implantados.

Esta empresa fue conformada por un grupo de emprendedores que vi

las posibilidades y necesidades existentes

de entretenimiento, y con

se buscan soluciones inn

necesidades de los clientes.

Técnicos

Figura 1: Estructura Organizacional de la empresa Games Control Systems.

La empresa Games Control Systems es una empresa joven

desarrollo de soluciones tecnológicas y de sistemas informáticos para diferentes

centros de esparcimiento dentro de todo el territorio nacional. Estos sistemas

están relacionados con el área de los video-juegos, como por ejemplo bingos y

, etc. también se desarrollan sistemas que automatizan los

administrativos, de control de nómina y de flujo de trabajo de estos

, así como la gestión de los sistemas informáticos propios de la

dicionalmente se realiza la instalación y mantenimiento de los

equipos necesarios para que estos sistemas sean implantados.

e conformada por un grupo de emprendedores que vi

dades y necesidades existentes en el área tecnológica de los

on la experiencia en el desarrollo de software y sistemas

soluciones innovadoras, de alto nivel tecnológico que satisfagan las

clientes.

Socios de la empresa Games Control Systems

Administración

Departamento Creativo

Departamento de Desarrollo de

Software

Departamento de Desarrollo Web

Figura 1: Estructura Organizacional de la empresa Games Control Systems.

GCS 2010

es una empresa joven encargada del

desarrollo de soluciones tecnológicas y de sistemas informáticos para diferentes

dentro de todo el territorio nacional. Estos sistemas

juegos, como por ejemplo bingos y

también se desarrollan sistemas que automatizan los

na y de flujo de trabajo de estos

, así como la gestión de los sistemas informáticos propios de la

realiza la instalación y mantenimiento de los

e conformada por un grupo de emprendedores que vieron

en el área tecnológica de los centros

en el desarrollo de software y sistemas,

de alto nivel tecnológico que satisfagan las

Departamento Creativo

Figura 1: Estructura Organizacional de la empresa Games Control Systems.

Page 3: Games Control System S.A.w2.ucab.edu.ve/tl_files/IngenieriaInformatica/TIG/Framework Videojuegos.pdfGCS 2010 y El juego recrea un mundo virtual 3d con colisiones en tiempo . 6

3

NUESTRA VISIÓN Ser la compañía líder en el desarrollo de

de Venezuela, ofreciendo productos innovadores, de calidad, que sean divertidos

y que generen experiencias memorables para nuestros clientes.

NUESTRA MISIÓN Nos sentimos orgullosos de trabajar en un área que apasiona a todos

integrantes de la compañía y creemos que esto es esencial para poder cumplir

con nuestros objetivos a corto y a largo plazo. Estamos convencidos que

trabajando duro, con dedicación, paciencia y mucha vocación lograremos

alcanzar nuestras metas.

NUESTROS VALORES

• Integridad - Llevamos a cabo nuestros negocios con honestidad, integridad y transparencia, cumpliendo con las leyes y reglamentos aplicables.

• Excelencia - Estamos siempre comprometidos a superar nuestra

expectativas, proporcionando un servic

• El trabajo en equipo, liderazgo y comunicación lograr los objetivos de negocio de la compañía y superar

constantemente.

• Respeto - Promover un entorno que fomenta la diversidad, la

comunicación y el respe

clientes.

• Innovación - Fomentar la creatividad y la innovación en la mejora de

nuestra oferta de entretenimiento y en la mejora de nuestra excelencia

operativa.

Ser la compañía líder en el desarrollo de video-juegos y entretenimiento

de Venezuela, ofreciendo productos innovadores, de calidad, que sean divertidos

y que generen experiencias memorables para nuestros clientes.

Nos sentimos orgullosos de trabajar en un área que apasiona a todos

integrantes de la compañía y creemos que esto es esencial para poder cumplir

con nuestros objetivos a corto y a largo plazo. Estamos convencidos que

trabajando duro, con dedicación, paciencia y mucha vocación lograremos

alcanzar nuestras metas.

Llevamos a cabo nuestros negocios con honestidad, integridad

y transparencia, cumpliendo con las leyes y reglamentos aplicables.

Estamos siempre comprometidos a superar nuestra

, proporcionando un servicio de altísima calidad.

El trabajo en equipo, liderazgo y comunicación - Trabajar juntos para lograr los objetivos de negocio de la compañía y superarnos

.

Promover un entorno que fomenta la diversidad, la

comunicación y el respeto mutuo para nuestros empleados y nuestros

Fomentar la creatividad y la innovación en la mejora de

nuestra oferta de entretenimiento y en la mejora de nuestra excelencia

GCS 2010

juegos y entretenimiento

de Venezuela, ofreciendo productos innovadores, de calidad, que sean divertidos

Nos sentimos orgullosos de trabajar en un área que apasiona a todos los

integrantes de la compañía y creemos que esto es esencial para poder cumplir

con nuestros objetivos a corto y a largo plazo. Estamos convencidos que

trabajando duro, con dedicación, paciencia y mucha vocación lograremos

Llevamos a cabo nuestros negocios con honestidad, integridad

y transparencia, cumpliendo con las leyes y reglamentos aplicables.

Estamos siempre comprometidos a superar nuestras

io de altísima calidad.

Trabajar juntos para

nos

Promover un entorno que fomenta la diversidad, la

to mutuo para nuestros empleados y nuestros

Fomentar la creatividad y la innovación en la mejora de

nuestra oferta de entretenimiento y en la mejora de nuestra excelencia

Page 4: Games Control System S.A.w2.ucab.edu.ve/tl_files/IngenieriaInformatica/TIG/Framework Videojuegos.pdfGCS 2010 y El juego recrea un mundo virtual 3d con colisiones en tiempo . 6

4

CASOS EXITOSOS

Games Control Systems

colocados a nivel nacional en distintas salas, AllBingo y AllHorse. Ambos han

tenido gran receptividad y la compañía está ansiosa de seguir aumentado su

repertorio de juegos.

All Horse

Video-juego de Carreras d

quiniela (combinación sin orden entre primero y segundo) entre 6 caballos. El

juego completo se compone de un

video principal en alta definición y módulos para us

Video Principal: Inicio de la carrera.

Games Control Systems orgullosamente muestra como emblema 2 juegos,

colocados a nivel nacional en distintas salas, AllBingo y AllHorse. Ambos han

tenido gran receptividad y la compañía está ansiosa de seguir aumentado su

Carreras de Caballos. El objetivo es predecir el ganador o

quiniela (combinación sin orden entre primero y segundo) entre 6 caballos. El

juego completo se compone de un servidor principal de control,

rincipal en alta definición y módulos para usuarios.

Video Principal: Inicio de la carrera. Video Principal: Repetición en cámara lenta.

GCS 2010

orgullosamente muestra como emblema 2 juegos,

colocados a nivel nacional en distintas salas, AllBingo y AllHorse. Ambos han

tenido gran receptividad y la compañía está ansiosa de seguir aumentado su

Caballos. El objetivo es predecir el ganador o

quiniela (combinación sin orden entre primero y segundo) entre 6 caballos. El

de control, un cliente de

Video Principal: Repetición en cámara lenta.

Page 5: Games Control System S.A.w2.ucab.edu.ve/tl_files/IngenieriaInformatica/TIG/Framework Videojuegos.pdfGCS 2010 y El juego recrea un mundo virtual 3d con colisiones en tiempo . 6

5

Módulo para Usuarios: Sincronizando con servidor de control.

AllBingo

Juego de Bingo español de 25 bolas. El objetivo del juego es hacer líneas

tantos horizontales como verticales, diagonales, esquinas o cruces. También

compuesto por un servidor de control, un cliente de video con

módulos de juego. El juego recrea un mundo virtual 3d con colisiones en tiempo

real.

Módulo para Usuarios: Sincronizando con servidor de control.

Juego de Bingo español de 25 bolas. El objetivo del juego es hacer líneas

tantos horizontales como verticales, diagonales, esquinas o cruces. También

compuesto por un servidor de control, un cliente de video con doble pantalla

El juego recrea un mundo virtual 3d con colisiones en tiempo

GCS 2010

Juego de Bingo español de 25 bolas. El objetivo del juego es hacer líneas

tantos horizontales como verticales, diagonales, esquinas o cruces. También

doble pantalla y

El juego recrea un mundo virtual 3d con colisiones en tiempo

Page 6: Games Control System S.A.w2.ucab.edu.ve/tl_files/IngenieriaInformatica/TIG/Framework Videojuegos.pdfGCS 2010 y El juego recrea un mundo virtual 3d con colisiones en tiempo . 6

6

OPORTUNIDAD

En la actualidad la compañía GCS posee distintos video

posicionados en diferentes salas de bingo

desarrollado siguiendo esquemas de trabajo relativamente nuevos, respaldados

por el conocimiento del personal de la compañía.

En los dos últimos años se ha ganado mucha experiencia y ha obtenido

buena retro-alimentación por parte de nuestros clientes, por ello; GCS si

obligación de evolucionar estos esquemas así como las herramientas utilizadas en

el desarrollo de videojuegos, teniendo en mente acelerar

productos, estandarizar los procesos y aumentar la calidad de los mismos.

Ahora, la compañía

con el desarrollo de un nuevo proyecto de alta complejidad técnica basado en

pinball. Este producto tendrá como objetivo afianzar los conocimientos y a su vez

ser novedoso. Se busca, entonces diseñar

servir como base para otros productos

objetos, tratando de reunir las mejores prácticas y patrones de diseño en cuan

al desarrollo de video-juegos.

En la actualidad la compañía GCS posee distintos video

posicionados en diferentes salas de bingo y casinos en Venezuela

siguiendo esquemas de trabajo relativamente nuevos, respaldados

por el conocimiento del personal de la compañía.

En los dos últimos años se ha ganado mucha experiencia y ha obtenido

alimentación por parte de nuestros clientes, por ello; GCS si

obligación de evolucionar estos esquemas así como las herramientas utilizadas en

el desarrollo de videojuegos, teniendo en mente acelerar la creación de

productos, estandarizar los procesos y aumentar la calidad de los mismos.

añía desea aumentar su gama de productos, y se enfrenta

con el desarrollo de un nuevo proyecto de alta complejidad técnica basado en

pinball. Este producto tendrá como objetivo afianzar los conocimientos y a su vez

. Se busca, entonces diseñar una herramienta flexible que pueda

servir como base para otros productos con una sólida arquitectura orientada a

objetos, tratando de reunir las mejores prácticas y patrones de diseño en cuan

juegos.

GCS 2010

En la actualidad la compañía GCS posee distintos video-juegos

Venezuela. Estos se han

siguiendo esquemas de trabajo relativamente nuevos, respaldados

En los dos últimos años se ha ganado mucha experiencia y ha obtenido

alimentación por parte de nuestros clientes, por ello; GCS siente la

obligación de evolucionar estos esquemas así como las herramientas utilizadas en

la creación de nuevos

productos, estandarizar los procesos y aumentar la calidad de los mismos.

desea aumentar su gama de productos, y se enfrenta

con el desarrollo de un nuevo proyecto de alta complejidad técnica basado en

pinball. Este producto tendrá como objetivo afianzar los conocimientos y a su vez

una herramienta flexible que pueda

una sólida arquitectura orientada a

objetos, tratando de reunir las mejores prácticas y patrones de diseño en cuanto

Page 7: Games Control System S.A.w2.ucab.edu.ve/tl_files/IngenieriaInformatica/TIG/Framework Videojuegos.pdfGCS 2010 y El juego recrea un mundo virtual 3d con colisiones en tiempo . 6

7

OBJETIVO GENERAL

Diseñar y Desarrollar framework para la construcción de video

posean simulaciones dinámicas virtuales 3d en tiempo real e implementarlo en

juego basado en pinball.

OBJETIVOS ESPECÍFICOS

• Definir, Diseñar y Desarrollar

Ogre.

• Definir, Diseñar y Desarrollar

• Definir, Diseñar y Desarrollar

• Definir, Diseñar y Desarrollar

• Definir, Diseñar y Desarrollar

• Definir, Diseñar y Desarrollar Subsistema de Eventos.

• Definir, Diseñar y Desarrollar Subsistema de Estados.

• Definir, Diseñar y Desarrollar el Cargador de Mundos Virtuales.

• Definir, Diseñar y Desarrollar Modelo de Entidades del Juego.

• Diseñar elementos

basado en pinball.

• Diseñar elementos físicos

• Probar funcionamiento del framework para el juego basado en pinball.

Desarrollar framework para la construcción de video

posean simulaciones dinámicas virtuales 3d en tiempo real e implementarlo en

.

OBJETIVOS ESPECÍFICOS

Definir, Diseñar y Desarrollar Wrapper (encapsulador de alto nivel)

Definir, Diseñar y Desarrollar Wrapper de OIS.

Definir, Diseñar y Desarrollar Wrapper de NxOgre.

Definir, Diseñar y Desarrollar Wrapper de OpenAl.

Definir, Diseñar y Desarrollar Subsistema de Actualización de Entidade

Definir, Diseñar y Desarrollar Subsistema de Eventos.

Definir, Diseñar y Desarrollar Subsistema de Estados.

Definir, Diseñar y Desarrollar el Cargador de Mundos Virtuales.

Definir, Diseñar y Desarrollar Modelo de Entidades del Juego.

Diseñar elementos gráficos con sus respectivos materiales

basado en pinball.

Diseñar elementos físicos para juego basado en pinball.

Probar funcionamiento del framework para el juego basado en pinball.

GCS 2010

Desarrollar framework para la construcción de video-juegos que

posean simulaciones dinámicas virtuales 3d en tiempo real e implementarlo en

(encapsulador de alto nivel) de

istema de Actualización de Entidades.

Definir, Diseñar y Desarrollar el Cargador de Mundos Virtuales.

Definir, Diseñar y Desarrollar Modelo de Entidades del Juego.

con sus respectivos materiales para juego

Probar funcionamiento del framework para el juego basado en pinball.

Page 8: Games Control System S.A.w2.ucab.edu.ve/tl_files/IngenieriaInformatica/TIG/Framework Videojuegos.pdfGCS 2010 y El juego recrea un mundo virtual 3d con colisiones en tiempo . 6

8

ALCANCE

El sistema final deberá proporcionar un esquema d

desarrollar juegos que contengan simulaciones dinámicas virtuales

Inicialmente dicho sistema se utilizará para desarrollar un juego basado en

pinball, pero la arquitectura del mismo deberá ser flexible e independiente del

juego, por ello, podrá utilizarse para otros proyectos que tengan necesidades

similares.

Primeramente, es necesario crear “wrappers” para cada una de las

librerías a utilizar, estos deberán exponer sus

organizada y sencilla.

Como parte del proyecto fueron identificados 4

subsistemas que harán posible que dicho framework sea orientado a data,

organizado, eficiente y escalable.

Cargador de Mundos Virtuales:otras características de la simulación estén

deberá ser posible confeccionar el mundo virtual en un formato legible

donde se puedan definir

simulación. El sistema leerá este archivo en tiempo real y generará los

requerimientos que satisfagan las necesidades de la simulación.

Subsistema de Actualización:actualización eficiente que mantenga un registro dinámico de las entidades

activas del juego y permita actualizarlas lo más rápido posible

interfaz única entre ellas

Subsistema de Eventosque permita que las diferentes entidades y módulos del

fácil y eficientemente. Para ello, se creará un manejador de eventos que

mantenga un registro de los emisores y receptores del sistema,

direccionar los eventos solo a quienes sea necesario.

El sistema final deberá proporcionar un esquema de trabajo fluido para

desarrollar juegos que contengan simulaciones dinámicas virtuales

Inicialmente dicho sistema se utilizará para desarrollar un juego basado en

pinball, pero la arquitectura del mismo deberá ser flexible e independiente del

, por ello, podrá utilizarse para otros proyectos que tengan necesidades

Primeramente, es necesario crear “wrappers” para cada una de las

lizar, estos deberán exponer sus funcionalidades de forma

Como parte del proyecto fueron identificados 4 principales

subsistemas que harán posible que dicho framework sea orientado a data,

eficiente y escalable.

Cargador de Mundos Virtuales: La idea principal es evitar que las entidades y de la simulación estén codificadas dentro del

deberá ser posible confeccionar el mundo virtual en un formato legible

puedan definir las distintas propiedades de los elementos de la

simulación. El sistema leerá este archivo en tiempo real y generará los

requerimientos que satisfagan las necesidades de la simulación.

Subsistema de Actualización: Será necesario desarrollar un subsistemaactualización eficiente que mantenga un registro dinámico de las entidades

activas del juego y permita actualizarlas lo más rápido posible

interfaz única entre ellas.

Subsistema de Eventos: Será indispensable desarrollar tambiénque permita que las diferentes entidades y módulos del juego se comuniquen

fácil y eficientemente. Para ello, se creará un manejador de eventos que

mantenga un registro de los emisores y receptores del sistema,

s solo a quienes sea necesario.

GCS 2010

e trabajo fluido para

desarrollar juegos que contengan simulaciones dinámicas virtuales en 3d.

Inicialmente dicho sistema se utilizará para desarrollar un juego basado en

pinball, pero la arquitectura del mismo deberá ser flexible e independiente del

, por ello, podrá utilizarse para otros proyectos que tengan necesidades

Primeramente, es necesario crear “wrappers” para cada una de las

funcionalidades de forma

principales módulos o

subsistemas que harán posible que dicho framework sea orientado a data,

La idea principal es evitar que las entidades y

codificadas dentro del juego, por ello

deberá ser posible confeccionar el mundo virtual en un formato legible ASCII

las distintas propiedades de los elementos de la

simulación. El sistema leerá este archivo en tiempo real y generará los

Será necesario desarrollar un subsistema de

actualización eficiente que mantenga un registro dinámico de las entidades

activas del juego y permita actualizarlas lo más rápido posible siguiendo una

también un subsistema

juego se comuniquen

fácil y eficientemente. Para ello, se creará un manejador de eventos que

mantenga un registro de los emisores y receptores del sistema, y se encargue de

Page 9: Games Control System S.A.w2.ucab.edu.ve/tl_files/IngenieriaInformatica/TIG/Framework Videojuegos.pdfGCS 2010 y El juego recrea un mundo virtual 3d con colisiones en tiempo . 6

9

Subsistema de Estados:situaciones. Se requiere total transparencia, organización y legibilidad a la hora

de declarar, y cambiar

manejador de estados que permita cumplir con estos requerimientos.

Subsistema de Estados: El juego o simulación poseerá varios estados o . Se requiere total transparencia, organización y legibilidad a la hora

entre dichos estados. Por ello es necesario real

manejador de estados que permita cumplir con estos requerimientos.

GCS 2010

El juego o simulación poseerá varios estados o

. Se requiere total transparencia, organización y legibilidad a la hora

estados. Por ello es necesario realizar un

manejador de estados que permita cumplir con estos requerimientos.

Page 10: Games Control System S.A.w2.ucab.edu.ve/tl_files/IngenieriaInformatica/TIG/Framework Videojuegos.pdfGCS 2010 y El juego recrea un mundo virtual 3d con colisiones en tiempo . 6

10

LIMITACIONES

• La Arquitectura del Motor de

eficientemente las funcionalidades de Ogre como librería gráfica, Nvidia

PhysX como librería física, MyGUI como librería para el desarrollo de

interfaces de usuario, OIS como librería para la captura general de eventos

de entrada y OpenAl como librería de

• El Sistema de Actualización de Entidades deberá evadir fallos de caché

por consiguiente;

• El Sistema de Eventos

el Patrón de Diseño "Delegados".

• El formato que almacena la composición de los Mundos Virtuales deberá

contener las distintas propiedades de cada una de las entidades del mundo

como nombre, modelo

orientación y escala.

• La herramienta utilizada

Autodesk Maya y dichos modelos deberán ser de baja resolución

• Los materiales del

puede apoyarse en NVIDIA SHADER FX o ATI RenderMonkey

a Arquitectura del Motor debe ser programada en

eficientemente las funcionalidades de Ogre como librería gráfica, Nvidia

PhysX como librería física, MyGUI como librería para el desarrollo de

interfaces de usuario, OIS como librería para la captura general de eventos

de entrada y OpenAl como librería de Audio 3d.

El Sistema de Actualización de Entidades deberá evadir fallos de caché

deberá trabajar por Lote y no por Entidad

ventos deberá ser flexible y fácil de utilizar

Patrón de Diseño "Delegados".

l formato que almacena la composición de los Mundos Virtuales deberá

contener las distintas propiedades de cada una de las entidades del mundo

como nombre, modelo gráfico, modelo físico, mate

orientación y escala.

La herramienta utilizada para el desarrollo de elementos gr

y dichos modelos deberán ser de baja resolución

materiales del juego deberán ser programados en lenguaje GLSL

puede apoyarse en NVIDIA SHADER FX o ATI RenderMonkey

GCS 2010

be ser programada en C++ integrando

eficientemente las funcionalidades de Ogre como librería gráfica, Nvidia

PhysX como librería física, MyGUI como librería para el desarrollo de

interfaces de usuario, OIS como librería para la captura general de eventos

El Sistema de Actualización de Entidades deberá evadir fallos de caché,

ntidad.

deberá ser flexible y fácil de utilizar, se recomienda

l formato que almacena la composición de los Mundos Virtuales deberá

contener las distintas propiedades de cada una de las entidades del mundo

material, posición,

para el desarrollo de elementos gráficos será

y dichos modelos deberán ser de baja resolución.

juego deberán ser programados en lenguaje GLSL,

puede apoyarse en NVIDIA SHADER FX o ATI RenderMonkey.

Page 11: Games Control System S.A.w2.ucab.edu.ve/tl_files/IngenieriaInformatica/TIG/Framework Videojuegos.pdfGCS 2010 y El juego recrea un mundo virtual 3d con colisiones en tiempo . 6

11

ÁREA DE CONOCIMIENTO

• Fuerte conocimiento en

• Cómodo conocimiento de matemática vectorial y física.

• Experiencia con el motor gráfico Ogre y

• Experiencia ligera en programación de

• Experiencia ligera en el desarrollo de video

• Experiencia ligera en Autodesk Maya.

ÁREA DE CONOCIMIENTO

Fuerte conocimiento en C++ y programación orientada a objetos.

conocimiento de matemática vectorial y física.

Experiencia con el motor gráfico Ogre y NxOgre.

Experiencia ligera en programación de Shaders.

Experiencia ligera en el desarrollo de video-juegos.

Experiencia ligera en Autodesk Maya.

GCS 2010

y programación orientada a objetos.