WebGL2 实例化字符渲染 · 无需下载

纯字符飞行模拟器

屏幕上每一个像素都是一个字符。驾驶战机掠过程序生成的城市,用机炮轰塌摩天楼、 和 AI 机器人以及其他玩家空战缠斗。画面只有等宽字形与终端配色, 却跑在真正的高速三维管线上 —— 地形、建筑、弹道、爆炸全部实时字符化。

纯字符渲染 可调画质 84–214 列 联机空战 AI 机器人 全屏 键鼠 / 触屏
flight deck — 6 机缠斗 · 132 × 40 字符 · 实时渲染
                                                                                                                                    
                                                                        ...                                                         
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                    ............                                                                                                    
                        ..:::::::::........                                                                                         
                               .::****:::::...........                                                                              
                                       ..::...........                                                                              
....                 ..:::::...                                                                                .....                
.    .               .                   .....                                .::.:::::     ...                                     
                                                   ..              .                         .:.:.                                  
    .::. .                      .. .::.. .        ..                           . ..        .     .        .::                       
                                                               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##########################################################################
####################################################################################################################################
####################################################################################################################################
####################################################################################################################################
####################################################################################################################################
####################################################################################################################################
#####################@@#############################################################################################################
##################@@@@@#############################################################################################################

游戏库

飞行模拟器 · FLIGHT DECK

程序生成 26km×26km 地形与 16 座城市。能量空战模型(升力 / 失速 / 过载), 机炮打楼会倒塌,撞地就阵亡。支持联机和 AI 机器人。

可玩联机3D 字符

霓虹贪吃蛇 · NEON SNAKE

同样是字符渲染的小品:一条会发光的蛇在网格里吞食光点, 越吃越长、越来越快。三个速度档位,最高分记在本地。

可玩字符网格单机

更多游戏

字符渲染的潜力远不止这些:坦克对战、太空弹幕、塔防…… 同一套字符管线可以承载各种玩法,后续会陆续加进这个库里。

规划中

这套字符管线做了什么

GPU 上是字形,屏幕上就是画面

整屏字符用一次 drawArraysInstanced 画完:每个字符是一个实例, 字形图集只取 alpha 做覆盖,颜色来自实例属性。几万个字符也只是一次绘制调用。

地形用「逐列轮廓推进」求交

同列的每一行共享同一条水平射线,因此整个世界沿该方向只需推进一次高度轮廓, 复杂度从 O(格数×步数) 降到 O(列数×步数 + 格数),两万字符也能跑满帧。

世界由种子确定,联机只同步状态

同一串房间名在地形、城市、建筑上逐字节一致,所以联机时服务器只需要广播 实体位置、子弹和破坏状态 —— 带宽极小,两端完全同图。

跑在 Cloudflare 边缘

静态站点与 WebSocket 房间由同一个 Worker 提供,每个房间是一个 Durable Object, 20Hz 权威模拟 + 广播,不使用任何对象存储。

TDSI 游戏库 飞行模拟器 贪吃蛇 说明