hipreme_engine ~master

Open-Source D Game Engine


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:


This package provides sub packages which can be used individually:

hipreme_engine:hbuild - The main way to build your game using Hipreme Engine. It can generate projects and select to build to any of the supported platforms

<p align="center"> <img src="assets/marketing/svg/engine_logo.svg" width="300"/> </p>

<h1 align="center"> <a href="https://github.com/MrcSnm/HipremeEngine/wiki/Getting-Started">Getting Started</a> </h1>

HBuild

The engine maintains some global options which you can modify it on

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:hbuild

If 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

Example on build selector running and showing the build system

Requires libgl1-mesa-dev for opening X11 window and OpenGL

Engine Core

RenderingAudioDecodingFileSystemRenderer2DNetworkInput
Metal 2.4AVAudioEngineImage: PNG, JPG, BMP & TIFFC StdSpriteServerMouse
DirectX 11XAudio2Audio: MP3, OGG, WAV, FLACD StdSprite/Geometry BatchWebSocketTouch
OpenGL 3OpenALTiled: TSJ & TMJAndroid AAssetManagerFramebufferTCPXbox Gamepad
OpenGL ES 3OpenSL ESFont: FNT, OTF TTFWeb Filesystem SimulationBitmapTextNetControllerInput Listener
OpenGL ES 2Pack: HapFile (coming)Parallel Asset ManagerShaderLightweight TypeInfo
WebGL 1 (OpenGL ES2 Emulation)WebAudioGeneral: INI, CSV, JSONCDynamic Asset FactoryMaterialAuto Data Layout
HipRenderer*HipAudio*TextureAtlas: JSON, ATLAS, XML & TXTTiledMapsHipNetwork*

*: 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
Authors:
  • Hipreme
Sub packages:
hipreme_engine:hbuild
Dependencies:
net, util, config, audio, console, hipengine_api:interfaces, filesystem, bind, timer, renderer, tween, math, assetmanager, error
Versions:
1.1.0 2025-Jul-28
1.0.14 2023-Dec-23
1.0.13 2023-Dec-23
1.0.12 2023-Dec-23
1.0.11 2023-Dec-23
Show all 19 versions
Download Stats:
  • 0 downloads today

  • 1 downloads this week

  • 1 downloads this month

  • 91 downloads total

Score:
2.3
Short URL:
hipreme_engine.dub.pm