Coder Social home page Coder Social logo

stoffelkopf / djavul Goto Github PK

View Code? Open in Web Editor NEW

This project forked from happy-ferret/djavul

0.0 0.0 0.0 294 KB

An open source reference re-implementation of the Diablo 1 game engine (work in progress).

License: The Unlicense

C 0.25% Go 99.60% Makefile 0.15%

djavul's Introduction

djavul

Join the chat at https://gitter.im/sanctuary/notes GoDoc

Preservation project for an all time classic, Diablo 1.

Note, djavul requires an original copy of diablo.exe and diabdat.mpq. None of the Diablo 1 game assets are provided by this project.

Project aim and objectives

The aim of this project is to provide an open source reference re-implementation of the Diablo 1 game engine.

To achieve this aim, the following objectives have been identified.

  1. Develop an understanding of the inner workings of the Diablo 1 game engine (subproject notes).
  2. Convert the original game assets to file formats with open specifications (subproject formats).
  3. Provide a framework of extensive test cases for comparing the re-implementation against the original Diablo 1 game engine.
  4. Split the engine into self-contained modules that may be validated and verified independently.
  5. Implement a set of tools around these modules which through interaction provide the functionality of the original Diablo 1 game engine.
  6. Validate that - given a deterministic seed - the re-implementation achieve pixel perfection, by mirroring the mouse and keyboard input and comparing the graphic and audio output against the original Diablo 1 game.

Design

For an overview of the key idea behind this project, refer to the design documentation.

Installation

For installation and run instructions, refer to the respective documentation:

Progress

2018-05-12

  • Interact with the Diablo 1 game engine from Python script.

Screenshot from 2018-05-12

2018-03-30

  • Running the Djavul frontend (djavul-frontend.exe) on a Windows 7 host system (left) and the Djavul backend (djavul.exe) on the same system using a modified version of DiabloPatch (right).

Screenshot from 2018-03-30

2018-03-25

  • Running the Djavul frontend (djavul-frontend) on a Linux host system (left) and the Djavul backend (djavul.exe) on a Windows XP VirtualBox guest (right).

Screenshot from 2018-03-25

2017-12-23

  • Decode legacy Diablo 1 save files.

2017-12-22

  • Play sounds using Beep.

Screenshot from 2017-12-22

2017-12-21

  • Forward mouse and keyboard input from Djavul frontend to Diablo 1 game engine (also referred to as the Djavul backend).

Screenshot from 2017-12-21

2017-12-16

  • Render control panel.

Screenshot from 2017-12-16

2017-11-24

  • Correct rendering of Tristram.

Screenshot from 2017-11-24

2017-11-22

  • Mirror output using Pixel.

Screenshot from 2017-11-22

2017-11-13

  • Dungeon generation of Cathedral.

djavul's People

Contributors

mewmew avatar stoffelkopf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.