All Projects → ArztSamuel → DRL_DeliveryDuel

ArztSamuel / DRL_DeliveryDuel

Licence: MIT license
Deep Reinforcement Learning applied to a modern 3D video-game environment called Delivery Duel.

Programming Languages

python
139335 projects - #7 most used programming language
C#
18002 projects
Classic ASP
548 projects
CSS
56736 projects
Jupyter Notebook
11667 projects
HTML
75241 projects

Projects that are alternatives of or similar to DRL DeliveryDuel

Video-Game-Keyboard-Database
A set of PHP forms and MySQL databases that generate keyboard control diagrams in a new browser window. You can select control bindings from among various video games and other software.
Stars: ✭ 38 (+26.67%)
Mutual labels:  video-game
Deep-Quality-Value-Family
Official implementation of the paper "Approximating two value functions instead of one: towards characterizing a new family of Deep Reinforcement Learning Algorithms": https://arxiv.org/abs/1909.01779 To appear at the next NeurIPS2019 DRL-Workshop
Stars: ✭ 12 (-60%)
Mutual labels:  deep-reinforcement-learning
MaRLEnE
Machine- and Reinforcement Learning ExtensioN for (game) Engines
Stars: ✭ 47 (+56.67%)
Mutual labels:  deep-reinforcement-learning
WildWorld
Sandbox freestyle multiplayer game/engine in LÖVE/LUA.
Stars: ✭ 35 (+16.67%)
Mutual labels:  video-game
deep reinforcement learning gallery
Deep reinforcement learning with tensorflow2
Stars: ✭ 35 (+16.67%)
Mutual labels:  deep-reinforcement-learning
rl-medical
Communicative Multiagent Deep Reinforcement Learning for Anatomical Landmark Detection using PyTorch.
Stars: ✭ 36 (+20%)
Mutual labels:  deep-reinforcement-learning
Smart-Traffic-Signals-in-India-using-Deep-Reinforcement-Learning-and-Advanced-Computer-Vision
We have used Deep Reinforcement Learning and Advanced Computer Vision techniques to for the creation of Smart Traffic Signals for Indian Roads. We have created the scripts for using SUMO as our environment for deploying all our RL models.
Stars: ✭ 131 (+336.67%)
Mutual labels:  deep-reinforcement-learning
dqn-lambda
NeurIPS 2019: DQN(λ) = Deep Q-Network + λ-returns.
Stars: ✭ 20 (-33.33%)
Mutual labels:  deep-reinforcement-learning
lunch-break-rl
A small roguelike game developed live on Twitch.
Stars: ✭ 16 (-46.67%)
Mutual labels:  video-game
deep-rl-quadcopter
Implementation of Deep Deterministic Policy Gradients (DDPG) to teach a Quadcopter How to Fly!
Stars: ✭ 17 (-43.33%)
Mutual labels:  deep-reinforcement-learning
pytorch-hdqn
Hierarchical-DQN in pytorch (not actively maintained)
Stars: ✭ 36 (+20%)
Mutual labels:  deep-reinforcement-learning
amanuensis
The Amanuensis is an automated songwriting and recording system aimed at ridding the process of anything left-brained, so one need never leave a creative, spontaneous and improvisational state of mind, from the inception of the song until its final master. See the README for instructions and feel free to message me at soundcloud.com/to_the_sun.
Stars: ✭ 30 (+0%)
Mutual labels:  video-game
FLEXS
Fitness landscape exploration sandbox for biological sequence design.
Stars: ✭ 92 (+206.67%)
Mutual labels:  deep-reinforcement-learning
Reinforcement Learning Course
Curso de Aprendizaje por Refuerzo, de 0 a 100 con notebooks y slides muy sencillas para entenderlo todo perfectamente.
Stars: ✭ 18 (-40%)
Mutual labels:  deep-reinforcement-learning
Deep-Q-Networks
Implementation of Deep/Double Deep/Dueling Deep Q networks for playing Atari games using Keras and OpenAI gym
Stars: ✭ 38 (+26.67%)
Mutual labels:  deep-reinforcement-learning
video-game-encyclopedia
474417 Games with Metacritic Score, Ratings, Genres, Publishers, Platforms, ...
Stars: ✭ 16 (-46.67%)
Mutual labels:  video-game
robustnav
Evaluating pre-trained navigation agents under corruptions
Stars: ✭ 18 (-40%)
Mutual labels:  deep-reinforcement-learning
DRL graph exploration
Autonomous Exploration Under Uncertainty via Deep Reinforcement Learning on Graphs
Stars: ✭ 53 (+76.67%)
Mutual labels:  deep-reinforcement-learning
Deep-RL-agents
No description or website provided.
Stars: ✭ 27 (-10%)
Mutual labels:  deep-reinforcement-learning
playing-mario-with-deep-reinforcement-learning
An implementation of (Double/Dueling) Deep-Q Learning to play Super Mario Bros.
Stars: ✭ 55 (+83.33%)
Mutual labels:  deep-reinforcement-learning

Deep Reinforcement Learning of an Agent in a Modern 3D Video Game

This repository provides access to all material necessary to reproduce the results of our paper on Deep Reinforcement Learning applied to a modern 3D video-game. The video-game used in our experiments is a 3D local-multiplayer game developed using the Unity game-engine and is called Delivery Duel. We evaluated the impact on learning performance of different modifications to the environment by applying two recent deep reinforcement learning algorithms, namely DQN (with various extensions) and A2C.

Data included in this repository:

  • The research paper and poster this repository represents (research/)
  • Raw reproducible results of our research (results/)
  • Source code of the frameworks in the state they were used in our work, including some modifications / extensions (frameworks/)
  • Built instances of Delivery Duel necessary to reproduce our results and which can be used for future work (deliveryduel/)

Delivery Duel

In Delivery Duel the player / agent controls a delivery van. The agent's goal is to deliver pizzas to target locations in an urban environment. The entire scene is rendered from an approximately 75° top-down perspective. Delivery destinations are highlighted above the corresponding building by a big circular marker. The agent completes a delivery by conducting a throw action in the correct direction and hitting the destination building. After a delivery, the agent has to return to its base, located in the middle of the city, before a new destination is highlighted. The agent's score is increased for delivering items, proportional to how fast the item was delivered, and for returning to the base.

While Delivery Duel offers local-multiplayer capability for up to four players, our experiments for solely conducted on the singleplayer mode.

Optional Environment Modifications

There are three optional environment modifications, which can be turned off or on, resulting in eight possible configurations:

  • Environment Representation: Complex 3D render-mode or Simple 2D render-mode
  • Agent Motion Control: Physics-based movement or completely linear movement
  • Reward Signal: In-game score (very sparse) or more continuous reward (also taking distance to target into account)

These three modifications are often abbreviated as 3D / 2D, Phys / Lin, Non-Cont / Cont.

When using the run_baselines script for running experiments, you can use the optional commandline argument --unity-arguments "<additional arguments>" to pass commandline arguments to the unity process. The following unity arguments are available:

  • --render-mode: complex or simple
  • --motion-control: physical or linear
  • --reward-signal: sparse or cont
  • --human-players: int in range [0, 3]

The first three arguments can be used to turn the environment modifications on or off. The fourth argument --human-players can be used to start an instance of the game with support for 0 to 3 additional human players (controlled using gamepads).

For instance, a dqn test-run using the complex render-mode, linear motion control and a continuous reward signal can be executed by running:

python run_baselines.py <path_to_deliveryduel> --method dqn --unity_arguments "--render-mode complex --motion-control linear --reward-signal cont"

In order to start an instance, which loads an existing model-file in order to play against it using a gamepad, you can run:

python run_baselines.py <path_to_deliveryduel> --method dqn --enjoy <save_folder/filename> --unity_arguments "--human-players 1"

(You can specify the folder / filename models get saved to after training by passing the argument --model-file <folder/filename> to a training process)

Human Player Controls

When playing with human players enabled (see unity-arguments under 'Optional Environment Modifications'), you can use the following controls:

Delivery Duel Credits

Delivery Duel was developed by Samuel Arzt, Katrin-Anna Zibuschka and Lukas Machegger, who approved to make the game publicly available for scientific purposes. The icons for delivery items were used under the CC3 License, with attribution to the following authors:

  • Pizza Icon: Designed by freepik from Flaticon.
  • Cabbage, Mail, Milk and Notepad Icon: Designed by madebyoliver from Flaticon.

Frameworks

In order to train Deep Reinforcement Learning agents on this novel environment, three different frameworks were combined:

Baselines provides open-source Python implementations of popular RL algorithms. Gym defines an open-source Python interface for agent environments. ML-Agents extends the Unity engine with an interface for testing AI algorithms on existing Unity games by offering an API which connects Unity with Python. Please see each individual framework's license file included in their respective subdirectory for license information of each framework.

Please refer to the individual repositories of the frameworks for an installation guide.

The source code of these frameworks in the state they were used for our paper is also included in this repository (see frameworks/). The code of Baselines and ML-Agents was slightly modified / extended to fit our needs. In order to train a reinforcement learning agent in a Unity game environment using the algorithms provided by Baselines, the ML-Agents environment was wrapped to function as a Gym environment.

The wrappers used for training a ML-Agents environment using Baselines can be found in run/baselines_wrapper.py. The code used for executing the test-runs of our paper can be found in run/run_baselines.py.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].