屏幕上每一个像素都是一个字符。驾驶战机掠过程序生成的城市,用机炮轰塌摩天楼、 和 AI 机器人以及其他玩家空战缠斗。画面只有等宽字形与终端配色, 却跑在真正的高速三维管线上 —— 地形、建筑、弹道、爆炸全部实时字符化。
...
............
..:::::::::........
.::****:::::...........
..::...........
.... ..:::::... .....
. . . ..... .::.::::: ...
.. . .:.:.
.::. . .. .::.. . .. . .. . . .::
v GHOST v ECHO-7
v RAVEN v NOMAD
.................
,,,...................///////^^^^^^^^^^^^^^^^^^^^^..................
---~ ~ ~v VIPER,,,,""""""""""v*TALONx*****\^\\\\^^\\\\\\\\\\\///\//////^^^^^^^^^^^^^^^^^^^^^
--------------~ ,,.........."""""""""""::::::::::xxxxxxxxxxXXXXXXXxxxxxxxxxxx^^^^^^^^^^^^^^\^^^^\\\\\\\\\\\\\\///////
-----------~~~~~........~...~...::::::::::::::::xxxxxxxxXXxxXXXXXXXXXXXXXXXXXX%%^^%%%^^^^%%%%%%%%%%%%^^^^^^^^^^^^^^^^^^^^^^^^^^^\\\\
~~~~......~~~~~~~~~::::::::::::::::::::;::XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%%%%%%%#%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%^^^^^^^^^^^^^^^^
~~~~:::::::::::::::::::::::::::;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#XXXXX%%%%%%%%%##########%%####%%%%%%%%%%%%%%%######%%%%%%%%%%%%%%^^^
::::::::::::::;;::;;;;;;;;;;XXXXXXXXXXXXXXXXXXXXXX###X#XX####XX##XX%%%%%%%%####%%%##############%%#####%%%%%%%%%%%%%%%%%#######%%%%%
;;;::;;;;;;;;;;;;;;;;;XXXXXXXXXXXXXXXX####################XXXXX##%%%%%%%%#############%%################%%%#####%%%%%%%%%%%%%%%%%%%#
;;;;;;;;;;;;;;;;;;XXXXXXXX##XX#XXX####################XXXXXXXX%%%%%##%%%%#######################################%%%######%%%%%%%%%%%
;;;;;;;;;;;;;XXXXXXXX####XXXX########################XXXXXXXXX%%%%#######################################################%%%######%%
;;;;;;XXXXXXXXXX########################################XXXXX%%%##%%#############################################################%%%
XXXXXXXXX###############################################XXXXX#######################################################################
XXXXXX#################################################XXX##########################################################################
####################################################################################################################################
####################################################################################################################################
####################################################################################################################################
####################################################################################################################################
####################################################################################################################################
#####################@@#############################################################################################################
##################@@@@@#############################################################################################################程序生成 26km×26km 地形与 16 座城市。能量空战模型(升力 / 失速 / 过载), 机炮打楼会倒塌,撞地就阵亡。支持联机和 AI 机器人。
同样是字符渲染的小品:一条会发光的蛇在网格里吞食光点, 越吃越长、越来越快。三个速度档位,最高分记在本地。
字符渲染的潜力远不止这些:坦克对战、太空弹幕、塔防…… 同一套字符管线可以承载各种玩法,后续会陆续加进这个库里。
整屏字符用一次 drawArraysInstanced 画完:每个字符是一个实例,
字形图集只取 alpha 做覆盖,颜色来自实例属性。几万个字符也只是一次绘制调用。
同列的每一行共享同一条水平射线,因此整个世界沿该方向只需推进一次高度轮廓, 复杂度从 O(格数×步数) 降到 O(列数×步数 + 格数),两万字符也能跑满帧。
同一串房间名在地形、城市、建筑上逐字节一致,所以联机时服务器只需要广播 实体位置、子弹和破坏状态 —— 带宽极小,两端完全同图。
静态站点与 WebSocket 房间由同一个 Worker 提供,每个房间是一个 Durable Object, 20Hz 权威模拟 + 广播,不使用任何对象存储。