arcBlocks: C++ standard library extensions and UI Building Blocks for apps and games
arcBlocks is a suite of open source libraries that I developed while working on my startup TransReality Technology, Inc. They are designed to help speed up C++ app development by providing a wide variety of standard library extensions (in arc), along with a set of UI building blocks (in Blocks). The only dependencies are C++11 and the open-source graphics library SDL for the UI functions.
Some of the primary modules in arc provide:
- Automatic memory management/copy-on-write
- Command-line argument parsing
- File/path/directory access
- Threading and syncronization
- 2D graphics rendering and user input (using SDL)
- Audio playback (using SDL_mixer)
And the Blocks suite includes:
- Static, dynamic, animated, and expanding visuals
- Multi-frame visuals, buttons
- UI Layouts
- Scene handling
- Sound playback
- Pixel text rendering
- Collision detection
- Scrolling and parallax scrolling
- Procedural level generation
- Blocks manager which handles connections between block events and actions
Open-Source Version Download (Beta)
The arcBlocks code is available for download under the
MIT license on my GitHub.