This commit is contained in:
Ervin Teng 2021-07-09 15:24:40 -07:00
Родитель 06451cd5c3
Коммит c628c75f0e
2 изменённых файлов: 99 добавлений и 2 удалений

96
.gitignore поставляемый Normal file
Просмотреть файл

@ -0,0 +1,96 @@
# This .gitignore file should be placed at the root of your Unity project directory
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
# Output Artifacts
/results
/Assets/ML-Agents/Timers
/Packages/packages-lock.json
# A marker file of which existence is used to decide whether to run the first-launch experience or not.
InitCodeMarker
/[Tt]utorial [Dd]efaults/
# Packed templates go here
upm-ci~/
upm-ci.log
# Never ignore Asset meta data...
!/[Aa]ssets/**/*.meta
# User's project-specific settings implemented using Settings Manager
/ProjectSettings/Packages
# The rest are general best practices for Unity projects
/.Editor/
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Mm]emoryCaptures/
/[Vv]alidationSuiteResults/
# Project/user-specific settings using Settings Manager
/ProjectSettings/Packages/
# UserSettings introduced in 2020.1
/UserSettings/
# Uncomment this line if you wish to ignore the asset store tools plugin
/[Aa]ssets/AssetStoreTools*
# Autogenerated Jetbrains Rider plugin
[Aa]ssets/Plugins/Editor/JetBrains*
# Rider
.idea/
# Visual Studio cache directory
.vs/
# Visual Studio Code settings directory
.vscode/
# Gradle cache directory
.gradle/
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta
# Unity3D generated file on crash reports
sysinfo.txt
# Builds
*.apk
*.unitypackage
# Crashlytics generated file
crashlytics-build.properties
*.orig
*.orig.meta
# Ignore build reports
/Assets/BuildReports*
# Mac file setting
.DS_Store

Просмотреть файл

@ -4,7 +4,7 @@
## Overview
The [ML-Agents](https://github.com/Unity-Technologies/ml-agents) DodgeBall environment is a third-person cooperative shooter where players try to pick up as many balls as they can, then throw them at their opponents. It comprises two game modes: Elimination and Capture the Flag. In Elimination, each group tries to eliminate all members of the other group by hitting them with balls. In Capture the Flag, players try to steal the other teams flag and bring it back to their base. In both modes, players can hold up to four balls, and dash to dodge incoming balls and go through hedges. You can find more information about the environment at the corresponding blog post[insert link].
The [ML-Agents](https://github.com/Unity-Technologies/ml-agents) DodgeBall environment is a third-person cooperative shooter where players try to pick up as many balls as they can, then throw them at their opponents. It comprises two game modes: Elimination and Capture the Flag. In Elimination, each group tries to eliminate all members of the other group by hitting them with balls. In Capture the Flag, players try to steal the other teams flag and bring it back to their base. In both modes, players can hold up to four balls, and dash to dodge incoming balls and go through hedges. You can find more information about the environment at the corresponding blog post.
This environment is intended to be used with the new features announced in [ML-Agents 2.0](https://blog.unity.com/technology/ml-agents-v20-release-now-supports-training-complex-cooperative-behaviors), namely cooperative behaviors and variable length observations. By using the [MA-POCA trainer](https://github.com/Unity-Technologies/ml-agents/blob/release_18_docs/docs/Learning-Environment-Design-Agents.md#groups-for-cooperative-scenarios), [variable length observations](https://github.com/Unity-Technologies/ml-agents/blob/release_18_docs/docs/Learning-Environment-Design-Agents.md#groups-for-cooperative-scenarios), and [self-play](https://github.com/Unity-Technologies/ml-agents/blob/release_18_docs/docs/Learning-Environment-Design-Agents.md#teams-for-adversarial-scenarios), you can train teams of DodgeBall agents to play against each other. Trained agents are also provided in this project to play with, as both your allies and your opponents.
@ -17,7 +17,8 @@ Clone the `dodgeball-env` branch of this repository by running:
git clone --single-branch --branch dodgeball-env https://github.com/Unity-Technologies/ml-agents.git ml-agents-dodgeball-env
```
Open the root folder in Unity. Then, navigate to `Assets/Dodgeball/Scenes/TitleScreen.unity`, open it, and hit the play button to play against pretrained agents. You can also build this scene (along with the `Elimination.unity` and `CaptureTheFlag.unity` scenes into a game build and play from there.
Open the root folder in Unity. Then, navigate to `Assets/Dodgeball/Scenes/TitleScreen.unity`, open it, and hit the play button to play against pretrained agents. You can also build this scene (along with the `Elimination.unity` and `CaptureTheFlag.unity` scenes) into a game build and play from there.
## Scenes
In `Assets/Dodgeball/Scenes/`, in addition to the title screen, six scenes are provided. They are: