Engine for visual novels, written in Dlang and Lua https://underlevel.ru

quantumde1 d5ac1ba0b6 added new functions 6 napja
conf 6a7b351c3d added new functions 6 napja
source 6a7b351c3d added new functions 6 napja
.gitignore 5b3cd0b4c3 3d added 4 hete
LICENSE 20b91a048f first on gogs 3 hónapja
build.sh cee32891b6 fixed readme 2 hónapja
dub.json f0e8359f69 fixed reprod.builds on Windows 1 hónapja
dub.selections.json 20b91a048f first on gogs 3 hónapja
image.png 48aead87dd added image to markdown 2 hónapja
libhpff.def 9f513ba182 changed engine_loader to engineLoader lmfaoo 2 hónapja
libhpff.lib 20b91a048f first on gogs 3 hónapja
lua53.lib 20b91a048f first on gogs 3 hónapja
mc.glb 5b3cd0b4c3 3d added 4 hete
raylib.lib 9f513ba182 changed engine_loader to engineLoader lmfaoo 2 hónapja
readme.md 59adf931d0 fixed readme 1 hónapja
vlc.lib 20b91a048f first on gogs 3 hónapja

readme.md

Himmel Engine

Himmel(equal to Heaven, but in German) is an engine for Visual Novels, written using Dlang and Lua.

image info

Getting Started

Getting needed components

Build system currently assumes POSIX like system. For building, you need first install next components on:

  1. FreeBSD:

    sudo pkg install ldc vlc dub lua53
    
  2. Alpine:

    doas apk add ldc2 dub vlc-dev vlc lua5.3-dev 
    
  3. Debian:

    sudo apt install dub ldc libvlc-dev liblua5.3-dev vlc lua5.3 build-essential
    

Next, run ./build.sh . Everything will be done automatically!

Features

Engine scripts are written in Lua with some raylib direct bindings as well as some custom functions written for visual novels

  • Drawing, loading, unloading and stop drawing character and background textures
  • Camera zooming to specific coordinates
  • Dialog box with multiple pages and choices, with configurable design using png background 40x32 images
  • Custom fonts(PNG format from XNA, ttf, otf)
  • Very flexible API with direct bindings from raylib, which allows to create interesting UI
  • Graphical effects from multiple PNG images
  • Resolution of development, end-user resolution, fullscreen, window name, icon, menu scripts and first game script.

TODO

  • Adding lipsync as a feature
  • Adding savestates in-engine

Documentation

You can see documentation on Himmel's wiki page. It contains cheatsheet and some useful examples for getting started with development.

License

raylib(raylib.com) uses zlib/libpng license

himmel engine uses MIT license

VLC(videolan.org) uses LGPL license

lua(lua.org) uses MIT license