分类 赛博艺术 下的文章

在故纸堆中偶然寻得了早年未竟的实验计划,代号 Story,惊觉其已然属于 Sympoesie 的精神。当时此计划已有一个 demo 公开,以 Django Web APP 的形式部署在 Red Hat 公司的 OpenShift 平台上。然而,自 2015 年以来,本站赛博架构几经变易,OpenShift 的云端服务也多次升级,当时的部署究竟没有保留下来。如今我虽仍存有当时的代码,却也难以在当前的环境下重现了。但想法很重要,故在此记录一下原理,以备日后有空重建。

得益于 Django 的工程模式,实现原理并不复杂。在数据 (model) 方面,如果以 Fragment 为基本单位,将其视为数据库中的一条记录,那么同时也应在记录中保存其上一条 Fragment 的 ID,以此形成连贯性。由此,创作者将有三种方式贡献其 Fragment:

  1. 创建一个全新的故事,即不存在上一条 Fragment 的 Fragment。1
  2. 在当前的故事末尾继续编写下一条 Fragment。
  3. 指定从某一条 Fragment 开始,重新编写其后的故事。既存的 Fragment 并不会被覆盖,而是作为另一种可能的故事线继续存在,同样接受续写的提交。

于是,一个故事连同其所有的可能性,将形成一个多叉的大型树状结构。2

难点其实在于数据的展示 (view)。按顺序将 Fragment 逐一展示并提供分支导航固然是不够的,必须有一套特殊的推荐算法来评估故事树中特定故事线的价值,选择最合适的 Fragment 及其所在的故事线优先展示给读者。同时也要便于读者在不同的可能性之间跳转。由于算法能力的缺失,我当时仅实现了三种推荐方式:最新作品百条、最热作品百条(以点赞数计)以及最具潜力作品(最新作品中点赞达到一定数量的)。虽然简陋,姑且能用。

可以看出,这个 demo 的功能是基本完整的。造成此计划不了了之的重要原因之一,正如许多其他的项目,无非是没人来 syn-。可见 Sympoesie 本身是一个具有极高门槛的活动,人类历史上任何一次实现都可称之为奇迹。


  1. 原则上这是可能的,但当时为求逻辑简便,实际上预先设定了唯一的一条全新 Fragment,因此只存在唯一的一个故事树。
  2. 当然,这种结构也存在着缺点。例如无法事后单独修改位于中部的某一 Fragment,因其可能会影响此后的其他分支。固然可以将之后的分支故事树另行复制,或者将每个记录的追溯做成双向的,但如此一来复杂度就上升太多,既不美观又不便利,总之我是不情愿的。

人总是有着各自的精神寄托。根据情况的不同,其表现形式也不相同。有人求神拜佛,有人祈祷忏悔,也有人更愿意用漂流瓶来倾诉。网上或许已经有一些树洞、神龛、留言板,但总是令人陷入这样的矛盾:一方面我们希望只有在保护隐私的前提下吐露真情,另一方面我们又不希望自己的愿望消失在虚空中无法产生一点影响。因此,这个文化中立的精神的房间,就是对这种困难的回应,即一种私人祈祷有效性的象征。

请点击访问:精神的房间

在这个房间里可以看到一长串字符,它代表了我们世界当前的状态。完全有理由(至少是象征地)认为它能够不重复不遗漏地与我们有限宇宙中对人类有意义的一切可能性一一对应。它并非随机生成,而是通过一定方式计算出的唯一确定结果。此处的象征性在于,每当人们用自己的意识去影响世界,世界就因此变化,而下一次的影响必然是以前一次之结果为基础的。每个人的意识共同构成了我们所处的世界。这个精神的房间表现的就是这样一种文化中立的信念模型,因此可以被尽可能多的人使用。

根据其原理,我们的服务器完全不必也不会保存任何祈祷的内容。任何人发送的任何数据仅用于生成下一个状态码,这串字符显然是完全抽象的,因此无需担心隐私问题。

关键算法:

$hash = hash("sha512", $hash + $_POST["msg"]);

  • Version 20211030. 增加了扬声器和会议角色等相关警示。
  • Version 20210914. 按所内现有设备情况编写。可根据实践效果接受反馈并修订。

0. 技术目标

线下活动为主,利用腾讯会议开放线上观看,但线上参与者不需要深度交流。

1. 前期准备

  • 在腾讯会议上预定好会议,确定会议号。
  • 两台笔记本电脑。一台(甲)供讲座人使用,另一台(乙)作为线上音视频主控。保证二者均有足够的 USB Type-A 接口可用。以及二者各自的电源线,鼠标等。
  • 接线板。可能由场地提供。
  • 音频设备,至少包括:麦克风本体(大)、电源/数据线(两头分别为 USB Type-A 和 USB Type-C)、天线(USB Type-A)。
  • 视频设备,至少包括:摄像头、三脚架、电源/数据线(一头为方形,另一头为 USB Type-A)。必要时也包括遥控器及其电池。

2. 安装硬件

2.1. 笔记本电脑

  1. 将电脑甲置于台上,连接电源以及场内投影。
  2. 将电脑乙置于台下,位置以同时能较好摄像为宜。使用接线板连接电源。

2.2. 视频设备

  1. 在乙处放置三脚架。

    1. 松开各脚上的卡扣,调整整体高度,确保三脚高度一致后,将卡扣重新卡紧,勿遗漏。
    2. 上部各旋钮的基本工作原理是:旋紧后对应关节便难以转动。除非需要调整角度,一般请保持旋紧。经常需要转动的关节可使旋钮保持半紧的状态,以可以活动但不至于松动为宜。
    3. 特别指出,圆柱形手柄是一个可保持半紧的旋钮,请勿遗漏。
  2. 在三脚架上安装摄像头。

    1. 将摄像头底部孔与三脚架上部螺栓对齐,转动螺栓正下方旋钮,使二者固定到一起。
    2. 在确保三脚架各关节以及与摄像头结合部稳固之前请勿松手。
  3. 将视频设备电源/数据线的 USB Type-A 头连接电脑乙,方形头连接摄像头背后“USB2.0”标志处。

2.3. 音频设备

  1. 将麦克风本体(大)置于甲处。其电源/数据线的 USB Type-A 头连接电脑甲,其 USB Type-C 头连接麦克风本体(大)。
  2. 将天线(USB Type-A)连接至电脑乙。

3. 软件设置

  1. 电脑甲上打开腾讯会议,进入指定会议室。打开屏幕共享,一般共享全桌面即可。为避免干扰,切勿将电脑甲设置为主持人或联席主持人。此电脑保持静音。
  2. 电脑乙上也打开腾讯会议并进入指定会议室。保证电脑乙角色为主持人。设置全员静音以及入场默认静音。
  3. 在电脑乙会议界面下方控制区域中选择正确的视频和音频设备。通常名为“USB [...]”。需要特别注意,此麦克风设备也具备扬声器,在本案例中,为避免干扰现场,切勿将腾讯会议或电脑系统扬声器设置为此设备。
  4. 正式开始讲座前,排除电脑甲屏幕上腾讯会议悬浮组件的干扰。可测试乙电脑视频和音频,但不宜过久,应尽快恢复至关闭,直到开始时再打开。
  5. 讲座开始时可开启录制。

4. 讲座中途

  1. 注意观察视频信号,根据需要及时调整摄像头角度。
  2. 注意线上聊天窗口内的反馈。

5. 讲座结束

解除各设备的连接。务必确保物归原处,不要错放。

没错,这并不是严格意义上的新作。但《故园》的确适合做成视觉小说!

视觉小说或者更复杂的文字游戏其实是我一直想尝试的体裁,无奈它必然是一个大工程。然而我突然想起已经有一个现成的篇幅较长的作品,不如转制试试看。果然,使用 Ren'Py 和容易找来的素材就轻松地做出了一个朴素的成品。稍作打磨,目前版本号 0.2,暂时锁定在测试版的名义。未来如果没有自制图画和音乐的能力恐怕很难再精进了。(文本其实也有特化的空间,暂时也先这样吧。)

可供下载体验 (Win/Linux/macOS):

https://eleutheria.lanzoui.com/b01cl0s7a
密码:1kf4

kowen.png

更新日志

  • 20210803 v0.3 优化图像风格。
  • 20210729 v0.2 测试版首发。