A work-in-progress free and open-source replacement for the Diablo I engine. Simply import the Diablo assets, and enjoy the same old game with faster performance and modern resolutions, and first class support for mods.

What's this all about?

We love Blizzard's popular game, Diablo. We love it so much, in fact, that we're willing to spend our precious time developing a free and open source solution for those wanting to play it on a modern computer.

Read more...

Is that legal?!

Short answer, yes. We don't distribute any copyrighted game assets, which means you'll need to have a copy of Diablo to be able to play.

Recent News

  • Multiplayer progress + Tchernobog

    July 17, 2016 by wheybags

    Hi all,

    There’s been some progress on multiplayer, I’ve been working to switch to a unit tested serialisation framework based on the gafferongames article series here.

    So far most stuff is working, with the notable exception of monsters in the dungeon. Below is a short video demo:

     

    Also, another big announcement, following this forum post, brightlord, the developer behind the Diablo 1 HD mod/Tchernobog has shared the sources for Tchernobog with me to use as a resource for the further development of freeablo. So, a big thanks to him for that, and here’s hoping it’ll come in useful in the future. I’m afraid, however, I can’t share the sources at the moment, but chunks of them will probably end up in the freeablo codebase.

  • Update + forums fixed

    March 20, 2016 by wheybags

    Hey, so not much has been happening in the past month or so because work was pretty hectic for me and I had no free time to work on freeablo.
    The good news is that has changed. MP is pretty close to done, expect a proper video of that soon.
    Also, the forums were absolutely inundated with spam, that’s been fixed now, and hopefully won’t happen again, as I’ve enabled captchas for signup.
    o/

  • Multiplayer!

    August 30, 2015 by wheybags

    mp gif

    Probably the only feature half of you even care about :p
    Anyway, perhaps an overstatement, as what you see is just the player being synced, but I’ve started on implementing mp, so you should be hearing more about it “Soon”

  • v0.3 released

    August 5, 2015 by wheybags

    As it says, v0.3 finally released.

    Big features this time round are level 3 level generation, and some cool new gui stuff from konopka90 and Exairnous.

    Im hoping that for v0.4 I can get a start on combat and multiplayer, so it should be a more exciting one (a lot of the stuff in this release is a bit “invisible” to end users).  I’m also gonna try actually write something on here a bit more often, keep it updated with project status and the occasional general interesting gamedev bit I run into.

    Anyway, (slightly less) crappy video, and changelog below:


    Changelog:

    - Bugfix - monsters spawn on level stairs #112
    - Threading refactor #107
    - Hotkey selection GUI #106
    - level 3 dungeon generation #103
    - UI chroma key transparency #96
    - UI animation #95
    - Bugfix - gui clicks register as movement clicks #88
    - Initial version of launcher #33
    - sound #26
    - better celview gui #134
    - Bugfix - music memory leak #111
    - Bugfix - exit when DIABDAT.MPQ not found #114, #115
  • New wobsite

    January 9, 2015 by wheybags

    Hey all, I updated the website. Finally have themes for wordpress and phpbb that match :3

    also, SPINNY PENTAGRAMS

  • Freeablo v0.2 released!

    December 3, 2014 by wheybags

    Hello, all. As the title says, v0.2 is released. The big features of this release are the gui, music, and level generation for dungeon level 2. Downloads available at https://github.com/wheybags/freeablo/releases/tag/v0.2

    Crappy video and changelog below:

     

    Changelog:

    - Bugfix - MPQ filename case sensitivity #78, #76
    - Bugfix - Deadlock on caertain command line args
    - Bugfix - Player-npc clipping #97
    - Bugfix - Reading freed memory in FAIO 6f098b1
    - Config File parsing #81
    - LibRocket Gui framework #82, #86
    - Improved CEL rendering #85, #91
    - Inventory and char menu placeholders #86
    - Pause menu #90
    - Main menu #94
    - Keybinding configuration framework #98
    - Music #99
    - SDL1 support removed d4da725
    - Dungeon level 2 generation #93
  • Media section

    November 14, 2014 by wheybags

    Another short update – I made a media section with some screenshots + a basic video: http://freeablo.org/?page_id=39

    BTW: If any of you out there are good at web (or just ordinary) design, it would be nice to get custom wordpress + phpbb themes (that match), and/or a freeablo logo.

  • Quick progress report

    November 13, 2014 by wheybags

    So, it was called to my attention that I haven’t updated this site in a good while.
    Since the last update, there’s been a few changes – the big ones being gui and level generation for dungeon levels 5-8 (still in a pr, https://github.com/wheybags/freeablo/pull/93)
    Dungeon level 5:
    Screenshot from 2014-11-13 15:10:43

    Main menu:

    Screenshot from 2014-11-13 15:16:43

    Pause menu:

    Screenshot from 2014-11-13 15:16:52

    Char and Inv windows (don’t actually do anything yet):

    Screenshot from 2014-11-13 15:21:39

     

    As you can probably see, the gui bits are fairly placeholder for now, missing some visual features (like trasparency for that ugly green, and animation for the spinning pentagrams and fire), but they are a good base in my humble opinion 😛

     

    Anyway, development does continue, in fact we’re probably approaching a point where we can release v0.2, if you take a look at the github milestone: https://github.com/wheybags/freeablo/milestones/v0.2, it’s mostly finished, with music being the only big feature remaining.

  • libRocket

    May 4, 2014 by wheybags

    I have been planning to use libRocket as the gui library for freeablo. The great thing about it is that it allows you to design guis with a derivative of html and css, so this would be very user-moddable.

    However, freeablo is using SDL for rendering, and libRocket has no native support for SDL. Fortunately, it does have a nice interface for plugging in rendering backends, and someone has written an sdl backend for it (http://mdqinc.com/blog/2013/01/integrating-librocket-with-sdl-2/). Unfortunately, this code was rather tied up in the game engine it was created for, and was not a drop-in solution.

    It was a massive pain getting it to work, but I finally managed to do so. I have submitted a pull request to the libRocket authors, in the hopes that this will prevent this pain from happening ever again, but I’m not sure if there’s anyone actually reviewing pull requests on their end. Anyway, the code can be found here: https://github.com/wheybags/libRocket/tree/sdl2/Samples/basic/sdl2

    Unfortunately, this does mean SDL 1 support will have to be dropped, but to be fair, the reasons for it existing were fairly silly 😛

  • So now there’s an irc channel

    April 29, 2014 by wheybags

    Someone made an irc channel on freenode, and some people actually joined, which is always good.

    Anyway, #freeablo on irc.freenode.net. Here’s a webchat link if you want: http://webchat.freenode.net?channels=%23freeablo