HipremeEngine
Cross Platform D-Lang Game Engine with scripting support
Install / Use
/learn @MrcSnm/HipremeEngineREADME
The engine maintains some global options which you can modify it on
- modules/config/source/hip/config/opts.d:
- modules/config/source/hip/config/renderer.d:
- HE_DEBUG -> Use that for creating a debug version for the engine only
- HE_NO_LOG -> Disable the global logging functions
- HE_ERR_ONLY -> Maintain only error logging
Platforms
Almost all of those platforms can be built by using the hbuild project.
If you have D installed already, the hbuild can be got by running
dub run hipreme_engine:hbuildIf not, you may go to the BuildAssets page and select your system. Both the language and engine will be installed locally by using them.
Build System Showcase

- Xbox Series (UWP): build/uwp
- Android: build/android/
- Browser (WebAssembly): build/wasm
- PS Vita: build/vita
- MacOS : build/appleos
- iOS: build/appleos
- Windows: bin/desktop
- Linux: bin/desktop
Requires libgl1-mesa-dev for opening X11 window and OpenGL
Engine Core
| Rendering | Audio | Decoding | FileSystem | Renderer2D | Network | Input | |:---------:|:-----:|:--------:|:----------:|:----------:|:-------:|:-----:| | Metal 2.4 | AVAudioEngine | Image: PNG, JPG, BMP & TIFF | C Std | Sprite | Server | Mouse | DirectX 11| XAudio2 | Audio: MP3, OGG, WAV, FLAC | D Std| Sprite/Geometry Batch | WebSocket | Touch | OpenGL 3 | OpenAL | Tiled: TSJ & TMJ | Android AAssetManager | Framebuffer | TCP | Xbox Gamepad | OpenGL ES 3 | OpenSL ES | Font: FNT, OTF TTF | Web Filesystem Simulation| BitmapText | NetController | Input Listener | OpenGL ES 2 | | Pack: HapFile (coming) | Parallel Asset Manager | Shader | Lightweight TypeInfo | | WebGL 1 (OpenGL ES2 Emulation) | WebAudio | General: INI, CSV, JSONC | Dynamic Asset Factory | Material | Auto Data Layout | HipRenderer* | HipAudio* |TextureAtlas: JSON, ATLAS, XML & TXT | | TiledMaps | HipNetwork*
*: Hipreme Engine abstraction
Features
- HBuild build system. 1-Click deliver to expected platform
- WebAssembly reload server
- Centralized asset locator with caching and new types registering
- Lightweight TypeInfo: Guarantees that the sent type is the same that is received
- Auto Data Layout: Guarantees that the data is aligned to 1 byte reducing the overall toll of sending data over net
- Abstraction over renderer and audio player guaranteeing best performance and unified API
- Easy asset loading system
Coding
- Scripting: Use D for scripting with runtime code loading
- Filewatcher: Currently disabled since I didn't like the experience
- WebAssembly server reloader: Every rebuild of wasm automatically reloads the game
Next steps
- GLSL to HLSL transpiler
- Multi threaded audio decoding (currently only single threaded is supported)
- Create a proof of concept
Related Skills
openhue
339.1kControl Philips Hue lights and scenes via the OpenHue CLI.
sag
339.1kElevenLabs text-to-speech with mac-style say UX.
weather
339.1kGet current weather and forecasts via wttr.in or Open-Meteo
tweakcc
1.5kCustomize Claude Code's system prompts, create custom toolsets, input pattern highlighters, themes/thinking verbs/spinners, customize input box & user message styling, support AGENTS.md, unlock private/unreleased features, and much more. Supports both native/npm installs on all platforms.
