一块闲置的ESP32开发板能做什么?有人让它跑起了ASCII水族馆,有人拿它当天气站,但Master_Molasses1783在Reddit的ESP32专区展示的“微型生态系统模拟器”直接把硬件变成了一个完整的数字世界——它能在170×320分辨率的屏幕上以60帧的速度运行食物链、繁殖和死亡循环。

这个项目里有七种角色:绿色植物慢慢生长,是生态的基底;青色的食草动物大量繁殖,把植物压在可控范围;粉色的食肉动物夹在中间,既要捕食食草者,又要躲避更上层的捕食者;金色的顶级猎食者无所畏惧,只吃食肉动物。再加上紫色的孢子(疾病)、深色的尸体以及黄绿色的分解者,整个生死轮转就合拢了——分解者吞掉孢子和尸体,再为新的生命提供能量。

打开网易新闻 查看精彩图片

让它不止于简单视觉玩具的地方,是“速度”这个可遗传的属性。父母会把自己的速度基因传给后代,同时还有一定概率发生突变。跑得更快在抢食物、躲天敌时当然占优,但高速度也意味着能量消耗更快。这套简单的规则已经足以让屏幕上的像素族群不断上演你追我逃、局部灭绝再到重新繁盛的动态故事,而所有这些计算都压在ESP32的双核芯片上,最终仍然锁在了60FPS。

如果手边有ESP32(标准双核版)和一块IdeaSpark 1.9英寸ST7789驱动、BGR色彩顺序的TFT屏,就可以直接下载代码跑起来。引脚接法很直白:TFT_CS接5号脚,TFT_RST接4号脚,TFT_DC接2号脚,MOSI接23号脚,SCLK接18号脚,背光接32号脚。全部代码和配置说明已经放在GitHub上,搜ESP32 Micro Ecosystem Simulator就能找到项目主页。