|Theme||Medieval Fantasy, Gothic Punk|
|Influences||The Elder Scrolls, Dungeons and Dragons, Poison Elves|
|Released||October 2010 (Alpha, v0.0.71)|
|Updated||Mar 5, 2011 (v0.0.83)|
|P. Language||C, C++, Lua|
|Official site of Middlecrest|
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 (for example, much of the society of Middlecrest is based on real-world medieval or Renaissance models, although shuffled around somewhat, instead of 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 and C++ Boost.
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 Lua scripts and some custom C++ modules.
Status and Road Map
Presently, the project is in a very early stage of development. Only basic functionality is implemented for only a minority of features and the executable released are primarily for testing and evaluation. 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.
The things planned in the relatively near future are (near future is a relative term since it depends on the amount of time available for development, which isn't much):
- Completed magic system that incorporates both arcane and priestly magic. Right now only a portion of arcane magic is implemented.
- Look command
Implementing the experience system Basic, core classesand then expanding it to other classes later
- Non-trivial pathfinding and tracking modes (sight, scent) <---- current development
Magical items with elemental effects
- Time and scheduling system
FoV and LoS Town and wilderness generation (simple)
- Shops and
shopkeepers<--- current development
Here is a description of features that Middlecrest will eventually contain:
- Quests -- Freeform quest generator (including quests that aren't the traditional hack-n-slash style roguelike quests)
- 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 just 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.
Dungeon (cave theme)
- v0.0.71 -- Demo: dungeon generation, monster, and item generation, inventory, movement, picking up items, dropping items, equipping items, searching, basic combat (magical and mundane), minimal monster AI, basic database capabilities.
- v0.0.78 Minigame -- Updated C++ Boost library to v1.44 and SQLite to v3.7.3, corrected database bugs, added elemental magic effects on weapons, implemented damage resistances vs. spells, updated attack calculations, all armor is equip-able, release and readme information viewable in-game using the 'v' and '?' commands respectively, added scrolls although they are not in item generation routines yet (they need to be designed and more fleshed out still), fixed typos, and a bunch of minor code improvements. Source code included.
- v0.0.79 Minigame + Levels -- Added town generation, added wilderness generation, travel between levels, doors, minor code improvements and bug fixes.
- v0.0.80 Minigame + Class/Race -- Updated C++ Boost library to v1.45, added races and classes, significant code overhaul and code improvements.
- v0.0.81 Minigame + Shopkeepers -- Added shopkeeper character (although no buying and selling yet), updated SQLite library to v3.7.4, significant reduction in executable footprint, bug fixes and improved protection against future bugs, code improvements.
- v0.0.82 Minigame + FoV, Triggers, and Bug Fixes -- Added FoV (for testing), triggers for tiles, intro screen to communicate bugs and other info to player, color support, bug fixes and bug prevention, updated UI so player messages scroll in their respective menus, updated to SQLite v3.7.5, and refined creature generation code for dungeons/towns.
v0.0.83 Minigame (current) -- Added auto-mapping (for testing), support for Lua scripts, building data structures, bug fixes for character movement, updated C++ Boost library to v1.46, and many internal code improvements.