The purpose of this project has been to gain experience with developing large-scale software projects. We decided to design and implement a game similar to the popular title Diablo from 1997 and its successor Diablo 2 from 2000. The focus has been on artificial intelligence of groups, randomized map generation, loot generation, and character leveling, as well as the general inner workings of a large game. The outcome is a fully functional and complex game implemented in Java, using jMonkeyEngine for the visual representation. We found that as the size of the code base grows, it becomes increasingly important to have a well structured design and implementation – especially when combining as many algorithms and systems into one program as we did with our game.
The game is fully playable, although with a bunch of balance issues, and can be downloaded here.
(This game was produced as part of a university course.)