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

quantumde1 5b3cd0b4c3 3d added 4 tygodni temu
conf 1039144bfb added change of window texture from script 1 miesiąc temu
source 5b3cd0b4c3 3d added 4 tygodni temu
.gitignore 5b3cd0b4c3 3d added 4 tygodni temu
LICENSE 20b91a048f first on gogs 3 miesięcy temu
build.sh cee32891b6 fixed readme 2 miesięcy temu
dub.json f0e8359f69 fixed reprod.builds on Windows 1 miesiąc temu
dub.selections.json 20b91a048f first on gogs 3 miesięcy temu
image.png 48aead87dd added image to markdown 2 miesięcy temu
libhpff.def 9f513ba182 changed engine_loader to engineLoader lmfaoo 2 miesięcy temu
libhpff.lib 20b91a048f first on gogs 3 miesięcy temu
lua53.lib 20b91a048f first on gogs 3 miesięcy temu
mc.glb 5b3cd0b4c3 3d added 4 tygodni temu
raylib.lib 9f513ba182 changed engine_loader to engineLoader lmfaoo 2 miesięcy temu
readme.md 59adf931d0 fixed readme 1 miesiąc temu
vlc.lib 20b91a048f first on gogs 3 miesięcy temu

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