![Banner](Documentation/Images/Banner.png)
# Boss Room - Co-op multiplayer RPG and utilities built with Unity Netcode for GameObjects
| Solutions architects are available on [Discord](https://discord.gg/mNgM2XRDpb) and [forums](https://forum.unity.com/forums/multiplayer.26/) to help you work through issues you may encounter when using Boss Room. |
| -- |
Boss Room is a fully functional co-op multiplayer RPG made with Unity Netcode. It is built to serve as an educational sample that showcases certain typical gameplay [patterns](https://docs-multiplayer.unity3d.com/netcode/current/learn/bossroom-examples/bossroom-actions) that are frequently featured in similar networked games.
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.
This repo also contains a [Utilities](Packages/com.unity.multiplayer.samples.coop) package, containing sample scripts reusable in your own projects. You can install it using the following manifest file entry:
`"com.unity.multiplayer.samples.coop": "https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop.git?path=/Packages/com.unity.multiplayer.samples.coop",
`
See [ART_NOTES.md](Documentation/ART_NOTES.md) for more information on the art of Boss Room.
> __IMPORTANT__:
> - Boss Room has been developed and tested on these Platforms (Windows, Mac, iOS, and Android).
> - Tested on iPhone 6 and Pixel 3.
> - Boss Room is compatible with the latest Unity LTS version.
> - Make sure to include standalone support for Windows/Mac in your installation.
![](Documentation/Images/3Players.png)
![](Documentation/Images/Boss.png)
## Getting the project
- The pre-release 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 to clone locally
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.
## Registering the project with Unity Gaming Services (UGS)
This project leverages several services from UGS to facilitate connectivity between players. In order to use these services inside your project, one must first [create an organization](https://support.unity.com/hc/en-us/articles/208592876-How-do-I-create-a-new-Organization-) inside Unity Dashboard, and enable both the [Relay](https://docs.unity.com/relay/get-started.html) and [Lobby](https://docs.unity.com/lobby/game-lobby-sample.html) services.
## Opening the project for the first time
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.
- The first time you open the project Unity will import all assets, which will take longer than usual - it is normal.
- Once the editor is ready, navigate to the _Project_ window and open the _Project/Startup_ scene.
![](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 your computer, using either ParrelSync or builds or choose to connect to a friend over the internet. See [how to test](https://docs-multiplayer.unity3d.com/netcode/current/tutorials/testing/testing_locally) for more info.
---------------
**Local multiplayer setup**
First we need to build an executable.
To build an executable, press _File/Build Settings_ in the menu bar, and then press **Build**.
![](Documentation/Images/BuildProject.png)
Once the build has completed you can launch several instances of the built executable in order to both host and join a game.
> Mac users: to run multiple instances of the same app, you need to use the command line.
> Run `open -n BossRoom.app`
---------------
**Multiplayer over internet**
To play over internet, we need to build an executable that is shared between all players. See the previous section.
It is possible to connect between multiple instances of the same executable OR between executables and the editor that produced said executable.
Running the game over internet currently requires setting up a relay. Boss Room provides an integration with [Unity Relay](https://docs-multiplayer.unity3d.com/netcode/current/relay/relay).
> Checkout our Unity Relay setup guide [here](https://docs-multiplayer.unity3d.com/netcode/current/relay/relay)
Alternatively you can use Port Forwarding. The 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. Make sure your host's address listens on 0.0.0.0 (127.0.0.1 is for local development only).
------------------------------------------
## Exploring the project
BossRoom is an eight-player co-op RPG game experience, where players collaborate to take down some minions, and then a boss. Players can select between classes that each have skills with didactically interesting networking characteristics. Control model is click-to-move, with skills triggered by mouse button or hotkey.
One of the eight clients acts as the host/server. That client will use a compositional approach so that its entities have both server and client components.
The game is server-authoritative, with latency-masking animations. Position updates are done through NetworkedVars that sync position, rotation and movement speed. NetworkedVars and Remote Procedure Calls (RPC) endpoints are isolated in a class that is shared between the server and client specialized logic components. All game logic runs in FixedUpdate at 30 Hz, matching our network update rate.
Code is organized into three separate assemblies: **Client**, **Shared** and **Server** which reference each other when appropriate.
For an overview of the project's architecture please check out our [ARCHITECTURE.md](ARCHITECTURE.md).
---------------
For a deep dive in Unity Netcode and Boss Room, visit our [doc](https://docs-multiplayer.unity3d.com/) and [Unity Multiplayer Resources](https://docs-multiplayer.unity3d.com/netcode/current/learn/introduction) sections.
## Bite-size Samples
This repository contains a collection of bitesize sample projects and games that showcase different sub-features of NGO. You can review these samples with documentation to understand APIs and features better.
- [Our various bitesize samples](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize)
## Contributing
The project uses the `git-flow` branching strategy, as such:
- `develop` branch contains all active development
- `main` branch contains release versions
To get the project on your machine you need to clone the repository from GitHub using the following command-line comm
没有合适的资源?快使用搜索试试~ 我知道了~
一个基于新的 Unity 网络框架构建的小型合作游戏示例,用于指导开发人员创建类似的多人游戏_c#_代码_下载
共2497个文件
meta:1271个
prefab:314个
cs:211个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 197 浏览量
2022-06-23
10:33:16
上传
评论 1
收藏 107.82MB ZIP 举报
温馨提示
Boss Room 是一款使用 Unity Netcode 制作的全功能合作多人角色扮演游戏。它旨在作为一个教育样本,展示某些典型的游戏模式,这些模式经常出现在类似的网络游戏中。 您可以将此项目中的所有内容用作起点,也可以用作您自己的 Unity 游戏中的点点滴滴。 效果展示: https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/blob/main/Documentation/Images/3Players.png 更多详情、使用方法,请下载后阅读README.md文件
资源推荐
资源详情
资源评论
收起资源包目录
一个基于新的 Unity 网络框架构建的小型合作游戏示例,用于指导开发人员创建类似的多人游戏_c#_代码_下载 (2497个子文件)
Camera_shake.anim 9KB
Anim_UI_Message_Hide.anim 7KB
Anim_UI_Message_Slide.anim 7KB
UI_GroundClick.anim 5KB
Anim_UI_Message_Idle.anim 5KB
Sphere_ThrowBomb_anim.anim 4KB
UI_LobbyBox_LockedIn.anim 4KB
com.unity.multiplayer.samples.bossroom.shared.asmdef 752B
com.unity.multiplayer.samples.bossroom.client.asmdef 739B
com.unity.multiplayer.samples.bossroom.server.asmdef 688B
com.unity.multiplayer.samples.utilities.asmdef 582B
com.unity.multiplayer.samples.bossroom.debug.cheats.asmdef 571B
com.unity.multiplayer.samples.bossroom.editor.asmdef 487B
com.unity.multiplayer.samples.utilities.clientauthority.asmdef 457B
EditorTests.asmdef 202B
RuntimeTests.asmdef 98B
LiberationSans SDF.asset 2.15MB
Roboto-Bold SDF.asset 565KB
Bungee-Regular SDF.asset 564KB
LightingData.asset 200KB
NavMesh-DungeonNavMesh.asset 61KB
ProjectSettings.asset 23KB
LightingData.asset 18KB
EmojiOne.asset 13KB
InputManager.asset 10KB
PostProcessProfile_Mobile_High.asset 9KB
PostProcessProfile.asset 9KB
LiberationSans SDF - Fallback.asset 9KB
QualitySettings.asset 8KB
PostProcessProfile_Mobile_Medium.asset 6KB
Default Style Sheet.asset 5KB
UniversalRenderPipelineAsset_Renderer_Mobile_High.asset 4KB
UniversalRenderPipelineAsset_Renderer.asset 4KB
GraphicsSettings.asset 4KB
UniversalRenderPipelineAsset_Renderer_Mobile_Med.asset 4KB
Physics2DSettings.asset 2KB
Readme.asset 2KB
ArcherChargedShot.asset 2KB
UniversalRenderPipelineAsset_Renderer_Mobile_Low.asset 2KB
TMP Settings.asset 2KB
UniversalRenderPipelineAsset_Mobile_Medium.asset 2KB
UniversalRenderPipelineAsset_Mobile_Low.asset 2KB
UniversalRenderPipelineAsset_Mobile_High.asset 2KB
UniversalRenderPipelineAsset.asset 2KB
TankShieldBuff.asset 1KB
NavMeshAreas.asset 1KB
SharedVisualizationConfiguration.asset 1KB
DynamicsManager.asset 1KB
EditorSettings.asset 1KB
MageBaseAttack.asset 1KB
ArcherVolley.asset 1KB
ArcherBaseAttack.asset 1KB
MageHeal.asset 1KB
RogueDashAttack.asset 1KB
TankTestAoeAttack.asset 1KB
RogueStealthMode.asset 1KB
TankShieldRush.asset 1KB
EditorBuildSettings.asset 1KB
RogueBaseAttack.asset 1KB
TankBaseAttack.asset 1KB
BossImpTrampleAttack.asset 1016B
Revive.asset 1004B
PackageManagerSettings.asset 1003B
AvatarRegistry.asset 992B
BossImpBaseAttack.asset 916B
ImpBaseAttack.asset 913B
UnityConnectSettings.asset 901B
Emote2.asset 856B
NameGenerationData.asset 856B
Emote3.asset 856B
Emote4.asset 852B
Emote1.asset 852B
Chase.asset 844B
Target.asset 822B
ArcherGirl.asset 805B
RogueGirl.asset 804B
ArcherBoy.asset 804B
TankGirl.asset 803B
MageGirl.asset 803B
RogueBoy.asset 802B
MageBoy.asset 802B
TankBoy.asset 802B
Archer.asset 782B
Rogue.asset 780B
Mage.asset 777B
Tank.asset 777B
Stunned.asset 769B
ImpBoss.asset 666B
Imp.asset 659B
TagManager.asset 653B
NetworkGameState.asset 426B
ClientPlayerAvatars.asset 420B
PersistentPlayers.asset 418B
AudioManager.asset 416B
TimelineSettings.asset 411B
URPProjectSettings.asset 410B
BaseHP.asset 409B
BaseHP.asset 409B
BaseHP.asset 408B
BaseHP.asset 408B
共 2497 条
- 1
- 2
- 3
- 4
- 5
- 6
- 25
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9156
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab实现对表面肌电信号进行归一化处理,并对归一化后的图形显示 .rar
- 基于matlab实现单级倒立摆的 T-S 模型 包括 LMI 程序源码
- 图书管理系统(struts+hibernate+spring+ext).rar
- 基于matlab实现此压缩包包含语音信号处理中的语音变声代码加音频.rar
- STM32使用PWM驱动舵机并通过OLED显示
- 基于matlab实现车辆路径规划;遗传算法;matlab代码.rar
- 图书管理系统(struts+hibernate+spring)130225.rar
- 基于matlab实现采用标量衍射理论,实现菲涅尔衍射和夫琅禾费衍射,对光波的波前传播和数字全息的应用有帮助.rar
- JavaScript版去除链表重复元素
- 微信小程序项目-功德木鱼(带设置面板-自定义文字、可选字体颜色、可选木鱼样式)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功