Simple implementation of Wolfenstein 3D game using Raycasting Algorithm integrated with Proximal Policy Optimization ( PPO ) Deep Reinforcement Learning Technique.
- Basic
- Defend The Center
- Deadly Corridor
- Train ( Training The Model )
- Test ( Testing The Model )
- Easy → 1
- Medium → 2
- Hard → 3
Fig: Basic Level Episode Length & Reward Plot
Fig: Basic Level Loss Plot
Fig: Defend Level Episode Length & Reward Plot
Fig: Defend Level Loss Plot
Fig: Deadly Level Episode Length & Reward Plot
Fig: Deadly Level Loss Plot
python3 ./main.py --level { basic | defend } --train
python3 ./main.py --level { basic | defend } --test --steps { steps }
- Easy
- Medium
- Hard
python3 ./main.py --level defend --train --skill { skill }
python3 ./main.py --level defend --train --skill { skill } --curr
python3 ./main.py --level defend --test --skill { skill } --steps { steps }
- --level basic --train
- --level basic --test --steps { steps }
- --level defend --train
- --level defend --test --steps { steps }
- --level deadly --train --skill { skill }
- --level deadly --train --skill { skill } --curr
- --level deadly --test --skill { skill } --steps { steps }
python3 ./main.py --level basic --train
python3 ./main.py --level defend --test --steps 200000
python3 ./main.py --level deadly --train --skill 2
python3 ./main.py --level deadly --train --skill 3 --curr
python3 ./main.py --level deadly --test --skill 1 --steps 700000
Note: Curriculum Learning is only available if a model has been trained on the previous difficulty mode i.e. Curriculum Learning on Hard mode is only available if a model is available for Medium mode.