To run this program please make sure you have python installed on your system.
Download the ZIP folder from the GitHub repository.
As shown in the following video:
- Extract the contents of the zip folder into to your desktop.
- Open the extracted folder, open main.py and run the module.
setup.mp4
Please note that all following sprites have different textures depending on the texture package chosen. This includes all monsters, blackholes, UFOs, tiles and power ups.
demo.mp4
2023-09-17.20-13-54.mp4
default.mp4
broken.mp4
moving.mp4
disappearing.mp4
explod.mp4
moveable.mp4
shifting.mp4
monster.mp4
blackhole.mp4
ufo.mp4
pause_resume.mp4
play_again.mp4
menu_1.mp4
This project took a total of 3 weeks to develop. The base game itself really only took about 2 weeks to develop. The rest of the time, however, was spent on optimisationm refactoring, comments and general code cleanliness. It really takes a long time to make a well polished and beautiful product.
In general, I am relatively happy with this project and its outcome. I am however, annoyed I could not solve one issue.
The main large issue that could not be solved was player and tile interaction. The issue seems very simply but it turned out not to be so. In order for me to solve it, I would've had to have changed a large majority of the player codebase and I was not willing to do this. I felt a great itch to finish this project and move onto the next. The problem is such that the player rectangle (when falling) will always collide with the tile no matter where the rectangle overlap.
One would expect that when the feet of the sprite lands on a tile this would cause the player to jump. In my case, however, anytime the player rectangle touches a tile and the player is falling, the player will jump.
Tetris- Bubbleshooter