PDF de programación - Lógica del videojuego

Imágen de pdf Lógica del videojuego

Lógica del videojuegográfica de visualizaciones

Publicado el 20 de Marzo del 2018
447 visualizaciones desde el 20 de Marzo del 2018
970,1 KB
84 paginas
Creado hace 8a (21/02/2012)
Lógica del
videojuego


Jordi Duch i Gavaldà
Heliodoro Tejedor Navarro

PID_00188520

CC-BY-NC-ND • PID_00188520

Lógica del videojuego

Los textos e imágenes publicados en esta obra están sujetos –excepto que se indique lo contrario– a una licencia de
Reconocimiento-NoComercial-SinObraDerivada (BY-NC-ND) v.3.0 España de Creative Commons. Podéis copiarlos, distribuirlos
y transmitirlos públicamente siempre que citéis el autor y la fuente (FUOC. Fundación para la Universitat Oberta de Catalunya),
no hagáis de ellos un uso comercial y ni obra derivada. La licencia completa se puede consultar en http://creativecommons.org/
licenses/by-nc-nd/3.0/es/legalcode.es

CC-BY-NC-ND • PID_00188520

Índice

Lógica del videojuego


Introducción...............................................................................................

Objetivos.......................................................................................................

1.

Ingeniería del software aplicada a los videojuegos..................
Paradigmas de programación ......................................................
1.1.
Programación no estructurada ......................................
1.1.1.
1.1.2.
Programación estructurada ............................................
Programación modular ..................................................
1.1.3.
Programación usando tipos abstractos de datos ............
1.1.4.
1.1.5.
Programación orientada a objetos .................................
1.1.6. Características de la POO ..............................................
Patrones de diseño ......................................................................
Singleton ........................................................................
1.2.1.
1.2.2.
Factory Method .............................................................
Proxy ..............................................................................
1.2.3.
1.2.4.
Iterator..............................................................................
1.2.5. Observer .........................................................................
1.2.6. Modelo-vista-controlador ..............................................

1.2.

2.1.


2. El programa principal de un videojuego....................................
Estados de un videojuego ...........................................................
2.1.1. Diagrama de estados ......................................................
2.1.2.
El gestor de estados .......................................................
2.1.3. Diagrama de estados y subestados ................................
El controlador principal ..............................................................
El bucle principal del juego ........................................................

2.2.
2.3.

3.1.


3. El motor lógico de un videojuego.................................................
El mundo lógico del juego .........................................................
3.1.1. Discretización del mundo .............................................
Tareas del motor de lógica ..........................................................
3.2.1. Aplicar movimiento de los elementos del juego ...........
3.2.2. Aplicar acciones de los elementos del juego .................
3.2.3. Cálculo del nuevo estado del juego ..............................

3.2.


4. Gestión de los datos de un videojuego.........................................
4.1. Objetos y entidades ....................................................................
Implementación de un objeto .......................................
Implementación de objetos usando herencia ...............
4.2. Niveles del juego .........................................................................

4.1.1.
4.1.2.

5

6

7
7
8
8
9
10
11
13
16
17
18
19
21
23
26

28
28
29
30
33
34
36

39
39
40
42
42
43
44

46
46
48
53
61

CC-BY-NC-ND • PID_00188520

Lógica del videojuego

4.2.1.

Implementando un nivel ..............................................
4.3. Almacenamiento de los datos .....................................................
4.3.1. Datos binarios ................................................................
4.3.2. Datos no binarios ..........................................................
Editor de objetos y de niveles ....................................................

4.4.


5. Lenguajes del scripting.....................................................................

5.1. Diferencia entre un lenguaje interpretado y un lenguaje

compilado ....................................................................................
5.2. Ventajas y desventajas del scripting..............................................
5.3.
Lenguajes de scripting...................................................................
Introducción a LUA .......................................................
5.3.1.
Integración de LUA con C ............................................
5.3.2.
5.3.3.
Integración de LUA con C++ usando luabind.................
5.4. Usos del scripting..........................................................................
5.4.1. Almacenamiento de datos .............................................
5.4.2. Grafos de estado de la IA y lógica del juego ..................
5.4.3. Definición y control de interfaces de usuario ...............
5.4.4. Guiones de vídeos .........................................................


Resumen.......................................................................................................

Actividades..................................................................................................

Glosario........................................................................................................

Bibliografía.................................................................................................

62
63
63
64
67

68

68
70
71
72
73
74
77
77
77
78
79

80

81

82

83

CC-BY-NC-ND • PID_00188520

Introducción

5

Lógica del videojuego

Lo que diferencia un videojuego de cualquier otro tipo de aplicación no son
sus gráficos ni su sonido, sino el conjunto de retos y reglas que estimulan la
interacción con el usuario. Con los elementos explicados hasta ahora aún no
podemos implementar ningún juego, sino que se trata solamente de comple-
mentos que principalmente van a ayudar a que el usuario se sienta más inte-
grado dentro del juego y que pueda tener acceso a la mayor cantidad de infor-
mación posible para poder desarrollar la partida.

La parte donde se controla el desarrollo del juego es lo que llamamos el mo-
tor de lógica. Esta parte, tan o más importante que todas las descritas ante-
riormente, incluye la descripción de los atributos de todos los elementos que
participan, y de todas las reglas y condiciones que hemos situado en el juego.
Continuamente mira las acciones que han realizado los jugadores y los ele-
mentos controlados por la inteligencia artificial y decide si estas acciones se
pueden llevar a cabo y cuál es el resultado de ejecutarlas.

Dentro del motor lógico de juego se juntan tres elementos muy importantes:





La integración de todos los componentes que hemos visto hasta ahora
La gestión de todos los datos de la partida
La aplicación de las reglas del juego

Veremos con detalle cómo se implementan estos tres elementos, que serán el
corazón de nuestro juego.

Además, la parte del motor lógico es la que se encuentra más ligada al proceso
creativo del juego y es donde intervienen algunos perfiles no tan familiariza-
dos con la programación avanzada. Para separar la parte creativa de la progra-
mación se utilizan los lenguajes de script, que veremos en la última parte del
módulo.

CC-BY-NC-ND • PID_00188520

Objetivos

6

Lógica del videojuego

Con el material de este curso podréis alcanzar los objetivos siguientes:

1. Repasar los conceptos de ingeniería del software necesarios para el desa-

rrollo de la estructura del videojuego.

2.

Implementar un diagrama de estados para gestionar las transiciones entre
los diferentes estados de un juego.

3. Diseñar el bucle principal de un juego.

4. Organizar la información en la vista lógica para que el motor lógico y la

inteligencia artificial conozcan el desarrollo de la partida.

5.

Implementar el motor lógico para garantizar que las reglas del juego se
cumplen.

6. Almacenar los datos necesarios para el juego de una forma óptima y es-

tructurada.

7. Utilizar un lenguaje de scripting para facilitar el trabajo del diseñador del

juego.

CC-BY-NC-ND • PID_00188520

7

Lógica del videojuego

1. Ingeniería del software aplicada a los videojuegos

En el primer apartado de este módulo vamos a hacer un repaso de la teoría
básica de ingeniera del software y cómo se introducen los conceptos clásicos
de esta teoría en el desarrollo de un videojuego.

Es muy importante conocer la mayoría de estos conceptos, sobre todo para
poder desarrollar aplicaciones a gran escala de una forma modular y estructu-
rada.

Aprender estas técnicas de ingeniería de software adicionalmente nos va a per-
mitir:





Resolver problemas comunes con un procedimiento óptimo y ya probado.

Ser más productivos porque no tenemos que volver a pensar cómo hacer
un algoritmo y porque sabemos que el que implementamos ya ha sido
probado para resolver otros problemas con buenos resultados.

• Complementar la documentación con el propio código (aunque nunca la

sustituye).



Entender código ajeno con sólo ver su estructura.

En la ingeniería del software se han ido desarrollando nuevas formas de orga-
nización a la hora de crear nuevas aplicaciones. Una de estas formas, que es
muy interesante conocer a la hora de desarrollar aplicaciones, son los patrones
de diseño.

Para entender bien el concepto de los patrones de diseño, veremos primero la
evolución que ha sufrido el arte de la programación y los diferentes paradigmas
que han ido apareciendo.

A partir del repaso a estos paradigmas, conoceremos el concepto de patrón de
  • Links de descarga
http://lwp-l.com/pdf9728

Comentarios de: Lógica del videojuego (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad