我的想法是制作一个可以单人或多人玩的简单 2D 游戏。这个概念很简单:创建游戏的是主机,加入的是客户端。
问题/问题: 1. 启动这样一个项目的先决条件是什么?2. Unity 如何处理基于服务器-客户端的情况?3. 是否可以通过编写脚本手动实现联网?(不使用 3rd 方库和包)
我的想法是制作一个可以单人或多人玩的简单 2D 游戏。这个概念很简单:创建游戏的是主机,加入的是客户端。
问题/问题: 1. 启动这样一个项目的先决条件是什么?2. Unity 如何处理基于服务器-客户端的情况?3. 是否可以通过编写脚本手动实现联网?(不使用 3rd 方库和包)
好吧,您首先需要定义如何将这些玩家完全连接起来。如果我要做那个游戏,我会拥有某种后端服务,作为所有玩家的共同点。
但是,拥有后端服务器是不够的。你必须有一个实时代理来玩游戏(除非你想要的游戏是回合制系统)。这将确保每个玩家与您的游戏同步。
总的来说,如果你不得不问这些问题,那么我认为你还没有准备好接受这种范围。好吧,当然,如果您渴望这样做,以下是您的答案:
先决条件是后端服务器(支持套接字)、实时代理、多人系统架构设计(不确定这是否是术语。基本上你需要设计某种系统来定义什么,在哪里,以及数据将如何相互交互,即谁将是主机、服务器或玩家?)
Unity 的工作方式取决于您希望它如何工作。您可以使用 UNet 或 Photon 作为您的实时代理。(相信我,这不是你想要自己做的事情)。
是的,只要你有头脑,你就可以。您可以使用 .NET 网络类并使用 .NET 的网络 API 自由连接到您的后端服务(您自己的后端)。我只会将它用于我的后端的 REST API,而不是其他任何东西。
同样,您更愿意使用一些东西,例如 Gamesparks、Playfab、UNet、Photon 等。我建议您先尝试看看您需要什么,然后看看这些后端服务/实时服务是否有它。如果他们不这样做,那就是你自己做的时候了。