immature engine, for the game Dragons Ingot
C++ Batchfile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Dragon's Ingot

Dragon's Ingot source code, immature engine.


Dragon's Ingot is an indie 3D action game. The game is in early development. This open source project is just a technic showcase.


  • Command-Line Build (cl.exe).
  • The fundamental 3D rendering technique is derived from the DirectX 11 book by Frank Luna.
  • No visualization scene editor.
  • The platform only supports Microsoft Windows.
  • Little document support.
  • Single core optimization.
  • Mixing game data and engine code directly. (Very high coupling)

Compile Environment:

Win 10
Visual Studio 2017 (require Desktop development for C++)
Windows SDK for Windows 10
DirectX SDK (June 2010)

Runtime Environment:

Win 7.1 / Win 8.x / Win 10
DirectX End-User Runtimes (June 2010)
Visual C++ Redistributable for Visual Studio 2017
Update KB2670838 (Windows 7.1 situation)
DirectX 11 capable GPU
1024X768 minimum display resolution
DirectX 9.0c compliant sound card

Dependent .Lib Files for compiling:

Those files should be in VC++ Library Directories, notice corresponding x64/x86, Debug/Release version. The .lib files you can get from each corresponding project.

How to Compile:

In sample\ folder, every subfolder include a signle sample. The compile option see bat_tool\1.bat.

  • init_d3d: A basic window draw empty.
  • m3dtob3m: Command line tool, convert text .m3d model file to binary .b3m file. Those two types both can be read by engine.
  • simple_scene: A very simple scene draw 4 basic geometrics. (Screen Capture)

Runtime Folder Tree:

See sample\simple_scene, represents following tree.


Asset Tools:

  • immature Blender export: Export Blender model data to .m3d file format for immature engine.
  • m3dtob3m.exe: Convert .m3d file to binary .b3m file. Notice .b3m file corresponding x64/x86 version.
  • CSV based scene data: Unfortunately, this engine has not a scene editor let you can "drag and drop". You must write a game object by handwriting, this limits the complexity of a scene.

Copyright and License:

  • Copyright 2015-2017 Huang Yiting (
  • immature engine is distributed under the the terms of the BSD license.
  • immature engine's work not include the code in folders of suffix "_3rd_party".
  • The complete game Dragon's Ingot is proprietary and retains intellectual property rights.