Playthrough Video

I've finally gotten around to posting a playthrough video of the game:


https://youtu.be/bY_qMk63ET8


(log in to comment)

Comments


Just to report an issue, the game crashed for me with a ValueError when I made a wrong jump:
Hello from the pygame community. https://www.pygame.org/contribute.html
.../marooned_mitmit/marooned_pyweek30_v1.1/src/environment.py:98: RuntimeWarning: invalid value encountered in double_scalars
obj.pos[0] = self.platforms[gind].pos[0]+(20.0*self.platforms[gind].scale)*(pos[0]-self.platforms[gind].pos[0])/pdists[gind]
.../marooned_mitmit/marooned_pyweek30_v1.1/src/environment.py:99: RuntimeWarning: invalid value encountered in double_scalars
obj.pos[1] = self.platforms[gind].pos[1]+(20.0*self.platforms[gind].scale)*(pos[1]-self.platforms[gind].pos[1])/pdists[gind]
Traceback (most recent call last):
File "run_game.py", line 12, in <module>
main.main(mainpath)
File "/home/terka/pyweek/30/30/_marooned_mitmit/marooned_pyweek30_v1.1/src/main.py", line 49, in main
dir.loop()
File "/home/terka/pyweek/30/30/_marooned_mitmit/marooned_pyweek30_v1.1/src/gamedirector3d.py", line 52, in loop
self.scene.on_draw(self.screen)
File "/home/terka/pyweek/30/30/_marooned_mitmit/marooned_pyweek30_v1.1/src/game.py", line 646, in on_draw
self.campos[0] = self.player.pos[0]+dpx
ValueError: cannot convert float NaN to integer

Thanks Encukou for the pickup! I managed to replicate on my end, though it does take a bit of work to get it to trigger, so hopefully doesn't affect many peoples.


Can be fixed by replacing lines 98 and 99 in "src/environment.py" from:

obj.pos[0] = self.platforms[gind].pos[0]+(20.0*self.platforms[gind].scale)*(pos[0]-self.platforms[gind].pos[0])/pdists[gind]

obj.pos[1] = self.platforms[gind].pos[1]+(20.0*self.platforms[gind].scale)*(pos[1]-self.platforms[gind].pos[1])/pdists[gind]

to:

obj.pos[0] = self.platforms[gind].pos[0]+(20.0*(self.platforms[gind].scale+1))*(pos[0]-self.platforms[gind].pos[0])/pdists[gind]

obj.pos[1] = self.platforms[gind].pos[1]+(20.0*(self.platforms[gind].scale+1))*(pos[1]-self.platforms[gind].pos[1])/pdists[gind]


I'll be sure to fix up in a post-comp update!