Code Monkey home page Code Monkey logo

umoria's Introduction

Umoria

The Dungeons of Moria is a single player dungeon simulation originally written by Robert Alan Koeneke, with v1.0 released in 1983. The game was originally written in VMS Pascal before being ported to the C language and released as Umoria in 1988. Moria has had many variants over the years, with Angband being the most well known, and was also an inspiration for one the most commercially successful action roguelike games, Diablo!

Supported Platforms:

  • Windows
  • macOS
  • Linux* (Ubuntu, Debian, Fedora)

* other Linux distros may work, but have not yet been tested.

Umoria Restoration Release: v5.7

The main focus of the v5.7 release is to provide support for the three main systems: Windows, macOS, and Linux. Support for all other outdated computer systems such as, MS DOS, "Classic" Mac OS (pre OS X), Amiga, and Atari ST has been removed.

Note: there are no gameplay changes in this release.

A great deal of code restoration is also currently being undertaken in the hope to aid future development of the game. Examples of tasks completed so far includes, reformatting the source code with the help of clang-tidy and clang-format, modernizing the code to use standard C types, and fixing all warnings while compiling against recent versions of GCC.

Full details of all changes can be found in the CHANGELOG, and by browsing the commit history.

Due to its lack of Windows and Mac support, Moria was unplayable for many people. Hopefully these changes will give more people a chance to play this classic roguelike game.

Notes on Compiling Umoria

At present Umoria has been tested against GCC 6.x, 7.x, and 8.1, with ncurses 6.x, although earlier versions should also work fine. You will require these along with CMake and the C++ build tools for your system.

macOS and Linux

At the command prompt type the following:

  $ cmake .
  $ make
  $ make install

A umoria directory will be created containing the game binary and data files, which you can then move to your home directory, or other location.

Windows

MinGW is used to provide GCC and Binutils for compiling on the Windows platform. The easiest solution to get set up is to use the MSYS2 Installer. Once installed you will use pacman to install GCC, ncurses, and the make/cmake build tools.

At present you will need to provide an environment variable for the MinGW system you are compiling on. This will be either mingw64 or mingw32.

At the command prompt type the following, being sure to add the correct label to MINGW=:

  $ MINGW=mingw64 cmake .
  $ make
  $ make install

As with the macOS/Linux builds, the files will be installed into a umoria directory, which you can then move to your games directory.

Historical Documents

Most of the original documents included in the Umoria 5.6 sources have been moved to the historical directory. You will even find the old CHANGELOG which tracks all the code changes made between versions 4.81 and 5.5.2 (1987-2008).

If you'd like to learn more on the development history of Umoria, these can make for interesting reading.

Code of Conduct and Contributions

See here for details on our Code of Conduct.

For details on how to contribute to the Umoria project, please read our contributing guide.

License Information

Umoria is released under the GNU General Public License v2.0.

In 2007 Ben Asselstine and Ben Shadwick started the free-moria project to re-license UMoria 5.5.2 under GPL v2 by obtaining permission from all the contributing authors. A year later, they finally succeeded in their goal and in late 2008 the Moria maintainer, David Grabiner, released Umoria 5.6 under a GPL v2 license.

umoria's People

Contributors

lyricjin avatar mrcook avatar sdicke avatar steils avatar

Watchers

 avatar  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.