If you want to watch :)
Si vous voulez regarder :)
So like I said it's a Starfox like, so the objective is to shoot enemies while the camera is moving, and try to catch as many coins as we can.
And to do so, we have two weapons, an infinite machinegun and rockets.
The player looses health points as he gets shot and if he has shield he looses shield points. He looses when he looses all his HP's.
Comme je l'ai dit c'est un "Strafox like", l'objectif est de tirer sur les ennemis pendant que la camera va en avant, et récupérer autant de pièces que l'on peut.
Pour ce faire, Nous avons deux armes, une mitrailleuse infinie et des roquettes.
Le joueur perd points de vie quand il se fait tirer de dessus et s'il a des points de bouclier il les perd en priorité. Il perd la partie quand il n'a plus d'HPs.
A brief feature I added to the health bar is the picture of Marco (player's character). This image changes depending on player's HP's (Yeah like in 1994's Aladdin).
Une feature que j'ai rajouté est la photo de Marco (le joueur). Cette image change selon les HPs du joueur (Oui comme Aladdin de 1994).
The player can get bonuses by taking them directly, like the X2 bonus that gives him a double machinegun for a few seconds, or the heart that gives him HP's.
Le joueur peut récupérer des bonus en les touchant, comme le bonus X2 qui lui donne une double mitrailleuse pendant quelques secondes, ou le coeur qui lui rend des HP.
He can also have a random bonus by detroying a bonus box. Those boxes can contain : - Health points. - Shield points. - Double machinegun. - Rockets. - Coins.
Il peut aussi récupérer des bonu en détruisant les boites mystère. Ces boites peuvent contenir : - Des points de vie (HP). - Des points de bouclier (SP). - Double mitrailleuse (X2). - Des roquettes. - Des pièces.
There are different kinds of enemies, but before that let's see how they spawn.
Enemies spawn inside a 3x3 grid, when the player enters a trigger zone.
I used C#'s enum and Dictionnary to create this feature so that it simplifies enemies spawn. Then I made the triggers that can spawn as many enemies as we want, by choosing their type and location.
The shooting system is pretty simple, it doesn't use any physics, only code. Enemies (like the player) shoot a projectile that damages the opponent in contact.
The damage scale depends on the enemy itself and the difficulty chosen by the player. Enemies can shoot straight forward (or backward to be exact) or aim the player.
Straight shot :
Aim shot :
Enemies have different behaviors.
This enemy follows the player on the X and Y axes and shoots
straight.
At level 1 and in easy mode he has 80 HP and shoots 6 times before reloading.
This enemy goes infinitely from right to left and vice versa.
He shoots straight
at level 1 but aims the player at level 2.
At level 1 and in easy mode he has 80 HP and shoots 8 times before reloading.
This enemy doesn't move from his place and shoots at the
player.
At level 1 and in easy mode he has 80 HP and shoots 5 times before reloading.
This enemy follows the player on the X and Y axes and
stands on his place while reloading.
He shoots only when he's moving and shoots straight.
At level 1 and in easy mode he has 100 HP and shoots 5 times before reloading.
Il y a différents types d'ennemis mais avant ça regardons comment ils apparaissent (spawn).
Les ennemis apparaissent dans une grille en 3x3 quand le joueur entre dans un
trigger.
J'ai utilisé les enum et Dictionnary de C# pour créer ça afin de simplifier le spawn. Ensuite j'ai créé les triggers qui peuvent spawn autant d'ennemis qu'on le veut, en choisissant le type et l'emplacement.
Le système de tir est assez simple, il n'utilise pas de physique, seulement du code. Les ennemis (comme le jour) tirent des projectiles qui endommagent l'adversaire (et disparaissent) au contact.
Les dégats dépendent du type d'ennemi et de la difficulté choisie par le joueur. Les ennemis peuvent tirer droit ou viser le joueur.
Tirs droits :
Tir de visée :
Les ennemis ont plusieurs comportements.
Cet ennemi suit le joueur sur les axes X et Y et tire
droit.
Au niveau 1 en mode facile il a 80 HP et tire 6 fois avant de recharger.
Cet ennemi passe infiniment de droite à gauche et vice versa.
Il tire droit
au niveau 1 mais vise le joueur au niveau 2.
Au niveau 1 et en mode facile, il a 80 HP et tire 8 fois avant de recharger.
Cet ennemi est immobile et tire en visant le joueur.
Au niveau 1 et en mode facile, il a 80 HP et tire 5 fois avant de recharger.
Cet ennemi suit le joueur sur les axes X et Y et reste
immobile pendant qu'il recharge.
Il ne tire que lorsqu'il est en mouvement et tire droit.
Au niveau 1 et en mode facile, il a 100 HP et tire 5 fois avant de recharger.