不知道为什么,文本冒险游戏最近频频被人提及。这不,现在又出来一个基于实时打印的文本冒险游戏 —— Quest Smith。
这位脑洞较大的创客名叫 Bekir Dağ ,他用微型打印机和树莓派做出了这个手持游戏设备。
关于文本冒险游戏的背景知识:
1975年左右,程序员兼业余洞穴探险者 威尔·克劳瑟(Will Crowther)编写了第一个文本冒险游戏 —— Adventure。最初名为 ADVENT,因为在他使用的操作系统中,文件名不能超过六个字符,后来被命名为《巨大的洞穴冒险》 —— Giant Cave adventure。
玩家需要阅读周围环境的描述并从一组选项中进行选择,或者输入下一步并希望游戏能够理解玩家提及的内容。
Bekir Dağ 的创新之处是他把一个文本冒险游戏做成实时打印剧情了。玩家用 Yes 和 No 两个按钮来决定游戏的走向 。
Quest Smith是个啥?
在柏林的一家游戏博物馆里,Bekir Dağ 看到了一个手持式游戏设备,于是他决定用树莓派 Zero W 自己做一个。
他设计了 Quest Smith 的躯壳,用 3D 绘图软件输出了 STL 文件并在 Thingiverse 网站上免费分享。
下载地址:
https://www.thingiverse.com/thing:3471217
树莓派 Zero W 与热敏打印机、电池和各种按钮紧密贴合在一起。由安装在外壳上的太阳能电池板供电,所有组件都连接到 TP4056 板,该板允许电池为树莓派供电。
硬件材料:
1、Raspberry Pi Zero Wireless 一个
2、GOOJPRT 热敏打印机一个
3、五伏电压升压模块 一个
4、TP4056 板 一个
5、18650电池 一个
6、瞬时触碰式开关
7、Micro usb 转大口接头
8、螺钉 3.5 x 20毫米 四个
9、滑动开关 一个
10、太阳能电池板60 x 60毫米 5.5V
另外要准备热熔枪、电烙铁和 3D 打印机。
相关代码:
https://github.com/IoToutpost/quest_smith
相关操作:
1、系统需要安装的组件
sudo apt-get install
libpython3-dev
libpython3-stdlib libqt5printsupport5
php7.0-mbstring python3-rpi.gpio
python-rpi.gpio python-setuptools
python-dev build-essential
2、安装composer
步骤在此: https://getcomposer.org/download/
3、安装两个python库
pip install setuptools
pip install locustio
4、拉取代码
mkdir quest_smith
cd quest_smith
5、获取该链接到本地并做 composer 安装
git clone
https://github.com/IoToutpost/quest_smith
composer install
6、 在重新启动时,通过在crontab上添加一行来运行 Quest Smith 脚本
crontab -e
@reboot sudo /usr/bin/screen -dmS story-game
/usr/bin/python3 /home/pi/thermal/push3.py
7、 再次向 crontab 添加另一行代码,以便在每次重启时更新软件,这样你的故事就会是最新的。
@reboot sudo cd /home/pi/quest_smith && sudo git pull origin master
Quest Smith 目前仍在开发中。虽然用户现在可以构建并开始玩这个游戏,但作者呼吁社区用户提交他们自己的故事(有好的分支剧情就发过来)。
Bekir Dağ 说:“每个关卡都需要两个版本的故事,这使得可能性呈指数级增长。所以一个人完成整个故事线对我来说是非常困难的。比如为了让玩家达到9级,我们需要编写1023个故事部分。如果你能帮我,那就太好了! ”
如果你想为游戏的开发做出贡献,故事在 story_text 文件夹下作为 txt 文件存在,如:
0.txt(起步)
00.txt(当用户在开头选择-NO-时)
01.txt(当用户在开头选择-YES-时)
001.txt(当用户选择-NO-然后-YES-时)
010.txt(当用户选择-YES-然后-NO-时)
具体可以打开文件夹研究一下。
如果想看这个设备是怎么玩的看这里:
相关阅读:
Python写文本冒险游戏的要点
https://mp.weixin.qq.com/s/jtxOqDlYLt3VjdsnLXfdAg
新手可以在研究这篇文章的同时学会面向对象编程。
线索:geeky-gadgets.com
素材:Raspberrypi.org
编译:王文文