DEV Community

Andres Ramirez
Andres Ramirez

Posted on

3

Máquinas de Estado

Las máquinas de estados son una de las herramientas mas usadas en el desarrollo de videojuegos, básicamente, definen el comportamiento que especifica las secuencias de estádos por las que atraviesa un objeto durante su ciclo de ejecución en respuesta a una serie de eventos, junto con las respuestas a dichos eventos.
Estas máquinas permiten descomponer el comportamiento general de un agente en pedazos o subestados mas manejables.
Resumiendo tenemos dos conceptos importantes en una máquina de estados:

  • Estádo
  • Transición.

Estádo

Define una condición o una situación en la vida del agente la cual satisface una condición o bien, está vinculada a la realización de una acción o la espera de un evento.

Transición

Define una relación entre dos estados, indicando lo que ha de ocurrir para pasar de un estádo a otro. Los cambios de estádo se producen cuando la transición se dispara, o sea, cuando se cumple la condición para pasar de un estádo a otro.

Ventajas de implementar las máquinas de estádo

  • Son fáciles de implementar
  • Son rápidas
  • Su depuración es sencilla
  • Tienen minima sobrecarga computacional
  • Son intuitivas y se asemejan al modelo de racionamiento humano
  • Son flexibles ya que permiten la integración de nuevos estados sin tener un impacto significativo en el resto y permite combinar otras técnicas como la lógica difusa y las redes neuronales.

Máquina de estados que define el comportamiento de un NPC, Desarrollo de videojuegos Vol 4

Javascript y máquinas de estádo

Algúnos frameworks en Javascript para el manejo de máquinas de estádo son:
-Machina
-Javascript State Machine
-Xstate Mi preferido.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more