A OpenAI Gym Env for covid19outbreak
Project description
gym-covid19outbreak
covid19outbreak pays tribute to all researchers in African pharmacopoeia, epidemiologists, doctors, nurses, etc. who have fought valiantly against Sars-Cov II
Table of Contents
Game-presentation
https://en.wikipedia.org/wiki/Covid19_pandemic
Introduction
It was on March 11, 2020 that the World Health Organisation (WHO) declared the coronavirus pandemic. During this same period, Italy was the main focus and then the USA took the place. In March 17, 2020 many countries in Africa was closed borders and banning flights from elsewhere. Covid19outbreak is a single-player simulator strategy board game. Player start with 10 lifes and priority is to save all patients.
Object of the game
By looking for the way to save patient, player must avoid Sars-Cov II and keep its life. If he save all patients player wins otherwise the game begins very difficult.
Gameplay
During the game, player must be stratege by finding a plant and avoiding Sars-CovII in their way. If player touches viruse and have a plant, he kill viruse. If player touches viruse without a plant, he looses some percentage of life and he contaminates environment. Patient is unstable due to collision with viruses.
Rule
Starting-positions
Player starts in bottom of screen with 5 virus, 7 patients and 5 plants.
Moves
Players can move following theses directions:
-
Up, Left, Right, Down
-
LeftTop, RightTop, LeftBottom, RightBottom, NOOP
Environment
Observation
The observation is a numpy arrays of size (480, 520, 3). This arrays is a dtype=np.uint8 value in the [0, 255] range. You can see image below.
Actions
The moves is the 8 directions mentioned before. Player can go everywhere in the screen to reach his objective.
Reward
Player have four rewards:
-
If boy hits a plant: reward = 1 + number of plant collected + 0.01 during an episode.
-
If boy saves a patient: reward = 1 + number of patient saved during an episode.
-
If boy hits Sars-Cov II with a plant: reward = number of plant + 0.01 - 2, 0.01 is a decay life.
-
If boy hits Sars-Cov II without having a plant: reward = - 3 - 0.01.
In beginning of game, player have 10 lifes by hitting the viruse without a plant, life = life - 1.
Do not forget that player can contaminate environment by creating two viruses each time after infection.
Episode termination
The episode is terminated if agent looses all its life or saves all patients or kills all viruses.
Requirement
- python 3.7+
- OpenAI gym
- Numpy
- Pygame
- PIL
- Keras or Tensorflow or Pytorch
Dependencies can be installed with pip
or conda
Using pip
$ git clone https://github.com/batalong123/gym-covid19outbreak.git
$ cd gym-covid19outbreak
$ pip install -e .
or
pip install gym-covid19outbreak
Usage
import gym
import gym_covid19outbreak
env = gym.make('covid19Attack-v0')
MAX_EPISODE = 10
for i in range(MAX_EPISODE):
env.reset()
done = False
total_reward = 0
while not done:
action = env.action_space.sample()
obs, reward, done, info = env.step(action)
total_reward += reward
env.render()
print(f'Episode: {i+1}/{MAX_EPISODE}', f'reward: {total_reward}', f'done: {done}')
env.close()
Citation
Bibtex if you want to cite this repository in your publications:
@misc{gym_covid19outbreak,
author = {Massock Batalong M.B.},
title = {Covid19outbreak Environments for OpenAI Gym},
year = {2022},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/batalong123/gym-covid19outbreak}},
}
Contribute
Feel free to contribute to this project. You can fork this repository and implement whatever you want. Alternatively, open a new issue in case you need help or want to have a feature added.
contact: lumierebatalong@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gym-covid19outbreak-0.0.2.tar.gz
.
File metadata
- Download URL: gym-covid19outbreak-0.0.2.tar.gz
- Upload date:
- Size: 343.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.3 tqdm/4.56.0 importlib-metadata/4.8.1 keyring/22.0.1 rfc3986/1.4.0 colorama/0.4.4 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d30963322a745431f576ba1fab770ddd11819000155a2f5a705a68ae00dc9ae |
|
MD5 | 36e7973acb8405e2f65c36d7b3169d0c |
|
BLAKE2b-256 | 6264dfe881e3dc1560464b23239c674e679930fc4957f1790cd8d3d9eb794164 |
File details
Details for the file gym_covid19outbreak-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: gym_covid19outbreak-0.0.2-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.3 tqdm/4.56.0 importlib-metadata/4.8.1 keyring/22.0.1 rfc3986/1.4.0 colorama/0.4.4 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 786b6d18c4c71378d3f79e009379cd8c4a272ae68f3ee0aadfbc22488df27e73 |
|
MD5 | f9e1b3aabfddcce09359ce2b380ca53e |
|
BLAKE2b-256 | 418702297b284d81230f37758d2850652495fffec715771aa5d8671cfbf2d287 |