PDCA Cycle

Plan, discarded, canceled and aborted. I planed to draw some pictures. I made a rough sample screen image, that turned out to be the final one. The plot was left in need of heavy editing. From the last challenge I leaned that I needed to spend more time on making data than on coding. 70%-30% was the balance I estimated. The result was 5%-95%. I'm not a productive programmer. I tried to write a clean code. It's a benefit of the full-scratch restriction. It still has some ridiculous coding design, so do not read it.

I chose to use a scale-up screen. I think it's good to apply a low resolution screen for a 2D game. Imagine a case that you make a platform game, and you use hand-drawn small chips. You will have to fill 1920x1080 screen, that will leave a lot of space between game characters, and it affects game balance. If using a small window for small chips, it would be difficult to see what's happening.
It was my challenge to figure out how to implement the screen scaling into pygame dirty-sprite system, as I could not find a suitable tutorial for it. The outcome was what you had seen. It looks fine with full screen.

I'm satisfied with the fact that I had made something playable three times in a row.
Many thanks to reviewers and PyWeek staff.