dagon 0.0.2

Game framework for D


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:

Dagon

Dagon is a 3D game development framework for D. It is a work-in-progress reincarnation of DGL with several architecture improvements. The most significant changes are the following:

  • Based on SDL2
  • Ownership memory model - every object belongs to some object (owner), and deleting the owner will delete all of its owned objects. This allows semi-automatic memory management - you have to manually delete only root owners
  • Entity-component model that allows game objects behave differently and combine many behaviours
  • Scene management. Any scene has its own assets, entities and logical context
  • Live asset reloading - asset can be autimatically reloaded when the file is modified with external application
  • OBJ models support
  • IQM format support
  • New material system with simple abstract API and different backends (fixed pipeline, PBR, non-PBR, etc.). Only fixed pipeline backend is implemented at the moment
  • More texture formats support: PNG, JPG, TGA, BMP
  • TTF fonts are now compatible with asset manager and VFS
  • Box container support.

Dagon is still under development and doesn't have eye candy features yet. It's just a framework that you can use to build your own OpenGL-based graphics pipeline - just define your own Drawables, Behaviours and Scenes. In future, some functionality from DGL will be ported to Dagon.

Demos

Dagon comes with a number of usage demos treated as dub subpackages:

  • Simple - a simple scene with a textured cube, light sources and trackball view. Build: dub build :simple
  • OBJ - loading OBJ model. Build: dub build :obj
  • Animation - loading an animated IQM model. Build: dub build :animation
  • Physics - advanced demo: dmech physics engine integration, first person camera with character controller, loading TTF font and rendering 2D text. Build: dub build :physics

License

Copyright (c) 2016-2017 Timur Gafarov. Distributed under the Boost Software License, Version 1.0 (see accompanying file COPYING or at http://www.boost.org/LICENSE10.txt).

Authors:
  • Timur Gafarov
Sub packages:
dagon:simple, dagon:obj, dagon:physics, dagon:animation, dagon:base
Dependencies:
dlib
Versions:
0.16.0 2024-Feb-24
0.15.0 2023-Aug-30
0.14.1 2022-Aug-30
0.14.0 2022-Aug-27
0.13.0 2022-Mar-02
Show all 40 versions
Download Stats:
  • 1 downloads today

  • 7 downloads this week

  • 35 downloads this month

  • 2103 downloads total

Score:
2.8
Short URL:
dagon.dub.pm