WIP - eXcelunte - Laser Defender with extra features

Hi!
I would like to present to you my version of Laser Defender project called eXcelunte. I marked it as Work In Progress becouse I planned a lot of things for this game and it’s nowhere near finished.

What I have so far is:

  • everything Laser Defender has
  • some options like button on main screen to mute audio and settings to control sfx and music volume
  • high score system (currently using PlayerPrefs)
  • power ups (shield, double score, triple shot)
  • asteroids
  • Unity Ads (yay!) - currently just to learn how to add Ads (clicking Play and Restart will trigger an Ad)

What I want to do:

  • replace most if not all assets to make my game unique
  • keep the game as “endless runner” type of game but divide gameplay into stages where each stage will have xx enemies spawned and at the end big bad boss
  • randomized enemy spawns (random enemy prefab on random path)

Ultimate goal:
Finish the game and release it on Google Play

Here is some gameplay recorded on my phone:

New gameplay video! Sorry for the sound. I recorded it with random app I’ve found and for some reason it records audio from the speaker.

Anyway, I have done few things:

  • new background
  • new font
  • object pooling (only lasers and enemies at the moment)
  • random spawns - I completely reworked spawning system, now it spawns random enemy on random path

Let me tell you more about Power Ups.
Blue pill gives shield for 5s, green pill gives triple shot for 5s, yellow pill gives score multiplier for 5s.
Each yellow pill you pick up gives higher multiplier. So it starts at x2, next x3 and next x4 and so on.

Next on my list to do:

  • Power up spawning chance - it doesn’t work very well. It’s just a flat 10% chance to spawn on each enemy kill. So sometimes you get none for longer period of time, sometimes you get 2 or 3.

If you would like to test for a bit I could upload APK. Let me know. :slight_smile:

Added script allowing me to reset HighScore when new version is installed on user mobile device (for example
it could be useful when scoring system would be reworked).

public class AppVersionManager : MonoBehaviour
{
    [SerializeField] private bool resetScore = false;

    private string newAppVersion, currentAppVersion;

    private void Awake()
    {
        newAppVersion = Application.version;
        currentAppVersion = PlayerPrefsManager.AppVersion;

        if (!string.Equals(newAppVersion, currentAppVersion) && resetScore)
        {
            PlayerPrefs.DeleteKey(PlayerPrefsManager.HIGH_SCORE);

            resetScore = false;
        }

        PlayerPrefsManager.AppVersion = newAppVersion;
    }
}

I works but let me know if there is a better way doing this.

Also I’m trying to figure out how to show and edit application version in the inspector on my script so I dont have to go to player settings every time to change it. Is it possible? How?

Privacy & Terms