produccion y desarrollo de un videojuego

106
PRODUCCIÓN Y DESARROLLO DE VIDEOJUEGOS UTA - FISEI TRABAJO DE NTICS II

Upload: dfhs

Post on 29-Nov-2014

5.521 views

Category:

Entertainment & Humor


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Produccion y desarrollo de un videojuego

PRODUCCIÓN Y DESARROLLO DE VIDEOJUEGOS

UTA - FISEI

TRABAJO DE NTICS II

Page 2: Produccion y desarrollo de un videojuego

TEMAS1. Introducción2. Modelos de negocios 3. Equipo de desarrollo4. Ciclo de vida 5. Problemas en el desarrollo de videojuegos6. Metodologías de desarrollo7. Tecnologías y herramientas8. Enfoques

Page 3: Produccion y desarrollo de un videojuego

1. Introducción

Page 4: Produccion y desarrollo de un videojuego

¿QUÉ ES UN VIDEOJUEGO? Un juego es “una actividad competitiva en

donde se quieren alcanzar un conjunto de metas, siguiendo un marco de reglas preestablecidas.”

Su finalidad puede ser principalmente divertir o educar, pero no quedan acotados a estas solamente.

Un videojuego es un juego que se presenta en un software sobre distintas plataformas.

Page 5: Produccion y desarrollo de un videojuego

¿QUÉ DIFERENCIAS HAY CON EL SOFTWARE CONVENCIONAL?

Se le da una muy fuerte importancia al contenido audiovisual.

Se necesita de un equipo multidisciplinario de desarrollo.

Suele ser más motivador para los desarrolladores :D.

Page 6: Produccion y desarrollo de un videojuego

¿QUÉ GÉNEROS DE VIDEOJUEGOS HAY? Acción Aventura Estrategia Simulación Puzzle Juguetes Educacional

Page 7: Produccion y desarrollo de un videojuego

¿CUÁLES SON LAS PLATAFORMAS DISPONIBLES? PC: Windows, Mac OS, Linux, otros

Web Consolas: Playstation2, Playstation3, Playstation

Portable, Nintendo Wii, Nintendo DS, Xbox 360, otros. Dispositivos móviles: Celular, Pocket PC, Palm,

otros. Otros

Page 8: Produccion y desarrollo de un videojuego

2. Modelos de negocios

Page 9: Produccion y desarrollo de un videojuego

2.1 Cadena de valores

Page 10: Produccion y desarrollo de un videojuego

CADENA DE VALORES La cadena de valores encapsula las varias

etapas o procesos que se realizan sobre un producto en su camino hacia un consumidor.

Cada etapa agrega valor u optimiza el producto.

La industria de video juegos está basada en la creación, publicación y distribución de productos.

Page 11: Produccion y desarrollo de un videojuego

CADENA DE VALORES

Page 12: Produccion y desarrollo de un videojuego

DESARROLLADORES (1) Los desarrolladores son los responsables de

la creación de los videojuegos.

Se componen por equipos interdisciplinarios con decenas de profesionales como diseñadores, programadores, artistas, músicos, guionistas, productores, entre otros.

Page 13: Produccion y desarrollo de un videojuego

DESARROLLADORES (2) Generalmente subcontratan a empresas que

se encargan de partes específicas del desarrollo como animación o música.

A veces se necesitan herramientas de desarrollo externas (gráficas, de programación, etc.) que también alimentan a los desarrolladores en esta etapa.

Page 14: Produccion y desarrollo de un videojuego

PUBLISHERS Son los responsables de la selección de títulos

de videojuegos, tanto provenientes de estudios de desarrollo independientes o de estudios internos.

Financian el desarrollo, supervisan su progreso y correcta terminación.

Suelen administrar la verificación, la localización (traducción a diferentes idiomas y costumbres), el marketing, la manufactura y en algunos casos, la distribución a los Retailers.

Page 15: Produccion y desarrollo de un videojuego

FABRICANTES DE CONSOLAS Se encargan de diseñar y manufacturar

nuevos sistemas de consolas.

El precio de venta de estas consolas está fuertemente subsidiado por los fabricantes, y cobran una licencia por cada copia manufacturada.

Mantienen un estricto control sobre qué títulos obtienen la licencia en un mercado altamente controlado.

Page 16: Produccion y desarrollo de un videojuego

DISTRIBUIDORES Son intermediarios entre los Publishers y los

Retailers.

No crea ni publica juegos, no vende, no manufactura ni financia estas actividades.

Venden juegos a los Retailers en nombre de los Publishers pequeños que no tienen los recursos necesarios.

Proveen espacio de almacenamiento y envío (para juegos Retail).

Page 17: Produccion y desarrollo de un videojuego

RETAILERS Y PORTALES WEB Retailers

Tiendas donde se pueden comprar los video juegos en caja.

Compran los video juegos a un Distribuidor o Publisher.

Portales WebVenden los juegos proporcionando

descarga online.

Page 18: Produccion y desarrollo de un videojuego

CONSUMIDORES Es quien quiere comprar un video juego.

Es la fuente de dinero que vuelve a cada eslabón de la cadena.En algunos casos el consumidor provee ese

dinero en forma directa, comprando el juego.

En otros casos un anunciante puede proveer dinero mediante anuncios en el juego, etc.

Page 19: Produccion y desarrollo de un videojuego

2.2 Modelos de ingresos

Page 20: Produccion y desarrollo de un videojuego

RETAIL El videojuego se vende en un cd/dvd

empaquetado en una caja en una tienda (p.ej. un supermercado).

Es el método más conocido y más usado hasta hace relativamente poco tiempo.

Un ejemplo: Diablo II de Blizzard.

Page 21: Produccion y desarrollo de un videojuego

PUBLICIDAD Se presentan distintos avisos publicitarios

durante el videojuego, pudiendo ser cuando comienzan, en las cargas de pantallas, etc.

En caso de ser videojuegos web, los avisos pueden ser mostrados en la página que contiene el videojuego como cualquier otro aviso web.

El videojuego web Hattrick hace uso de avisos publicitarios para obtener ingresos.

Otro ejemplo es el Pro Evolution Soccer que publica avisos en las canchas, entre otros.

Page 22: Produccion y desarrollo de un videojuego

ADVERGAMING Es un caso particular de publicidad donde el

contenido del videojuego depende de la misma, parcial o totalmente (en la mayoría de los casos).

Un ejemplo es un videojuego dedicado a promocionar y publicitar un dibujo animado de algún canal de tv, por ejemplo, SpongeBob Driving Exam de Batovi Games Studio, videojuego realizado para Nickelodeon.

Page 23: Produccion y desarrollo de un videojuego

PROBAR ANTES DE COMPRAR (TRY BEFORE YOU BUY) Se distribuye una versión gratuita de prueba

limitada por tiempo o por funcionalidades para permitir al usuario (potencial comprador) probar el producto y en caso de que le convenza el contenido puede pagar para obtener la versión completa.

Mystery Studios usa este modelo con Pirate Poppers desde el portal de PlayFirst.

Page 24: Produccion y desarrollo de un videojuego

TORNEOS Los jugadores pagan una suma de dinero

para participar de una competencia en donde el ganador obtiene un premio (p. ej. mercaderías) que se obtiene de la entrada de todos los otros jugadores menos el porcentaje que se queda el organizador del torneo.

Shot Online es un videojuego de Golf que utiliza este modelo de ingresos.

Page 25: Produccion y desarrollo de un videojuego

SUBSCRIPCIONES Se paga una cuota fija por mes para obtener distintos

servicios. Los formatos más conocidos son:

Todo lo que puedas consumir: acceso a jugar a un conjunto de videojuegos de forma ilimitada.

Compras por mes: uno o más juegos gratis (que elija) y descuentos adicionales.

Miembro vip: obtiene privilegios especiales (p. ej. ítems o pantallas nuevas).

GameTap es un portal que permite acceder de forma ilimitada a un conjunto de juegos por una suma fija por mes.

Blizzard también utiliza este modelo para el World of Warcraft.

Page 26: Produccion y desarrollo de un videojuego

SUBSCRIPCIONES EN CAPAS Es un caso particular del anterior, se permite a

los usuarios jugar gratis pero aquellos que deseen acceso a contenido extra pueden pagar una cuota por mes (p. ej. 5 dólares), a medida que requieran de más funcionalidades o contenido pueden pagar mayores cuotas.

Runscape es un MMO que lidera en este tipo de modelo, teniendo 1 millón de usuarios que optaron por el programa de subscripciones en capas, generando 60 millones de dólares anualmente.

Hattrick también provee un sistema de privilegios especiales con una cuota fija por mes que cambia según la cantidad y cantidad de estos.

Page 27: Produccion y desarrollo de un videojuego

DISPOSITIVOS MÓVILES Se distribuyen los videojuegos desde un

portal accesible desde el dispositivo móvil y se pueden comprar por medio de una transacción desde el mismo (usualmente, cerca de 5 dólares por juego).

Arcade Fishing de Batovi Games Studio es un ejemplo de este modelo:

Page 28: Produccion y desarrollo de un videojuego

MICROTRANSACCIONES Se distribuye el juego de forma gratuita o a

bajo precio. Se les provee a los jugadores contenido opcional como nuevas armas, pantallas, personalizaciones de su avatar, etc. y se les cobra poca plata por cada una de estos.

Maple Story es un MMORPG de plataformas 2D desarrollado por Nexon que utiliza este modelo.

Page 29: Produccion y desarrollo de un videojuego

MERCHANDIZE

Los usuarios pueden jugar gratis.

Mediante la compra de mercadería se proporcionan códigos para usar dentro del juego y destrabar funcionalidades o contenido exclusivo

Ejemplo Webkinz

Page 30: Produccion y desarrollo de un videojuego

DONACIONES

El juego es gratuito y las ganancias vienen de las donaciones de los usuarios

EjemploThe Kingdom of Loathing

MMORPG de bajo presupuesto 1.4 millones de cuentas creadas 194 mil cuentas activas Entre 140-150k dólares de ganancias

por mes. (Eso dicen :S)

Page 31: Produccion y desarrollo de un videojuego

XBOX LIVE COMMUNITY GAMES (1)

Page 32: Produccion y desarrollo de un videojuego

XBOX LIVE COMMUNITY GAMES (2)XNA CREATORS CLUB

Es una comunidad para desarrolladores

de videojuegos.

Se proporcionan herramientas para crear juegos en Windows y Xbox 360, y recursos para aprender a crear estos juegos.

Page 33: Produccion y desarrollo de un videojuego

XBOX LIVE COMMUNITY GAMES (3)

¿Cómo funciona? Se debe ser miembro Premium de XNA

Creators Club Se podrá enviar juegos completos para XBox

360 creados en XNA Game Studio. Otros miembros Premium de la comunidad

evaluarán el juego para asegurar que se puede jugar y no tiene errores.

Si el juego está correctamente evaluado, se fija el precio en puntos (entre 200 a 800) que los jugadores pagarán para poder jugar.

Page 34: Produccion y desarrollo de un videojuego

XBOX LIVE COMMUNITY GAMES (4)

El juego queda disponible en el XBox LIVE Marketplace.

Se obtiene un pago electrónico cada trimestre (hasta 70% de las ganancias del juego)

Dependiendo del éxito del juego, este puede ser promocionados en los sitios de XBox y Microsoft.

Page 35: Produccion y desarrollo de un videojuego

XBOX LIVE COMMUNITY GAMES (5)

¿Cómo comenzar? Se debe tener un XBox 360

Descargar XNA Game Studio.

Crear una cuenta en XNA Creator’s Club y pagar una membresía Premium (US$99 anuales).

Crear el juego y enviarlo para la revisión.

Page 36: Produccion y desarrollo de un videojuego

XBOX LIVE COMMUNITY GAMES (6)

Disponibilidad

Está disponible en USA, Canadá, Reino Unido, Francia, Italia, España.

Más adelante se podrá participar desde otros países.

Page 37: Produccion y desarrollo de un videojuego

3. Equipos de desarrollo

Page 38: Produccion y desarrollo de un videojuego

INTRODUCCIÓN

Existen distintos roles que se pueden cumplir en una empresa de videojuegos, los mismos pueden estar en distintas áreas de desarrollo y se presentan a continuación.

Page 39: Produccion y desarrollo de un videojuego

DISEÑO Diseñador de juego Diseñador de niveles/escenas Escritor de guiones/historia

Page 40: Produccion y desarrollo de un videojuego

PROGRAMACIÓN Programador junior Programador líder Programador de herramientas/motor

(infraestructura) Programador gráfico/efectos especiales. Programador o Ingeniero de audio. Programador de inteligencia artificial. Programador de redes

Page 41: Produccion y desarrollo de un videojuego

ARTES VISUALES Artista junior Constructor de objetos 3D Artista de concepto Artista de texturas Constructor de personajes Animador de personajes Constructor de niveles Director de arte y animaciones Técnico de arte

Page 42: Produccion y desarrollo de un videojuego

AUDIO Ingeniero/diseñador de sonidos Compositor

Page 43: Produccion y desarrollo de un videojuego

VERIFICACIÓN Líder de verificación Verificador de juego

Page 44: Produccion y desarrollo de un videojuego

PRODUCCIÓN Pueden ser vistos como Gerentes de proyecto.

Se encargan de asegurar que el progreso del proyecto sea acorde con lo planificado y dentro del presupuesto. Coordinan la verificación.

Se encargan de temas contractuales, legales y de negocios.

Existen varios niveles que van desde el Productor ejecutivo hasta los Productores asociados.

Page 45: Produccion y desarrollo de un videojuego

PRODUCCIÓN Tenemos dos tipos de Productores

Productor externo Trabaja con un Publisher o

Desarrollador externo. Se asegura que el proyecto esté

encaminado y siga la planificación.

Productor interno Gestiona lo referente a el equipo de desarrollo. Representa al equipo y al producto hacia el

exterior.

Page 46: Produccion y desarrollo de un videojuego

4. Ciclo de vida

Page 47: Produccion y desarrollo de un videojuego

INTRODUCCION

Concepto Pre-Producción Producción Alfa Beta Congelación de código Liberación Parches Actualizaciones

Page 48: Produccion y desarrollo de un videojuego

CONCEPTO (1)

Es cuando se define el concepto del juego.

Se realiza una tormenta de ideas.

Se crea el arte de concepto para mostrar como se verá el juego y su historia.

Participan Diseñador Líder técnico (Programador) Artista de concepto Productor

Page 49: Produccion y desarrollo de un videojuego

CONCEPTO (2)Artefactos generados:

Concepto de alto nivel Es una descripción en pocas oraciones de lo que es

el juego. Incluye las características que lo destacan y lo diferencian de los demás juegos. Muestra la visión del juego.

Propuesta del juego Es un documento que se utiliza para realizar la

presentación del juego en busca de financiamiento.

Resume el documento de concepto, explicando de que se trata el juego, por que será exitoso, como será desarrollado y como generará dinero.

Page 50: Produccion y desarrollo de un videojuego

CONCEPTO (3)

Artefactos generados: Documento de concepto:

Describe el concepto en forma más detallada.

Puede incluir las siguientes secciones: Concepto de alto nivel Género Gameplay Características Ambientación (incluye arte de concepto) Audiencia objetivo Plataformas de hardware Cronograma estimado Presupuesto Análisis competitivo Equipo de desarrollo Análisis de riesgos

Page 51: Produccion y desarrollo de un videojuego

PRE-PRODUCCIÓN (1) En esta etapa se demuestra que vale la pena

construir el juego y que el equipo está capacitado para hacerlo.

Si se trabaja con Publisher, este puede utilizar el período de Pre-Producción para determinar si el proyecto puede ser realizado por el equipo.

Page 52: Produccion y desarrollo de un videojuego

PRE-PRODUCCIÓN (2)Artefactos generados: Plan de proyecto

Es una guía que indica como va a ser construido el juego. Se divide en varios documentos independientes que son plan de personal, plan de recursos, seguimiento de proyecto, presupuesto, análisis de pérdidas y ganancias, cronograma de desarrollo y definición de milestones.

Documento de diseño Define el juego describiéndolo en forma clara y

detallada. Detalla la mecánica, gameplay, vistas, niveles,

personajes, las distintas pantallas, interfaz de usuario, historias, assets, etc

Page 53: Produccion y desarrollo de un videojuego

PRE-PRODUCCIÓN (3)Artefactos generados:

Documento de diseño técnico Es un documento de diseño de software Describe las herramientas que serán utilizadas. Lista hardware y software que debe ser comprado. Establece un cronograma de implementación.

Plan de producción de arte Indica la estética del juego y el cronograma de

creación de arte. Incluye una Biblia de arte que describe los objetos a ser creados

Page 54: Produccion y desarrollo de un videojuego

PRE-PRODUCCIÓN (4)Artefactos generados

Prototipos Programa de software que captura la esencia del

juego.

Puede ser la mayor influencia para determinar si el proyecto continúa.

Muestra la visión y demuestra que se puede llegar de las ideas a la realidad en forma efectiva y razonable.

Mitiga riesgos tecnológicos.

Page 55: Produccion y desarrollo de un videojuego

PRODUCCIÓN (1) Se comienza la construcción del juego

– Se escribe el código.– Se crea el arte gráfico.– Se crean los sonidos.– Se crean niveles del juego– Verificadores comienzan a trabajar cuando algo

puede ser jugado

El juego puede cambiar o evolucionar– Aparecen nuevas features.– Se quitan otras– Se deben completar y mantener actualizados los

documentos ya generados.

Page 56: Produccion y desarrollo de un videojuego

PRODUCCIÓN (2) Si se trabaja con Publisher suelen definirse

milestones que indican un conjunto de features a ser implementadas para una fecha determinada.

El incumplimiento de estas puede implicar que no se paguen avances acordados con el Publisher.

Estas milestones se marcan en el cronograma del proyecto.

Deben estar definidas en forma clara, medible y concisa.– Mala definición : Tener un nivel jugable

Page 57: Produccion y desarrollo de un videojuego

ALFA Es el punto en el que el juego puede ser jugado de

principio a fin.

Quedan detalles por agregar o arreglar y no todos los assets están terminados.

Motor, interfaz de usuario y subsitemas están completos

El foco cambia de: Construir a terminar Crear a arreglar.

Se comienza la verificación en busca de errores

Page 58: Produccion y desarrollo de un videojuego

BETA Todos los assets son integrados y el

desarrollo se detiene, lo único que se hace es arreglar errores.

El objetivo en esta etapa es estabilizar el proyecto y eliminar la mayor cantidad de errores posible antes de liberar el juego

Page 59: Produccion y desarrollo de un videojuego

CONGELACIÓN DE CÓDIGO Una vez que se solucionaron los errores

encontrados en Beta (o por lo menos los mas críticos) se obtiene el candidato para la liberación final.

En esta etapa se congela el código y queda pendiente de aprobación para pasar a ser la versión final.

Page 60: Produccion y desarrollo de un videojuego

LIBERACIÓN El juego esta completo, verificado y listo para

ser enviado a los canales de distribución.

Page 61: Produccion y desarrollo de un videojuego

PARCHES En los juegos para PC, se ha vuelto casi

inevitable que se requieran parches luego del lanzamiento.

Dado que existen muchas combinaciones posibles de hardware, es imposible verificarlas todas.

Si se encuentra un problema generalizado el desarrollador deberá crear un Parche.

Page 62: Produccion y desarrollo de un videojuego

ACTUALIZACIONES La actualización es diferente al parche, ya

que representa contenido adicional creado para mejorar el videojuego.

La actualización es un proyecto y necesita ser manejado como tal, con verificación, milestones, y el resto de los elementos del proceso de desarrollo.

Page 63: Produccion y desarrollo de un videojuego

5.Problemas en el desarrollo de

videojuegos

Page 64: Produccion y desarrollo de un videojuego

¿QUÉ PROBLEMAS EXISTEN EN EL DESARROLLO DE VIDEOJUEGOS? (1) La rápida y constante evolución de las

tecnologías.

Los requisitos cambiantes y difíciles de evaluar (diversión, atractivo gráfico, etc.)

La comunicación se dificulta por ser una industria multidisciplinaria (artistas, diseñadores, sonidistas, etc.)

Page 65: Produccion y desarrollo de un videojuego

¿QUÉ PROBLEMAS EXISTEN EN EL DESARROLLO DE VIDEOJUEGOS? (2) Búsqueda de perfección lleva a retrasos en

los plazos planificados (mejores armas, mejores escenarios, etc.)

Concentración de conocimientos en pocas personas (p. ej. un especialista en inteligencia artificial)

Page 66: Produccion y desarrollo de un videojuego

¿CÓMO SE PUEDEN SOLUCIONAR?

Existen diversas soluciones, a continuación se plantean algunas:

Realizar mejoras en el proceso y metodologías de desarrollo (p. ej. codificar mano a mano con el diseñador).

Desarrollo de nuevas herramientas (p. ej. entornos para realizar prototipos o motores que encapsulen la dependencia a una tecnología específica).

Seguimiento de nuevos enfoques y paradigmas (p. ej. datadriven para la separación entre contenido y el código).

Page 67: Produccion y desarrollo de un videojuego

6. Metodologías de desarrollo

Page 68: Produccion y desarrollo de un videojuego

METODOLOGÍA DE DESARROLLO

Una metodología plantea realizar un conjunto de prácticas y métodos para lograr un objetivo.

Existen dos extremos, las metodologías que intentan predecir (deterministas o secuenciales) y las que se adaptan al cambio (ágiles).

Page 69: Produccion y desarrollo de un videojuego

6.1 Metodologías Deterministas

Page 70: Produccion y desarrollo de un videojuego

METODOLOGÍAS DETERMINISTAS Se basan en tres premisas:

Todo sale de acuerdo a lo planificado. Micro optimizaciones llevan a macro

optimizaciones Las personas son prescindibles y hay que

decirles que hacer.

Metodologías presentadas: Waterfall.

Page 71: Produccion y desarrollo de un videojuego

WATERFALL (O BDUF) Plantea que el diseño tiene que ser perfecto

y estar completo antes de comenzar la implementación.

Es el más utilizado en la industria hoy en día en las empresas grandes.

Page 72: Produccion y desarrollo de un videojuego

WATERFALL - VIRTUDES Facilidad de adopción por el equipo de

desarrollo. Facilita la administración del proyecto. Aplicable en equipos de desarrollo grandes. Fácil aplicabilidad en proyectos que se basan

en modificaciones pequeñas de productos ya realizados (secuelas de juegos).

Page 73: Produccion y desarrollo de un videojuego

WATERFALL - DEBILIDADES No responde bien ante cambios. Existen problemas de comunicación e

interpretación. Ningún objeto puede ser considerado

completo hasta que todas las dependencias de ese objeto hayan sido construidas.

Cuando hay departamentos de desarrollo que dependen uno de otro se generan situaciones de cuello de botella.

Page 74: Produccion y desarrollo de un videojuego

6.2 Metodologías Ágiles

Page 75: Produccion y desarrollo de un videojuego

METODOLOGÍAS ÁGILES Se basan en cuatro premisas [Agi01] en

donde se da mayor importancia a:

Individuos e sus interacciones frente a procesos y herramientas

Software en funcionamiento frente a documentación exhaustiva

Colaboración del cliente frente a negociación de un contrato.

Respuesta al cambio frente a seguir un plan.

Metodologías presentadas: Scrum y Extreme Programming.

Page 76: Produccion y desarrollo de un videojuego

SCRUM Es una metodología ágil que sirve para

administrar y controlar el desarrollo de un producto. Se caracteriza por cinco valores: Compromiso Enfoque Sinceridad Respeto Coraje

Page 77: Produccion y desarrollo de un videojuego

SCRUMEstos valores son implementados mediante varias prácticas (sprints, scrum master, etc.). Se presenta un ciclo de vida con Scrum:

Page 78: Produccion y desarrollo de un videojuego

SCRUM - VIRTUDES

Al ser iterativo e incremental se obtienen versiones jugables del producto en intervalos regulares de tiempo.

Involucra a todo el equipo y hace que participen activamente en el proceso.

Mayor control tanto del cliente como los desarrolladores sobre el alcance del proyecto.

Priorización de características del producto en cada Sprint.

Page 79: Produccion y desarrollo de un videojuego

SCRUM - DEBILIDADES

Dificultad en la adopción. Difícil involucrar al cliente en el proceso. Problemas en la elaboración de contratos. Resulta difícil definir la descripción de las

funcionalidades del videojuego en una granularidad adecuada, que no sea demasiado especifica ni muy vasta.

En proyectos que duran años es difícil mantener la perspectiva y la dirección.

Difícil adopción en equipos grandes (p. ej. 100 personas)

Page 80: Produccion y desarrollo de un videojuego

SCRUM - EJEMPLO

EA Digital Illusions CE (DICE) está trabajando en Mirror’s Edge utilizando Scrum, y planifica liberar una versión simultanea para PC, PS3 y XBox360.

Page 81: Produccion y desarrollo de un videojuego

EXTREME PROGRAMMING (XP) Es una metodología ágil que se enfoca en la

parte de desarrollo y se basa en cinco valores: Comunicación Simplicidad Respeto Coraje Retroalimentación

Son llevados a cabo por varias prácticas, entre ellas: pair programming y test first programming

Page 82: Produccion y desarrollo de un videojuego

EXTREME PROGRAMMING (XP) Ejemplo de pair programming:

Page 83: Produccion y desarrollo de un videojuego

EXTREME PROGRAMMING (XP) - VIRTUDES Distribución del conocimiento entre todos los

miembros. Entrenamiento de programadores con menos

experiencia por parte de los que tienen más experiencia.

Mayores períodos de concentración. La interacción frecuente entre los clientes y

los diseñadores permite adaptar el desarrollo del videojuego a las necesidades de ambos y a lograr el resultado esperado.

Page 84: Produccion y desarrollo de un videojuego

EXTREME PROGRAMMING (XP) - DEBILIDADES Algunas de las prácticas son difíciles de

adoptar. Las prácticas están pensadas principalmente

para programadores y no necesariamente consideran otros roles.

Difícil aplicación en equipos de desarrollo numerosos.

Page 85: Produccion y desarrollo de un videojuego

EXTREME PROGRAMMING (XP) - EJEMPLO Principalmente nos interesa destacar la

experiencia desarrollada por Peter Drake y Nigel Kerr [DK06], en donde plantean el desarrollo de un videojuego en un curso de grado intentando hacer uso de todas y cada una de las prácticas planteadas por XP.

El proyecto fue un videojuego multijugador de estrategia por turnos desarrollado en Java, el cliente fue externo al desarrollo y la interacción se realizó de forma remota.

Page 86: Produccion y desarrollo de un videojuego

SCRUM Y EXTREME PROGRAMMING (XP) Ambas metodologías comparten muchos

aspectos a pesar que una apunta al gerenciamiento del proyecto (Scrum) y la otra al desarrollo (XP).

Por lo tanto se pueden utilizar (y se utilizan) en conjunto obteniendo ganancias de aplicar las prácticas de ambas.

En particular Highmoon Studios es una empresa de videojuegos que aprovecha este aspecto y ha escrito artículos al respecto.

Page 87: Produccion y desarrollo de un videojuego

7.Tecnologías y herramientas

Page 88: Produccion y desarrollo de un videojuego

TECNOLOGÍAS Y HERRAMIENTAS Las áreas tecnológicas más relevantes para

videojuegos son: rendering (p. ej. shaders) simulación (p. ej. simulación física) redes audio (p. ej. sonido tridimensional) inteligencia artificial (p. ej. pathfinding)

Page 89: Produccion y desarrollo de un videojuego

TECNOLOGÍAS Y HERRAMIENTAS Que se acompañan de herramientas

para generar contenido, por ejemplo:

Editor de modelos 3d (p. ej. Blender)Editor de scriptsEditor de shaders (p.ej. RenderMonkey)

Page 90: Produccion y desarrollo de un videojuego

TECNOLOGÍAS Y HERRAMIENTAS - EJEMPLOS

Page 91: Produccion y desarrollo de un videojuego

TECNOLOGÍAS Y HERRAMIENTAS Y también de:

motores (p. ej. Ogre3d para acceder al hardware gráfico, entre otras funcionalidades)

bibliotecas (p. ej. SDL_mixer para reproducir sonidos)

frameworks

que nos abstraen para poder utilizar en código el contenido generado por las herramientas.

Page 92: Produccion y desarrollo de un videojuego

TECNOLOGÍAS Y HERRAMIENTAS - EJEMPLOS Wintermute Engine Development Kit es un kit que

viene tanto con un motor como con un conjunto de herramientas para generar videojuegos del género de aventuras gráficas.

Page 93: Produccion y desarrollo de un videojuego

8. Enfoques

Page 94: Produccion y desarrollo de un videojuego

8.1 Data-driven development

Page 95: Produccion y desarrollo de un videojuego

INTRODUCCIÓN (1) Colocando todo el contenido de la lógica del

videojuego y de las descripciones (posiblemente incluso los niveles) en código se tienen las siguientes consecuencias:

Tanto los artistas como los diseñadores se ven perjudicados ya que ante cualquier cambio o ajuste pequeño dependen de cambios en el código por un programador y no pueden ver el mismo rápidamente.

Page 96: Produccion y desarrollo de un videojuego

INTRODUCCIÓN (2)El programador dedica un tiempo

considerable a pedidos de los artistas y los diseñadores y menos tiempo a implementar nuevas características funcionales del juego en sí.

El código termina atado a Un juego en particular, reduciendo considerablemente la reusabilidad del código.

Page 97: Produccion y desarrollo de un videojuego

DATA DRIVEN Las arquitecturas Data-driven solucionan

estos problemas colocando la mayor parte del contenido en archivos separados y lo mínimo posible en el código del videojuego.

Esto implica no solo contenido audiovisual sino también definiciones completas de personajes e incluso comportamientos (p. ej. con scripts de Lua o Python).

Page 98: Produccion y desarrollo de un videojuego

DATA DRIVEN - EJEMPLO Un ejemplo de la utilización de xml para

definir una entidad en un videojuego.

En particular xml es muy útil porque es legible y extensible (entre otras particularidades), aunque puede ser lento de procesar.

<baddies>           <baddie name=”Mr Zombie”>                 <model>                      <filename>zombie1.mdl</filename>                 </model>                 <stats>                      <health>100</health>                      <attackdamage>10</attackdamage>                      <speed>10</speed>                 </stats>           </baddie></baddies>

Page 99: Produccion y desarrollo de un videojuego

8.2 Test-driven development

Page 100: Produccion y desarrollo de un videojuego

TEST DRIVEN DEVELOPMENT Es un enfoque que plantea guiar el desarrollo

por pruebas realizadas previamente, paso a paso de forma iterativa e incremental.

Se puede aplicar a distintos niveles pero usualmente se aplica a nivel de código y XP es una metodología que lo aprovecha a ese nivel.

Page 101: Produccion y desarrollo de un videojuego

TEST DRIVEN DEVELOPMENT

Page 102: Produccion y desarrollo de un videojuego

TEST DRIVEN DEVELOPMENT - EJEMPLO

TEST (EntityDoesNotConsumesSpeedPowerupByDefault) {

GameEntity entity;

SpeedPowerup powerup;

CHECK (!entity.Apply(powerup));

}

TEST (EntityConsumesSpeedPowerup) {

GameEntity entity;

entity.Accepts(SpeedPowerup);

SpeedPowerup powerup;

CHECK (entity.Apply(powerup));

}

Page 103: Produccion y desarrollo de un videojuego

TEST DRIVEN DEVELOPMENT - VIRTUDES Al elaborar las pruebas primero, el

programador no siente que las pruebas destruyen el código.

Se tiene mucha retroalimentación. Sirve como forma de documentación. Ayuda al realizar reconstrucción logrando un

mejor diseño. Reducen tiempo de debugging sobre el

juego. Proveen una medida del progreso del

proyecto.

Page 104: Produccion y desarrollo de un videojuego

TEST DRIVEN DEVELOPMENT - DEBILIDADES Difícil de adoptar.

Gran cantidad de código extra.

Difícil de utilizar para probar características como diversión, atractivo gráfico, componentes de la interfaz gráfica.

Requiere de un framework para correr las pruebas de forma automatizada.

Page 105: Produccion y desarrollo de un videojuego

TEST DRIVEN DEVELOPMENT En videojuegos presenta ciertos retos:

probar para distintas plataformas probar gráficos, audio, etc. probar bibliotecas o motores de terceros que no

fueron diseñados para ser probados por pruebas unitarias

probar eventos no deterministas (p. ej. simulación física)

probar scripts de alto nivel (p. ej. Lua)

Page 106: Produccion y desarrollo de un videojuego

REFERENCIAS IGDA [Agi01] Manifesto for agile software development. Online, 2001.

http://agilemanifesto.org/. [DK06] Peter Drake and Nigel Kerr. Developing a computer strategy game in

an undergraduate course in software development using extreme programming. J. Comput. Small Coll., 22(2):39–45, 2006.

[BB03] Bob Bates. Game Developer’s Market Guide. ISBN1592001041. Muska & Lipman/Premier-Trade, 2003

[Llo04] Noel Llopis. Gdc 2004: Software engineering roundtable summary. Online, 2004. http://www.gamesfromwithin.com/articles/0403/000016.html

Shot Online, videojuego de Golf http://shotonline.gpotato.com/news/tour/ Subscripciones en capas – Runescape - http://www.jagex.com/ Top 10 revenue models for free to play -

http://www.freetoplay.biz/2007/08/02/top-10-revenue-models-for-free-to-play-games/

Wintermute Engine Development Kit - http://dead-code.org/home/ Mirror’s Edge de DICE, artículo de gamasutra :

http://www.gamasutra.com/view/feature/3684/living_on_the_edge_dices_owen_.php