Catalog · How the catalog works
SprE_ngin_E_2_D
Very Fast Software 2D Game Engine
- ★ 6 on GitHub
Anyone may press Interesting, signed in or not. It helps others find this project.
README
It is a lightweight 2D game engine (written on Object Pascal and compilled in Lazarus).
Killer features:
- thanks to the use of special structures like CSR (Compressed Sparse Row), editing even in software mode becomes incredibly fast (the complexity is O(selected points));
- thanks to the "dirty rectangles" technology, scrolling of background objects occurs almost very quickly, which allows for the rendering of very large sprites (more than 30kx30k pixels) as background objects;
- using multi-threaded processing in conjunction with SIMD optimizations, it is possible to achieve quite decent speed even in software rendering mode.
Brief description
Supported OS: currently only Windows.
Rendering type: software (OpenGL is used only for outputting the final frame, but shader support is already implemented).
Main modules:
- Fast_Main : main editor routines
- Fast_AnimK : animation (particles,physics,hair,fluid effects etc.)
- Fast_GL : initializing GLSL shaders
- Fast_Graphics : rendering of primitives (like a line, rectangle,circle), filters, blitters, CSR-sprites processing etc.
- Fast_UI : working with UI/UX elements
- Fast_Scene_Tree : scene object manager
- Fast_SIMD : some SIMD powered routines
- Fast_Threads : working with threads (implementations of multi-threaded variants of some main functions)
- Hot_Keys : key mapping
- Image_Editor : editing sprites (filters, masks, etc.)
- Documentation : descriptions of tools from Draw, AnimK, File
- Performance_Time: measuring the running time of different sections of code
Tools page:
Text: drawing text (partially implemented, does not currently support multithreading);
Brush: reserved for working on sprites on scene (not implemented);
Spline: drawing curves/splines (it is the most optimized tool of all and has many settings for rendering, optimization, etc.);
Select Items: editing splines (uses high-performance lazy rendering algorithms and CSR-sprites capabilities);
Select Background Region: reserved for working with selective edits to the scene canvas (not implemented);
Background: background fill;
Post-Process: various layer effects like AlphaBlend, Darken, Blur, Noise, etc. (almost completely implemented);
TileMap: drawing sprites using a black-and-white mask (partially implemented, some work on the collision system);
Snap Grid: alignment of objects to a grid (only the display of the grid itself is implemented);
Regular Grid: auxiliary grid for displaying the scale of the scene;- Play: starts the game loop;
- Game Settings: some basic scene settings such as "Borderless window", etc. (partially implemented);
- Add Actor: adding characters (not implemented);
- Sound Control: some sound settings (not implemented);
All units are in active development and will be supplemented as needed.
Additional
Executable demo(SprE_ngin_E_2_D.exe) is included, so run-n-fun.
Screenshots:
- Editor mode:
- Scene tree and object tags:
- Game mode(old UI design): multithreading, SIMD, 100000 sprites
- Editor mode(old UI design): spline with 20000000 points
- Editor mode(old UI design): selected points in spline with 20000000 points
- Editor mode(old UI design): selected points in splines with 60000000 points
- Editor mode(old UI design): drawing tilemap, text, etc.
- Turbo Pascal style UI(old UI design):

