Skip to content

Commit

Permalink
Merge branch 'release/1.2.24'
Browse files Browse the repository at this point in the history
  • Loading branch information
Bam4d committed Jan 11, 2022
2 parents e692a3a + 3587a9c commit e247c06
Show file tree
Hide file tree
Showing 212 changed files with 1,509 additions and 240 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. mac/linux/windows]
- Version [e.g. 1.2.23]
- Version [e.g. 1.2.24]

**Additional context**
Add any other context about the problem here.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.10.0)
project(Griddly VERSION 1.2.23)
project(Griddly VERSION 1.2.24)

set(BINARY ${CMAKE_PROJECT_NAME})

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2020 Chris Bamford
Copyright (c) 2022 Chris Bamford

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
97 changes: 76 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,98 @@
# Griddly
# <p align="center">![Griddly Bear](resources/images/gvgai/oryx/bear2.png) Griddly ![Griddly Bear](resources/images/gvgai/oryx/bear2.png)</p>
<div align="center">

A cross platform grid-based research environment that is designed to be able to reproduce grid-world style games.
[![Documentation Status](https://readthedocs.org/projects/griddly/badge/?version=latest)](https://griddly.readthedocs.io/en/latest/?badge=latest)
[![Discord Chat](https://img.shields.io/discord/728222413397164142.svg)](https://discord.gg/xuR8Dsv)
[![PyPI version](https://badge.fury.io/py/griddly.svg)](https://badge.fury.io/py/griddly)

Build Status
| OS | Status |
|----------|----------|
| Linux | [![Build Status](https://dev.azure.com/chrisbam4d/Griddly/_apis/build/status/Bam4d.Griddly?branchName=develop&jobName=Linux)](https://dev.azure.com/chrisbam4d/Griddly/_build/latest?definitionId=1&branchName=develop) |
| Windows | [![Build Status](https://dev.azure.com/chrisbam4d/Griddly/_apis/build/status/Bam4d.Griddly?branchName=develop&jobName=Windows)](https://dev.azure.com/chrisbam4d/Griddly/_build/latest?definitionId=1&branchName=develop) |
| MacOS | [![Build Status](https://dev.azure.com/chrisbam4d/Griddly/_apis/build/status/Bam4d.Griddly?branchName=develop&jobName=MacOS)](https://dev.azure.com/chrisbam4d/Griddly/_build/latest?definitionId=1&branchName=develop) |
</div>

# Community
Join the Discord community for help and to talk about what you are doing with Griddly!

[![Discord Chat](https://img.shields.io/discord/728222413397164142.svg)](https://discord.gg/xuR8Dsv)

# Documentation
A heavily optimized and flexible grid-world game engine for Game AI research.

# ![BOOM](resources/images/gvgai/oryx/sparkle3.png) Some features
* Design and build game mechanics using a simple YAML-based language: [GDY](https://griddly.readthedocs.io/en/latest/getting-started/gdy/index.html)
* **Fast execution speed** environments can run up to 70k FPS on a single thread.
* Don't worry about complex efficient rendering code, just define the images for each game object and Griddly passes this to the GPU.
* Supports **Single Agent**, **Multi Agent** and **RTS** environment interfaces.
* **[Multiple observervation modes](https://griddly.readthedocs.io/en/latest/getting-started/observation%20spaces/index.html)**:
* Vectorized
* Configurable one-hot encodings for each x,y coordinate
* Rendered
* Isometric, sprites and simple shapes
* We also let you use **custom shaders** to render however you want!
* State Maps
* Description of the entire environment including objects, locations and variables.
* Event History
* Descriptions of actions that have happened in each step.
* Configurable partial observability
* **Copyable Forward Models**
* Game state can be cloned at any point in time. This is super useful for many Algorithms. For example Mont-Carlo Tree Search.
* **[Procedural Content Generation Interfaces](https://griddly.readthedocs.io/en/latest/getting-started/procedural%20content%20generation/index.html)**


* Reinforcement Learning with [RLLib](https://griddly.readthedocs.io/en/latest/rllib/intro/index.html)
* Integration with [Wandb](https://griddly.readthedocs.io/en/latest/rllib/intro/index.html#weights-and-biases-wandb)


# ![WHOOSH!!](resources/images/gvgai/oryx/tree2.png) Some Environments

<div style="display:flex; justify-content: center; align-items: center;">
<a style="width: 33%" href="https://griddly.readthedocs.io/en/latest/games/Spider_Nest/index.html"><img src="docs/games/Spider_Nest/img/Spider_Nest-level-Isometric-0.png"/></a>
<a style="width: 33%" href="https://griddly.readthedocs.io/en/latest/games/GriddlyRTS/index.html"><img src="docs/games/GriddlyRTS/img/GriddlyRTS-level-Block2D-3.png"/></a>
<a style="width: 33%" href="https://griddly.readthedocs.io/en/latest/games/Clusters/index.html"><img src="docs/games/Clusters/img/Clusters-level-Sprite2D-3.png"/></a>
</div>

[Check out the full list of pre-built environments here](https://griddly.readthedocs.io/en/latest/games/index.html)

This documentation is only for building from source.


# ![Community](resources/images/oryx/oryx_fantasy/avatars/doggo1.png) Community
Join the [Discord community](https://discord.gg/xuR8Dsv) for help and to talk about what you are doing with Griddly!



# ![Documentation](resources/images/oryx/oryx_fantasy/bookshelf-1.png) Documentation

Full documentation can be found here:
[griddly.readthedocs.org](https://griddly.readthedocs.org)

## Installing Without Building Locally
# ![Tutorials](resources/images/gvgai/oryx/book1.png) ![Tutorials](resources/images/gvgai/oryx/book2.png) ![Tutorials](resources/images/gvgai/oryx/book3.png) Tutorials

The most awesome part of Griddly is the ability to easily customize and build your own research environments. To make this extra easy we've written lots of tutorials:

## [Getting Started](https://griddly.readthedocs.org)
## Game Mechanics
* [Proximity Triggers](https://griddly.readthedocs.io/en/latest/tutorials/Proximity%20Triggers/index.html)
* Configure interactions between objects based on their distance.

## [Custom Shaders](https://griddly.readthedocs.io/en/latest/tutorials/Custom%20Shaders/index.html)
* Customize rendering for environments using SPIR-V shaders.
<div style="display:flex; justify-content: center; align-items: center; height:300px">
<img src="python/examples/Custom Shaders/Global%20Lighting/global_lighting.gif"/>
<img src="python/examples/Custom Shaders/Health%20Bars/health_bars.gif"/>
<img src="python/examples/Custom Shaders/Object%20Lighting/object_lighting.gif"/>
</div>

### Python
# ![Installing](resources/images/gvgai/oryx/hammer1.png) Installing

To install Griddly without building from source just install from pypi:
<div align="center">

```
pip install griddly
```
```

### Java (Coming Soon)
Build Status
| OS | Status |
|----------|----------|
| Linux | [![Build Status](https://dev.azure.com/chrisbam4d/Griddly/_apis/build/status/Bam4d.Griddly?branchName=develop&jobName=Linux)](https://dev.azure.com/chrisbam4d/Griddly/_build/latest?definitionId=1&branchName=develop) |
| Windows | [![Build Status](https://dev.azure.com/chrisbam4d/Griddly/_apis/build/status/Bam4d.Griddly?branchName=develop&jobName=Windows)](https://dev.azure.com/chrisbam4d/Griddly/_build/latest?definitionId=1&branchName=develop) |
| MacOS | [![Build Status](https://dev.azure.com/chrisbam4d/Griddly/_apis/build/status/Bam4d.Griddly?branchName=develop&jobName=MacOS)](https://dev.azure.com/chrisbam4d/Griddly/_build/latest?definitionId=1&branchName=develop) |

Java library support will be developed using [JavaCpp](https://github.com/bytedeco/javacpp)
</div>


# Building locally
# ![Installing](resources/images/gvgai/oryx/staff1.png) Building locally

Firstly sync up the git submodules:

Expand Down
8 changes: 4 additions & 4 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ pr:

jobs:
- job: Linux
timeoutInMinutes: 30
timeoutInMinutes: 40
pool:
vmImage: "ubuntu-18.04"
steps:
Expand Down Expand Up @@ -74,7 +74,7 @@ jobs:
- job: PyPiDeployLinux
dependsOn: Linux
condition: and(succeeded(), or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), contains(variables['Build.SourceBranch'], 'test_deploy')))
timeoutInMinutes: 30
timeoutInMinutes: 40
pool:
vmImage: "ubuntu-18.04"
strategy:
Expand Down Expand Up @@ -133,7 +133,7 @@ jobs:
- job: Windows
variables:
VULKAN_SDK: C:/VulkanSDK/1.2.148.0
timeoutInMinutes: 30
timeoutInMinutes: 40
pool:
vmImage: "windows-latest"
steps:
Expand Down Expand Up @@ -198,7 +198,7 @@ jobs:
dependsOn: Windows
variables:
VULKAN_SDK: C:/VulkanSDK/1.2.148.0
timeoutInMinutes: 30
timeoutInMinutes: 40
pool:
vmImage: "windows-latest"
strategy:
Expand Down
2 changes: 1 addition & 1 deletion bindings/python.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ namespace griddly {

PYBIND11_MODULE(python_griddly, m) {
m.doc() = "Griddly python bindings";
m.attr("version") = "1.2.23";
m.attr("version") = "1.2.24";

#ifndef NDEBUG
spdlog::set_level(spdlog::level::debug);
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@
# -- Project information -----------------------------------------------------

project = 'Griddly'
copyright = '2020, Chris Bamford'
copyright = '2022, Chris Bamford'
author = 'Chris Bamford'

# The full version, including alpha/beta/rc tags
release = '1.2.23'
release = '1.2.24'


# -- General configuration ---------------------------------------------------
Expand Down
Binary file modified docs/games/Bait/img/Bait-level-Block2D-0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Bait/img/Bait-level-Block2D-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Bait/img/Bait-level-Block2D-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Bait/img/Bait-level-Block2D-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Bait/img/Bait-level-Block2D-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Bait/img/Bait-tile-wall-Block2D.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Bait_With_Keys/img/Bait_With_Keys-level-Block2D-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Bait_With_Keys/img/Bait_With_Keys-level-Block2D-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Clusters/img/Clusters-level-Block2D-0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Clusters/img/Clusters-level-Block2D-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Clusters/img/Clusters-level-Block2D-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Clusters/img/Clusters-level-Block2D-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Clusters/img/Clusters-level-Block2D-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Clusters/img/Clusters-tile-blue_box-Block2D.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Clusters/img/Clusters-tile-green_box-Block2D.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Clusters/img/Clusters-tile-red_box-Block2D.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Clusters/img/Clusters-tile-wall-Block2D.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Cook_Me_Pasta/img/Cook_Me_Pasta-level-Sprite2D-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Cook_Me_Pasta/img/Cook_Me_Pasta-level-Sprite2D-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Cook_Me_Pasta/img/Cook_Me_Pasta-level-Sprite2D-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Cook_Me_Pasta/img/Cook_Me_Pasta-level-Sprite2D-5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/games/Cook_Me_Pasta/img/Cook_Me_Pasta-tile-key-Sprite2D.png
Binary file modified docs/games/Drunk_Dwarf/img/Drunk_Dwarf-level-Block2D-0.png
Binary file modified docs/games/Drunk_Dwarf/img/Drunk_Dwarf-level-Block2D-1.png
Binary file modified docs/games/Drunk_Dwarf/img/Drunk_Dwarf-level-Block2D-2.png
Binary file modified docs/games/Drunk_Dwarf/img/Drunk_Dwarf-level-Block2D-3.png
Binary file modified docs/games/Drunk_Dwarf/img/Drunk_Dwarf-level-Block2D-4.png
Binary file modified docs/games/Drunk_Dwarf/img/Drunk_Dwarf-tile-door-Block2D.png
Binary file modified docs/games/Foragers/img/Foragers-level-Block2D-0.png
Binary file modified docs/games/Foragers/img/Foragers-level-Block2D-1.png
Binary file modified docs/games/Foragers/img/Foragers-level-Block2D-2.png
Binary file modified docs/games/Foragers/img/Foragers-level-Sprite2D-0.png
Binary file modified docs/games/Foragers/img/Foragers-level-Sprite2D-1.png
Binary file modified docs/games/Foragers/img/Foragers-level-Sprite2D-2.png
Binary file modified docs/games/Foragers/img/Foragers-tile-fixed_wall-Block2D.png
Binary file modified docs/games/Foragers/img/Foragers-tile-potion1-Sprite2D.png
Binary file modified docs/games/Foragers/img/Foragers-tile-potion2-Sprite2D.png
Binary file modified docs/games/GriddlyRTS/img/GriddlyRTS-level-Block2D-1.png
Binary file modified docs/games/GriddlyRTS/img/GriddlyRTS-level-Block2D-2.png
Binary file modified docs/games/GriddlyRTS/img/GriddlyRTS-level-Block2D-3.png
Binary file modified docs/games/GriddlyRTS/img/GriddlyRTS-level-Isometric-0.png
Binary file modified docs/games/GriddlyRTS/img/GriddlyRTS-level-Isometric-1.png
Binary file modified docs/games/GriddlyRTS/img/GriddlyRTS-level-Isometric-2.png
Binary file modified docs/games/GriddlyRTS/img/GriddlyRTS-level-Isometric-3.png
Binary file modified docs/games/GriddlyRTS/img/GriddlyRTS-tile-fixed_wall-Block2D.png
Binary file modified docs/games/GriddlyRTS/img/GriddlyRTS-tile-worker-Isometric.png
Binary file modified docs/games/Heal_Or_Die/img/Heal_Or_Die-level-Block2D-0.png
Binary file modified docs/games/Heal_Or_Die/img/Heal_Or_Die-level-Block2D-1.png
Binary file modified docs/games/Heal_Or_Die/img/Heal_Or_Die-level-Isometric-0.png
Binary file modified docs/games/Heal_Or_Die/img/Heal_Or_Die-level-Isometric-1.png
Binary file modified docs/games/Heal_Or_Die/img/Heal_Or_Die-tile-hole-Isometric.png
Binary file modified docs/games/Heal_Or_Die/img/Heal_Or_Die-tile-mountain-Block2D.png
Binary file modified docs/games/Heal_Or_Die/img/Heal_Or_Die-tile-warrior-Isometric.png
Binary file modified docs/games/Kill_The_King/img/Kill_The_King-level-Block2D-0.png
Binary file modified docs/games/Kill_The_King/img/Kill_The_King-level-Isometric-0.png
Binary file modified docs/games/Labyrinth/img/Labyrinth-level-Block2D-0.png
Binary file modified docs/games/Labyrinth/img/Labyrinth-level-Block2D-1.png
Binary file modified docs/games/Labyrinth/img/Labyrinth-level-Block2D-2.png
Binary file modified docs/games/Labyrinth/img/Labyrinth-level-Block2D-3.png
Binary file modified docs/games/Labyrinth/img/Labyrinth-level-Block2D-4.png
Binary file modified docs/games/Labyrinth/img/Labyrinth-tile-wall-Block2D.png
Binary file modified docs/games/Push_Mania/img/Push_Mania-level-Isometric-0.png
Binary file modified docs/games/Push_Mania/img/Push_Mania-level-Isometric-1.png
Binary file modified docs/games/Push_Mania/img/Push_Mania-tile-hole-Isometric.png
Binary file modified docs/games/Push_Mania/img/Push_Mania-tile-pusher-Isometric.png
Binary file modified docs/games/Robot_Tag_12v12/img/Robot_Tag_12v12-level-Block2D-0.png
Binary file modified docs/games/Robot_Tag_12v12/img/Robot_Tag_12v12-level-Block2D-1.png
Binary file modified docs/games/Robot_Tag_12v12/img/Robot_Tag_12v12-level-Block2D-3.png
Binary file modified docs/games/Robot_Tag_12v12/img/Robot_Tag_12v12-level-Sprite2D-0.png
Binary file modified docs/games/Robot_Tag_12v12/img/Robot_Tag_12v12-level-Sprite2D-2.png
Binary file modified docs/games/Robot_Tag_4v4/img/Robot_Tag_4v4-level-Block2D-0.png
Binary file modified docs/games/Robot_Tag_4v4/img/Robot_Tag_4v4-level-Block2D-1.png
Binary file modified docs/games/Robot_Tag_4v4/img/Robot_Tag_4v4-level-Block2D-2.png
Binary file modified docs/games/Robot_Tag_4v4/img/Robot_Tag_4v4-level-Block2D-3.png
Binary file modified docs/games/Robot_Tag_4v4/img/Robot_Tag_4v4-level-Sprite2D-0.png
Binary file modified docs/games/Robot_Tag_4v4/img/Robot_Tag_4v4-level-Sprite2D-3.png
Binary file modified docs/games/Robot_Tag_8v8/img/Robot_Tag_8v8-level-Block2D-0.png
Binary file modified docs/games/Robot_Tag_8v8/img/Robot_Tag_8v8-level-Block2D-1.png
Binary file modified docs/games/Robot_Tag_8v8/img/Robot_Tag_8v8-level-Block2D-2.png
Binary file modified docs/games/Robot_Tag_8v8/img/Robot_Tag_8v8-level-Block2D-3.png
Binary file modified docs/games/Robot_Tag_8v8/img/Robot_Tag_8v8-level-Sprite2D-0.png
Binary file modified docs/games/Robot_Tag_8v8/img/Robot_Tag_8v8-level-Sprite2D-1.png
Binary file modified docs/games/Robot_Tag_8v8/img/Robot_Tag_8v8-level-Sprite2D-2.png
Binary file modified docs/games/Robot_Tag_8v8/img/Robot_Tag_8v8-level-Sprite2D-3.png
Binary file modified docs/games/Zelda/img/Zelda-level-Block2D-0.png
Binary file modified docs/games/Zelda/img/Zelda-level-Block2D-1.png
Binary file modified docs/games/Zelda/img/Zelda-level-Block2D-2.png
Binary file modified docs/games/Zelda/img/Zelda-level-Sprite2D-0.png
Binary file modified docs/games/Zelda/img/Zelda-level-Sprite2D-1.png
Binary file modified docs/games/Zelda/img/Zelda-level-Sprite2D-2.png
Binary file modified docs/games/Zelda/img/Zelda-tile-avatar-Block2D.png
Binary file modified docs/games/Zelda/img/Zelda-tile-key-Block2D.png
Binary file modified docs/games/Zelda/img/Zelda-tile-key-Sprite2D.png
Binary file modified docs/games/img/Cook_Me_Pasta-taster.png
Binary file modified docs/games/img/Foragers-taster.png
Binary file modified docs/games/img/GriddlyRTS-taster.png
Binary file modified docs/games/img/Heal_Or_Die-taster.png
Binary file modified docs/games/img/Kill_The_King-taster.png
Binary file modified docs/games/img/Partially_Observable_Cook_Me_Pasta-taster.png
Binary file modified docs/games/img/Partially_Observable_Zelda-taster.png
Binary file modified docs/games/img/Push_Mania-taster.png
Binary file modified docs/games/img/Robot_Tag_12v12-taster.png
Binary file modified docs/games/img/Robot_Tag_4v4-taster.png
Binary file modified docs/games/img/Robot_Tag_8v8-taster.png
Binary file modified docs/games/img/Zelda-taster.png
Binary file modified docs/games/img/Zelda_Sequential-taster.png
Loading

0 comments on commit e247c06

Please sign in to comment.