本地运行游戏
安装说明尚未在 Mac/Windows 上测试。非常欢迎您的意见反馈!
请同时参考故障排除集合,其中收集了一些已知的问题。
有几种在本地运行游戏的选项:
- VSCode 开发容器:需要在您的机器上安装
docker - Codespaces:需要活跃的互联网连接,计算时间有限
- Gitpod:目前还不能正常运行(尚未确认?)
- 手动安装:需要在您的系统上安装
npm
推荐的选项是"VSCode 开发容器",但您可以根据个人喜好选择上述任何选项。
模板游戏 GameSkeleton 包含所有相关文件,可以让您的本地设置(开发容器 / gitpod / codespaces)正常工作。如果您需要在已有游戏中开发新改进,您可以从这个仓库复制文件来手动更新。
VSCode 开发容器
-
安装 Docker 和开发容器 (一次性):
参见官方说明。 具体来说,这意味着: -
在开发容器中打开项目 (每次):
一旦您安装了开发容器扩展,在 VSCode 中(重新)打开您的游戏项目文件夹。会出现一条消息询问您是否"在容器中重新打开"。- 第一次启动会花费一些时间,大约 2-15 分钟。第一次启动后,这应该会很快。
- 构建完成后,您可以在浏览器中打开 http://localhost:3000,这应该会加载游戏。
-
编辑文件 (每次):
在 VSCode 中编辑一些 Lean 文件后,打开 VSCode 的终端(视图 > 终端)并运行lake build。现在您可以重新加载浏览器以查看更改。
Codespaces
您可以使用 Github codespaces 来处理您的游戏(点击仓库绿色按钮"Code",然后"Codespaces",然后"在 main 上创建 codespace")。它应该在后台本地运行游戏。您可以在"Ports"下打开它,然后点击"在浏览器中打开"。
注意:您必须等到 npm 正确启动,这可能需要很长时间。
与开发容器一样,在更改任何 lean 文件后,您需要在运行 lake build,然后重新加载浏览器。
Gitpod
TODO:不确定这是否还能工作!
点击 gitpod 链接打开游戏。同样,您需要等到它完全构建完成,然后在您进行更改时在 shell 中输入 lake build。
手动安装
这会在您的计算机上手动安装 lean4game。(这与设置在线服务器的安装方式相同,只是运行命令(即 npm start)不同。)
安装 nvm:
command -v nvm 测试它是否可用(应该打印"nvm")。
现在安装 node:
克隆游戏(例如这里的 GameSkeleton):
git clone https://github.com/hhu-adam/GameSkeleton.git
# 或者:git clone git@github.com:hhu-adam/GameSkeleton.git
下载依赖项并构建游戏:
将服务器仓库克隆到游戏同级的目录中:
cd ..
git clone https://github.com/leanprover-community/lean4game.git
# 或者:git clone git@github.com:leanprover-community/lean4game.git
GameSkeleton 和 lean4game 必须在同一个目录中!
在 lean4game 中,安装依赖项:
运行游戏:
您应该看到类似这样的消息:
[server] > lean4-game@0.1.0 start:server
[server] > (cd server && lake build) && (cd relay && cross-env NODE_ENV=development nodemon -e mjs --exec "node ./index.mjs")
[server]
[client]
[client] > lean4-game@0.1.0 start:client
[client] > cross-env NODE_ENV=development vite --host
[client]
[server] [nodemon] 3.0.#
[server] [nodemon] to restart at any time, enter `rs`
[server] [nodemon] watching path(s): *.*
[server] [nodemon] watching extensions: mjs
[server] [nodemon] starting `node ./index.mjs`
[client]
[client] VITE v4.5.1 ready in \#\#\# ms
[client]
[client] ➜ Local: http://localhost:3000/
[client] ➜ Network: http://###.###.###.##:3000/
[client] [vite-plugin-static-copy] Collected 7 items.
[server] (node:#####) [DEP0040] [server] Listening on 8080
这需要一点时间。最终,游戏将在 http://localhost:3000/#/g/local/GameSkeleton 上可用。将 GameSkeleton 替换为您本地游戏的文件夹名称。
修改 GameServer
当修改游戏引擎本身(特别是 lean4game/server 中的内容)时,您可以使用与上述相同的设置(手动安装)通过使用 lake update -R -Klean4game.local 来实时测试它:
GameServer 包,而不是使用 github 上的版本。因此,您可以编辑 ../lean4game 中的本地 GameServer 副本,然后 lake build 将直接使用这个修改后的副本来构建您的游戏。