Skip to content
/ ALEC Public

First game with PyGame and final cs assignment for grade 10 computer science

Notifications You must be signed in to change notification settings

npjd/ALEC

Repository files navigation

Nima Dehkordi: ALEC

ALEC is a 2D spaceship shooter, similar to games like space invaders and genres like Shoot 'em up. It is also survival
orientated, so the player must try to survive for as long as possible to get a higher score. The player has the ability to control their ship and shoot lasers. They have to shoot asteroids to be able to advance and survive. They also have to shoot bosses, enemies that shoot the player and have high health. They spawn at constant intervals, and the player must beat the boss to be able to advance further. The game progressively becomes harder as bosses get more health and deal more damage, and asteroids travel faster. Powerups are spawned and can be collected to get back health or enhance the player's lasers. The player's high score is also saved, even when the program is stopped.

I kept to many of my promises and delivered everything I guaranteed to deliver. I was not able to work on the optional
stuff I wanted to do though. I couldn't get the backgrounds to change smoothly, and I was not able to think of a way to
make the physics of asteroids bumping into each other. Ms.Wong also told me to add the feature to track the player's high score,
even when they quit the program. I didn't promise this feature initially.

My game is very bug-free, but I have encountered a couple of bugs throughout testing. Very rarely, the game would slow down a lot
when the boss spawned. I found that when the player killed the boss, it sped back up again. I didn't know how to troubleshoot this bug
because it would happen so rarely, so it may just be my computer being very weak. This may not constitute as a bug, but the spaceship's
hurtbox doesn't exactly match the image of the spaceship. As well, if the player changes the high score text file, it can display a high score
they didn't get. I would consider this "hacking", but it is a flaw in my program so it constitutes as a bug.

I had a lot of ideas for future features for my game, and I think it would they would it an actually interesting game. I would have liked
to have different bosses for the play to encounter, enemies that spawn to shoot the player, a sort of currency system where the player
can buy things to reach higher levels, and obstacles that aren't asteroids. For now, I kept my game pretty simple so I could add on
these features in the future.

For testing, you can modify variables and booleans to try to get stuff to work. Things like the shotgun power-up can be turned on
but just making a boolean True. Everything else is a class or a function, so you can change the game's attributes easily.

About

First game with PyGame and final cs assignment for grade 10 computer science

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages