digamos, un juego de
video, ¿verdad? En tu juego de
video, tal vez tengas un automóvil que se está moviendo o algo así. En ese caso, digamos que tu automóvil va a tener, ya sabes, velocidad, ¿verdad?, vas a tener una velocidad, vas a tener una posición, como, donde se encuentra actualmente tu automóvil. Todas esas dos cosas son un poco tus componentes, ¿verdad?, tu velocidad y tu posición, son componentes. Pero el automóvil en sí, que va a ser, ya sabes, como, ya sabes, un cierto automóvil va a tener una velocidad, va a tener una posición, va a tener un color, el automóvil en sí va a ser una entidad, porque básicamente es solo, ya sabes, una colección de diferentes componentes reunidos. Entonces, básicamente, ese es el concepto principal detrás de ECS. Básicamente queremos separar, ya sabes, diferentes, quieres separar el diferente[56] comportamiento y
data en tus juegos en componentes. Y de esa manera, es fácil para ti, es básicamente fácil para ti, ya sabes, elegir cualquier componente que necesites. Ya sabes, al construir una entidad o para crear un objeto en tu juego, es fácil para ti, ya sabes, simplemente elegir diferentes componentes, ya sabes, como parte de las entidades. Y básicamente como, ya sabes, construir un nuevo, ya sabes, un nuevo objeto para tu juego, como directamente de la caja. Entonces, y básicamente, las entidades son identificadores únicos, como mencioné, y los componentes son solo
data que se adjuntan a las entidades. Ahora, hablando de los sistemas, los sistemas son, por otro lado, básicamente solo una colección de entidades y componentes que realizan una tarea específica. Entonces, solo para, nuevamente, usando esa analogía. Supongamos que en una situación en la que tienes, tal vez, quieres realizar una tarea, digamos, en el caso de un juego de
video, ¿verdad?, donde tienes, como, un automóvil, tu juego de
video y quieres, básicamente, digamos, mover el automóvil. En esa situación, el único componente que realmente necesitas para realizar esa tarea es, digamos, posición y velocidad, ¿verdad? En este caso, probablemente no tienes ningún interés en, ya sabes, tal vez el color del automóvil o qué tan grande es el automóvil porque no afectan la tarea particular que deseas realizar en ese momento específico, ¿verdad? Entonces, básicamente, lo que hace el sistema es, básicamente, como, funciones que te ayudan a, como, separar, como, tareas específicas y los componentes específicos que están relacionados para que realmente puedas realizar la tarea. Y, básicamente, a largo plazo, lo que hace es que facilita, ya sabes, gestionar tu código, hace que tu código sea más manejable. Entonces, ¿cómo funciona ECS? Las entidades se crean y destruyen en tiempo de ejecución por tu motor de juego. Las entidades son básicamente solo objetos en tus juegos. Agregas componentes, tu motor de juego agrega, ya sabes, o elimina componentes de ellas en tiempo de ejecución. Eso es de tus entidades, ¿verdad? Y luego tus sistemas se actualizan regularmente, ya sabes, según las operaciones que realizas o que el usuario realiza dentro de los juegos. Entonces, ¿por qué ECS es tan popular, ya sabes, es una arquitectura de desarrollo de juegos muy popular, ¿verdad? ¿Y por qué es así? Es una buena elección para el desarrollo de juegos porque, en primer lugar, promueve la reutilización de código, ¿verdad? Como explicamos anteriormente, tienes, ya sabes, componentes específicamente definidos, lo que significa que puedes agarrar fácilmente un componente y adjuntarlo a diferentes entidades, no solo a un tipo de entidad. Puedes puedes crear fácilmente un objeto de juego modificado. Básicamente, todo lo que tienes que hacer es, ya sabes, definir una entidad de juego y simplemente crear una nueva, adjuntar algunos componentes a ella. Y también puede ayudar a admitir un acceso eficiente a los
data, como, ya sabes, separación de, como, todos tus
data en componentes bien definidos. Y se puede escalar fácilmente, ya sabes, a medida que tu juego se vuelve más grande, puedes escalarlo fácilmente. Entonces, solo para agregar, como, un pequeño ejemplo de código, solo para darle sentido a lo que he estado hablando hasta ahora. Entonces, en este ejemplo aquí, puedes ver que tienes, tienes un componente de posición, tienes un componente de velocidad. Y tu componente de posición, puedes ver, básicamente, solo tienes tu eje X y eje Y, ¿verdad? Y tu componente de velocidad, también tienes tu eje X y Y. Y luego tienes tu sistema de movimiento. Y esos, okay, volviendo atrás. Los componentes, como,
Comments