|
Post by account_disabled on Jan 27, 2024 23:16:08 GMT -5
“我想制作一款多人、基于经济的游戏。就像《星露谷物语》一样,但没有任何友善的方面和基于玩家的经济。” Pause Next Unmute Current Time Duration 2:00 Fullscreen 当我决定尝试使用 PHP 和 React 构建游戏时,我就开始思考这个问题。问题是,我对多人游戏的动态一无所知,也不知道如何思考和实施基于玩家的经济。 星露谷物语 我什至不确定我对 React 的了解是否足以证明使用它的合理性。我的意思是,最初的界面——我主要关注游戏的服务器和经济方面——非常适合 React。但是当我开始制作农业/互动方面时呢?我喜欢围绕经济体系建立等距界面的想法。 我曾经看过dead_lugosi的演讲,她在演讲中描述了用 PHP 构建一个中世纪游戏。Margaret 启发了我,这次演讲促使我写了一本关于 JS 游戏开发的书。我决心写下我的经历。也许其他人也可以从我的错误中吸取教训。 这部分的代码可以在以下位置找到。 我已经用 PHP7.1和最新版本的 Google Chrome 对其进行了测试。 设置后端 我搜索的第一件事是建立多人经济的指导。我发现了一个很棒的 Stack Overflow 线程,其中人们解释了需要思考的各种问题。我读到一半才意识到我可能是从错误的地方开始的。 “首先要做 WhatsApp 号码数据 的事情是:我需要一个 PHP 服务器。我将有很多 React 客户端,所以我想要一些能够高并发的东西(甚至可能是 WebSockets)。而且它需要持久:即使玩家不在身边,事情也必须发生。” 我开始设置一个异步 PHP 服务器——以处理高并发并支持 WebSockets。我添加了最近使用 PHP 预处理器的工作以使事情变得更清晰,并创建了前几个端点。 从我决定将Aerys用于应用程序的 HTTP 和 WebSocket 部分。这段代码看起来与 Aerys 文档非常不同,但那是因为我很清楚自己需要什么。 运行 Aerys 应用程序的通常过程是使用如下命令 有很多代码需要不断重复,而且它没有处理我想要使用 PHP 预处理的事实。 我创建了一个加载程序文件。 我想使用amphp/parallel, 将阻塞代码移出异步服务器,但它不会使用稳定标记 这就是我选择分支的原因dev-amp_v2。 我认为包含某种模板引擎和服务定位器是个好主意。我选择了每个版本的 PHP League 版本。最后我添加了既可以处理自定义语法也可以处理我计划在之后使用的短闭包...... 然后我开始创建路线文件。从虽然路线很简单,但它们帮助我测试了config.pre. 我决定让这些路由文件返回闭包,这样我就可以向它们传递一个 typed $router,他们可以向其中添加自己的路由。最后,我创建了两个(类似的)动作。 从a最后一步是添加快捷方式脚本,以启动 Aerys 服务器的开发版本和产品版本。 从完成所有这些后,我可以启动一个新服务器,只需输入以下内容即可访问: composer dev 设置前端 “好吧,现在 PHP 方面的事情已经相对稳定了 我该如何构建 ReactJS 文件?也许我可以使用我并不热衷于创建一个全新的构建链,并。
|
|