Quantum Galaxy (Laser Defender)

Here’s the preview of my take on the Laser Defender project. I’m fairly pleased with it so far and super looking forward to finding out what else we are going to learn in this section.

4 Likes

Hi James,

Looking very nice, I like your choice of fonts and the particles when you hit an enemy.

Hard to tell from the video directly, but it looks like the speeds could do with a slight tweak, e.g speed of scrolling backgrounds compared to movement speeds of enemies / player.

All in all very nice, liking what I’m seeing! :slight_smile:

What will you add to this next?

Hi Rob,

Thanks for the feedback.

Over the last few days I have spent some time learning about and playing around with particle effects. I think I may try creating my own projectiles using the sprite sheet animation features and see how that turns out.

I wouldn’t mind setting up some other UI elements, such as a HUD with player health and ammo count, perhaps the ability to change to a different weapon required for certain enemies. I haven’t looked ahead in the course so I’m not sure if any of that is coming up. Fingers crossed for that.

I see what you mean about the scrolling speeds. I had the intention of revisiting the background elements after creating my own foreground assets. I wanted the background to have a real feeling of depth to it, but the one I’ve bashed together feels a little flat to me. I will do something about that next.

Thanks for the encouragement.

Hi James,

You’re very welcome :slight_smile:

I think I may try creating my own projectiles using the sprite sheet animation features and see how that turns out

That sounds like a great idea, really nice if you can totally personalise your game.

I wouldn’t mind setting up some other UI elements, such as a HUD with player health and ammo count, perhaps the ability to change to a different weapon required for certain enemies.

Having seen quite a few student’s work which they have shared I’m fairly certain that the hud is covered a little bit during this section of the course. You’ll add a canvas and probably a UI Text object to output the player’s score most likely. In the same sense, you could add another to display the player’s health and reduce it as they are hit. After that, you could pretty much add what you want, and how you want, it doesn’t have to be a UI Text object that you use but perhaps start there so you can see how the mechanic is built first and then enhance it.

I see what you mean about the scrolling speeds. I had the intention of revisiting the background elements after creating my own foreground assets. I wanted the background to have a real feeling of depth to it, but the one I’ve bashed together feels a little flat to me. I will do something about that next.

It’s not a huge issue, just something minor I spotted. A lot of people tend to have their enemies moving quite slowly, and the player, it’s down to the individual to make their game, but for me, something like Laser Defender reminds me of Galaxian on my old Atari, and that was fairly fast paced. There will be some fine tweaking perhaps between the movement speed of the player and the enemies, you’ll have to decide, do you want your player to be able to move faster than them to give them an advantage and then gradually increase their speed as the levels progress to make it harder, or will the player always be slower than the enemies, relying on the shooting mechanic and power-ups, perhaps power-ups are how the player can then move faster. Again, all tweaking.

Regarding the background, I think there’s a danger of making the parallax effect too fast, but it depends on the distance you are trying to imply also, if all of the stars are moving slowly, then to me that would suggest that they are all very far away or, I am moving very slowly. If the enemies are then moving really fast, that feels a bit weird. Equally, if the background is moving really fast then either I’m very close to it, or moving very fast (or both), so if the enemies then move really slowly, that feels a bit weird. There will be a balance and I’m not suggesting for a moment that your implementation is at either end of that spectrum, just food for thought :slight_smile:

Thanks for the encouragement.

You are very welcome and I look forward to seeing your next set of updates to Laser Defender and that hud you’ve mentioned :slight_smile:

Thanks again Rob,

I took your feedback and used it to fuel my creativity. I had hoped it wouldn’t take me this long to add some extra features, but I kept on getting carried away with myself. I’m not that quick at getting the results I’m looking for, but I feel like it’s sinking in more and more every day.

As previously mentioned I have created the start of my HUD and one or two other bits.

New features included:

  • Projectiles created from scratch (sprite sheet animations included)
  • Particle effect for random meteor showers in the background
  • Boss/heavy style enemy with a new path to follow
  • HUD featuring player score & player health at the top of the screen and the beginnings of a weapon selection tool at the bottom (that has absolutely no functionality yet)
  • Player health loss animation to draw more attention to taking damage
  • Health regeneration system that takes effect if the player is unharmed for 3 seconds and is cancelled then reset if the player is hit during the regeneration process.

I have loved this section of the course more than I thought I would. I will be returning to this game with more ideas later on.

2 Likes

Hi James,

This is looking very nice. What a difference the HUD makes to the feel of what you see as a player.

I wouldn’t worry too much about the time it is taking you at this stage, learning/developing/refining, it all takes time. Having some deadlines for deliverables is always useful, even if what you deliver isn’t quite where you want it to be later it can be a useful way of dropping your game out for others to try and gain feedback.

I really like the visual direction our game is going in so a huge well done on its continuing development, I really hope you’ll be able to share a link to have a go soon as I feel the need to blow up some Martians! :slight_smile:

Keep us updated on your progress, I look forward to seeing what you add next.

Hi Rob,

I should really start posting some regular WIP updates with details as I add them, but I get so engrossed in it I forget to break away.

I figured out how to control the waves so that once all enemies have spawned it will wait for all enemies in that wave to be destroyed before spawning the next wave. I would like to work towards having different types of enemies in the same wave to increase difficulty and make it a bit more interesting/challenging.

There is now a feedback UI element that displays after each wave is destroyed and lets the player know how long it took them and how many points they earned in that wave. (I love when games go overboard with statistics and show you things such as, how long you’ve spent playing the game, how many rabbits you’ve killed, how many potions you’ve taken etc…)
I plan on making some sort of gold, silver and bronze ranking system for each wave completed and awarding more points for better performance and such.

The player can now scroll the mouse wheel up and down to change weapon. Heads up I’ve neglected the weapons a little so I would really just stick with the default laser for now. My next item on the agenda is to create the different weapons and their functionallity. At the moment they altered versions of the same assets and they fire at different intervals (which can be bypassed by clicking the mouse really fast :wink:)

There is a 10% chance that a destroyed enemy will drop its pilot that can be shot for extra points…

oh… and not to forget the twinkly stars I’ve added to the background.

As requested here is the link for you to have a go at the game as it is currently.

2 Likes

Super awesome!!! quick question, did you use the sprite animator to get the flickering lights in the laser shots or is it lighting effects… I’m currently using baked lights to get a pretty cool effect but I’d love to see the shot itself evolve some. cheers, and cant wait to see what you come up with
Erik

Thanks man. Greatly appreciate the feedback. To get the flashing effect on the projectiles I used a white soft edged circle sprite. It is animated purely by rendering it as a particle effect (added as a child to the projectile game object) that changes the sprite’s size over time so it appears to flicker. Hope that answers your question. Have you uploaded your game yet?

1 Like

Work in progress my friend

Nice! I like it. I’m not very good at it though. I especially like the button sprites, the music and the crater background. Did you create all of your assets yourself or have you sourced them from somewhere?

1 Like

I made all sprites and particle assets in Photoshop and illustrator except the background which was a seamless texture, the music and sound effects I made in ableton with the exception of the 2 mortar shots I used for the ship explosions… I think if I can get this render thing licked I want to do a boss fight and a buddy ship/ health power ups… Id love to see your scripts for camera shake and whatever weapons you’ve built and put my spin on them if that’s ok, let me know if you’d like any assets for your games…I can do animations in after effects as well if you want to dabble in that silliness
Cheers,
Erik

Sorry dude,

I must have missed the email update letting me know you replied.

Cool. Yeah no worries. I think I may have cheated a bit with the camera shake feature as it’s just a camera animation that gets called up whenever a hit is detected.

As for the weapons, the prefab, audio, audio volume, velocity, rate of fire, UI name and graphics are stored in scriptable objects. That way you can create many different weapon types that are called up by the same firing code written by Rick in the “Make Player Shoot” section (with the slight change of using “weaponConfig.GetWhateverTheCodeNeedsAtThatPoint()” at whatever point the code needs it (it should make sense after looking at the scriptable object code below)).

Scriptable object code is as follows:

[CreateAssetMenu(menuName = "Player Weapon Config")]

public class WeaponConfig : ScriptableObject
{
    [SerializeField] GameObject projectile;
    [SerializeField] AudioClip projectileSound;
    [SerializeField] [Range(0, 1)] float projectileSoundVolume = 0.75f;
    [SerializeField] float projectileYVelocity = 15f;
    [SerializeField] float projectileFiringPeriod = 0.1f;
    [SerializeField] public string weaponName;
    [SerializeField] Transform dialRotationTo;
    [SerializeField] int weaponNumber;

    public GameObject GetProjectile() { return projectile; }

    public AudioClip GetProjectileSound() { return projectileSound; }

    public float GetProjectileSoundVolume() { return projectileSoundVolume; }

    public float GetProjectileYVelocity() { return projectileYVelocity;}

    public float GetProjectileFiringPeriod() { return projectileFiringPeriod; }

    public string GetWeaponName() { return weaponName; }

    public Transform GetDialRotationTo() { return dialRotationTo; }
}

To do it this way create a list to store your weaponConfigs and a way to change between them. Then reference the selected weapon/weaponConfig in your firing code and all should be good.

If that didn’t make the slightest bit of sense let me know and I will try it again. I hope that’s what you meant by “scripts for camera shake and whatever weapons you’ve built”. If you meant you would like the sprites and particle effects I’ve made then let me know and I will drop you a message with them attached or something.

I’m not sure what I would need After Effects for to be honest. I’ve never used it so I can’t really comprehend what I could do with it. If you have any suggestions I’m always happy to learn new stuff.

So after effects is useful for making particle maps, like smoke and custom glow… but amazing for creating 2d animation sprites like this old project from years ago thanks for the code homie… just going to tighten up my shooter today then move on to glitch garden… I’m going to make all my own assets again for it

Old Aftereffects animation

Also thanks for the code Idea, might modify it for future projects. think Ive spent plenty of time and learned a lot from this one but its time to move on, and continue my learning…got big Ideas for games to make …Cheers and let me know if you ever want to collab on class stuff

Nice little scene animation dude. I like the cut out animation style. Kind of reminds me of Archer, which is one of my favourites (if you’re familiar with the series).

I agree with you about having learned a lot from this part of the course. I would love to come back to this game again some day, but like yourself I feel like I’ve spent far too long on it and there’s still so much more to learn. I’m moving on to glitch garden now and I’m thinking I may just use the assets that are provided so I can improve my coding knowledge a bit quicker instead of getting lost in creating my own art. I’m primarily an artist and I want to try to balance out the two skills.

I would be up for a collab if you think you can use what I’ve got dude.

Keep me posted and keep on making games.

1 Like

Privacy & Terms