2.
Desarrollo
de
Videojuegos
http://cse.spsu.edu/jchastin/
Dr.
Jeff
Chastine
es
Profesor
Asociado
del
Departamento
de
Ciencias
de
la
Computación
e
Ingeniería
de
Software
de
Southern
Polytechnic
State
University,
Atlanta
–
USA.
Actualmente
enseña
los
cursos
de
Fundamentos
de
Diseños
de
Juegos,
Modelamiento
y
Animacióno
en
3D,
Computación
Grafica
y
Multimedia,
y
Tópicos
Especiales
en
Realidad
Aumentada.
Ha
sido
consultor
en
el
desarrollo
de
tutoriales,
juegos
y
soundtrack
para
3dvia
Studio
engine.
Tiene
experiencia
en
el
desarrollo
de
juegos
utilizando
realidad
aumentada,
para
Media
Power,
Inc.
Resumen:
Los
ingresos
de
los
videojuegos
han
superado
con
creces
la
industria
cinematográfica,
como
resultado,
existe
una
creciente
demanda
de
desarrolladores.
Hoy
en
día
el
desarrollo
de
videojuegos
es
visto
como
un
campo
legítimo
de
estudio.
El
desarrollo
de
los
juegos
no
es
trivial.
Se
requiere
que
los
desarrolladores
tengan
un
sólido
conocimiento
de
informática,
y
una
nueva
serie
de
algoritmos
y
métodos
para
su
desarrollo.
Además,
el
desarrollo
de
juegos
a
menudo
requiere
de
un
equipo
creativo
con
altamente
diversos
orígenes,
incluyendo
especializaciones
en
2D
y
3D
arte,
composición
musical,
el
sonido,
la
programación
y
los
negocios.
En
esta
intensa
semana
los
estudiantes
estarán
expuestos
a
una
amplia
variedad
de
conceptos
y
tecnologías
utilizadas
en
el
diseño
de
juegos.
Los
temas
incluyen
conceptos
de
diseño
de
juego
(por
ejemplo,
lo
que
hace
que
un
juego
"divertido"),
técnicas
para
juegos
2D,
algoritmos
para
el
desarrollo
del
juego
(por
ejemplo,
flocado
y
la
inteligencia
artificial),
música
y
diseño
de
sonido,
y
pipelines
de
modelado
3D.
El
curso
termina
con
el
desarrollo
de
juegos
3D,
que
incluye
temas
como
la
animación
de
personajes,
la
generación
de
terreno,
y
el
audio
3D.
El
curso
consta
de
clases
y
laboratorios
prácticos
para
reforzar
los
conceptos
de
clase.
Conocimientos
previos:
Para
obtener
el
máximo
provecho
los
estudiantes
deben
tener
conocimientos
de
programación,
comprensión
de
estructuras
de
datos
básicas.
Aunque
algunos
ejemplos
estarán
en
C++,
la
mayoría
de
los
laboratorios
de
codificación
estará
en
C#,
C#-‐script
y
/
o
Javascript.
TEMAS
Introducción
a
Diseño
·∙
Estado
de
la
industria
del
juego
3. ·∙
Por
dónde
empezar
·∙
Mecánica,
Dinámica,
Estética
·∙
Estimulación
(Pacing)
·∙
Balance
·∙
Flujo
(Flow)
·∙
Ajuste
de
dificultad
dinámica
·∙
El
papel
de
la
asignación
al
azar
en
los
juegos
·∙
Controversias
en
los
juegos
·∙
Juegos
en
comparación
Historias
·∙
Los
documentos
de
diseño
(Concepto,
Propuesta,
Especificación
Funcional,
Especificaciones
Técnicas)
Desarrollo
de
Juegos
en
2
dimensiones
·∙
Renderizado
2D
básico
·∙
Inteligencia
artificial
2D
básico
·∙
Programación
basada
en
azulejos
(tiles),
grandes
terrenos
en
2D
·∙
Sistemas
de
partículas
simples
·∙
Entrada
de
los
juegos
modernos
(por
ejemplo,
un
gamepad)
·∙
Una
introducción
a
3D
de
desarrollo
y
coordinar
espacios.
·∙
Menús
·∙
Software
patrones
de
diseño
comunes
en
los
juegos
Algoritmos
Intermedios
·∙
La
tubería
(pipeline)
de
juego
(pre-‐producción,
producción
y
post-‐producción)
·∙
sistemas
de
partículas
avanzadas
·∙
Inteligencia
Artificial
y
flocado
·∙
Ruta
siguiente
(curvas
de
Bezier),
y
la
planificación
de
ruta
(A*)
·∙
Gráficos
3D
·∙
Sprites
animados
·∙
Cinemática
inversa
y
Animación
de
Personajes
·∙
La
detección
de
colisiones
·∙
Teoría
de
audio
del
computadora
·∙
Industria
del
Juego
(marketing,
publicidad)
Audio
y
3D
Game
Engines
·∙
Herramientas
de
audio
·∙
La
música
basada
en
loops
·∙
fmod
·∙
Creación
de
objetos,
materiales
y
texturización
·∙
Los
controladores
en
tercera
persona
primero
y
(entrada)
·∙
Pipeline
de
activos
·∙
Animación
de
personajes
·∙
Iluminación
·∙
Terreno
y
estorbar
·∙
La
detección
de
colisiones
y
física
·∙
Scripting
·∙
Menús
3D
·∙
Skyboxes
·∙
Audio
3D
4.
Arquitectura
de
Software
Bárbara
Bernal
es
profesora
del
Departamento
de
Ciencias
de
la
Computación
e
Ingeniería
de
Software
de
Southern
Polytechnic
State
University
(SPSU),
Atlanta
.
Tiene
a
su
cargo
el
dictado
de
los
cursos
Ingeniería
del
Software,
Análisis,
Diseño
y
Arquitectura
de
Software,
Testing
y
Aseguramiento
de
la
Calidad
y
Diseño
Centrado
en
el
Usuario.
Bárbara
es
co-‐autora
del
libro
“Essentials
of
Software
Engineering”
El
libro
es
utilizado
por
SPSU
así
como
otras
40
Escuelas
de
Computación,
incluida
incluída
Carnegie
Mellon
University.
Resumen:
Este
curso
cubre
los
principios
fundamentales
del
diseño
y
estrategias
para
la
arquitectura
del
software.
Arquitectura
de
Software
es
una
visión
abstracta
de
un
sistema
de
software
distinto
de
los
detalles
de
la
ejecución,
algoritmos
y
representación
de
datos.
Arquitectura
es,
cada
vez
más,
una
parte
fundamental
de
un
software
estrategia
empresarial
de
la
organización.
Estilos
arquitectónicos,
atributos
de
calidad
anotaciones
y
documentos,
arquitectura
de
referencia
específicos
de
dominio
arquitectura
en
proceso
y
modelo
de
diseño,
orientado
a
componentes
de
diseño,
programación
orientada
a
aspectos
diseño,
y
detalles
del
proceso
del
diseño
de
la
interfaz
se
analizan.
Conocimientos
previos:
Este
curso
está
dirigido
a
profesionales
que
enseñan,
diseñan,
desarrollan
o
administran
la
construcción
de
sistemas
de
software.
Este
curso
está
diseñado
para
ayudar
a
los
profesionales
de
la
educación
práctica
software
obtener
una
visión
de
los
últimos
conceptos
de
lo
que
es
arquitectura
de
software
y
de
cómo
utilizarlo
correctamente.
Este
curso
proporciona
cobertura
en
profundidad
de
los
conceptos
esenciales
necesarios
para
diseñar
y
analizar
la
arquitectura
del
software.
Las
consideraciones
para
definir
cualquier
arquitectura
son
examinados
cuidadosamente
y,
a
continuación,
se
ilustra
a
través
de
estudios
de
caso.
Este
curso
explora
arquitectura
análisis
en
profundidad
y
arquitectura
de
software
introduce
métodos
de
diseño
a
través
de
varios
ejercicios.
Los
participantes
estudiar
la
aplicación
de
estos
métodos
para
obtener
la
posibilidad
de
aplicarlas
a
muestras
de
problemas.
El
curso
hace
hincapié
en
la
importancia
de
la
empresa
(o
misión)
contexto
en
el
que
los
sistemas
están
diseñados
y
presenta
a
los
participantes
a
arquitecturas
de
software
en
un
entorno
real.
"Industrial"
estudios
de
casos
y
ejercicios
curso
iluminar
la
clave
cuestiones
técnicas
y
de
organización
sobre
arquitecturas
de
software.
Los
participantes
deberán
tener:
• Experiencia
en
el
desarrollo
de
sistemas
de
software
• Familiaridad
con
modernos
conceptos
de
ingeniería
de
software
• Conocimientos
de
Requisitos
de
Software
• Conocimientos
de
Estructuras
de
Datos
5.
TEMAS
1. Estilos
arquitectónicos
Software
2. Software
atributos
arquitectónicos
3. Arquitectura
Software
Notaciones
y
UML.
4. Arquitectura
de
la
interfaz
de
usuario
y
diseño
5. Espacio
de
diseño
Arquitectura
de
Software.
6. Modelo
de
arquitectura
de
Software.
7. El
dominio
de
arquitectura
específica
8. Herramientas
Software
para
Diseño
Arquitectónico
9. Diseño
orientado
a
objetos.
10. Aspecto
de
la
arquitectura
orientada
a
11. Arquitectura
de
flujo
de
datos
12. Arquitectura
de
datos
centrada
13. Arquitectura
Jerarquía
14. Arquitectura
implícita
comunicación
asíncrona.
15. Interacción
Arquitectura
orientada
al
control
de
la
vista
(modelo)
16. Diseño
de
arquitectura
distribuida
17.
Diseño
de
la
arquitectura
orientada
a
Componentes