We have covered more than enough in this course for you to be able to do this. I recommend creating a separate settings file that contains JSON to store settings. An example of how your settings might look:
{
"window_width": 1280,
"window_height": 720,
"difficulty": "normal",
"play_bgm": true,
"play_sfx": true
}
Above is a good example of how you can store the settings. Next would be to design the settings page/state, where the user can modify the settings on their own.
You can add more SFX (Sound Effects), like when the player loses, play a sound, or when the player goes to the next level! The sky is the limit!
Play around with Love2d, and make the menu look better! Currently, it only has 3 buttons with a black background, but what if the background was an AI playing asteroids? Or if that's too complicated, what if the background was just asteroids floating about? You can go all out, design something that looks great!
This is where your googling skills can come in handy! Make this game playable on Android/iOS! With touch support and whatnot!
The game is currently very boring! What if you added items, such as a support pack that will randomly appear, and if the player shoots it, it will grant them another life, or make them shoot 2 lasers at a time!
In the original, there was the occasional UFO that appeared! However, to keep things basic, this game only has asteroids... Add UFOs or other interesting challenges for the player to face!
If you have a fairly powered PC, you are probably sitting at a comfy 60fps, however, others with weaker hardware might struggle to hit 60fps on this very basic game! Modify the game code and allow it to play smoother on lower-end hardware!
This will probably be one of the more difficult things to implement! Adding support for players to play and destroy asteroids together over PAN (Personal Area Network - Over Bluetooth), LAN (Local Area Network - Over WiFi) or WAN (Wide Area Network - Over the Internet) can be quite the difficult challenge!
The current pause screen is boring and doesn't do anything, except for pausing the game! What if it had a few buttons?