Engine Overview
MASI-CiX SE is a high level sprite based engine, written in C++ and designed to utilise modern graphics hardware through OpenGL. MASI includes an OpenAL-based sound system, as well as its own image and sound codecs. Input is handled with DirectInput (8), and it is currently a Windows-only engine.
Requirements (Development):
MASI is delivered to developers as a compiled C++ DLL, along with several header files. As MASI uses STL strings heavily for argument parsing, as well as decorated C++ names, it is locked into the original compiler. Acheron Design provides MASI DLLs for Microsoft Visual Studio 2003, as well as Microsoft Visual Studio 2005, of which a free, compatible copy can be obtained through the yearlong Microsoft Visual C++ Express Edition Promotion.
If you are using Visual C++ Express 2005, please ensure that you have downloaded the Platform SDK, and installed it as instructed.
Requirements (End-User):
The end user of a MASI-powered product must have the appropriate Visual Studio Runtime Library (the VC2005 beta 2 redistributable libraries are available for download here). In addition, they must have installed the OpenAL runtime libraries (provided with the MASI-SDK).
Finally, they must install an appropriate graphics card driver to enable complete OpenGL support. In older versions of Windows, OpenGL isn't supported unless a driver is downloaded from the graphics card vendor. In Windows XP, people often operate without OpenGL support, and upon running a MASI program, it will drop into software mode, and render at an apalling framerate. Please ensure that your users have up-to-date video card drivers.
Some versions of MASI will create an error if software mode is detected, and will not start at all.
Feature List:
- Sprite Graphics
- Persistent Sprite Objects
- Requires only two lines of code to create a sprite
- Layer based drawing for complex scenes
- Full transparency / alpha support
- Multiplicative colour support
- Loads BMP, JPG, PNG, GIF textures as colour or alpha sources
- Hardware scaling and rotation
- Text Graphics
- Text objects from Truetype and Opentype Fonts
- High quality texture fonts from bitmapped graphics
- Hardware scaling, blending and rotation of text
- Sound System
- OpenAL-powered sound engine
- Decodes and plays WAV, ACM, OGG, as well as a multitude of tracker formats
- Animations
- Inbuilt support for MASI's own 32/8-bit animation format
- Supports both lossless and lossy compression schemes
- Support for cell-based animation from multiframe textures
- Extensible animation system - define your own textures which are updated on demand
- Particle Engine
- High performance spline-based particle engine
- Simple mathematically defined particle system for less complex effects
- Extensible classes, allowing you to define your own behaviours
- Network Support
- Supports lobbyable networking via DirectPlay
- No knowledge of network voodoo is required
- Input Control
- Mouse, keyboard and gamepad support built into MASI
- Interfaces are created and destroyed transparently and on demand
- Simplicity
- Persistent primitives managed by MASI
- Objects can be referenced either by strings or pointers
- Automatic caching and garbage collection
- Memory Management
- Ultra-high speed memory manager based on a regimented pool model
- Full memory leak detection
- Supports guard blocks to detect array overflows
- MASI container formats, designed and optimised for use in games
- File Management
- MASI's own compressed resource file format
- Virtual filesystem built around MASI Packages
- Security and efficiency using the MPX format
- High performance filesystem, pooling file handles and caching reads/writes
- Awesome
- MASI is constantly evolving
- Friendly development staff that are willing to help at all times
- Completely free for non-commercial use.