camelot-wrapper
Wrapper that connects Camelot with EM-Glue and performs some game management tasks.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.6%) to scientific vocabulary
Repository
Wrapper that connects Camelot with EM-Glue and performs some game management tasks.
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
Camelot-Wrapper
Camelot-Wrapper is part of the PhD thesis of Giulio Mori that has the objective of making an layer of communication between Experience Managers and Environments. The main project is called EM-Glue. The aim of this library is to give a structure to Camelot where AIs can reason on without implementing all the camelot commands hard coded in the code. It uses PDDL as language to build a state of the word and as a medium to move informations of what is changing on the environment.
New release is about to come out. This page is under manteinance.

Compatible version of camelot tested
Camelot v1.1: Works both on Windows and MacOS
Camelot v1.2: Works only on Windows
Project Status
The project is actively under developement. Once all the major components will be ready there will be a release.
Documentation
The documentation is under construction.
Installation
Install the latest version of the YarnSpinner-Console program ysc. This will be used by the conversation manager to compile the .yarn files containing the conversation files. On Windows, once you downloaded the ysc program into your PC, make sure that the ysc.exe is in the path variable and accessible by the terminal.
Then install the YarnRunner-Python
pip install git+https://github.com/relaypro-open/YarnRunner-Python@v0.2.1#egg=yarnrunner_python
pip install protobuf==3.20.0
To have it working correcly, a Camelot Wrapper needs to be launched in combination with the EM-Glue platform. Please check the README of that repository to successfully launch this software.
Usage
Please contact Giulio Mori for any questions about how is it used. If you use this software and you're writing a research paper, please cite our research paper where we showcase this software using the Github function for citation.
Table of Compatibility
Initialization - additional_data field
| Key | Format | Description | |---------------|---------------------|---------------------------| | "encounters" | list of dictionary | Each dictionary has 4 keys "name", "description", "metadata", "preconditions"
"name": string, indicates the name of the encounter. The EM will send this name to have an encounter executed.
"description": string, description of the encounter that the author defined.
"metadata": dictionary, with key "target-model" containing a list of the features that the author has defined as target for the encounter
"preconditions": string, a list of preconditions using PDDL |
Normal Communication - EM -> ENV
| Message accepted | Format | Description | |------------------|---------------------|---------------------------| | PDDL actions | string | Message containing the PDDL action to be executed |
Normal Communication - ENV -> EM
| Key | Format | Description | |-----------------------|---------------------|-----------------------------------------------------------| | "new" | string | New relation added to the world state | | "changedvalue" | string | Relation changed value in the world state | | "newentity" | string | Name of the entity that has been added to the world state.
This message is result of a special PDDL action executed by the experience manager | | "updateplayermodel" | string | An update to the player model happened in the environment.
The string contains five values formatted as:
"('value1', 'value2', 'value3', 'value4', 'value_5')"|
Contributing
Pull requests are welcome, but please open an issue first to discuss what you would like to change.
License
Owner
- Name: Giulio Mori
- Login: liogiu2
- Kind: user
- Location: Italy
- Repositories: 10
- Profile: https://github.com/liogiu2
I'm 28 years old and I have a PhD degree in Computer Science. I’m passionate about Artificial Intelligence, and Game Development.
Citation (CITATION.cff)
authors:
- given-names: Giulio
family-names: Mori
email: giulio17@ru.is
affiliation: Reykjavik University
orcid: 'https://orcid.org/0000-0001-7685-9637'
cff-version: 1.2.0
message: "Please cite this software using this citation."
preferred-citation:
authors:
- given-names: Giulio
family-names: Mori
email: giulio17@ru.is
affiliation: Reykjavik University
orcid: 'https://orcid.org/0000-0001-7685-9637'
- given-names: David
family-names: Thue
affiliation: Carleton University
- given-names: Stephan
family-names: Schiffel
affiliation: Reykjavik University
title: "EM-Glue: A Platform for Decoupling Experience Managers and Environments"
type: conference-paper
year: 2022
conference: "18th AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE-22)"
booktitle: "AAAI Press"
title: "Camelot-Wrapper"
GitHub Events
Total
Last Year
Dependencies
- PySimpleGUI ==4.60.0
- debugpy ==1.2.1
- jsonpickle ==2.1.0
- protobuf ==3.20.0
- requests ==2.27.1
- singleton_decorator ==1.0.0