P RODUCCIÓN Y DESARROLLO DE V IDEOJUEGOS Nicolás Acerenza Ariel Coppes.

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

PLANIFICACIÓN DE TESTING
Ingeniería de Software II
Metodologías ágiles.
Levantamiento de requerimientos Personas
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
CREACION DE ESPACIOS VIRTUALES PARA TRABAJO EN EQUIPO
ESTRUCTURA DEL PLAN DE MARKETING
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
Fase Elaboración Conclusiones Grupo 6 – PIS
Presentación a la directora del proyecto Friend-Buster (Caza-Amigos) – PIS 2010.
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
Evaluación de Productos
HERRAMIENTAS CASE.
Se viven nuevos escenarios
Ciclos de vida ágiles.  Es una metodología ágil que plantea: ◦ Iteraciones cortas ◦ Entregables periódicos ◦ Colaboración con el cliente full time ◦
DISEÑO DE LA INTERFAZ DE USUARIO
 Tema del proyecto  Integrantes y roles del equipo  Objetivos del proyecto  Alcance.
DATA WAREHOUSE Equipo 9.
Las etapas de un proyecto
Fundamentos de Ingeniería de Software Facultad de Ingenieria Universidad Distrital Francisco José de Caldas ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS.
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
Unidad VI Documentación
La distribución Ing. Enrique Meneses.
CONCEPTOS BÁSICOS Diseño de Sistemas.
Aidaritza Rodriguez Julio Álamo Carlos Ortiz. Veremos las diferencias entre las alternativas al desarrollo de sistemas a medida: la subcontratación, licencias.
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Ingeniería del Software
Proceso de Gestión de Proyectos
Ximena Romano – Doris Correa
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Diferencia entre comercio electrónico y negocio electrónico
Cloud Computing Grupo 4 de computación y programación
Términos y Conceptos Básicos
Metodología de la programación
Alexander Aristizabal Ángelo flores herrera
COMPLETA LOS ESPACIOS CON LA PALABRA ADECUADA 1.LOS _______________________ SE DEFINEN COMO LA _________________LÓGICA DE _________PARA SOLUCIONAR UN.
Ciclo de vida de un sistema
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de metodologías ágiles Tatiana Alejandra.
Roles de Open UP.
Scrum Una Alternativa Ágil para el desarrollo de Software
1 Motor de Generación de Formularios para Infocorp Presentación del Proceso.
Elaborado por: Mayoral Cruz Matilde Morales Espinoza Anllhins
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Ingeniería de Requerimientos
Introducción al proceso de verificación y validación.
Estructurar tus ideas para hacerlas realidad
Ciclo de Vida del Software
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
M E N U I N I C I A L PARTES PC PERIFERICOS C P U SOFTWARE 1 johnbonilla.es.tl.
APLICACIONES DEL COMPUTADOR Y EL CELULAR
la publicidad en las paginas web han sido de gran impacto en nuestros tiempos modernos ya que ella han logrado atraer a publico en general, ha demás.
Proceso de desarrollo de Software
Tecnólogo Gestión Administrativa
CONCEPTO DE CICLO DE VIDA 1 En los departamentos de Sistemas se debe definir un marco de referencia común que debe ser:  Pueda ser empleado por todos.
ASPECTOS METODOLÓGICOS El curso es principalmente un taller práctico pero no técnico y resulta adecuado para todos los miembros del equipo. Una variedad.
Fundamentos de Computación
Las fases del ciclo de la vida de desarrollo de sistemas
ANTIVIRUS CLOUD COMPUTING. Los antivirus cloud o antivirus en la nube, son antivirus que aplican a los antivirus el concepto cloud computing. Instalan.
Modelo de procesos de software
Autores: Myriam Montes, Iván Viera, Carlos Caizaguano, José Sancho
El diseño de la interfaz de usuario requiere el estudio de las personas y el conocimiento tecnológico adecuado.
Integrantes: Mejía Zúñiga Yoselin Taco Apaza Pamela Ychuta Torres John.
Verificación y Validación del Software
Sistemas de calidad en el desarrollo de software.
Entregables del Proyecto
Transcripción de la presentación:

P RODUCCIÓN Y DESARROLLO DE V IDEOJUEGOS Nicolás Acerenza Ariel Coppes

T EMAS 1. Introducción 2. Modelos de negocios 3. Equipo de desarrollo 4. Ciclo de vida 5. Problemas en el desarrollo de videojuegos 6. Metodologías de desarrollo 7. Tecnologías y herramientas 8. Enfoques

1. Introducción

¿Q UÉ 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.

¿Q UÉ 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.

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

¿C UÁ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

2. Modelos de negocios

2.1 Cadena de valores

C ADENA 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.

C ADENA DE VALORES

D ESARROLLADORES (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.

D ESARROLLADORES (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.

P UBLISHERS 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.

F ABRICANTES 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.

D ISTRIBUIDORES 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 ).

R ETAILERS Y P ORTALES W EB Retailers Tiendas donde se pueden comprar los video juegos en caja. Compran los video juegos a un Distribuidor o Publisher. Portales Web Venden los juegos proporcionando descarga online.

C ONSUMIDORES 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.

2.2 Modelos de ingresos

R ETAIL 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.

P UBLICIDAD 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.

A DVERGAMING 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.

P ROBAR 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.

T ORNEOS 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.

S UBSCRIPCIONES 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.

S UBSCRIPCIONES 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 millon 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.

D ISPOSITIVOS 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:

M ICROTRANSACCIONES 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.

M ERCHANDIZE 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

D ONACIONES El juego es gratuito y las ganancias vienen de las donaciones de los usuarios Ejemplo The Kingdom of Loathing MMORPG de bajo presupuesto 1.4 millones de cuentas creadas 194 mil cuentas activas Entre k dólares de ganancias por mes. (Eso dicen :S)

X BOX LIVE C OMMUNITY G AMES (1)

X BOX LIVE C OMMUNITY G AMES (2) XNA C REATORS C LUB 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.

X BOX LIVE C OMMUNITY G AMES (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.

X BOX LIVE C OMMUNITY G AMES (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.

X BOX LIVE C OMMUNITY G AMES (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.

X BOX LIVE C OMMUNITY G AMES (6) Disponibilidad Está disponible en USA, Canadá, Reino Unido, Francia, Italia, España. Más adelante se podrá participar desde otros países.

3. Equipos de desarrollo

I NTRODUCCIÓ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.

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

P ROGRAMACIÓ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

A RTES V ISUALES 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

A UDIO Ingeniero/diseñador de sonidos Compositor

V ERIFICACIÓN Líder de verificación Verificador de juego

P RODUCCIÓ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.

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.

4. Ciclo de vida

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

C ONCEPTO (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

C ONCEPTO (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.

C ONCEPTO (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

P RE -P RODUCCIÓ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.

P RE -P RODUCCIÓ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

P RE -P RODUCCIÓ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

P RE -P RODUCCIÓ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.

P RODUCCIÓ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.

P RODUCCIÓ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

A LFA 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

B ETA 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

C ONGELACIÓ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.

L IBERACIÓN El juego esta completo, verificado y listo para ser enviado a los canales de distribución.

P ARCHES 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.

A CTUALIZACIONES 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.

5.Problemas en el desarrollo de videojuegos

¿Q UÉ 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. )

¿Q UÉ 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)

¿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).

6. Metodologías de desarrollo

M ETODOLOGÍ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).

6.1 Metodologías Deterministas

M ETODOLOGÍ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.

W ATERFALL ( 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.

W ATERFALL - V IRTUDES 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).

W ATERFALL - D EBILIDADES 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.

6.2 Metodologías Ágiles

M ETODOLOGÍ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.

S CRUM 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

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

S CRUM - V IRTUDES 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.

S CRUM - D EBILIDADES 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)

S CRUM - E JEMPLO 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.

E XTREME P ROGRAMMING (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

E XTREME P ROGRAMMING (XP) Ejemplo de pair programming :

E XTREME P ROGRAMMING (XP) - V IRTUDES 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.

E XTREME P ROGRAMMING (XP) - D EBILIDADES 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.

E XTREME P ROGRAMMING (XP) - E JEMPLO 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.

S CRUM Y E XTREME P ROGRAMMING (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.

7.Tecnologías y herramientas

T ECNOLOGÍ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 )

T ECNOLOGÍAS Y HERRAMIENTAS Que se acompañan de herramientas para generar contenido, por ejemplo: Editor de modelos 3d ( p. ej. Blender ) Editor de scripts Editor de shaders (p.ej. RenderMonkey)

T ECNOLOGÍAS Y HERRAMIENTAS - E JEMPLOS

T ECNOLOGÍ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.

T ECNOLOGÍAS Y H ERRAMIENTAS - E JEMPLOS 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.

8. Enfoques

8.1 Data-driven development

I NTRODUCCIÓ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.

I NTRODUCCIÓ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.

D ATA 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).

D ATA DRIVEN - E JEMPLO 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. zombie1.mdl

8.2 Test-driven development

T EST 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.

T EST DRIVEN DEVELOPMENT

T EST DRIVEN DEVELOPMENT - E JEMPLO TEST (EntityDoesNotConsumesSpeedPowerupByDefault) { GameEntity entity; SpeedPowerup powerup; CHECK (!entity.Apply(powerup)); } TEST (EntityConsumesSpeedPowerup) { GameEntity entity; entity.Accepts(SpeedPowerup); SpeedPowerup powerup; CHECK (entity.Apply(powerup)); }

T EST DRIVEN DEVELOPMENT - V IRTUDES 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.

T EST DRIVEN DEVELOPMENT - D EBILIDADES 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.

T EST 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 )

¿Preguntas?

C ONTACTO Por información o material extra, nuestro contacto es:

R EFERENCIAS IGDA [Agi01] Manifesto for agile software development. Online, [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, [BB03] Bob Bates. Game Developer’s Market Guide. ISBN Muska & Lipman/Premier-Trade, 2003 [Llo04] Noel Llopis. Gdc 2004: Software engineering roundtable summary. Online, Shot Online, videojuego de Golf Subscripciones en capas – Runescape - Top 10 revenue models for free to play - revenue-models-for-free-to-play-games/ revenue-models-for-free-to-play-games/ Wintermute Engine Development Kit - Mirror’s Edge de DICE, artículo de gamasutra :