From RogueBasin
Revision as of 23:26, 23 October 2014 by Mallachin (talk | contribs)
Jump to navigation Jump to search
Alpha Project
Developer Sean Brown
Theme Medieval Fantasy, Gothic Punk
Influences The Elder Scrolls, Dungeons and Dragons, Poison Elves
Released October 2010 (Alpha, v0.0.71)
Updated Nov 11, 2011 (v0.2.23)
Licensing Shareware,
Open Source
P. Language C, C++, Lua
Platforms Windows
Interface ASCII
Game Length Unlimited
Official site of Middlecrest

Middlecrest is in a major re-write phase. Some of the code is being re-engineered from the ground up and other parts simply tweaked.

Middlecrest is a gothic punk themed fantasy roguelike ("roguelike" in a broad sense, since it will fuse some elements from CRPG's in a more-or-less roguelike way). Many of the fantasy elements are taken from low-fantasy, emphasizing real-world historical situations and analogues (the game world is primarily inspired by real-world medieval or Renaissance culture, and less on traditional, pulp, or pure fantasy models). Magic is present in the world, although it is rarer and magical beings and monsters operate more like their mythological counterparts, rather than like their high-fantasy (Tolkien, Dungeons and Dragons, etc.) versions. The gothic punk aspect refers to the theme and "feel" of the world and is based on the modern punk-derived goth subculture and the Neo-Romantic punkish world envisioned by Adam and the Ants in the video "Stand and Deliver". The comic book, Poison Elves, is a prime example of the theme.

Daggerfall is the main inspiration for the project. The goal with this project is to not only implement many of the game ideas seen in the Elder Scrolls series (not necessarily using all the same game mechanics of Daggerfall), but also to implement those features that didn't make it into Daggerfall on release date. Daggerfall promised more than it actually delivered (although it delivered a lot) and it is about time to let those forgotten and exciting features see the light of day! :)

Feel free to download and test the latest version!


Middlecrest makes use of SQLite, C++ Boost, and Audiere libraries.

Much of the game data is stored in SQLite and flat files (this will also include saved game data, later). The game "logic" of Middlecrest will eventually be supplied by C++ modules and Lua scripts.

Status and Road Map

Presently, the project is in a very early stage of development. Only basic functionality is implemented for a few features. Executables are released for testing and bug reporting. Until version 1.0.0, new features will be implemented, code re-factored, and bugs crop up as the code base is expanded, adjusted, and stressed.

Due to the current re-write, only world and dungeon generation (featuring only one theme) will be featured in the next release.

  • Dungeon generation (caves)
  • World generation <--- current development

The next release will be version 0.2.23b. It will be a stripped down version of 0.2.23, using an almost entirely new codebase. It will be an unannounced release and slated for December 2014 (just in time for Christmas!).


Here is a description of features that Middlecrest will eventually contain:

  • Procedural Quest Generation -- Freeform and procedural quest generator (including quests that aren't the traditional hack-n-slash style roguelike quests). Quests take into account characters that have met you at various times and may influence or impact a quest in unexpected ways.
  • Makers -- Item, spell, potion, and class makers
  • Themes -- Themed dungeon generators (examples: caves, dungeons, fortifications, ruins, etc.)
  • Magic System -- School based magic system.
  • Weather system -- Clothes will actually be an important aspect of the game to keep you warm, dry, etc.
  • Durability -- Items can break, excluding a few things, like rings, etc.
  • Emergent game world -- Events are emergent from the game and based on your actions and the actions of the NPC's. The game world changes accordingly.
  • Advanced AI -- Characters and monsters will behave based on their needs (remember the Sims?) for more realistic interaction and behavior.
  • Graded Difficulty -- Roguelike games often have a very sharp difficulty curve and it usually takes a few characters to really get the feel of the game and how to play so your character isn't simply food for the next monster. Various leveled lists based on player level and other algorithms will be used to create a reasonable difficulty curve.
  • Softer Permadeath -- Don't worry! Permadeath is still there, looming, and ever-present. It's just that there are ways (although uncommon and very difficult) to get around death.

Numbering Scheme

Project version numbers are split into x.y.z.b format.

x.y corresponds to different major versions. Different versions are substantially distinct as they typically include feature updates and re-factored or overhauled code.

z corresponds to minor version number, and denotes how far along the road map the major version is. Think of it as a percentage. v0.1.87 indicates, for example, version 0.1 is 87% complete.

b is an optional number, which corresponds directly to bug fixes. There is no difference, for example, between v0.1.87 and v0.1.87.1 other than v0.1.87.1 is less buggy. Likewise, v0.1.87.2 would be less buggy than v0.1.87.1.

Version Log

  • v0.2.23b -- Planned for release: dungeon generation, world generation, character generation

I'm removed the previous version history since it will have no relevance to the current codebase.

External Links

Middlecrest development blog

Latest code release for Middlecrest