Programming, art and UI for this project was done by me. All audio was made by Jurrian Steman.
Controls:
This was the first time I had used p5.js.
Some features for this project include:
In order to achieve multiple difficulties I made an array of objects which stores all necessary data.
let difficultyOptions = [
{
mode: "Easy",
gameID: 4203605,
initialize: setupEasyDifficulty
},
{
mode: "Normal",
gameID: 4203606,
initialize: setupNormalDifficulty
},
{
mode: "Hard",
gameID: 4203607,
initialize: setupHardDifficulty
},
{
mode: "Endless",
gameID: 4203608,
initialize: setupEndlessDifficulty
}
];
The initialize property refers to a function which initializes certain settings such as the amount of enemies.
Using this method I only need to call difficultyOptions[selectorIndex].initialize();
to start the game with the chosen difficulty which the selectorIndex is refering to.
If I could start over there would be a couple things I would change.
First off, there could be more variety in the enemies and their placements.
Secondly, I could have added a menu for settings like volume sliders for sound effects and music.