deepy/terminal
TERMINAL EDITION · 42 × 15 CELLS

Deepy 小鲸鱼
终端版

放在终端页里的版本。小鲸鱼趴着不动,只换表情、摆尾巴、在身边冒出小道具,所有动静都收在它自己那一小块地方里。每一帧都是整像素的静态画面,在终端里用半块字符 ▀ 画出来,正好 42 列 × 15 行。

deepy — ~/my-project — 80×24

        
❯

模拟 agent 事件

身体 全程不动不变形 会变的 眼睛 · 嘴 · 脸红 · 尾巴姿态 · 小道具 画布 42 × 30 px,道具不出画布 帧 整像素,无插值,逐帧定时长
DOPE SHEET · FRAME BY FRAME

逐帧拆解

每一帧由几层叠出来:尾巴姿态、表情、头饰、道具。左边一帧一帧看,打开“标出改动像素”能看到这一帧相比上一帧到底改了哪些格子;下面的泳道图按时长把每一层的变化排开。

F0

快捷键:空格播放/暂停,← → 逐帧。

帧
0
开始
0ms
停留
0ms
改动像素
0

图层泳道

宽度 = 帧的停留时长;蓝边 = 这一层在这帧发生变化;黄框 = 当前帧

摄影表

点任意一行跳到那一帧
TERMINAL KIT

终端素材包

素材包里有全部帧的像素数据、GIF、精灵表,还有 Python 和 Node 两个零依赖的终端播放器,可以直接接进你自己的终端程序。

下载

⬇ deepy-terminal-kit.zip · 449 KB

单个动图也可以在上面的卡片上右键另存。

在终端里跑起来

# 需要支持 24 位真彩色的终端
$ python3 play.py --list
$ python3 play.py thinking
$ python3 play.py --all
$ node play.mjs happy --once

接进自己的程序时,读 frames.json:每帧是 30 行、每行 42 个字符的像素串,外加这一帧的时长 dur。每两行像素合成一行字符,用 ▀ 画:上面的像素当前景色,下面的当背景色。play.mjs 里的 renderFrame() 可以直接复用。