Historias de Desarrollo
Luis Villegas
• Esta presentación refleja la experiencia de un solo
ingeniero
• Decenas de personas trabajaron en los distintos juegos
h...
A g e n d a
• Usted no sabe quien soy yo!
• Historia de Bungie
• Lecciones de Desarrollo
I n t r o d u c c i ó n
• Colombiano (Medellín)
• Ingeniero de Sistemas
• Gamer (Street Fighter, RPGs, Destiny)
I n t r o d u c c i ó n
I n t r o d u c c i ó n
I n t r o d u c c i ó n
I n t r o d u c c i ó n
M i n i B i o g r a f i a
• 2 años en Microsoft
• 1 año en Electronic Arts
• 11 años en Bungie
• Experiencia en desarrollo...
B u n g i e
B u n g i e
• Fundada en 1991 por dos amigos (Alex Seropian y
Jason Jones)
• Comprada por Microsoft en el 2000
• Se convie...
B u n g i e : J u e g o s
B u n g i e : J u e g o s
B u n g i e : J u e g o s
B u n g i e : M a r a t h o n
B u n g i e : M y t h
B u n g i e : M y t h
B u n g i e : M y t h
B u n g i e : M y t h
B u n g i e : O n i
B u n g i e : H a l o
B u n g i e : H a l o
B u n g i e : H a l o
B u n g i e : H a l o
B u n g i e : H a l o
B u n g i e : H a l o
B u n g i e : H a l o
B u n g i e : H a l o
• Tiempo de transición
• Ya queríamos ser independientes y ser dueños de
nuestro propio Destino
• Co...
D e s t i n y
D e s t i n y
• Juego de Acción en primera persona (First Person
Shooter)
• Enfocado en la experiencia Social
• Ofrece sis...
D e s t i n y
• Proyecto a diez años
• Mundo cambiante (nuevas misiones, nuevo equipo y
armamento, etc)
• Contenido de Des...
D e s t i n y
• El Viajero entra al sistema solar, y su llegada nos
permite florecer como civilización
• Empieza la edad d...
D e s t i n y
A c t i v i d a d e s
• La idea era crear un juego con mayor accesibilidad
• El tipo de actividades están repartidas en di...
S o c i a l
• Entorno basado en actividades sociales
• La gran mayoría de actividades están diseñadas para
ser disfrutadas...
D e s t i n y
B u n g i e : C u l t u r a
• “Dont make us kick your ass”
• Todo lo podemos hacer mejor nosotros
• Espíritu 100% independ...
B u n g i e : C u l t u r a
• La meta es crear los juegos que nosotros mismos
queremos jugar
• Ser los mas grandes crítico...
R e t o s c u r i o s o s : M u l t i j u g a d o r
• Halo era un juego altamente competitivo
• Necesitábamos modelar de a...
R e t o s c u r i o s o s : M u l t i j u g a d o r
• También queríamos que los jugadores pudieran ver su
nivel de habilid...
R e t o s c u r i o s o s : M u l t i j u g a d o r
• Empezamos a trabajar en una nueva forma de
determinación de habilida...
R e t o s c u r i o s o s : M u l t i j u g a d o r
• También le dejábamos saber a los jugadores que tan
buenos eran en el...
R e t o s c u r i o s o s : M u l t i j u g a d o r
• También creamos muchos sistemas de seguridad para
detectar a los tra...
R e t o s c u r i o s o s : M u l t i j u g a d o r
• Las lecciones mas grandes que aprendimos:
• Tener cuidado con los nú...
D e s t i n y : D e s a r r o l l o d e M o t o r
M o t o r
M o t o r
• En el 2008 el Motor que teníamos (Blam) estaba
optimizado para el Xbox, y para procesadores
homogéneos
• Era c...
M o t o r
• Empezar desde cero?
• Comprar la licencia de un motor existente?
• Modificar el motor existente?
M o t o r
• Decidimos seguir desarrollando sobre el motor existente
(Blam)
• El Desarrollo estaba basado en estos principi...
C a m b i o s e n u n a D é c a d a
Halo 2 (2004) Destiny (2014)
Peak Engineering Team 17 70
Peak Development Team 115 480...
M o t o r
• Los retos y las soluciones
• El motor tenia que estar funcionando 100% del
tiempo
• Cualquier problema de esta...
M o t o r
• Para los cambios mas grandes usamos un repositorio
aparte
• Era lo correcto pero fue un gran dolor de cabeza
•...
M o t o r
• Lecciones
• Tener un buen plan de migración de código, mas que todo
si el alcance del proyecto y el numero de ...
M o t o r
• Para mas información técnica les recomiendo la
presentación de Chris Butcher en GDC 2015 “Destiny:
Six Years i...
P r o d u c c i ó n
P r o d u c c i ó n
• Varios tipos de metodologías
• El programa primario de Desarrollo tenia metas cada 6 a
8 semanas
• C...
P r o d u c c i ó n
• No tomar ningún método de producción como Religión
• Probar varias metodologías y acomodarlas a las
...
P r o d u c c i ó n
• Les recomiendo que en cada paso de desarrollo tener
un producto con alto nivel de estabilidad
• A ca...
C o n t r o l d e C a l i d a d
C o n t r o l d e C a l i d a d
• Otra area no tan glamurosa del desarrollo de
videojuegos
• En mi opinión esta es la form...
C o n t r o l d e C a l i d a d
• Este principio es aplicado en todos los niveles de
desarrollo
• Tiene un costo: velocida...
E s t a b i l i d a d
• Sistemas automatizados:
• Continous build/Continous integration
• Unit tests: Pruebas unitarias cr...
V e r i f i c a c i ó n e x h a u s t i v a
• Automation: Pruebas automatizadas del juego en las
que se verifican escenari...
D i s t i n t a s a u d i e n c i a s
• Pruebas internas para asegurarnos que la estabilidad y
el ritmo de juego sean posi...
R e c o m e n d a c i o n e s
• Invertir en sistemas automatizados (Por lo menos
Continous Build)
• Asegurarse que los cre...
L a I n d u s t r i a d e V i d e o j u e g o s
• Primer problema: Como aprendo a crear juegos?
• No existía ningún tipo d...
L a I n d u s t r i a d e V i d e o j u e g o s
• Segundo problema: Como entro a una compañía de
juegos?
• La industria co...
B u s c a n d o E x p e r i e n c i a
• La creación de Demos, Juegos Independientes, y
contribuciones a proyectos de códig...
B u s c a n d o E x p e r i e n c i a
• Los primeros proyectos que quise hacer siempre tenían
alcances imposibles (Motor c...
U l t i m o c o n c e j o
• Generar ideas es fácil
• El truco esta en la ejecución
• Generar buenas ideas bajo las restric...
P r e g u n t a s ?
02 vdj egdc_luis villegas
02 vdj egdc_luis villegas
02 vdj egdc_luis villegas
02 vdj egdc_luis villegas
02 vdj egdc_luis villegas
02 vdj egdc_luis villegas
02 vdj egdc_luis villegas
02 vdj egdc_luis villegas
02 vdj egdc_luis villegas
Próxima SlideShare
Cargando en…5
×

02 vdj egdc_luis villegas

100 visualizaciones

Publicado el

colombia 3.0

Publicado en: Empresariales
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
100
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
0
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

02 vdj egdc_luis villegas

  1. 1. Historias de Desarrollo Luis Villegas
  2. 2. • Esta presentación refleja la experiencia de un solo ingeniero • Decenas de personas trabajaron en los distintos juegos hechos por Bungie A d v e r t e n c i a s
  3. 3. A g e n d a • Usted no sabe quien soy yo! • Historia de Bungie • Lecciones de Desarrollo
  4. 4. I n t r o d u c c i ó n • Colombiano (Medellín) • Ingeniero de Sistemas • Gamer (Street Fighter, RPGs, Destiny)
  5. 5. I n t r o d u c c i ó n
  6. 6. I n t r o d u c c i ó n
  7. 7. I n t r o d u c c i ó n
  8. 8. I n t r o d u c c i ó n
  9. 9. M i n i B i o g r a f i a • 2 años en Microsoft • 1 año en Electronic Arts • 11 años en Bungie • Experiencia en desarrollo de Herramientas, Graficas, Plataforma, Infraestructura, y mas recientemente de tecnología en línea
  10. 10. B u n g i e
  11. 11. B u n g i e • Fundada en 1991 por dos amigos (Alex Seropian y Jason Jones) • Comprada por Microsoft en el 2000 • Se convierte en compañía independiente de nuevo en el 2007 • Responsable por la creación de muchos juegos, pero mas conocida por las franquicias de Halo y Destiny
  12. 12. B u n g i e : J u e g o s
  13. 13. B u n g i e : J u e g o s
  14. 14. B u n g i e : J u e g o s
  15. 15. B u n g i e : M a r a t h o n
  16. 16. B u n g i e : M y t h
  17. 17. B u n g i e : M y t h
  18. 18. B u n g i e : M y t h
  19. 19. B u n g i e : M y t h
  20. 20. B u n g i e : O n i
  21. 21. B u n g i e : H a l o
  22. 22. B u n g i e : H a l o
  23. 23. B u n g i e : H a l o
  24. 24. B u n g i e : H a l o
  25. 25. B u n g i e : H a l o
  26. 26. B u n g i e : H a l o
  27. 27. B u n g i e : H a l o
  28. 28. B u n g i e : H a l o • Tiempo de transición • Ya queríamos ser independientes y ser dueños de nuestro propio Destino • Comienza un nuevo capitulo para la compañía
  29. 29. D e s t i n y
  30. 30. D e s t i n y • Juego de Acción en primera persona (First Person Shooter) • Enfocado en la experiencia Social • Ofrece sistema de Inversión para mantener al jugador interesado
  31. 31. D e s t i n y • Proyecto a diez años • Mundo cambiante (nuevas misiones, nuevo equipo y armamento, etc) • Contenido de Descarga, Expansiones, y mas en el futuro • Estudio con mas de 500 empleados
  32. 32. D e s t i n y • El Viajero entra al sistema solar, y su llegada nos permite florecer como civilización • Empieza la edad de oro, y se colonizan otros planetas • El Viajero es alcanzado por sus enemigos, los cuales casi destruyen por completo nuestra civilización • El jugador es la esperanza de el planeta tierra
  33. 33. D e s t i n y
  34. 34. A c t i v i d a d e s • La idea era crear un juego con mayor accesibilidad • El tipo de actividades están repartidas en distinto tipo de inversiones de tiempo • Los Patrols pueden tomar menos de 10 minutos • Las misiones de la historia pueden tomar entre 30 minutos a mas de una hora • Los Raids pueden tomar varias horas
  35. 35. S o c i a l • Entorno basado en actividades sociales • La gran mayoría de actividades están diseñadas para ser disfrutadas tanto solo como en grupo • El universo de Destiny siempre esta cambiando, y en el camino se encuentran otros jugadores con distintos niveles de progreso
  36. 36. D e s t i n y
  37. 37. B u n g i e : C u l t u r a • “Dont make us kick your ass” • Todo lo podemos hacer mejor nosotros • Espíritu 100% independiente • La mas importante es la gente, no la propiedad intelectual • La innovación puede ocurrir en cualquier nivel de la compañía
  38. 38. B u n g i e : C u l t u r a • La meta es crear los juegos que nosotros mismos queremos jugar • Ser los mas grandes críticos de nuestro trabajo • Generar un entorno de colaboración y no de competencia interna • La calidad del juego es lo mas importante
  39. 39. R e t o s c u r i o s o s : M u l t i j u g a d o r • Halo era un juego altamente competitivo • Necesitábamos modelar de alguna forma la habilidad de un jugador • Investigamos distintos modelos Sistema matemático interno ELO (Ajedrez) Glicko
  40. 40. R e t o s c u r i o s o s : M u l t i j u g a d o r • También queríamos que los jugadores pudieran ver su nivel de habilidad • Utilizamos en Halo 2 un modelo basado en ELO • Creo un problema muy curioso: híper-competitividad + anonimato en línea + ansiedad de perder = presión emocional negativa
  41. 41. R e t o s c u r i o s o s : M u l t i j u g a d o r • Empezamos a trabajar en una nueva forma de determinación de habilidad con Microsoft y la Universidad de Cambridge • El nuevo sistema se llamaba “TruSkill”
  42. 42. R e t o s c u r i o s o s : M u l t i j u g a d o r • También le dejábamos saber a los jugadores que tan buenos eran en el mundo “leaderboards” • Estos nos causo muchos dolores de cabeza • Los jugadores se obsesionaron con su nivel y con el numero de puesto • Esto llevo a la creación de muchos grupos de hackers y otros tramposos que solo querían ver su nombre como numero 1
  43. 43. R e t o s c u r i o s o s : M u l t i j u g a d o r • También creamos muchos sistemas de seguridad para detectar a los tramposos • Colección de datos con análisis post-mortem • Todas los jugadores suben estadísticas como parte del juego
  44. 44. R e t o s c u r i o s o s : M u l t i j u g a d o r • Las lecciones mas grandes que aprendimos: • Tener cuidado con los números que se presentan al jugador ya que pueden crear experiencia negativas • Intentar aprovechar el sector académico para resolver problemas interesantes
  45. 45. D e s t i n y : D e s a r r o l l o d e M o t o r
  46. 46. M o t o r
  47. 47. M o t o r • En el 2008 el Motor que teníamos (Blam) estaba optimizado para el Xbox, y para procesadores homogéneos • Era claro que el futuro estaría lleno de procesadores heterogéneos, y que el motor no estaba listo para esos cambios • Empezamos la evaluación de nuestras opciones
  48. 48. M o t o r • Empezar desde cero? • Comprar la licencia de un motor existente? • Modificar el motor existente?
  49. 49. M o t o r • Decidimos seguir desarrollando sobre el motor existente (Blam) • El Desarrollo estaba basado en estos principios: - Multihilo, Multiplataforma - Separacion de motor y lógica de juego - Mantener todas la buena funcionalidad de Blam (Networking, AI, Sandbox, etc)
  50. 50. C a m b i o s e n u n a D é c a d a Halo 2 (2004) Destiny (2014) Peak Engineering Team 17 70 Peak Development Team 115 480 Source Files 3,624 25,290 Lines of Code 1.5M 5.7M Final Executable Size 4.9MB 26MB Source Content Data 70GB 2TB Content Build Size 4.2GB 20GB
  51. 51. M o t o r • Los retos y las soluciones • El motor tenia que estar funcionando 100% del tiempo • Cualquier problema de estabilidad nos costaría mucho tiempo y dinero • Decidimos mantener los nuevos y viejos componentes al mismo tiempo
  52. 52. M o t o r • Para los cambios mas grandes usamos un repositorio aparte • Era lo correcto pero fue un gran dolor de cabeza • Cada integración entre repositorios tomaba días y a veces semanas
  53. 53. M o t o r • Lecciones • Tener un buen plan de migración de código, mas que todo si el alcance del proyecto y el numero de ingenieros incrementa • Utilizar buenas metodologías de producción y control de calidad para mantener el nivel de calidad del código lo mas alto posible pre y post integracion
  54. 54. M o t o r • Para mas información técnica les recomiendo la presentación de Chris Butcher en GDC 2015 “Destiny: Six Years in the Making”
  55. 55. P r o d u c c i ó n
  56. 56. P r o d u c c i ó n • Varios tipos de metodologías • El programa primario de Desarrollo tenia metas cada 6 a 8 semanas • Cada grupo de ingeniería manejaba su propio programa dentro de esas 6 a 8 semanas • Varias grupos usaron Scrum, otros un modelo mas clásico de desarrollo en cascada
  57. 57. P r o d u c c i ó n • No tomar ningún método de producción como Religión • Probar varias metodologías y acomodarlas a las necesidades del equipo • En el grupo de Online teníamos metas cada 3 semanas, cada meta requería un demo por ingeniero, y validación de el grupo de control de calidad
  58. 58. P r o d u c c i ó n • Les recomiendo que en cada paso de desarrollo tener un producto con alto nivel de estabilidad • A cada paso del proceso se debe tener la capacidad de correr y validar el juego (o los sistemas de juego)
  59. 59. C o n t r o l d e C a l i d a d
  60. 60. C o n t r o l d e C a l i d a d • Otra area no tan glamurosa del desarrollo de videojuegos • En mi opinión esta es la formula secreta de Bungie • Existe una cultura de calidad entre todos los miembros de Bungie
  61. 61. C o n t r o l d e C a l i d a d • Este principio es aplicado en todos los niveles de desarrollo • Tiene un costo: velocidad de cambio, hay que hacer el balance con cuidado • Usamos muchos sistemas automatizados para reducir el margen de error humano
  62. 62. E s t a b i l i d a d • Sistemas automatizados: • Continous build/Continous integration • Unit tests: Pruebas unitarias creadas por los ingenieros para asegurarse que el código sea estable • Gaunlet: sistema de validación liviano que se ejecuta antes de que el código se haga parte oficial del repositorio)
  63. 63. V e r i f i c a c i ó n e x h a u s t i v a • Automation: Pruebas automatizadas del juego en las que se verifican escenarios específicos (Torre, PvP, Espacios Publicos, etc) • BVTs: Build Verification Tests. Un grupo que se dedica a hacer pruebas manuales y recomiendan versiones especificas para desarrollo
  64. 64. D i s t i n t a s a u d i e n c i a s • Pruebas internas para asegurarnos que la estabilidad y el ritmo de juego sean positivos con varios jugadores • Pruebas externas con distintas audiencia para hacer pruebas de escala y diversión • Friends and Family • Alpha • Beta
  65. 65. R e c o m e n d a c i o n e s • Invertir en sistemas automatizados (Por lo menos Continous Build) • Asegurarse que los creadores de contenido nunca estén bloqueados • Utilizar todos los recursos posibles para crear criticas constructivas del juego
  66. 66. L a I n d u s t r i a d e V i d e o j u e g o s • Primer problema: Como aprendo a crear juegos? • No existía ningún tipo de documento que describiera el desarrollo de juegos profesionalmente • Y todas las compañías mantenían un nivel muy alto de confidencialidad
  67. 67. L a I n d u s t r i a d e V i d e o j u e g o s • Segundo problema: Como entro a una compañía de juegos? • La industria con el problema de la gallina y el huevo • Te piden experiencia en juegos para contratarte • Como se gana experiencia si no te contratan?
  68. 68. B u s c a n d o E x p e r i e n c i a • La creación de Demos, Juegos Independientes, y contribuciones a proyectos de código abierto generan esa experiencia • Le recomiendo mucho a los que están empezando que sigan con sus proyectos personales • Se deben seleccionar los proyectos con cuidado y hay que ser realistas en lo que se puede lograr
  69. 69. B u s c a n d o E x p e r i e n c i a • Los primeros proyectos que quise hacer siempre tenían alcances imposibles (Motor completo, nueva arquitectura grafica, simulación física, editor, sistemas de conexión sobre redes, etc.), esto nunca se materializo • Si fuese a empezar de nuevo escogería algo mas pequeño (i.e. sistema de conexión sobre redes en un juego existente)
  70. 70. U l t i m o c o n c e j o • Generar ideas es fácil • El truco esta en la ejecución • Generar buenas ideas bajo las restricciones que vienen con producción es donde se define si el juego va a ver la luz del día • Siempre hay que trabajar con limites
  71. 71. P r e g u n t a s ?

×