Zurück zum Ranking

mofr/Diablerie

C#

Diablo 2 reimplementation on unity

unityunity2ddiablo2diablo-iidiabloremasterlinuxgamempqcloneopen-sourceengine
Sterne-Wachstum
Sterne
1.2k
Forks
255
Wochenwachstum
Issues
52
5001k
März 2017Apr. 2020Juni 2023Juli 2026
README

Diablerie

Windows Build Status

Linux Build Status

Code Status

alt tag

This is a recreation of Diablo 2 game from Blizzard.

The game is at a very early stage of development - work in progress.

No commercial use is intended. All images and sounds used are from Diablo 2 and are property of the original game creators.

How to run the game

Requirements:

  • Download latest version of Diablerie (Windows, Linux)
  • Copy following files from Diablo 2 LOD v1.14 to the Diablerie directory:
    • d2exp.mpq
    • d2data.mpq
    • d2char.mpq
    • d2sfx.mpq (optional)
    • d2music.mpq (optional)
    • d2xMusic.mpq (optional)
    • d2xtalk.mpq (optional)
    • d2speech.mpq (optional)
  • Run Diablerie

How to build and run from sources:

Requirements:

  • Unity 2019.2.8f1 (other versions are not tested)
  • Diablo 2 Lord of Destruction v1.14

Steps:

  • git clone https://github.com/mofr/Diablerie.git
  • Copy following files from Diablo 2 LOD v1.14 to the Diablerie directory:
    • d2exp.mpq
    • d2data.mpq
    • d2char.mpq
    • d2sfx.mpq (optional)
    • d2music.mpq (optional)
    • d2xMusic.mpq (optional)
    • d2xtalk.mpq (optional)
    • d2speech.mpq (optional)
  • Run Unity Editor and open Diablerie folder as a project
  • In Assets folder open Scenes/MainMenu.scene file
  • Press Play

In-game console

Press enter to open the in-game console. Some commands to test:

Spawn Immortal King Set under the cursor /spawn itemset immortal

Spawn diablo under the cursor /spawn diablo

Spawn 100 skeletons under the cursor /spawn skeleton1 100

Go to act 1 /act 1

Go to act 2 /act 2

Go to act 3 /act 3

Go to act 4 /act 4

Go to act 5 /act 5

FAQ

What the goals of the Diablerie project?

From highest priority to lowest:

  1. Implement all original Diablo II functionality. It will be cross-platform, easily run on modern systems in high resolution.
  2. Have a good separation of the Game and the Engine, so that engine can be used separately to create Diablo-like games.
  3. Create an original game in the setting of Diablo.

Why Unity?

Unity is simple yet powerful game engine. It saves a lot of time for doing very basic stuff. There a lot of people who already familiar with Unity. Also it simple enough to dive into for new developers. A lot of people have performance concerns about Unity. It shouldn't be an issue, and in case of serious bottlenecks it's possible to offload heavy computations to C++ libraries (as it's already done with MPQ loading code). New Unity Data-Oriented Tech Stack is also available and provides great performance.

Why C#

C# is popular, simple and performance enough language for today to make a game like Diablo. The main reason however is because using Unity implies using C#.

Can I Play Diablerie without original Diablo II?

No, you can't. Original game resources are property of Blizzard and distributing it is not legal.

Can I make mods for Diablerie?

Yes! This is one of the main goals of the project.

Can I make my own game based on Diablerie engine?

Yes. The project consists of two parts: Engine and Game. One of the Diablerie goals is to have good separation of the Game (which is actually Diablo II remaster) and the Engine, which can be used to create Diablo II clones.

Credits

Paul Siramy - ds1edit editor, great thanks for source code. Very helpful and detailed tutorials related to diablo 2 internals.

Bilian Belichev - DCC file format documentation and sample decoder.

Ladislav Zezula - StormLib

Phrozen Keep - A lot of various information about diablo 2 files.

Ähnliche Repositories
icsharpcode/ILSpy

.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!

C#MIT Licensedecompilerdecompiler-engine
25.7k3.7k
Donchitos/Claude-Code-Game-Studios

Turn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy.

ShellMIT Licenseai-agentsai-assisted-development
23.3k3.3k
lettier/3d-game-shaders-for-beginners

🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.

C++shaders3d
lettier.github.io/3d-game-shaders-for-beginners/index.html
19.8k1.5k
Unity-Technologies/ml-agents

The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents using deep reinforcement learning and imitation learning.

C#Otherreinforcement-learningunity3d
unity.com/products/machine-learning-agents
19.6k4.5k
Perfare/AssetStudio

AssetStudio is a tool for exploring, extracting and exporting assets and assetbundles.

C#MIT Licenseunity3dunity
15.6k2.9k
heroiclabs/nakama

Scalable open-source game backend server: multiplayer, matchmaking, leaderboards, chat, and social features for games.

GoGo ModulesApache License 2.0multiplayerbackend
heroiclabs.com
12.9k1.4k
CoplayDev/unity-mcp

Unity MCP acts as a bridge between AI assistants and your Unity Editor. Give your LLM tools to manage assets, control scenes, edit scripts, and automate tasks within Unity.

C#MIT Licenseaiai-integration
coplaydev.github.io/unity-mcp/
12.7k1.3k
Cysharp/UniTask

Provides an efficient allocation free async/await integration for Unity.

C#MIT Licensecsharpunity
11.1k1k
Tencent/xLua

xLua is a lua programming solution for C# ( Unity, .Net, Mono) , it supports android, ios, windows, linux, osx, etc.

COtherluaunity
10.1k2.5k
egametang/ET

Unity3D Client And C# Server Framework

C#Otherc-sharpserver
9.9k3.2k
Perfare/Il2CppDumper

Unity il2cpp reverse engineer

C#MIT Licenseil2cppreverse-engineering
9.2k1.9k
jynew/jynew

JinYongLegend-like RPG Game Framework with full Modding support and 10+ hours playable samples of game.

C#Otherjinyongunity
8.9k1.9k