The FFilmation Engine is an AS3 isometric programing engine, focused mainly on game development. The aim of the project is providing a robust development platform, where game designers can work on the game’s details and forget about the render engine. It is intended to be really usable from a “real production scenario” point of view. This means:
¬ Have a programming interface as small and easy as possible, no matter how complex the internal code is. From a software engineering point of view, the OO structure may not be as correct and clean as it could have been. It is not messy, but several decisions where made that improved performance and simplicity at the cost of breaking some “good OO programming” conventions,
¬ Rendering performance is a major concern when designing all the algorythms. Some of them have been rewritten 4 o 5 times from scratch until one fastest enought was found. If it doesn’t perform well, it is not usable,
¬ Graphic designers should be able to work on the application’s ( game or not ) environments without any programming skills, visually, and with almost immediate previews of what they are doing. Using the engine should be fun to some degree. If you have this terrific engine and adding a wall to your dungeon means you have to write 10 lines of OO gibberish, lazyness will eventually win you over. If art directors can draw and place the walls and lights an floors and enemies and see them appearing onscreen, you have more chances of reaching your deadline.
List of features :
¬ One engine capable of handling several isometric scenes of different complexities,
¬ Create scenes from human-readable XML definitions, allowing easy edition of the scene’s topology and contents,
¬ Graphic media can be split into several external resources and loaded when an scene needs them,
¬ Flat textures. Paint your grahics directly into flash. Walls, floors and celings are edited as 2D graphics and projected by the engine. Elements and animated characters can be animated via flash timeline, no need for complex programming,
¬ Dynamic lighting, global lighting, real-time shadow projection. Multiple lights from multiple sources affecting the same objects,
¬ Bump-mapped surfaces,
¬ An extendable material interface. MovieClip materials, autotiled materials, procedural materials,
¬ Automatic zSorting of all surfaces and objects,
¬ Built-in collision detection. No need to program complex coordinate comparisions, simple listen to COLLISION events generated by the engine,
¬ Basic AI API helpers such as “is character A visible from character B’s position ?”.