我正在开发一款独立游戏,采用自定义Vulkan 1.3图形引擎、C++23、Actor模型以充分利用所有CPU核心。得益于现代GPU实例化技术,该引擎能同时处理超过40000个NPC角色,实现碰撞规避、小队阵型、无限程序化地形以及数千棵树木的渲染。
AMD 3700X处理器搭配Navi 5600XT显卡(六年前硬件),在2560x1440分辨率下,当屏幕上同时出现40000个NPC时,帧率可达140fps。

我曾构思制作一款“兽潮”游戏:不断增多的敌潮逼近你的防御工事,你的小队则负责防守。每波敌人结束后,你会升级(获得更强武器、更多小队成员)。当防御工事失守时,你必须“撤退”至下一个防御点。撤退过程中保护村民可获得额外加分。最终关卡将有40000个敌人从四面八方进攻,配备投石机、巨型投石机、希腊火等武器。

当你的角色死亡时,你会重生为下一名小队成员或战友,并下达撤退命令。因此,存活的小队成员越多,你在后续波次中的机会就越大。每个防御工事都提供弹药补给、增援等资源。

游戏为街机风格,带有醒目计数显示(剩余敌人、村民数、小队成员数)。

当你穿越程序化生成的世界时,我还希望加入野生动物袭击,同时要记住你正被兽潮追赶。或许可以设置咽喉要道,炸毁桥梁后看着兽潮坠入河中,它们不得不“绕路”而行——这能为你争取喘息时间。

我计划设计约15个敌人波次。

我的引擎已开发多年,但最近才实现骨骼动画的实例化渲染,因此想测试一下屏幕同屏渲染的上限。实例化带来的惊喜是:在六年前的硬件上,我竟能以可观帧率同时渲染80000个单位。

这听起来会是一款有趣的游戏吗?这类游戏要想真正好玩,需要具备哪些要素?