发现一个趣味的乐子项目:Krepagotchi。
简单理解,它就是一只运行在浏览器里的像素电子宠物。你需要给它喂东西、打扫房间、陪它玩、治疗生病,还会遇到天气变化、生日、新年等事件。

比较有意思的是,这只宠物还真不能完全扔着不管。
Creeper?饥饿、缺少陪伴或者环境太脏都会影响健康。如果健康值真的掉到 0,它会进入倒计时,然后「BOOM!!!」,确实如作者描述「可爱到爆」。MC影响还是太深远了。现在提到苦力怕,我就想起《Revenge》这首歌,好听魔性。

关于项目
完整项目名:danielbrendel/krepagotchi-game。
Krepagotchi 的玩法有一点以前大家熟悉的「QQ宠物」电子宠物的感觉。也就是说,用手机浏览器打开以后,还可以添加到手机桌面,把它当成一个 Web App 来玩。
都能玩什么
目前支持包括:
- 给宠物起名字、喂食、抚摸互动;
- 打扫环境、生病治疗、健康状态;
- 思考气泡、踢球小游戏、戳泡泡小游戏;
- 收发信件、生日活动、新年活动;
- 不同生态环境、天气变化、动态场景;
- PWA 支持。
部署流程
以威联通NAS为例,通过Docker Compose的方式进行部署。
部署代码如下,诸如映射目录等部分内容请根据你的实际情况进行调整:
services:
krepagotchi:
image: ghcr.io/danielbrendel/krepagotchi-game:latest
container_name: krepagotchi
restart: unless-stopped
ports:
- "8181:80" # 左侧端口可改
environment:
APP_GAMERESX: "360"
APP_GAMERESY: "640"
APP_ENABLELETTERS: "1"
# 改成你的 NAS IP
APP_BACKEND: "http://192.168.100.138:8181"
APP_MAXCOUNT_PICK: "3"
APP_MAXCOUNT_ADD: "2"
APP_ACCESSTOKEN: "krepagotchi"
APP_TIMEZONE: "Asia/Shanghai"
APP_DEBUG: "0"
APP_UPDATEDEPS: "0"
KREPA_INITIAL_HEALTH: "90"
KREPA_INITIAL_AFFECTION: "70"
KREPA_INITIAL_FULLNESS: "50"
LOG_ENABLE: "1"
DB_HOST: "db"
DB_PORT: "3306"
DB_DATABASE: "krepagotchi"
DB_USERNAME: "krepagotchi"
DB_PASSWORD: "krepagotchi"
DB_CHARSET: "utf8mb4"
volumes:
- /share/Container/krepagotchi/logs:/var/www/html/app/logs
- /share/Container/krepagotchi/migrations:/var/www/html/app/migrations
depends_on:
- db
db:
image: mariadb
container_name: krepagotchi-db
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD: "krepagotchi" # 数据库名、账户、密码可改
MARIADB_DATABASE: "krepagotchi" # 务必检查与上面对应一致
MARIADB_USER: "krepagotchi"
MARIADB_PASSWORD: "krepagotchi"
volumes:
- /share/Container/krepagotchi/database:/var/lib/mysql
打开威联通的Container Station,创建新的应用程序。

部署完毕后,我们的「krepagotchi」应用程序下会出现项目本体和数据库两个容器。

使用展示
初次使用,浏览器输入NAS_IP:8181即可访问项目。虽然支持PWA,当我还是用PC端简单展示了。

第一次需要给宠物命名:「Creeper」。

部署完成后就是这样一个复古像素风的小空间,宠物会在场景里活动,上方显示当前状态,下方则提供几个日常互动操作。可以喂食(TNT)、互动、清洁、治疗,宠物状态也会随着时间变化。

上方几个数值代表宠物当前的状态,包括健康、亲密度和饱食度。随着时间推移,这些数值会变化,需要通过互动、喂食、清洁和治疗来维持。长期不管,状态会逐渐下降。
右侧还有一个简单的信件系统,可以输入一段文字发送出去。界面并没有指定收件人的选项,更像一个轻量的玩家互动功能,类似于漂流瓶。当然你有可能随机收到他人邮件。

如果长时间不照顾,宠物状态持续恶化,Health 最终归零后会进入「爆炸」结局(芸術は爆発だ!)。

游戏场景并不是完全静态的,环境中会出现不同物件,也会有天气和生态变化。宠物会在场景内移动,所以每次打开时画面不一定完全一样。

最后
感谢观看,本文完~
评论区