cubedoom 是一个以Spectre编程语言实现的竞技场射击游戏,依赖于SDL2和SDL2_Image dev库。它最初是对该语言的多维数组功能进行实验,朝着C-interop(extern相关的“头文件”语法特别是为了与编译器的替代后台兼容性)发展。它使用射线投影渲染3D世界,类似早期第一人称射击游戏如Wolfenstein 3D或原版DOOM。

游戏在运行时,每帧向玩家位置发出一组射线,沿着地图网格逐步移动,直到检测到墙壁碰撞。碰撞的距离决定了绘制到屏幕上的垂直片高度,产生了深度的假象,使引擎轻量。游戏中有一个敌人类型和视野摇摆功能,如经典DOOM游戏一样,还有生命/小地图的HUD。游戏中的玩法是故意 minimal 的,要么是玩家在迷宫一样的竞技场中移动,要么是在战斗中击败敌人,并尽可能地生存。

cubedoom自己的git存储库可以在这里找到。