Pile
A friendly, extendable game framework for the Beef programming language.
Install / Use
/learn @EinScott/PileREADME
Pile
Pile is a small game engine made in the Beef Language, similar to frameworks like MonoGame/FNA and directly inspired by Foster.
It focusses on handling and abstracting some of the basic underlying workings of a game in a reasonably extendable and performant way while giving you control about the structure of the actual game logic.
What it does
Pile handles platform specific implementations through three core modules.
- System (application window, save location & input)
- Graphics
- Audio
The included core modules rely on
- SDL2 for the System
- OpenGL 3.3+ for the Graphics
- SoLoud for the Audio module Custom implementations are possible.
It also includes an extendable system for managing assets, a sprite batcher, UTF8 Unicode text rendering via SpriteFonts using TrueType fonts, performance tools and a logging system.
There are also some math structs, like Vector2 & 3, Point2 & 3, Quaternion and Rect (of integers) as well as some extensions to corelib classes, especially Math.
Documentation
Guide on Getting Started. Further documentation can be found here: Wiki, Examples & Template Project
Platforms
32-Bit Architectures are not supported. Windows binaries are already included. Binaries for other platforms are missing (See ./Implementations/(any)/dist/).
Contributing
Help is appreciated, especially concerning supporting more platforms and core module implementations.
License
Pile is licensed under the MIT license, see LICENSE.txt.
Third party software used:
- fast-obj - OBJ format support
- stb_truetype - Font handling
- referencesource/System.Numerics - Parts of the structs located in ./Pile/src/Struct/*
- SDL2 - System Implementation
- SoLoud - Audio Implementation
- Beef-OpenGL-Header-Generator - GL function bindings
The licenses for the binaries of each library used in Implementation projects can be found in ./Implementations/(name)/dist/LICENSE.txt. Source files that include third party code have a separate license notice at the top of the file.
Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
