Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Assets/Readme.asset
Git LFS file not shown
4 changes: 2 additions & 2 deletions Packages/com.unity.multiplayer.samples.coop/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ All notable changes to this project template will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we have a readme in the /Package folder right? I'd be down to just nuke that file, I really don't like having two readmes... we were about to forget about it...
Or just update it for now, I'll try to have another talk with Nicolas and legal

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [0.1.0-experimental] - 2021-04-07
## [0.1.0] - 2021-04-07

### This is the experimental release of *Boss Room: Small scale coop sample*.
### This is the early access release of *Boss Room: Small scale co-op sample*.
2 changes: 1 addition & 1 deletion Packages/com.unity.multiplayer.samples.coop/LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Boss Room: Small scale coop sample © 2021 Unity Technologies
Boss Room: Small scale co-op sample © 2021 Unity Technologies

Licensed under the Unity Companion License for Unity-dependent projects (see https://unity3d.com/legal/licenses/unity_companion_license); otherwise licensed under the Unity Package Distribution License (see https://unity3d.com/legal/licenses/Unity_Package_Distribution_License).

Expand Down
49 changes: 35 additions & 14 deletions Packages/com.unity.multiplayer.samples.coop/README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,35 @@
![Banner](Documentation/Images/Banner.png)
# BossRoom - co-op multiplayer RPG built with Unity MLAPI
# Boss Room - co-op multiplayer RPG built with Unity MLAPI

>**IMPORTANT**: This project is currently experimental.
| 🛑 IMPORTANT - Early Access 🛑 |
| -- |
| Boss Room: Small Scale Co-op Sample is built on top of the MLAPI package. The MLAPI package is on the road to being a fully featured solution. We have solutions architects available on Discord and forums to help you work through issues you encounter. |

BossRoom is a fully functional co-op multiplayer RPG made in Unity and MLAPI. It is built to serve as an educational sample that showcases certain typical gameplay patterns that are frequently featured in similar games.
Boss Room is a fully functional co-op multiplayer RPG made with Unity MLAPI. It is built to serve as an educational sample that showcases certain typical gameplay patterns that are frequently featured in similar games.

Our intention is that you can use everything in this project as a starting point or as bits and pieces in your own Unity games. The project is licensed under the Unity Companion License. See [LICENSE](LICENSE) for more legal information.
Our intention is that you can use everything in this project as a starting point or as bits and pieces in your own Unity games. The project is licensed under the Unity Companion License. See [LICENSE.md](LICENSE.md) for more legal information.


```
Platforms : Windows, Mac
```

![](Documentation/Images/3Players.png)
![](Documentation/Images/Boss.png)

## Getting the project
- A release version can be downloaded from the [Releases](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/releases) page.
- The early access version can be downloaded from the [Releases](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/releases) page.
- Alternatively: click the green `Code` button and then choose to download the zip archive. Remember, that you would download the branch that you are currently viewing in Github.
- For Windows users: Using Windows' built-in extracting tool may generate a "Error 0x80010135: Path too long" error window which can invalidate the extraction process. A workaround for this is to shorten the zip file to a single character (eg. "c.zip") and move it to the shortest path on your computer (most often right at C:\\) and retry. If that solution fails, another workaround is to extract the downloaded zip file using 7zip.


## Installing Git LFS

This project uses Git Large Files Support (LFS), which ensures all large assets required locally are handled for the project. See [Git LFS installation options](https://github.com/git-lfs/git-lfs/wiki/Installation) for Windows and Mac instructions.

## Opening the project for the first time

Once you have downloaded the project the steps below should get you up and running:
Once you have downloaded the project, the steps below should get you up and running:
- Make sure you have installed the version of Unity that is listed above in the prerequisites section.
- Make sure to include standalone support for Windows/Mac in your installation.
- Add the project in _Unity Hub_ by clicking on **Add** button and pointing it to the root folder of the downloaded project.
Expand All @@ -28,7 +38,6 @@ Once you have downloaded the project the steps below should get you up and runni
![](Documentation/Images/StartupScene.png)
- From there you can click the **Play** button. You can host a new game or join an existing game using the in-game UI.


## Testing multiplayer

In order to see the multiplayer functionality in action we can either run multiple instances of the game locally on our computer or choose to connect to a friend over the internet.
Expand All @@ -49,11 +58,16 @@ After the build has completed you can launch several instances of the built exec
---------------
**Multiplayer over internet**

In contrast to running a local setup, when playing over internet we don't neccessarily need a built executable. We can just run the game in editor.
In order to play over internet, we need to have a built executable that is shared between all players. See the previous section.

Running the game over internet currently requires setting up a [Photon Transport for MLAPI](https://github.com/Unity-Technologies/mlapi-community-contributions), which uses Photon relay server to facilitate communication between clients and server living on different networks.
It is possible to connect between multiple instances of the same executable OR between executables and the editor that produced said executable.

Alternatively you can use Port Forwarding. The wonderful https://portforward.com/ site has guides on how to enable port forwarding on a huge number of routers. BossRoom uses `UDP` and needs a `9998` external port to be open.
Running the game over internet currently requires setting up a [Photon Transport for MLAPI](https://github.com/Unity-Technologies/mlapi-community-contributions), which uses Photon relay server to facilitate communication between clients and server living on different networks.

> Checkout our Photon-Realtime setup guide, here:
> [Boss Room Photon Setup Guide](Documentation/Photon-Realtime/Readme.md)

Alternatively you can use Port Forwarding. The wonderful https://portforward.com/ site has guides on how to enable port forwarding on a huge number of routers. Boss Room uses `UDP` and needs a `9998` external port to be open.

------------------------------------------

Expand All @@ -66,14 +80,14 @@ The game is server-authoritative, with latency-masking animations. Position upda

Code is organized into three separate assemblies: **Client**, **Shared** and **Server** which reference each other when appropriate.

For an in-depth overview of the project's architecture please check out our [ARCHITECTURE.md](ARCHITECTURE.md).
For an overview of the project's architecture please check out our [ARCHITECTURE.md](ARCHITECTURE.md).

---------------

For a deep dive in MLAPI and Boss Room, visit our [doc](https://docs-multiplayer.unity3d.com/) and [Learn](https://docs-multiplayer.unity3d.com/docs/learn/introduction) sections.

## Contributing

> __IMPORTANT__:
> This project uses Git Large Files Support (LFS). See the [link with Git LFS installation options](https://git-lfs.github.com/).

The project uses the `git-flow` branching strategy, as such:
- `develop` branch contains all active development
- `master` branch contains release versions
Expand All @@ -83,4 +97,11 @@ To get the project on your machine you need to clone the repository from GitHub
git clone https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop.git
```

> __IMPORTANT__:
> You should have [Git LFS](https://git-lfs.github.com/) installed on your local machine.

Please check out [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on submitting issues and PRs to BossRoom!

For futher discussion points and to connect with the team, join us on the MLAPI by Unity Discord Server - Channel #dev-samples

[![Discord](https://img.shields.io/discord/449263083769036810.svg?label=discord&logo=discord&color=informational)](https://discord.gg/FM8SE9E)
4 changes: 2 additions & 2 deletions ProjectSettings/ProjectSettings.asset
Git LFS file not shown