rtorralba / zx-game-maker-skeleton

MIT License
14 stars 3 forks source link

Sugerencia: definir características de enemigos en los atributos del mapa para homogeneizar comportamientos y ahorrar memoria #44

Open adeluiz opened 5 months ago

adeluiz commented 5 months ago

Buenas, ante todo, gracias por el trabajazo. Mi sugerencia se basa en que me parece confuso desde el punto de vista del jugador que unas veces un sprite con cierta apariencia unas veces sea invulnerable, y otras veces necesite N toques para morise. Como jugador, suelo asociar la apariencia con las características del enemigo, por eso creo que podría ser más claro si se pasaran los comportamientos de los enemigos a los atributos del mapa de una forma como:

enemy5_life:3

(enemy1 sería el primer enemigo definido en los gráficos de sprites, p.e. vader en el skeleton sería enemy5, así que todos los vaders del juego se matarían en 3 toques)

Esto también abriría la posibilidad de ahorrar memoria a la hora de definir atributos extendidos que mejoren las clases de enemigo, como podría ser: enemy2_speed:2 enemy2_behaviour:rectangle (o chaseplayer, randomjumper...)

Como solo se definiría una vez, se ahorraría memoria, creo, y quizás daría lugar a definir comportamientos diferentes para diferentes sprites. ¡Gracias si has llegado a leerlo!

rtorralba commented 5 months ago

Hola @adeluiz ! Gracias!

Totalmente de acuerdo, de hecho avise en el desarrollo de algun juego, un jugador se acostumbra a la "dureza" de un enemigo y cambiarlo es confuso.

Por ejemplo, tú vas con poca vida y cuando es que hay un enemigo "débil" tal vez te la juegas, si le cambias la 'dureza' engañas al jugador.

Dicho esto recae en el diseñador diseñar el juego bien, porque digo esto, porque ahora el diseñador lo puede hacer bien, si lo marcaramos por enemigo ahorraríamos memoria, pero hay desarrolladores que lo hacen bien y hacen "cosas" (que no puedo desvelar XD) que si que tienen sentido y si lo quitamos no podrían.

Resumiendo, ese efecto que tú dices creo que debería ser el diseñador el que no lo hiciera para no restringir otros usos que no puedo desvelar (a mí también me han sorprendido) y si que tienen sentido.

Dicho esto gracias por el aporte, pienso como tú, y desde luego es algo que tendré en cuenta.

Graciaaaaaaaaaaas!