PythonSTG开发心路

May 23, 2026

前言

相关的文档参考详见

PySTG Docs
Python + OpenGL 东方 Project 风格弹幕射击游戏引擎文档

仓库地址在

GitHub - qwqpap/PythonSTG: Finally we find that python has invaded Touhou
Finally we find that python has invaded Touhou. Contribute to qwqpap/PythonSTG development by creating an account on GitHub.

这里还是主要介绍一下心路历程啊嗯。

怎么来的

最开始想做这个的来源是2024年末想要用Luastg搓点好玩的弹幕小游戏在你矿1.5次例会上面玩,最开始就是一直用的Luastg,包括在2025年的时候在第二届百校天则大大方方卖的东方做题狙也是这么来的。

当时还非常非常原始,用Luastg的原版demo爆改了三面和一些ui贴图啥的就拿来卖,感觉也对不起当时花金币的游客。

之后就沉寂了很久,期间倒是一直有厚米催我更新,但是比较懒。

直到后面办九州拾遗,要做一个惊天地泣鬼神的牛逼stg,就想着直接整个重写一次得了,来接入Nonebot,其实现在想想我估计Luastg也能支持这个,但是总是有反复造轮子的快乐在里面的。

于是去年考研结束后就开始开发这个,最开始想法是用Rust做底层计算,再以一个Python库的形式供流程脚本调用,事后发现Rust的严格内存管理和我的狂放风格不是很搭边。

于是捡起来了大一用过的Numba+Numpy的组合直接在Python内部实现弹幕计算,惊人的,效率高到难以想象,甚至比Luastg和Zun自己的cpp引擎效率还要高得多。

这点让我很高兴。

Numpy+Numba

一会儿再写