An extremely modular general 2D and visual novel engine