|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)|
|P. Language||C, C++, Lua|
|Official site of Middlecrest|
Middlecrest is a gothic punk fantasy roguelike ("roguelike" in a broad sense, since I'm not limiting the game strictly to the mechanics of the roguelike genre). Examples of the aesthetic are the comic book Poison Elves and the Neo-Romantic punkish world envisioned in Adam and the Ants video "Stand and Deliver".
Daggerfall is the main game inspiration for this project. The goal of the project is to implement many of the same ideas seen in the earlier games of the Elder Scrolls franchise but to also include Daggerfall features that never saw the light of day (shelved due to time constraints and/or complexity), particularly ones investigated at the Daggerfall Museum.
Feel free to download and test the latest version!
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 makes use of SQLite, C++ Boost, and Audiere libraries.
Much of the game data is stored in SQLite and flat files. The game "logic" of Middlecrest will be supplied by native C++ code and some 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. It usually takes a few characters to get the feel of the game and a few lucky generations of the RNG to get your character rolling. Various leveled lists based on player level and other algorithms will be used to create a difficulty curve that adjusts to your character (easier at the beginning, harder as your character becomes more skilled, experienced, stronger, etc.). Some areas such as random areas outside of quests will have a high difficulty level, but they will also be adjusted for the character somewhat.
- 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.
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.
- Pre v0.2.23b -- Removed, since the current codebase has little relation to the previous versions and many of the features have been stripped out (to be added later) for v0.2.23b
- v0.2.23b -- Planned for release: dungeon generation, world generation, character generation