Saltar al contenido principal
Bytecode

Propósito

Permite codificar el comportamiento como instrucciones para una máquina virtual.

Explicación

Ejemplo del mundo real

Un equipo está trabajando en un nuevo juego en el que los magos luchan entre sí. El comportamiento de los magos necesita ser cuidadosamente ajustado e iterado cientos de veces a través de pruebas de juego. No es óptimo pedir al programador que haga cambios cada vez que el diseñador del juego quiere variar el comportamiento, así que el comportamiento del mago se implementa como una máquina virtual basada en datos.


iluwatarAlrededor de 4 minBehavioralGame programming
Data Locality

Propósito

Acelera el acceso a la memoria organizando los datos para aprovechar la caché de la CPU.

Las CPU modernas disponen de cachés para acelerar el acceso a la memoria. Éstas pueden acceder mucho más rápido a la memoria adyacente a la memoria a la que se ha accedido recientemente. Aprovéchate de ello para mejorar el rendimiento aumentando la localidad de los datos, manteniéndolos en memoria contigua en el orden en que los procesas.


iluwatarMenos de 1 minutoBehavioralGame programmingPerformance
Dirty Flag

También conocido como

  • IsDirty pattern

Propósito

Evitar la costosa readquisición de recursos. Los recursos conservan su identidad, se guardan en algún almacenamiento de acceso rápido y se reutilizan para evitar tener que adquirirlos de nuevo.

Diagrama de clases


iluwatarMenos de 1 minutoBehavioralGame programmingPerformance
Double Buffer

Propósito

Doble búfer es un término utilizado para describir un dispositivo que tiene dos búferes. El uso de varios búferes aumenta el rendimiento global de un dispositivo y ayuda a evitar cuellos de botella. Este ejemplo muestra el uso de doble búfer en gráficos. Se utiliza para mostrar una imagen o un fotograma mientras se almacena en el búfer otro fotograma que se mostrará a continuación. Este método hace que las animaciones y los juegos parezcan más realistas que los realizados en modo de búfer único.


iluwatarAlrededor de 3 minBehavioralPerformanceGame programming
Game Loop

Propósito

Un bucle de juego se ejecuta continuamente durante la partida. En cada vuelta del bucle, procesa las entradas del usuario sin bloquearse, actualiza el estado del juego y lo renderiza. Realiza un seguimiento del paso del tiempo para controlar el ritmo de juego.

Este patrón desvincula la progresión del tiempo de juego de la entrada del usuario y de la velocidad del procesador.


iluwatarAlrededor de 3 minBehavioralGame programming
Object Pool

También conocido como

Resource Pool

Propósito

Cuando los objetos son costosos de crear y solo se necesitan durante cortos períodos de tiempo, es ventajoso utilizar el
patrón de Object Pool. El Object Pool proporciona una caché para objetos instanciados, rastreando cuáles están en uso y
cuáles están disponibles.


iluwatarAlrededor de 1 minCreationalGame programmingPerformance
Spatial Partition

Propósito

Como se explica en el libro Game Programming Patterns
por Bob Nystrom, spatial partition pattern ayuda a localizar eficazmente los objetos almacenándolos en una
estructura de datos organizada por sus posiciones.


iluwatarAlrededor de 2 minBehavioralPerformanceGame programming
Subclass Sandbox

Propósito

El patrón Subclass Sandbox describe una idea básica, aunque no tiene una mecánica muy detallada. Necesitarás el patrón cuando tengas varias subclases similares. Si tienes que hacer un pequeño cambio, entonces cambia la clase base, mientras que todas las subclases no deberían tener que ser tocadas. Así que la clase base tiene que ser capaz de proporcionar todas las operaciones que una clase derivada necesita realizar.


iluwatarAlrededor de 2 minBehavioralGame programming
Type-Object

Propósito

Como se explica en el libro Game Programming Patterns de Robert Nystrom, el patrón objeto tipo ayuda a

Permitir la creación flexible de nuevas "clases" mediante la creación de una única clase, cada instancia de la cual representa un tipo diferente de objeto


iluwatarAlrededor de 3 minBehavioralGame programmingExtensibility
Update Method

Propósito

El patrón de método de actualización simula una colección de objetos independientes indicando a cada uno que procese un fotograma de comportamiento a la vez.

Explicación

El mundo del juego mantiene una colección de objetos. Cada objeto implementa un método de actualización que simula un fotograma del comportamiento del objeto. En cada fotograma, el juego actualiza cada objeto de la colección.


iluwatarMenos de 1 minutoBehavioralGame programming