I've been attempting to make game engines for quite a while, however, I usually end up never finishing them despite making huge progress in the backend. I think this holds me back, since I can spend hours and hours working on a system without any pleasing results. I've decided to start giving myself a time limit on game making, I time myself each time I code, and when 8 hours is up that's the project done, and I must start the next one. It's been educational as well, working as fast as possible highlights the topics I breeze through and the things I need to study more so I can utilize them on the fly.
UFO Game
https://drive.google.com/file/d/1EL3vjcDuM5ZY52rpIQmGjQ81JG44ePrS/view?usp=sharing
A 2D shooter game. You fly an asteroid, and shoot meteors that fly at you. The main issue currently is the borders don't detect when you've crossed them. I need to learn to use polymorphism properly, I understand and have used it before, but the amount of time I would need to spend on it to achieve it, would be unreasonable in the time frame. Download in the link