Skip to content

Hobby game framework and game in the D language

Notifications You must be signed in to change notification settings

Realm-Engine/realm

Repository files navigation

Realm

Hobby game framework and game in D

Preview

Features

  • Batch rendering
  • Materials
  • Model loading (.obj)
  • Texture loading
  • Debug/Line drawing
  • Shadows
  • Streamlined shader creation
    • With shader program caching
  • Virtual file system
  • Little to no overhead ECS
  • UI/Screen space rendering
    • Text
    • Coloured panels

Building

Dependencies

  • D compiler
  • dub package manager
  • CMake/make/meson/MSBuild
    • For building freetype, so see here for what you need.
    • Or you could just get a prebuilt binary and place it in Projects/<Project>/bin
    • Either way you do it be sure to get freetype 2.11

Process

  1. First clone and get submodules using -recursive flag or running
    git submodule init
    git submodule update
  2. If building freetype, its already configured to build a dynamic library, it is under external/freetype
    • See link above for directions
  3. Go to your game project root (for example Projects/RealmGame) and type
    dub run or dub config --config=realm-executable
    • To build out to a dynamic library use dub config --config=realm-dynamiclibrary

Creating a project

  1. Run ./bootstrap/new-project.bat <name>from repository root
    • This will create a dub project under ./Projects/name and register realm engine package
  2. Configure dub.json
    • in the generated dub.json add the following:
      "dependencies" : {"realm" : "~main"}
      "workingDirectory" : "../../"