正如标题所说,我正在充实 2D 平台游戏引擎的设计。它仍处于设计阶段,但我担心我会遇到渲染器问题,如果它们会成为问题,我想避免它们。
我将 SDL 用于我的基础库,并且游戏将设置为使用单个大数组Uint16
来保存图块。这些索引到引擎的所有部分使用的第二个“图块定义”数组中,从碰撞处理到图形例程,这是我最关心的问题。
图形引擎设计为在 640x480 分辨率下运行,具有 32x32 瓦片。每帧每层绘制 21x16 个图块(用于处理滚动时显示的额外图块),最多可以绘制四个层。层只是单独的瓦片数组,但瓦片定义数组对所有四个层都是通用的。
我担心的是我希望能够利用这个引擎利用透明胶片和动画图块,而且由于我对设计不太熟悉,我担心我目前的解决方案效率太低运作良好。
我的目标 FPS 是每秒 60 帧,并且在绘制所有四个图层的情况下,我正在查看每秒需要绘制 21x16x4x60 = 80,640 个单独的 32x32px 块,以及精灵需要许多奇数大小的块,并且这似乎有点过分了。那么,有没有更好的方法来渲染我拥有的瓷砖地图设置?我正在寻找使用硬件加速来绘制瓷砖地图的可能性,如果它有助于提高性能。我也希望能够在稍微旧一点的电脑上运行这个游戏。
如果我在寻找太多,那么我认为降低引擎的能力是不可能的。