An open source project demonstrating various graphical demos while learning DirectX, culminating in a playable game. This project also aims to show high quality, testable, multi platform Windows development in C++11.
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.

Hailstorm Engine

Hailstorm Engine is a demonstration of DirctX and Windows graphical techniques, and a learning environment to practice writing better, more testable, more reusable code. Perhaps some day it'll grow up to be a real game! For the moment it's just graphical demos.

What can it be used for?

Showing off shiny graphical demos.

Give me a demonstration!

You're right, I should probably put a screenshot or movie link in here.


Deep in perpetual development! It's nowhere close to even alpha quality (alpha meaning some semblence of a playable prototype). That said however, I try to keep the master branch at a high enough quality level that people can always download the project, build it for themselves and take it for a spin.

To see a list of big featuers, check out the CHANGELOG.


See the documentation


Apache 2.0 License

Continuous Integration

I'm working on getting a CI server set up.

Requirements (for building)

  • Windows 8.1
  • Visual Studio 2013 or newer
  • Windows Platform SDK -or- DirectX June 2013 SDK installed

Building the source

Visual Studio

After cloning the repository, open up Hailstorm.sln in Visual Studio

Windows command line

After cloning the repository, run 'build.cmd'.

How to get this running or how to use it

Detailed instructions on how to install, configure, and get the project running. This should be frequently tested to ensure reliability. Alternatively, a link to another page is fine, but it's important that this works.

Getting involved

Thanks for wanting to help out! At the moment, there's not a whole lot of work needed for adding new features, but if you spot any bugs or have some ideas feel free to contribute. I'd be super happy if this project helps you on your own projects, so make sure to borrow anything you need (with proper attribution!).

General instructions on how to contribute can be found right here: CONTRIBUTING.


I'll set up an IRC channel or other way to get in touch with me soon. Until then you can use the project tracker to talk with me.

Credits and references

  1. Frank Luna's Introduction to DirectX 10 book
  2. Rastertek (Even if some of the code leaves a bit to be desired)