¿Cómo dibujar y dar funciones a múltiples cosas a la vez?

Estoy usando JavaScript y he codificado un juego de plataforma de hardcore. Quiero que haya múltiples enemigos a la vez y antes de escribir el código, tengo una pregunta. ¿Cómo me acerco a eso? ¿Tengo que dibujar y dar function a los enemigos cada vez o hay una manera más fácil?

Esta es una pregunta muy difícil de responder ya que hay muchas cosas que se tienen en count cuando se tiene que tratar con estas cosas.

Lo que suelo hacer, es que configuro una matriz para todos mis enemigos. Cada enemigo es básicamente un object con valores tales como sus coorderadas, dirección, sprites, etc., y lo que es más importante, una function draw () y una function update ().

En mi ciclo principal de juego, generalmente tengo dos ciclos. Uno para actualizar el comportamiento de los enemigos basado en la location del jugador, por ejemplo, y el otro para dibujarlos en el canvas.

//A simple enemy object function simpleEnemy(){ this.x; this.y; this.sprite; this.update=function(){ //Any logic which decides where the enemy will be in the next frame //This, in the end, just updates the X and Y coordinates of this entity } this.draw=function(){ ctx=gameArea.context; ctx.drawImage(this.sprite,this.x,this.y); } } //The main game loop function updateArea(){ gameArea.clear(); //Any update and drawing function you have also comes here for(i=0;i<enemies.length;i++){ enemies[i].update(); } for(i=0;i<enemies.length;i++){ enemies[i].draw(); } requestAnimationFrame(updateArea); }