《古月》是一款游戏底层开发库,它为程式人员提供了一个方便、易用、高效的开发环境。不管是开发俄罗斯方块、泡泡龙,还是开发角色扮演,即时战略。它都可以为程式人员提供相益的帮助。
代码风格与基础设计:
《古月》的设计目标是为程式人员提供一个无操作系统特定API风格的代码环境。Windows下常见的HANDLE,HWND,HINSTANCE,WORD,DWORD在这里全部没有,即使是WinMain也得到了封装(LR-46开始也可以使用不封装模式)。WORD/DWORD全部统一为简单易懂的uint16,uint32,int16,int32。
在《古月》所提供的API中,从文件存取到流式控制,从多线程到UI设计。全部属于自有API,风格统一,命名规范。大大简化了程式人员对API的熟悉过程,缩短了学习时间。
图形部分:
- 真正3D硬件加速支持,使用OpenGL 1.x-3.x。测试广泛,高度的硬件兼容性。
- 支持OpenGL Shading Language (GLSL)
- 独有的HGP技术支持非2次幂尺寸图片完全原样精度显示。在不支持2次幂贴图与矩形贴图的显卡上所有图片均被拆成2个或2+2*N个三角形来进行显示,而非缩放到2次幂贴图尺寸,也非使用位图方式显示。
- 独有的HTP技术对高重复率或是超大图片有着天生的优势。不管是恋爱游戏中的人物图片,还是RPG/RTS中的地图图片,或是3D游戏中的超大地形贴图与高度图、都可以使用HTP技术实现。
- 支持超过27种常见图片格式:
- BMP,CUT,DCX,DDS,GIF,ICO,JPG,LIF,MNG,PCD,PCX,PIC
- PIX,PNG,PNM,PSD,PSP,PXR,RAW,SGI,TGA,TIF,WAL,XPM
- AR2/ART2,TM2/TIM2,KLZ
- 支持多层PSD图片文件,载入的HGP保持与PSD中一致的多层数据
- 支持Theora解码技术、并在原版MMX汇编版本上再次优化,效能高于常见的其它引擎。
音频部分:
- 真正支持硬件3D音频,使用OpenAL 1.1
- 自有的OpenAL EE技术,即便用户不安装OpenAL驱动,也可正常运行
- 支持X-RAM技术,可将音频数据放入声存,提升整体效能
- 支持EFX技术,可使用各种硬件音频效果
- 支持WAV格式
- 支持OGG Vorbis格式,开放免费格式,去除技术版权问题
- 音源与数据分离:多音源对单数据,单音源对多数据均可
- 每个音源独立3D坐标定位、音量、方向、角度、 有效距离、回声……等等。(音源数量与声卡能力有关)
网络部分:
- 提供基于多线程的TCPServer/TCPClient
- 提供UDPSocket模块
- 提供简单易用的数据包处理,不必自行拆解封包
- 提供轻量级流式加密,对于截取封包的HACK程序有极高的抵御能力,同时拥有极低的CPU占用率
UI部分:
- 以代码简洁、易用为优先的设计
- 自动代功能强劲
- 控件丰富多变
- 运行速度极高
- 提供自绘功能,可扩展性自定义性强
- 默认风格精美细致,本身即是UI设计的优良教材
基础库丰富实用、强劲高效:
- 数据压缩、解压、加密、解密、校验、……
- 坐标旋转、缩放、变换、……
- 列表、队列、堆栈、环形列表、智能指针、树形数据、……等模版库
- 线程、排斥、时间、读写共享锁、原子int、128位int、……等常用功能
- 类似BinaryXML技术的TDF技术
- 在数大成功商业游戏中进化而来的流程/任务设计
- 有着众多成功商业游戏作品的包裹文件技术:HAC-3、HAC-3 Lite
- 提供脚本引擎,代码风格与C/C++近乎一致,并且支持真实C/C++函数映射