Sei sulla pagina 1di 9

Programación Avanzada

Programación Avanzada
Desarrollo de Videojuegos

Esp. Ing. César Aranda


unidatos@gmail.com

Licenciatura en Informática y Desarrollo de Software


v.2014

Ortega y Gasset dijo, en 1946 …


“Por eso, señores, la vida -el Hombre- se ha esforzado siempre en
añadir a todos sus haceres impuestos por la realidad el más extraño y
sorprendente hacer: un hacer, una ocupación que consiste
precisamente en dejar de hacer todo lo demás que hacemos
seriamente. Este hacer, esta ocupación que nos libera de las demás
es... jugar.
Mientras jugamos no hacemos nada -se entiende, no hacemos nada
en serio.
El juego es la más pura invención del hombre; todas las demás le
vienen, más o menos, impuestas y preformadas por la realidad. Pero
las reglas de un juego -y no hay juego sin reglas- crean un mundo que
no existe. Y las reglas son pura invención humana.
Dios hizo al mundo, este mundo; bien, pero el hombre hizo el ajedrez -
el ajedrez y todos los demás juegos. El hombre hizo, hace... el otro
mundo, el verdaderamente otro, el mundo que es broma y farsa”.
Ing. César Omar Aranda - Lic. Enrique Ruiz 2

1
Programación Avanzada

¿Hay juegos útiles?

Ing. César Omar Aranda - Lic. Enrique Ruiz 3

El juego
 “El juego, pues, es el arte o técnica que el hombre posee para
suspender virtualmente su esclavitud dentro de la realidad, para
evadirse, escapar, traerse a sí mismo de este mundo en que vive a
otro irreal… El juego es distracción... es algo consustancial a la vida
humana”. [Ortega y Gasset]
 “El juego es el conjunto de reglas que definen una experiencia lúdica”.
[von Neumann]
 “El juego es una acción u ocupación libre, que se desarrolla dentro de
unos límites temporales y espaciales determinados, según reglas
absolutamente obligatorias, aunque libremente aceptadas, acción que
tiene su fin en sí misma y va acompañada de un sentimiento de
tensión y alegría y de la conciencia de ser de otro modo que en la vida
corriente”. [Huizinga]
 “Un juego es un sistema en el cual unos jugadores se ven
involucrados en un conflicto creado artificialmente, definido por reglas,
y cuyo final viene definido por un objetivo cuantificable”. [Salem]
Ing. César Omar Aranda - Lic. Enrique Ruiz 4

2
Programación Avanzada

Conceptos iniciales
 Juego
 En general, puede entenderse como la evolución, de uno o
varios personajes principales o entidades que pretenden
alcanzar una serie de objetivos en un mundo acotado, los cuales
están controlados por el propio usuario.
 Videojuego
 Es una aplicación gráfica en tiempo real en la que existe una
interacción explícita entre el usuario y el propio videojuego.
 Tiempo real
 Asociado a la necesidad de lograr un Frame Rate capaz de darle
al usuario una sensación continua de realidad.
 Frame Rate
 Tasa de imágenes o cuadros. Habitualmente en fps

Ing. César Omar Aranda - Lic. Enrique Ruiz 5

Industria
 Actualmente, la industria del videojuego goza de muy
buena salud a nivel mundial, rivalizando en presupuesto
con las industrias cinematográfica y musical (11.000
millones de euros, en el mercado europeo en 2011).
 Los primeros videojuegos, caracterizados principalmente
por su simplicidad y por el hecho de estar desarrollados
completamente sobre hardware.
 La evolución ha estado ligada varios hitos:
 Juegos (Doom, Final Fantasy, Tekken, Zelda, The sims, WoW);
 Hardware (CPU, GPU, poligonales 3D, P-Shaders, consolas de
juego, dispositivos móviles, multiprocesamiento);
 Software (multiprocesamiento, motores de juego, internet);
 Fenómenos sociales (globalización y transculturación, redes
sociales → social gaming).
Ing. César Omar Aranda - Lic. Enrique Ruiz 6

3
Programación Avanzada

Evolución

1962

7
Ing. César Omar Aranda - Lic. Enrique Ruiz 2006

Motor de Juego
 Componente de software encargado de:
 Renderizado de gráficos 2D y 3D, motor físico o detector de
colisiones, sonidos, scripting, animación, inteligencia artificial,
redes, streaming, gestión de memoria y del escenario gráfico.
 Arquitectura dirigida por datos (data-driven architecture)
 Principio:
 La lógica o comportamiento dado mediante una serie de reglas
definidas a través de un lenguaje de script
 Mayor Reutilización, mejor Productividad, mayor Generalidad
 Ejemplos
 Quake I, II, III, Unreal Engine, CryENGINE 3 SDK
 3D Rad, Adventure Game Studio, Axiom Engine, Buld Engine,
Cocos 2D, Core3D, Crystal Space, idTechx, Nebula Device, …
Ing. César Omar Aranda - Lic. Enrique Ruiz 8

4
Programación Avanzada

Arquitectura del Motor


 Arquitectura estructurada
en capas
 Donde las capas de nivel
superior dependen de las
capas de nivel inferior,
pero no de manera
inversa.
• Biblioteca matemática
• Estructuras de datos y algorítmos
• Gestión de memoria
• Debugging y logging

• STL (Standard Template Library)


• APIs gráficas OpenGL y Direct3D
• Havok Physics
• Open Dynamics Engine
• (ODE) 3D

Ing. César Omar Aranda - Lic. Enrique Ruiz 9

Otras Capas

Ing. César Omar Aranda - Lic. Enrique Ruiz 10

5
Programación Avanzada

Géneros de Juegos
 De disparos FPS: Quake, HalfLife, MoH
 De Disparos TPS: Resident Evil, Metal Gear, Uncharted, TombRider
 De Acción/Lucha: Virtua Fighter, Street Fighter, Tekken
 De Conducción o Carreras (Simuladores o Arcade): Ridge Racer, Wipe
Out
 De Estrategia (En tiempo real oBasados en Turno): Warcraft, AoE
 De Rol o RPG (role-playing games): Final Fantasy, Tales of Xillia
 De Aventura: Beyond, Resonance, The Walking Dead, Gone Home
 De Deportes: FIFA14, NBA2K14, PES 2014, FX Fútbol
 De Rompecabezas (puzzles): Candy Crush, World of Cheese, Puzzles
& Jigsaws
 De Vida Artificial: Tamagotchi, Petz, Viva Piñata, Nintendogs, Los Sims
 De “juegos de mesa”: Solitario, Poker
 De construcción, educativos, tragamonedas, pinballs, ……..
Ing. César Omar Aranda - Lic. Enrique Ruiz 11

Desarrollo de Juegos
 Entornos (IDES) o herramientas básicas
 Netbeans, Eclipse, gcc/make/db
 Sistemas de control de versión (VCS)
 VCS, Subversion (SVN), Mercurial, Git
 Gestión de Documentación
 Doxygen
 Sistemas de Gestión de Proyectos
 GNA, BitBucket, GitHub, SourceForge, Mercurial, Google Code,
Redmine
 Herramientas, Librerías y Motores
 Plataformas
 Lenguajes
Ing. César Omar Aranda - Lic. Enrique Ruiz 12

6
Programación Avanzada

Elementos de Diseño de un Juego


 Idea y tipificación
 Soporte del juego
 Interfaz HM, Interfaz de HW, Interfaz gráfica del SW;
 Elementos formales
 Jugadores, Objetivos, Procedimientos, Reglas estructurales y del
juego, Recursos, Conflictos, Límites / Niveles, Salida, Puntuación
y Vidas;
 Elementos Dramáticos
 Elementos narrativos del VJ, Competencia, Juego, Premisas,
Personajes [héroes, enemigos, etc.], Historia, Características del
mundo;
 Dinámica del sistema
 Partida, Movimiento, Turno, Fase, Ronda, Estrategia,
Comportamientos Especiales o Inteligentes 13
Ing. César Omar Aranda - Lic. Enrique Ruiz

Metodología de Producción
 No existe una metodología
estándar
 Se identifican 3 fases:
 Pre-producción
 Producción
 Post-producción
 Hay discusión sobre las
etapas que involucra cada
fase
 Producción: fase donde se
implementan los elementos
del juego.
Ing. César Omar Aranda - Lic. Enrique Ruiz 14

7
Programación Avanzada

Equipo de desarrollo

Ing. César Omar Aranda - Lic. Enrique Ruiz 15

El “diseñador” de juegos
 Los campos del conocimiento fundamentales con los
que debería estar familiarizado todo diseñador de juegos
son:

 Sistemas.

 Filosofía y Psicología.

 Comunicación.

 Programación y Matemáticas.

Crawford, 2003
Ing. César Omar Aranda - Lic. Enrique Ruiz 16

8
Programación Avanzada

¿Conclusión o comienzo?
 Un buen cierre de este módulo sería preguntarnos, más
allá de los aspectos económicos:

 ¿Qué nos mueve o nos puede movilizar a diseñar o


crear videojuegos?

 Como dice López Barinaga:

 Buscamos crear sistemas que respondan como un ser


vivo y que nos permitan vivir en mundos inexistentes tan
reales como el nuestro.

Ing. César Omar Aranda - Lic. Enrique Ruiz 17

Bibliografía y enlaces de interés


 LOPEZ BARINAGA, B. (2010). Juego, historia, teoría y
práctica del diseño conceptual de videojuegos. Madrid:
Alesia Games & Studies
 FULLERTON, T. (2008). Game Design Workshop. 2ª
edición. EEUU: Morgan Kaufmann Publishers
 http://jugabilidad.wikispaces.com/Producci%C3%B3n+y+
Desarrollo+de+Videojuegos
 http://deusexmachina.es/diez-videojuegos-que-
cambiaron-la-historia-y-cinco-menciones/

Ing. César Omar Aranda - Lic. Enrique Ruiz 18

Potrebbero piacerti anche