Skip to main content

A space-themed OpenAI Gym environment for reinforcement learning

Project description

VectorVelocity

VectorVelocity

Documentation Python Version PyPI version

Table of Contents

Introduction

VectorVelocity is a space-themed OpenAI Gym environment designed for reinforcement learning. Users pilot a spaceship through an asteroid field while collecting coins. The environment increases in difficulty as the speed escalates, with asteroids and coins spawning randomly, providing dynamic challenges that are ideal for developing and refining Agents

Enviornment Description

In VectorVelocity, the player controls a spaceship moving across three lanes. The objective is to collect as many coins as possible while avoiding collisions with asteroids that move from the top of the screen to the bottom. As the game progresses, the speed increases, making the game increasingly difficult.

Third Party Assets

This game was enriched significantly by incorporating various third-party assets. We are immensely grateful to the creators of these assets for making their work available and enhancing the gaming experience.

  1. Game Background: The thematic space background, enhancing the visual appeal of our game, was sourced from Vecteezy.
  2. Space Ship: The spaceship, which players navigate through asteroids, was created by FoozleCC as part of the Void Pack. Explore more of FoozleCC's creations here.
  3. Background Music: The atmospheric tunes from Goose Ninjas' Space Music Pack set the perfect mood for our adventures through space. Check out more of Goose Ninjas' music on their Itch.io page.

We extend a huge thanks to the mentioned authors for making their work freely available.

Getting Started

To install the Vector Velocity Environment, you can use pip. Simply run the following command in your terminal:

pip install vector-velocity-gym

After installing the environment, you may want to test the installation and explore how to build or use the environment effectively.

For comprehensive guides and examples, please visit our offical documentation

RL Agent

Problem Domain

The challenge for the RL agent in VectorVelocity is to learn optimal strategies for maximizing the score by skillfully collecting coins while avoiding asteroids. The agent is required to make decisions in real-time, adjusting to the game's increasing speed and the randomness of asteroid placements. Additionally, some coins spawn between asteroids in positions that may not always be reachable, adding a layer of decision-making complexity. This requires the player, and consequently the RL agent, to assess whether pursuing a coin is worth the risk of potential collision. This problem domain provides a rich and challenging environment for exploring and refining reinforcement learning techniques.

Agents

We have decided to use the Proximal Policy Optimization (PPO) algorithm to train an agent within our environment. PPO, a reinforcement learning algorithm developed by OpenAI, is known for its robustness and efficiency in learning policies for various types of environments.

Sample Agent Development

For those interested in seeing a practical implementation or experimenting with the agent development process, sample agent development can be found in the lab branch of this repository. This branch includes experimental features and developmental progress on new agent strategies.

To access and contribute to the ongoing agent development, switch to the lab branch:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vector_velocity_gym-0.1.0.tar.gz (25.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vector_velocity_gym-0.1.0-py3-none-any.whl (25.6 MB view details)

Uploaded Python 3

File details

Details for the file vector_velocity_gym-0.1.0.tar.gz.

File metadata

  • Download URL: vector_velocity_gym-0.1.0.tar.gz
  • Upload date:
  • Size: 25.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for vector_velocity_gym-0.1.0.tar.gz
Algorithm Hash digest
SHA256 69299d10424c047c970a528e20514d73b1debdfd5e627da416d9553c38b12bf8
MD5 39234b9c45081b86791a38a71db13700
BLAKE2b-256 af1cd9a30db83ec0151c13dd8931d623285be1a34deb71e29178ea011242f411

See more details on using hashes here.

File details

Details for the file vector_velocity_gym-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for vector_velocity_gym-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d83970d62ea2c1c006806e7981f30f78b79fd50d20e4d9265bb16c3b98412f7
MD5 247efbe6647c5523a79088917ce520e5
BLAKE2b-256 bbb426ed307a548ce6ab8dabdcf9def8469f8b33dcda523c2a7b16e8c50e634d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page