La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "P RODUCCIÓN Y DESARROLLO DE V IDEOJUEGOS Nicolás Acerenza Ariel Coppes."— Transcripción de la presentación:

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

2 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

3 1. Introducción

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

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

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

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

8 2. Modelos de negocios

9 2.1 Cadena de valores

10 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.

11 C ADENA DE VALORES

12 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.

13 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.

14 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.

15 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.

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

17 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.

18 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.

19 2.2 Modelos de ingresos

20 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.

21 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.

22 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.

23 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.

24 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.

25 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.

26 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.

27 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:

28 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.

29 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

30 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 140-150k dólares de ganancias por mes. (Eso dicen :S)

31 X BOX LIVE C OMMUNITY G AMES (1)

32 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.

33 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.

34 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.

35 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.

36 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.

37 3. Equipos de desarrollo

38 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.

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

40 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

41 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

42 A UDIO Ingeniero/diseñador de sonidos Compositor

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

44 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.

45 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.

46 4. Ciclo de vida

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

48 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

49 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.

50 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

51 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.

52 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

53 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

54 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.

55 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.

56 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

57 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

58 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

59 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.

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

61 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.

62 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.

63 5.Problemas en el desarrollo de videojuegos

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

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

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

67 6. Metodologías de desarrollo

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

69 6.1 Metodologías Deterministas

70 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.

71 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.

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

73 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.

74 6.2 Metodologías Ágiles

75 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.

76 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

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

78 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.

79 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)

80 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.

81 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

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

83 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.

84 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.

85 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.

86 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.

87 7.Tecnologías y herramientas

88 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 )

89 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)

90 T ECNOLOGÍAS Y HERRAMIENTAS - E JEMPLOS

91 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.

92 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.

93 8. Enfoques

94 8.1 Data-driven development

95 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.

96 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.

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

98 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 100 10 10

99 8.2 Test-driven development

100 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.

101 T EST DRIVEN DEVELOPMENT

102 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)); }

103 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.

104 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.

105 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 )

106 ¿Preguntas?

107 C ONTACTO Por información o material extra, nuestro contacto es: ariel.coppes@gmail.com nicoace@gmai.com

108 R EFERENCIAS IGDA [Agi01] Manifesto for agile software development. Online, 2001. http://agilemanifesto.org/. 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.htmlhttp://www.gamesfromwithin.com/articles/0403/000016.html Shot Online, videojuego de Golf http://shotonline.gpotato.com/news/tour/http://shotonline.gpotato.com/news/tour/ Subscripciones en capas – Runescape - http://www.jagex.com/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/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/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 http://www.gamasutra.com/view/feature/3684/living_on_the_edge_dices_owen_.php


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

Presentaciones similares


Anuncios Google