IndieLib是一个2.5d引擎,可以简化游戏开发难度,提高游戏开发速度。它在内部使用 Direct3d 进行硬件加速像素游戏开发引擎,但不使用 DirectDraw 或 ID3DXSprite技能特效,而是直接在多边形上渲染材质。它的设计重点是快速 2d 渲染像素游戏开发引擎,但也可以同时渲染 3d 模型。
IndieLib 的主要特点是:
简单的界面和超级易用:使用实体来表示图实例并调用简单的函数来设置它们的属性。如“SetPos”、“SetCollisionArea”、“SetFade”、“SetTransparency”等精灵平移、旋转、镜像和缩放精灵 Alpha 混合、透明度、着色和褪色 渲染任意大小的图像(不一定是 2 倍平方)。您可以加载 10000x10000 像素或更大的图像,IndieLib 会在内部自动将它们分割成更小的块。此外,IndieLib 可以自动丢弃显示窗口之外的块,从而提高渲染速度。在 IndieLib 中,你也可以使用相机,在使用相机时(如旋转、放大等)只会渲染你看到的东西。SetGrid 函数可以为精灵设置网格,所以在网格上移动点时,您可以获得波浪、2d 和 3d 相机概念等特殊效果,完全独立于图形。它可以轻松移动、旋转和放大和缩小。可以轻松创建多个视角(视口),方便创建大屏分屏游戏。自由缩放,引擎会自动决定是否显示图形动画系统,并使用XML文件定义动画文件高级碰撞检测系统,使用xml文件定义碰撞区域。
区域类型可以是圆形、矩形和三角形。多个碰撞区域也可以定义为组,从而可以轻松检测组成员的所有碰撞。定义好碰撞区域后,就不用担心平移、缩放等会导致碰撞失败的操作了。引擎会自动重新计算碰撞区域。(非常适合街头霸王类格斗游戏)位图文字系统渲染3d Mesh(可以轻松混合2d和3d图形显示)。3D 模型也可以轻松移动、旋转、镜像和缩放。这个功能可以是你制作《新超级马里奥兄弟》这样的角色是3d的,场景是2d的游戏灯光系统,你可以给3d模型添加灯光效果定时器(Timer),开始、结束、暂停, 您可以轻松控制时间 Entity 类用于 2d 或 3d 图形,可以轻松控制图形。Image类,用于加载和保存不同格式的图像文件,还可以实现高斯、噪点、均衡、饱和等特殊效果。直接blit基本图形(矩形、圆形、多边形、线条等)鼠标和键盘输入支持
IndieLib 是一个开源引擎游戏动态,它的许可证是 LGPL,这意味着你可以将它用于商业项目。