Los primeros pasos de nuestro enemigo
Clase 7 de 14 • Curso de Game Maker Studio 2: Interacción y Ataque de los Personajes
Resumen
¿Cómo diseñar el flujo básico de un enemigo en el juego?
Para empezar a diseñar el flujo de un enemigo en un juego debemos comprender qué comportamiento queremos que tenga este personaje. En el ejemplo de "Neon City Riders", el enemigo tiene tres estados principales: Idle (I), Chase (C) y Attack. Estos estados permiten al enemigo tener una inteligencia básica que lo hace interactuar de manera más realista con el jugador.
¿Cuáles son los estados y cómo afectan al enemigo?
-
Idle (I): Es el estado en el que el enemigo está inactivo, sin realizar ninguna acción. Se representa con una letra "I" y es el estado inicial del enemigo.
-
Chase (C): Cuando el jugador se acerca al enemigo a una cierta distancia, este pasa al estado de persecución o "Chase". En este estado, el enemigo sigue al jugador hasta que alcanza otra distancia especificada.
-
Attack: Finalmente, si el enemigo se encuentra lo suficientemente cerca del jugador, ataca. Después de atacar, el enemigo regresa al estado Idle y el ciclo comienza de nuevo.
Visualmente, estos conceptos pueden parecer complejos, pero al representarlos mediante un diagrama de flujo sencillo, su comprensión se facilita significativamente.
¿Cómo crear y gestionar objetos y scripts en un juego?
El siguiente paso en el diseño de un enemigo es crear los objetos y scripts necesarios. En GameMaker, estos elementos nos permiten implementar la lógica de comportamiento del enemigo.
-
Creación del objeto: Se crea un objeto llamado
obj_enemyneo
. Este objeto inicialmente se deja vacío, listo para que se le apliquen scripts y lógicas más adelante. -
Uso de scripts: Se crean scripts separados para diferentes estados del enemigo.
enemyneo_idle
enemyneo_attack
enemyneo_chase
Es esencial nombrar los scripts y elementos de manera clara para evitar confusiones y facilitar la colaboración con otros desarrolladores.
// Script for enemyneo idle state
enemyneo_idle() {
sprite_index = spr_idle; // Define el sprite para el estado de Idle
}
¿Cómo inicializar estados y sprites para el enemigo?
Para darle vida al enemigo, se debe inicializar su estado y su apariencia visual. Esto se hace de la siguiente manera:
-
Inicialización del estado: Al crear el objeto, se inicia con el estado
enemyneo_idle
. -
Asignación de sprites: Aunque el sprite no siempre es relevante en esta fase inicial, es útil asignarle uno para la representación gráfica del estado.
-
Profundidad del objeto: Ajustar la profundidad del objeto
depth
dentro del códigostep
le da sensación de tridimensionalidad, haciendo que el personaje pueda ser atravesado por el jugador por delante y por detrás.
// Initial setup for enemy object
create() {
state = enemyneo_idle; // Establece el estado inicial
depth = -1; // Da profundidad y vida al enemigo en el escenario
}
¿Por qué probar el enemigo en el escenario es crucial?
Finalmente, es crucial probar el enemigo en el escenario del juego para asegurarse de que todos los elementos básicos funcionan correctamente. Aunque al principio el enemigo sólo esté inactivo, es fundamental observar su interacción básica con el entorno para preparar los siguientes pasos del desarrollo.
Con todos estos pasos, se logra una base básica y funcional para el enemigo que se puede expandir a medida que el desarrollo del juego progresa. Si tienes dudas o comentarios sobre este proceso, no dudes en participar en la sección de comentarios, es un excelente modo de aprender juntos. ¡Sigue adelante con tus proyectos y no te detengas en tu camino para convertirte en un experto desarrollador de juegos!