My Project Space Shooter, 15 years later

Hi everyone,

WIP Game based on llaser defender section. Please let me know what you think!

I had a part of a game design document written 15 years ago. Never too late I guess :slight_smile:
I also have previous experience of c# programming and graphic design, but I didn’t know how to make games. Thanks to this course, it is very nice to see all this coming together.

There is not a lot of gameplay yet, because I focused on the engine first. Now I can begin making levels. But I had to release something, because I spent way to much time alone on that.

Thanks!

9 Likes

Very nice to look at, though I notice you have the same ‘issue’ I’ve identified, where if you destroy a member of the formation before they have all entered, then they just continue to enter until the whole formation has taken their positions.

Something I’ll be looking into, once I get to that part of my game.

I liked it, especially the art!

1 Like

Thanks for your feedback

Nice catch. I will take the issue you mention into account when making the levels.

Looks and sounds very nice, I especially like the title screen. I would brighten up the laser shots to make them stand out more. The space background is busy enough that the shots can get lost if I’m looking at other areas of the screen.

The ship movement felt just right, responsive enough to dodge shots but not too fast. The controls felt a little uncomfortable for me, specifically the CTRL / Space combo.

I like the shield mechanic, but right now it feels a little overpowered with how it replenishes your health and then recharges itself quickly.

For the issue Chris mentions, what I did was define a pair of bools–playerCanFire and enemyCanFire-- and used them to toggle the ability to fire and for shots to collide as needed. When the enemy wave is spawning, nobody can shoot until all ships have arrived, and when the current wave is destroyed shooting is disabled again and any player shots still on screen can’t damage the next wave. Here’s an example from the enemy behavior script:

void Fire(){
	if (enemyCanFire) {
		Vector3 startPosition = transform.position + new Vector3 (0, -0.5f, 0);
		GameObject missile = Instantiate (projectile, startPosition, Quaternion.identity) as GameObject;
		missile.GetComponent<Rigidbody2D> ().velocity = new Vector2 (0, -projectileSpeed);
		AudioSource.PlayClipAtPoint(fireSound, Camera.main.transform.position, fireVolume);
	}
}

void OnTriggerEnter2D(Collider2D collider){
	Projectile missile = collider.gameObject.GetComponent<Projectile>();
	if (missile) {
		if (PlayerController.playerCanFire) {
			health -= missile.GetDamage ();
			missile.Hit ();
			if (health <= 0) {
				ShipExplode ();
				AudioSource.PlayClipAtPoint (deathSound, Camera.main.transform.position, deathVolume);
				Destroy (gameObject);
				scoreKeeper.Score (scoreValue);
				projectileSpeed += 0.05f;
				shotsPerSecond += 0.01f;
			}
		}
	}
}

Good luck with your project and the rest of the course.

1 Like

Thanks a lot for your review and suggestions!

I think you found a bug in the shield mechanic. Normally, the shield should recharge when not in use, and if it is full and in use, the ship then enter an auto-repair mode. But it seems to repair the ship even if the shield is not full. Gonna look into that.

Great job! Looks like a solid, worked through engine with great potential.

Being a life long gamer I did notice something that might need some tweaking. I had great difficulties in killing of the incoming fighters. This was mainly due to my / the players/ ship moving slower between left and right in combination of the player ships outgoing fire being quite slowed compared to the enemy fighters side movement.

Instead of me moving the player ship to avoid enemy fire and to lead the targets (firing ahead of the fighters) I had to just put the player ship in the middle region and push space. Sure this lead to me taking a lot of hits but might be something tweak for better gameplay?

I played your game

I love the background + the Particle system that gives a good Parallax effect.
Then UI is simple and the space ships are made by you or you got it on the web?

One thing I didn’t notice is if the spawn wave is always the same. I didn’t check this because I was so focused to get a very high score.

1 Like