CS175 Fall 2020
Pixel Jump is a gameplay simulation in Minecraft that the agent will perform physical jumps from one platform to another with user-control jump simulation based on projectile motion in 3D. The purpose of this project is to let the agent observe his surrounding platforms and then pick an initial velocity from a continuous action space to ensure that the agent can land on various positions of the next platform and hopefully jump onto the glass (goal) block for greater reward.
Our agent James is trapped by a swamp of lava. In order to escape, he must jump through a variety of platforms without falling to the lava. Our job is to improve his jumping skills by training him in his “mind palace” because he only lives once.
https://bikaylee.github.io/Pixel-Jump/.
- Classical Mechanics
- Deep Reinforcement Learning
- Proximal Policy Optimization
all maps are randomly generated for each mission
- No degree, complete 3x3 platform, glass always centered
- No degree, complete 3x3 platform, glass randomly at x = 1.5
- Restricted degree, complete 3x3 platform, glass randomly at any block
- Restricted degree, incomplete 3x3 platform, glass may randomly be at any block
- Wider degree, incomplete 3x3 platform, glass may randomly be at any block
Glass Block of Platform: +100
Other Block Type of Platform: < 90, based on the relative distance to glass block
Lava: < -10, based on the relative distance to glass block
Layers that store information about the next platform with one layer containing all available blocks and the other containing only glass blocks. Also, information of the current platforms or other platforms besides the next platform are excluded.
First Layer: 5 x 10 storing all available blocks information and air
Second Layer: 5 x 10 storing only glass block information and air
Malmo
Physics
- Physics: Projectile Motion in 2D
- Physics: Projectile Motion in 3D
- Verifying proper displacement range for particular velocity
Machine Learning Algorithm
Tools