Etherboy 是一个基于 Unity 的多平台 2D 游戏,使用 Loom Unity SDK与一个用 Golang 写的智能合约交互并运行在 Loom DApp 链上。
游戏控制
台式机 / WebGL
- UP:进门、爬绳
- DOWN:从绳索下来
- E:与 NPC 交谈、在床上睡觉、与物品交互
- 空间 / 右键单击: 跳
- 左键单击: 攻击 (当装备了武器时)
支持的平台
- WebGL
- Android (WIP)
- iOS (WIP)
- Windows/Mac/Linux
开发
目前你需要在 MacOS 或 Linux 上启动 Loom DApp 链,但是如果你在用 Windows 10,你可以运行在Linux 的 Windows 子系统中的 Ubuntu(其他发行版本可能也可以,但是文档是写给 Ubuntu 的)。
MacOS
- 按照 MacOS 环境依赖 中的步骤安装 Golang (如果你尚未完成此操作)。
- 下载 Loom DApp 链二进制
bash
wget https://private.delegatecall.com/loom/osx/stable/loom
chmod +x loom
export LOOM_BIN=
pwd
/loom
Linux
- 按照 Ubuntu 环境依赖 中的步骤安装 Golang (如果你尚未完成此操作)。
- 下载 Loom DApp 链二进制
bash
curl -OL https://private.delegatecall.com/loom/linux/stable/loom
chmod +x loom
export LOOM_BIN=
pwd
/loom
部署 Etherboy 合同 (OSX/Linux)
从 Github 获取智能合约代码
export GOPATH=`pwd`/ebgopath
mkdir -p ebgopath/src/github.com/loomnetwork
cd ebgopath/src/github.com/loomnetwork
git clone https://github.com/loomnetwork/etherboy-core.git etherboy-core
构建和部署合约
cd etherboy-core
make deps
make
cd run
$LOOM_BIN init
cp ../genesis.json genesis.json
$LOOM_BIN run
假设一切到目前为止都很顺利,那么你现在有一个本地 Loom DApp 链在运行着 Etherboy 智能合约啦!
构建 Unity 项目
从 Github 克隆 Etherboy 游戏 的 Unity 项目并修改
- 在 Unity 中打开项目
- 选择
File
->Build Settings
- 从平台列表中选择
Web GL
或PC, Mac & Linux Standalone
- 如果启用了
Switch Platform
请点击 - 点击
Build
, 选择生成输出目录
WebGL 完整游戏的生成需要大约 30 分钟完成。
运行游戏
桌面
启动在生成输出目录中生成的二进制文件。如果你在登录时有问题, 请确保在端口 9998
上没有运行任何内容。
WebGL
运行一个 http 服务器来为在localhost:8090
的生成输出目录提供服务,并在你的网络浏览器中打开localhost:8090
。
如果你不知道如何设置本地 http 服务器, 请按照以下步骤执行。
brew install node
npm install http-server -g
cd path/to/webgl-build-dir
http-server -a localhost -p 8090
可选配置
如果你将本地 DApp 链配置为在其他主机或端口上运行,则需要在做WebGL 生成之前,更新以下Assets/WebGLTemplates/Loom/settings.js
的部分,或者你可以在生成之后编辑在生成输出目录中的settings.js
:
dappchain: {
writeUrl: 'http://localhost:46658/rpc',
readUrl: 'http://localhost:46658/query'
}
对于桌面生成,你需要编辑Assets/Resources/env_config.json
来更改默认的 DApp 链托管&端口:
{
"write_host": "http://localhost:46658/rpc",
"read_host": "http://localhost:46658/query"
}