屏幕炸开的那片绚丽特效,让林一的大脑空白了整整三秒。
那是一个叫“星空穹顶”的礼物,平台最贵的打赏之一,单价9999钻石——折合人民币约一千元。特效持续了五秒:整个直播画面被银河般的光点覆盖,然后光点旋转汇聚,在屏幕中央爆开成璀璨的星云,最后缓缓消散。
特效散去时,直播间右上角的在线人数从37跳到了143。
弹幕静止了一瞬,然后炸了。
“卧槽?星空穹顶??”
“新人首播就有人送这个?”
“老板糊涂啊!”
“主播什么来头?”
林一盯着那些飞速滚动的文字,手指在键盘上微微发颤。她记得苏晓准备的应对方案里,有“收到小礼物时微笑感谢”,有“收到中等礼物时加一句俏皮话”,但唯独没有“首播三分钟就收到最高档礼物该怎么反应”的预案。
“谢……谢谢。”林一终于开口,声音比预想的干涩,“谢谢‘C’送的星空穹顶。”
她看向摄像头,试图做出一个得体的微笑。但面具下的肌肉有点僵硬,那个笑容看起来更像是程序化的表情符号。
弹幕还在刷:
“C?这ID好短”
“大佬缺挂件吗?”
“主播继续讲啊,Python还装不装了?”
林一深吸一口气,强迫注意力回到教学内容上。她移动鼠标,点开之前准备好的安装教程页面。
“我们……我们继续。”声音稳了一些,“刚才说到Python解释器的下载。如果你是Windows系统,就点这个链接;Mac的话点这里……”
讲解继续。但节奏被打乱了。林一发现自己会不自觉地去看右上角的在线人数——143,142,145,在轻微波动。还会去看弹幕区,期待那个叫“C”的用户再说点什么。
但C没有发任何弹幕。他就像偶然路过,随手扔下一颗炸弹,然后消失了。
接下来的二十分钟,直播在一种微妙的氛围中进行。
林一尽量保持专业,讲解清晰,操作流畅。她演示了如何安装Python,如何配置环境变量,如何打开命令行输入第一个print语句。这些内容对她来说简单得像呼吸,但讲解给完全不懂的人听,需要拆解成最基础的步骤。
“注意这里,如果出现‘python不是内部或外部命令’的提示,说明环境变量没配好。我们可以这样检查……”
她打开系统属性,进入高级设置,一步步展示。操作很熟练,快捷键用得行云流水。
弹幕偶尔飘过:
“主播手速好快”
“这个操作我学了三天才会”
“声音好好听”
但也仅此而已。没有人提问,没有人互动,大多数人只是静静看着。在线人数在150左右徘徊,进进出出,像围观街边表演的路人。
林一讲完安装部分,进入第一个实操环节。
“现在,我们打开记事本——对,就是Windows自带的那个。输入print('Hello World'),注意括号和引号都是英文符号。然后保存文件,后缀名改成.py……”
她(他)边说边操作。记事本打开,白色背景,黑色字体。手指在键盘上快速敲击——机械键盘发出清脆的响声,通过麦克风传递出去。
代码写完,保存。切换到命令行,运行。
屏幕上跳出结果:
text
Hello World
“成功了。”林一说,心里涌起一点微弱的成就感——虽然是教别人做自己三岁就会的东西。
弹幕零星飘过几个“666”和“学会了”。
但也就这样了。
直播间陷入一种奇怪的沉默:主播在认真讲课,观众在安静观看,没有交流,没有碰撞,像一场单向的知识传输。
林一看了眼时间:开播三十二分钟。按照计划,接下来应该进入问答环节。
“那么,大家有什么问题吗?”她看向摄像头,声音尽量放轻,“关于刚才的安装过程,或者任何Python相关的问题,都可以问。”
弹幕区空白了五秒。
然后有人发:“没”
接着是:“懂了”
“很简单”
“没意思”
林一的心脏沉了一下。她准备好的二十几个常见问题解答,一个都用不上。准备好的幽默回答,无人触发。
“那……我们继续。”她切换PPT,进入下一个知识点,“安装好之后,我们来认识Python的基本语法。首先是变量……”
讲解再次开始。但这一次,林一能感觉到自己的状态在下降。喉咙开始发干——虽然旁边就有水,但不敢喝,怕打断节奏。后背因为长时间保持同一个姿势而酸痛。更重要的是,那种被忽视的感觉,像细小的针,一点一点扎进专注力里。
四十五分钟,在线人数掉到112。
五十分钟,98。
林一讲到了数据类型:整数、浮点数、字符串、布尔值。她努力让内容有趣,用生活化的比喻:“整数就像你数苹果,1个,2个,3个,没有小数点。浮点数就像量身高,1米75,有小数点……”
弹幕依旧稀疏。
“想睡觉”
“太基础了”
“换游戏直播吧”
林一的手指在鼠标上收紧。她想起苏晓说过的话:“如果内容太硬核,可以适当穿插轻松的内容。”
但是……怎么穿插?她不会讲笑话,不会唱歌,不会展示才艺。除了代码,她什么都没有。
五十五分钟,在线人数跌破80。
林一眼角的余光看到苏晓在镜头外焦急地打手势:意思是“做点什么,留住人”。
做什么?
她的大脑飞速运转。准备好的所有预案里,没有“如果观众觉得无聊该怎么办”。只有技术故障、网络问题、恶意弹幕……但没有“无人问津”。
“我……”林一开口,声音有点哑,“我看大家可能有点累了。那我们……休息一下?或者……”
她停顿。思维在寻找出口。
游戏。
她想起苏晓提过的备选方案:如果编程内容反响不好,可以中途切换成游戏直播。游戏有即时反馈,有紧张感,有观赏性。
“或者,我们玩个游戏?”林一试探性地说,“简单的小游戏,我用Python写,大家可以猜结果。”
弹幕稍微活跃了一点:
“写什么?”
“能玩游戏?”
“看看”
林一像是抓住救命稻草,快速打开一个新的代码编辑器。
“我们来写一个猜数字游戏。计算机会随机生成1到100之间的数字,玩家有七次机会猜中。”她(他)开始打字,速度很快,“首先导入random模块,然后定义主函数……”
代码在屏幕上飞速出现。林一进入了自己熟悉的领域,专注度回升。她(他)边写边解释每一行的作用,语气重新变得自信。
text
import random
def guess_number():
number = random.randint(1, 100)
attempts = 0
max_attempts = 7
print("我想了一个1到100之间的数字,你有7次机会猜中。")
while attempts < max_attempts:
try:
guess = int(input("你的猜测是: "))
except ValueError:
print("请输入一个整数!")
continue
弹幕开始有人互动:
“我猜50”
“27”
“主播手速真的快”
在线人数缓慢回升到90。
林一写完核心逻辑,加入了一些友好提示:如果猜的数字太大,程序会说“太大了”;太小会说“太小了”;猜中会有庆祝语。
“好了,我们运行一下。”她点击执行。
游戏在命令行里启动。黑色的背景,白色的文字,最原始的交互界面。
“我想了一个1到100之间的数字,你有7次机会猜中。”
“你的猜测是:”
光标在闪烁,等待输入。
“大家可以在弹幕里猜。”林一说,“我代你们输入。”
弹幕飘过数字:23,67,41,88……
林一输入了第一个数字:50。
“太大了。”
“你的猜测是:”
“那么……25?”林一输入。
“太小了。”
“你的猜测是:”
游戏进行了四轮。林一根据弹幕的建议输入数字,每次都会解释背后的二分查找逻辑:“如果50太大,说明数字在1-49之间。如果25太小,说明在26-49之间。这样每次都能缩小一半的搜索范围……”
第五轮,有人猜38。
林一输入。
“太大了。”
“你的猜测是:”
“那么31到37之间。”林一说,“有人猜吗?”
弹幕开始热闹起来:
“35”
“33”
“我赌32”
林一输入33。
“太小了。”
“你的猜测是:”
范围缩小到34-37。第六次机会。
“只剩两次机会了哦。”林一努力让语气轻松,“大家集中火力。”
弹幕几乎同时跳出三个数字:34,35,36。
“那我们取中间值,35。”林一输入。
命令行停顿了一秒。
然后跳出:“太大了。”
“你的猜测是:”
最后一次机会。数字只能是34或36。
弹幕分成两派:
“肯定是34”
“36!我直觉是36”
林一看着那些文字。这一刻,直播间终于有了她想象中的互动感:观众在参与,在思考,在争论。
“最后一次机会。”林一说,“我们选……34。”
她输入,按下回车。
命令行再次停顿。
然后——
“恭喜!你猜中了!数字就是34!”
游戏结束的祝贺语跳出来,还附带了一个简陋的ASCII艺术笑脸。
弹幕刷过一片“666”和“牛逼”。
在线人数跳到了105。
林一松了口气,感觉后背的肌肉终于放松了一点。
“好了,游戏结束。”她说,声音带着自己都没察觉到的轻快,“这就是用Python写的一个简单小游戏。如果大家有兴趣,之后我可以教大家如何给它加图形界面,或者做成网页版。”
弹幕有人问:
“下次什么时候播?”
“能讲数据结构吗?”
“主播是程序员吗?”
问题很基础,但林一认真回答:“下次直播时间是明晚八点,还是这个直播间。数据结构会讲,从列表和字典开始。我……算是程序员吧,自由职业者。”
最后一个问题让她停顿了一下。说是,不是。但在这个身份下,只能是。
“时间差不多了。”林一看了一眼时钟,开播已经一小时十分钟,超时了,“今天的第一节课就到这里。谢谢大家来看,特别是……”
她看向那个已经沉寂很久的ID。
“谢谢C的礼物。也谢谢所有发弹幕和一直观看的朋友。”
结束语说完,林一按照流程点击“结束直播”。画面黑下来,软件跳出推流已中断的提示。
直播结束。
房间里安静得可怕。只有电脑风扇还在嗡嗡作响。
林一摘下耳机,靠在椅背上,闭眼。全身的疲惫感像潮水一样涌上来:喉咙疼,肩膀酸,眼睛干涩,大脑因为长时间高度集中而隐隐作痛。
“怎么样?”苏晓的声音从旁边传来。
林一睁开眼。苏晓坐在旁边的椅子上,表情复杂。
“我不知道。”林一老实说,“人数……最高也就150。互动……很少。内容……可能太基础了。”
她一条条分析,像在做项目复盘。
苏晓没说话,把平板递过来。上面是后台数据的实时截图:
直播时长:70分钟
最高在线:156
平均观看时长:32分钟
新增关注:47
礼物收入:星空穹顶×1(价值1000元),小礼物若干(总计约50元)
“数据……”苏晓斟酌着用词,“不算差。新人首播平均在线也就几十人,你能稳定在100以上,说明内容有留住人的能力。平均观看时长32分钟——这意味着有一半以上的人看了超过半小时,这对技术类内容来说很好了。”
“但是互动……”
“互动可以培养。”苏晓打断她,“第一次直播,观众还不熟悉你,不敢问问题是正常的。而且……”她指着礼物收入那一栏,“有这个星空穹顶打底,你首播的营收数据已经超过90%的新人了。”
林一看着那个数字:1000元。扣除平台分成,到手五百。对于一场直播来说,确实不算少。
但她想起那二十分钟的沉默,那些“没意思”“想睡觉”的弹幕,还有自己越来越干涩的喉咙。
“我觉得……”林一慢慢说,“我可能不适合做这个。”
“胡说。”苏晓站起来,“你知道有多少主播首播全程只有机器人弹幕吗?你知道多少人播了一个月才收到第一个付费礼物吗?你第一天就有真实观众、有互动、有高价打赏,这已经是梦幻开局了。”
她说得很激动,但林一听出了背后的不安——苏晓在担心她放弃。
“我不是要放弃。”林一澄清,“只是……需要调整策略。今天的内容太像上课了,缺少娱乐性。游戏环节效果更好,也许应该增加游戏比重。”
苏晓的表情松弛下来:“这就对了。发现问题,解决问题,这才是你。”
她坐下来,开始记录复盘要点:“第一,增加游戏内容比例。第二,设计更多互动环节,比如抽奖、投票。第三,优化课程难度,太基础的部分可以录成短视频当预习材料,直播讲进阶内容……”
两人讨论着,像在开项目会议。
窗外的夜色已经很深了。对面楼的光又熄灭了几盏。
林一忽然想起那个叫“C”的用户。
“苏晓。”
“嗯?”
“查得到送礼物的用户信息吗?”
“平台保护隐私,只能看到公开资料。”苏晓在平板上操作,“我看看……C,注册时间……三天前。关注列表只有你一个。没有发过任何动态,没有看过其他主播的记录。”
“像小号。”
“就是小号。”苏晓抬头,“可能是哪个大佬的匿名号,随手打赏。也可能……”她停顿,“是你认识的人?”
林一摇头:“不可能。认识我的人怎么会知道我在直播?”
“也是。”苏晓放下平板,“不管怎样,这是好事。有个愿意花钱的观众,对直播间权重有帮助。”
她站起来,伸了个懒腰:“我去煮面,庆祝首播成功——虽然不完美,但成功了。”
厨房里传来烧水的声音。
林一坐在黑暗的房间里,看着电脑屏幕上的后台界面。那个“C”的头像是系统默认的灰色剪影,名字只有一个字母,简洁得像个变量名。
为什么?
为什么一个刚注册三天的账号,会在一个新人主播的首播里,送出最贵的礼物?
没有理由。
就像她自己变成林一这件事,也没有理由。
但事情就这样发生了。
林一点开直播录像,从头开始看。屏幕上的自己戴着面具,认真讲课,偶尔因为紧张而抿嘴。看到游戏环节时,她暂停。
画面定格在自己输入最后一个数字的那一刻。面具下的嘴唇微微张开,眼睛盯着屏幕,眼神里有专注,有期待,还有一点……她自己都没察觉到的鲜活。
那是整场直播里,她最像“人”的时刻。
而不是一个只会复述知识的教学机器。
林一关掉录像。
厨房里飘来泡面的香味。苏晓在哼歌,跑调,但轻快。
窗外,城市在夜色中安静呼吸。
首播结束了。
不完美,但结束了。
而那个叫C的谜,像一颗投入湖面的石子,涟漪正在缓缓扩散。