Teoría y Desarrollo de Juegos
Juego electrónico(definición)




Actividad lúdica desarrollada en(o con la ayuda de) 
cualquier máquina electrónica, compromete 1 o más 
                jugadores humanos.
Breve reseña histórica

●
    1er juego: “Tennis for two” ­ Osciloscopio
●
    1958 – William Higinbotham
Breve reseña histórica

●
    2do juego: SpaceWars
●
    1961 – Steve Russell, Martin Graetz, Waine 
    Wiitanen(MIT)
Breve reseña histórica

●
    Nacen las consolas
●
    Pong(1972) – Atari 2600
Breve reseña histórica

●
    El mercado de consolas crece y empiezan a salir 
    los principales competidores:
    –   Atari, Nintendo, SEGA
●
    Se separan la manufacuración de consolas con la 
    creación de juegos y se crean las compañias de 
    juegos:
    –   Taito, Namco, Konami
Consolas 8x




NES(Nintendo Entertainment System)   Famicon Family
Juegos 8x




   Super Mario Bros   Zelda I: The Adventures of Link
Juegos 8x




     Contra   Goal
Juegos 8x




     Jackal   Metroid
Breve reseña histórica

●
    Sale el primer IBM casero
●
    El computador también es apuntado para la 
    fabricación de juegos.
●
    Más potente que las consolas es atractivo y será el 
    que marcará la dirección en cuanto a tecnología
Juegos PC


                          




       Zork            Bushido




    Prince of Persia   Doom
Consolas 16x




    Super Nintendo   Sega Genesis
Juegos 16x


                                    




   Super Street Fighter 2   Chrono Trigger




    Sonic the Hedgehog           F­Zero
Breve reseña histórica

●
    Con la velocidad actual de los procesadores las 
    posibilidades de diseño se expanden
●
    Es considerada la posibilidad de renderización 3D 
    en tiempo real
●
    Es creado el estándar OpenGL
5ta generación




 Playstation   SEGA Dreamcast   N64
Juegos 5ta generación


                                    




     Final Fantasy VIII   Resident Evil 2




          Silent Hill     Killer Instinct Gold
Juegos 5ta PC


                             




      Warcraft III        Quake 3




        Half Life    Grand Theft Auto 3
6ta generación




 Playstation 2   Microsoft X­Box   Game Cube
7ma generación




 Playstation 3   X­Box 360   Nintendo Wii
Juegos electrónicos de mano

●
    La computación de mano también llegó al 
    mercado de los video juegos:
Principios de Ing. de SW en juegos

●
    Cómo cualquier proyecto a gran escala, los juegos 
    dependen en gran mayoría de su ciclo de vida
●
    Los principios más seguidos son:
    –   Desempeño
    –   Usabilidad
    –   Portabilidad(no tanto)
Desarrollo

●
    Los juegos, como cualquier otro software, 
    necesitan un modelo de desarrollo
●
    Últimamente los juego son desarrollados por 10 ó 
    más programadores
●
    Las tareas de programación son dividas por 
    módulos(sonido, video, etc)
GameLoop

●
    Flujo lógico de un 
    juego(programa)
●
    Cada parte del 'loop' 
    puede ser un módulo 
    independiente
●
    Un ciclo completo se 
    le llama 'frame'
Gráficos

●
    En los últimos 8 años los ambientes en 3D han 
    florecido
●
    Existen 2 librerías principales para las rutinas de 
    desarrollo 3D:
    –   Direct3D(DirectX) : No portable, última tecnología
    –   OpenGL : Portable, bien documentado, las tecnologías 
        demoran un poco
Gráficos

●
    Existen problemas en el ambiente gráfico que 
    consumen demasiados recursos:
    –   Oclusión de objetos
    –   Clipping
    –   Detección de Colisiones
Representación gráfica de objetos

●
    Todos los objetos en 3D son representados en 
    triángulos:
Problemas Gráficos




    Oclusión


                     Detección de Colisiones
Sonido

●
    El sonido también últimamente está siendo 
    implementado con espaciación en 3 dimensiones
●
    Las librerías principales son:
    –   DirectSound(DirectX): No portable, deprecada
    –   OpenAL: Portable, muy nueva
●
    También se agregan efectos como un sonido bajo 
    el agua o el efecto doppler
Sonido
Input

●
    Lo comandos al juego es la tarea más sencilla de 
    todas
●
    Librerías:
    –   DirectInput(DirtectX): No portable, deprecada
    –   SDL:  Portable, entendible
●
    Lo que se busca últimamente es ergonomía en los 
    controles(PAD'S, Joystick's, etc)
Networking

●
    El crecimiento de la accesabilidad a Internet ha 
    demandado la parte 'multijugador' en la mayoría 
    de juegos
●
    Librerías:
    –   DirectPlay(DirectX): No portable, deprecada
    –   Sockets: Especificación, portable, no especializada
●
    Existen juegos especialmente dedicados a ser 
    multijugadores
Networking

●
    Multijugador se 
    puede definir como el 
    juego en paralelo de 2 
    o más máquinas
●
    No todos los juegos 
    se prestan para tener 
    una parte 
    multijugador
Lógica de un juego

●
    IA
●
    Coherencia(lógica):
    –   Reglas de Juego
    –   Física
●
    Argumento(historia)
Motor de un Juego

●
    Todas estas funcionalidades anteriormente 
    mencionadas pueden ser condensadas en una gran 
    librería(framework)
●
    Al software que presenta estas funciones para la 
    ayuda del desarrollo se le llama motor de juego
Motor de un Juego

●
    Entre las funciones 
    anteriormente nombradas 
    existen otras que el motor 
    puede prestar:
    –   Scripting
    –   Manejo de eventos
    –   Control y manejo de 
        estados
Lo último

●
    Se apunta la mayoría de esfuerzos a la evolución 
    de la parte gráfica:
    –   Extensiones
    –   Pixel & Vertex Shader
    –   Física
●
    Se quiere mejorar la IA para que el jugador 
    interactue(juege) con la máquina
●
    Se quiere crear mundos virtuales(masivos)
Las guerras



              Consolas vs. PC's

    DirectX vs. (OpenGL, OpenAL, SDL)

               USA vs. Japón
Los géneros
FPS(First Person Shooter)
Estrategia
Pelea
Arcade
RPG(Rol Playing Game)
Aventura
Simulación
Deportes
Racing
Acción ­ Terror
Géneros no tan típicos
Novelas Visuales
Espionaje
Metal Gear Solid

Clase 9 sistemas

  • 1.
  • 2.
  • 3.
    Breve reseña histórica ● 1er juego: “Tennis for two” ­ Osciloscopio ● 1958 – William Higinbotham
  • 4.
    Breve reseña histórica ● 2do juego: SpaceWars ● 1961 – Steve Russell, Martin Graetz, Waine  Wiitanen(MIT)
  • 5.
    Breve reseña histórica ● Nacen las consolas ● Pong(1972) – Atari 2600
  • 6.
    Breve reseña histórica ● El mercado de consolas crece y empiezan a salir  los principales competidores: – Atari, Nintendo, SEGA ● Se separan la manufacuración de consolas con la  creación de juegos y se crean las compañias de  juegos: – Taito, Namco, Konami
  • 7.
  • 8.
    Juegos 8x Super Mario Bros Zelda I: The Adventures of Link
  • 9.
    Juegos 8x Contra Goal
  • 10.
    Juegos 8x Jackal Metroid
  • 11.
    Breve reseña histórica ● Sale el primer IBM casero ● El computador también es apuntado para la  fabricación de juegos. ● Más potente que las consolas es atractivo y será el  que marcará la dirección en cuanto a tecnología
  • 12.
    Juegos PC   Zork Bushido Prince of Persia Doom
  • 13.
    Consolas 16x Super Nintendo Sega Genesis
  • 14.
    Juegos 16x   Super Street Fighter 2 Chrono Trigger Sonic the Hedgehog F­Zero
  • 15.
    Breve reseña histórica ● Con la velocidad actual de los procesadores las  posibilidades de diseño se expanden ● Es considerada la posibilidad de renderización 3D  en tiempo real ● Es creado el estándar OpenGL
  • 16.
    5ta generación Playstation SEGA Dreamcast N64
  • 17.
    Juegos 5ta generación   Final Fantasy VIII Resident Evil 2 Silent Hill Killer Instinct Gold
  • 18.
    Juegos 5ta PC   Warcraft III Quake 3 Half Life Grand Theft Auto 3
  • 19.
    6ta generación Playstation 2 Microsoft X­Box Game Cube
  • 20.
    7ma generación Playstation 3 X­Box 360 Nintendo Wii
  • 21.
    Juegos electrónicos de mano ● La computación de mano también llegó al  mercado de los video juegos:
  • 22.
    Principios de Ing. de SW en juegos ● Cómo cualquier proyecto a gran escala, los juegos  dependen en gran mayoría de su ciclo de vida ● Los principios más seguidos son: – Desempeño – Usabilidad – Portabilidad(no tanto)
  • 23.
    Desarrollo ● Los juegos, como cualquier otro software,  necesitan un modelo de desarrollo ● Últimamente los juego son desarrollados por 10 ó  más programadores ● Las tareas de programación son dividas por  módulos(sonido, video, etc)
  • 24.
    GameLoop ● Flujo lógico de un  juego(programa) ● Cada parte del 'loop'  puede ser un módulo  independiente ● Un ciclo completo se  le llama 'frame'
  • 25.
    Gráficos ● En los últimos 8 años los ambientes en 3D han  florecido ● Existen 2 librerías principales para las rutinas de  desarrollo 3D: – Direct3D(DirectX) : No portable, última tecnología – OpenGL : Portable, bien documentado, las tecnologías  demoran un poco
  • 26.
    Gráficos ● Existen problemas en el ambiente gráfico que  consumen demasiados recursos: – Oclusión de objetos – Clipping – Detección de Colisiones
  • 27.
    Representación gráfica de objetos ● Todos los objetos en 3D son representados en  triángulos:
  • 28.
    Problemas Gráficos Oclusión Detección de Colisiones
  • 29.
    Sonido ● El sonido también últimamente está siendo  implementado con espaciación en 3 dimensiones ● Las librerías principales son: – DirectSound(DirectX): No portable, deprecada – OpenAL: Portable, muy nueva ● También se agregan efectos como un sonido bajo  el agua o el efecto doppler
  • 30.
  • 31.
    Input ● Lo comandos al juego es la tarea más sencilla de  todas ● Librerías: – DirectInput(DirtectX): No portable, deprecada – SDL:  Portable, entendible ● Lo que se busca últimamente es ergonomía en los  controles(PAD'S, Joystick's, etc)
  • 32.
    Networking ● El crecimiento de la accesabilidad a Internet ha  demandado la parte 'multijugador' en la mayoría  de juegos ● Librerías: – DirectPlay(DirectX): No portable, deprecada – Sockets: Especificación, portable, no especializada ● Existen juegos especialmente dedicados a ser  multijugadores
  • 33.
    Networking ● Multijugador se  puede definir como el  juego en paralelo de 2  o más máquinas ● No todos los juegos  se prestan para tener  una parte  multijugador
  • 34.
    Lógica de un juego ● IA ● Coherencia(lógica): – Reglas de Juego – Física ● Argumento(historia)
  • 35.
    Motor de un Juego ● Todas estas funcionalidades anteriormente  mencionadas pueden ser condensadas en una gran  librería(framework) ● Al software que presenta estas funciones para la  ayuda del desarrollo se le llama motor de juego
  • 36.
    Motor de un Juego ● Entre las funciones  anteriormente nombradas  existen otras que el motor  puede prestar: – Scripting – Manejo de eventos – Control y manejo de  estados
  • 37.
    Lo último ● Se apunta la mayoría de esfuerzos a la evolución  de la parte gráfica: – Extensiones – Pixel & Vertex Shader – Física ● Se quiere mejorar la IA para que el jugador  interactue(juege) con la máquina ● Se quiere crear mundos virtuales(masivos)
  • 38.
    Las guerras Consolas vs. PC's DirectX vs. (OpenGL, OpenAL, SDL) USA vs. Japón
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.