-
Notifications
You must be signed in to change notification settings - Fork 29
Home
DGEngine is an implementation of the Diablo 1 game engine. It uses JSON files as configuration files.
You need the original Diablo game files either as a zip or a folder in order to run the engine.
You can create a zip with the original DIABDAT.MPQ using this tool: http://zezula.net/en/mpq/download.html
You run the engine by passing as an argument the path of the archive/folder with the gamefiles.
To run Diablo 1, you need the following:
- DIABDAT.zip
- gamefiles
- DGEngine.exe
Run the game like this:
DGEngine.exe gamefiles
You can download a beta version of Diablo and use the provided DIABDAT.MPQ.
Get it from here.
The files in the beta are not the same as in the original, so some things don't show (cursor, etc) and loading the town level will crash the app, but you can use these if you want to try the engine or if you want to create mods using the beta files.
You can see more information about configuration files here.
The engine with the gamefiles provided mimics all of the original game's menus (pixel perfectly) and allows you to load levels (right click to go to level 1). Most of the effort has been put into getting all the required primitives done to mimic the original's UI. What's missing is basically all inside the game itself (items, players, spells, etc). Everything else (apart from multi player) is done. You can even set the music volume when the game is playing and the music will stop/restart if the volume reaches 0, just like the original (and it will persist that information).
Right now, the engine runs on Android, Linux and Windows.
Other projects used in DGEngine:
- PhysicsFS
- RapidJSON
- sfeMovie
- SFML
- Variant
The project's vision is to become an RPG game engine, that just happens to be able to run Diablo, given the appropriate game files.
This means that nothing can be hard coded in the game.
See how to contribute here.