MrcSnm / HipremeEngine

Cross Platform D-Lang Game Engine with scripting support
Other
96 stars 9 forks source link
android crossplatform directx-11 dlang game-engine gameengine hipremeengine javascript lua openal opengl opengl-es opensl-es opensource uwp webassembly webgl xbox

Getting Started

The engine maintains some global options which you can modify it on source/global/opts.d:

Current features

Platforms

Almost all of those platforms can be built by using the build_selector project.

If you have D installed already, the build_selector can be got by running dub run hipreme_engine:build_selector

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

Features

  1. Simple build system
  2. Virtual File System
  3. Centralized asset locator with caching
  4. File reading with progress notification

Rendering

Features

  1. Sprite
  2. SpriteBatch
  3. GeometryBatch
  4. FrameBuffer
  5. BitmapText
  6. Shader
  7. Material
  8. Tiled maps

Audio

Features

  1. Streaming
  2. 3D audio
  3. Low Latency on Android -> See flags at config/opts.d HIP_OPENSLES_OPTIMAL and HIP_OPENSLES_FAST_MIXER

Decoding

Coding

  1. D ( check api module for reference )

    • Filewatcher for recompiling the script
    • WebAssembly server reloader
    • Live reload ( no engine restart for coding )

      State is not saved, it is a simple restart, but all the assets are also cached, so, it is still way faster than reopening.

  2. Lua (outdated)

    • May be subject to removal

Next steps

Issues list