On the Nature of Reflections
Version 2 is recommended. It contains a workaround for later versions of pygame. For more details and to report bugs see here.
You play a theoretical physicist who is transported to a realm where he may explore the nature of reflections. Move mirrors to align lines of sight so that you and your reflection may work together.
How it fits the theme: the physicist sees his reflection as his evil twin, countering his every move.
Unfortunately I didn't have all week this time, so it's not my best work. There are 8 quick stages, with the last one being very optional. Expect 5-10 minutes of gameplay. If you get stuck at any point, hold Shift for a tip, and skip any stage you don't want to play!
Awards
Scores
Ratings (show detail)
Overall: 4.1
Fun: 3.6
Production: 4.2
Innovation: 4.6
Files
File | Uploader | Date |
---|---|---|
reflections-v2.tgz
— final
Final entry v2 |
Cosmologicon | 2022/03/27 18:18 |
reflections-v1.tgz
— final
Final entry v1 |
Cosmologicon | 2022/03/27 14:17 |
screenshot-20220326200311.png
Final screenshot |
Cosmologicon | 2022/03/27 14:10 |
Diary Entries
Final entry uploaded
Okay, the game is uploaded. It's not great. I had some other things come up so I was only able to spend a couple days worth of time on it total. I had to cut the mechanics where you work against your reflection before you work together, so the connection to the theme isn't as clear as I wanted. Still, let me know if you find any bugs.
Version difference and performance note: I recommend playing version 2 of this game. If you have the option, Pygame 1.9.6 will get you better performance than Pygame 2.1.2. On the last day when I went to test it with 2.1.2 I found a severe performance degradation. Pygame 1.9.6 is apparently much more efficient at drawing enormous polygons with pygame.draw.polygon, which is used to draw the mask for the reflection effect in the game. If you want to test whether your version of pygame is affected, try out the following code. It will either take a fraction of a second, or several seconds:
import pygame screen = pygame.display.set_mode((500, 500)) pygame.draw.polygon(screen, (0,0,0), [(0,0), (0,100000), (100000,0)])
Because of this, version 1 is unplayably slow with Pygame 2.1.2. During the upload period, I implemented a workaround to reduce the size of the polygons drawn, which version 2 includes. Version 2 is still slower with Pygame 2.1.2 than Pygame 1.9.6, but should be playable. You'll still see bad framerates, but it should be more like 10fps than 0.1fps. Let me know if you still have any issue. Thanks!