Wishlist

'''Important: This is not a list of planned features. Rather, it is the result of continuous brainstorming among developers, users, and other interested people. Some of these ideas might be implemented. Many of them might be suited for mods, i.e. while it wouldn't be wise to put them directly into the engine or even make them the default behaviour, we may be able to provide the necessary means for others to mod these changes in if they want to. There will also be suggestions in this list which will be impossible to do, and others might not even be desired by more than a handful of people (and strongly opposed by others). The purpose of this list is to collect all these requests and ideas in one place, and perhaps link individual pages to them which discuss the details, so that we won't have to start the discussion over every time an idea is mentioned again.'''

Various ideas for improving Morrowind's mechanics
Should you wish to post some ideas relating to gameplay mechanics, feel free to append your idea to the following pages, or create your own.

Mod management

 * generators for lists of in-game resources
 * store snapshot of game data with all mods loaded (and no game begun yet), afterwards on program start only load this snapshot instead of rebuilding the whole world (unless mod setup has changed, which should force rebuilding)

Handling of game data

 * Automatically recognize (and then ignore) dirty GMSTs (VN says why not include all GMSTs in basic engine, then upgrade the basic engine if new ones are introduced rather than making a new one)
 * Allow more than one script per object
 * Allow separate bodies of water (VN asks if a "static" can be scripted to make everything below it act as water, which would make it possible to have streams above sea level)
 * Allow several exterior worldspaces
 * Possibility to use any body model for each character, and to allow each character to have it's own size settings, instead of all characters of the same race being exactly the same size

VN's note on this: it may be possible to construct bodies that change based on settings set at chargen, the way Oblivion did with faces (and I think bodies too). If not, creating interchangeable parts should be a cinch, especially if they use the same meshes with a skin tone applied at CharGen.


 * New clothing slots - maybe for visible clothing that doesn't replace a body part (VN: that's what I've said all along I wanted to do. Not only with basic clothing but with one or more layers of armor, containers such as quivers, and new clothing items like belts, scabbards, and so on. On the other hand, it might require careful tinkering or some awesome physics that prevent items from clipping into layers below them)
 * it would be interesting to have the text conversations have a synthesized voice, perhaps by using festival, you should be able to write a plugin so it sounds more correct (if implemented this should defiantly be toggle-able)
 * Allow character data to be loaded in game to accomplish interesting changes in game - IE encountering one's other characters by loading them from either user data folder or a special folder for such a function(although this would require more flexibility in the way the database and leveled items work when placing them onto a scenenode and entity.)

Scripting

 * Inclusion of MWSE features
 * Inclusion of MWE features
 * Built-in script debugger
 * String variables, and ability to get, store and use IDs (as in "var1->StartCombat var2")
 * Ability to use variables with SetLevel and many other functions that don't accept vars now (including those that would become possible with string vars)
 * Modify GMSTs through scripting
 * Manipulate meshes, animations, and textures through scripting
 * Script functions for keyboard input
 * Arrays, ArrayLists, "Short DontWipeData", stop streammusic, GetMagickaGetRatio and GetFatigueGetRatio, Player get attacked easy detection, interop functions
 * Improve the scripting of in game dialogue boxes and menus.
 * Create a way for the game to remember or reference a specific item, independent of the object's ID. There is currently no way for the game to distinguish between two copies of Fargoth or two copies of Goldbrand, for example.
 * Support for Python/Lua/whatever as alternative scripting language via something like #Python statement at beginning of script (Some work was done  )
 * More advanced events handling: instead of script checking for event every frame, allow for functions to be attached as event handlers. Also, allow more than one event handler for an event, attaching and deleting event handlers programmatically (i.e., from a script), list event handlers for an object, etc.
 * Implementation (or aliasing) of console commands added in later Bethesda games - modpos, createfullactorcopy, etc.

User interface

 * Rotatable PC model in the inventory menu
 * Ability to select and move more than one inventory object at a time, without fuss
 * HUD support for companion health
 * UI support for added skills (e.g. Morrowind Crafting skills)
 * group screen which recognizes all companions
 * more spells available via the shortcut keys
 * Also, any key not previously in use usable as shortcut. Also modifier keys - alt, shift etc. Also shortcut key types: cycler keys, auto-cast keys, gear set keys...
 * Time passing while in some menus
 * Clothing/weapon preview on character in trading screen, so you can see what an item looks like on your character before buying it.
 * Add customization options to the inventory menu such as custom inventory tabs besides the game defaults of 'All', 'Weapon', 'Apparel', 'Magic', 'Misc'. This would allow the player to create custom inventory tabs on the fly. They would be created by pushing a button called "New Tab" which would prompt for the tab's name. The player would have the option to put objects with similar object IDs (or some other means of distinction) into the new tabs. Some examples would be a tab called 'Favorite' which would contain the player's favorite armor set, weapons, and miscellaneous items, or a tab called 'Quests' containing any item the player felt important to the current quests they're doing. The items in custom inventory tabs would not be exclusive to those custom tabs since they would also belong to the default tabs such as 'All' or 'Weapon' as well as any other custom tab the player put them in.
 * An option to enable the Xbox User Interface. This would allow you to use a controller and control the game just like how it is on the Xbox version; including the dialogue topic selection, inventory and other menus, no more dragging to your character, etc.

Debugging / Diagnostics

 * log which objects overwrite each other when building the game world, to better track mod incompatibilities
 * supply more information for debugging in-game

General Graphics

 * OpenCL compatibility
 * Post-processing shaders support
 * Ambient occlusion

Characters

 * alternating body parts and/or ways to change size of muscle masses, fatty body parts, height, and skeletal weight
 * skin tones applied directly during CharGen, not in animation studio. Skin tones specified by race (perhaps up to sixteen per race) but body parts use a blank mesh complete with animation
 * allow special animations for various races
 * add to the face a "chin" as a hair/fiber producer. Allows men to change their beards or go shaved. Women's version is extra hair adjustments.
 * include numerous hair tones or textures with each hair style
 * more body parts, including clothing items not seen in the nude base mesh


 * create all bodies with a highly specialized set of lattices that allow masses (meshes) to be altered during CharGen.
 * Standard reference system for assembling mesh parts, so that the same armor/clothing meshes can automatically adapt to a variety of body mods without looking unnatural.
 * Make it easy to place numerous different types of NPC models in the game without interference; replacers can then swap out the default models for the new and improved models on a per-NPC basis.
 * If NPC faces/bodies are customizable, also allow unnatural deformations that preserve much of the original identity (decomposition/undeath, corprus disease, sixth house mutation, vampirism, lycanthrope). Less custom artwork, more creepiness.

View Distance

 * Object LOD
 * Cell portalization (ability to view an interior cell while in an exterior and vice versa)
 * Distant weather (e.g. ash storms around the Red Mountain)

Textures

 * Cube maps

Lighting

 * Realistic seamless lighting
 * Shadows for statics and items
 * Sun lighting for cells with "behave like exterior" flag toggled on
 * Allow to change the emittance of a light source
 * Attach all existing lights to a mesh or particle emitter

Animations

 * Support for new animation groups
 * Smoothed animation transitions
 * Alternative melee/ranged attack animations, ex: X swing.

Miscellaneous Graphics

 * Proper rain occlusion
 * Make rings/amulets/belts visible on the player

Sound

 * Allow scripted sound emitters not to automatically turn music up to full volume and blast it in your ear
 * Local music/sound that work together (in Expanded Balmora, pubs used a play-once song including people talking; make these two separate functions and the people loop through various songs)
 * Ability to define music type per cell

XVanceX's Notes - Implement more music slots than Oblivion which were Town, Battle, Dungeon, and Travel if I'm right. What I had in mind was: Dungeon, Battle, Town, Travel, Crypt, Bed, Sunset, Night, and maybe a special "anytime" slot for music that fits all of those categories.

There should be also a feature where songs only play under a certain condition and also a feature for only certain areas.

Player customization- The player should be able to customize what, when, where, and why music is played mostly in game. Instead of the basic put in music into X folder and then it just plays randomly, give the players options of the chance of songs played (%), an option for a pop-up on the screen that shows the name of the song whenever a new song plays, and also options for all of the above that I have mentioned in this post.

Player Attributes

 * Support for new skill records

Quests / Journal

 * Option to only view entries not associated with any specific quest
 * Allow player to write own journal entries- option to see only these
 * Option to see active quests only

Combat

 * Allow casting while a weapon is equipped
 * Start combat music only after the first real attack (to preserve surprise)
 * Dual wielding
 * Two-handed weapon parrying
 * Optional auto-targeting
 * Active blocking
 * Make piercing have a much higher chance for critical hit, armor should class should only block it decently, and blocking should severely reduce the damage it does. Make slashing do high critical hit damage, and it should be blocked by armor and blocking normally. Make bashing have low critical hit damage and chance but be able to get through blocking and armor fairly effectively.
 * Support for attack type resistances and weaknesses
 * lower the chance of an enemy blocking when you attack from the flanks or back
 * Make backstabs ignore enemy skills
 * Make attacks succeed on collision of sword with opponent instead of failed attacks where the sword runs right through the enemy
 * A vector-based attack aiming system. This means that whatever is actually in the path of a melee weapon when it is swung or thrust will be hit and any arrows fired/targeted spells cast will fly towards whatever the bow is actually aimed at/where the caster's hand or fingers are pointed. Such an addition would make combat more realistic and as a result far more immersive. Ideally, this would have implications for skills as well, with a character with a skill level of 70 in long blade having a far more controlled and accurate swing of his weapon than a character with 10 in the same skill, who would swing widly and with little control or precision. Crosshairs could be done away with using this system and replaced by more natural methods of attack aiming, such the sights of a bow or the fingers of a spell-casting hand. This idea could tie in well with most of what is suggested in VN's notes below, e.g. the balance value of a weapon affects the user's ability to control its path when stabbing or swinging it.
 * Kicking

VN's notes:


 * two types of damage for all weapons: slash and thrust
 * pole arms add second side (for odd uses, like spear as staff)
 * both types of damage specific bladed or blunt and affect damage accordingly
 * active blocking supplemented with wild swinging (as per battleaxes, flails, and so on that can't block or can't block well) animated as a blocking style
 * weapons fitted with up to three styles based on their use
 * stat bonuses to weapons based on speed as well as strength, relative to the weapon's weight and balance. Weight, balance, and user stats directly determine weapon speed, as well as modifying damage
 * blocks remove all damage, not reduce it, unless the damage overflows when blocking shield or blade shatters
 * weapons include a Condition attribute which affects ONLY their strength. Strength is tested with every clash, and when the force of a blow exceeds the weapon's strength, it shatters immediately.
 * bladed weapons come with a randomly-assigned Edge property which modifies their damage. Edge can be reduced by use and restored or enhanced by sharpening. Smiths and other merchants may be outfitted with an aura that increases edge of weapons generated in their shops and inventories.
 * Critical hits based on placed target zones on the body mesh. These zones are specific to the area and have different effects from one another. The throat, for instance, takes damage normally, but if its hits drop to zero, the player dies, and if its health drops to zero, the player is knocked out

Stealth

 * make encumbrance influence sneak success
 * light-based sneaking
 * make the reputation and crime reporting system more granular
 * base sneaking entirely on sound and allow sound and sight detection. Hiding (staying in the shadows, behind bushes, behind backs) as role-play
 * type of armor should affect sneaking for both good and bad
 * force NPCs reporting crimes to actually speak with a guard to report it, then require a certain passage of time before the crime is known everywhere. Also, allow crime rep to die down after a while as people forget

Magic

 * scripted spells
 * Support for additional spell effects (including those without visible effects and without an icon)
 * allow player to add negative effects to spells and enchantments in order to lower their cost
 * allow alternate methods of magical attack that could circumvent reflect/spell absorbtion/magicka resist
 * introduce casting styles which work like combat stances

VN's note: just make pressing the C button (or whatever button it ends up being) START the cast, while letting go ends it. Then give the computer a power formula making longer-generated spells stronger. Fast spells are cast by a flick, stare, or touch (maybe that's where style comes in), stronger spells by a thrust of the arm, and the strongest spells by a big effect heavily involving the entire body.


 * require summonings to tax PC resources (based on skill, relative level, and relative will/intellect) to control
 * allow permanent summonings with Banish spells to get rid of them AND temporary summonings that cost less and take less focus (shorter cast time)
 * allow long-term spells that are activated on an action (like jump) and then cost a little over half as much per use as an instant spell of the same power. This is balanced by taking about two-thirds of the cost and spreading it out over the duration, which could be counted in minutes. E.g., a fireball that hits anyone who hits you first.
 * allow "targeted" spells that home on your selected target and "missile" spells that fly straight. Targeted spells cost more but never miss.
 * base spell experience off of both successful cast and effect strength. For destruction, this means you get more XP for a 150-damage fireball than from a 15-damage fireball.
 * use a more relative system for spell strength. Rather than specifics, the spell has a certain strength, which is modified by a combination of all the stats associated with it, your familiarity with that precise spell, and the time spent in casting it. Thus, a 5-strength fireball might do 65 points of damage.
 * allow for custom spell icons

Alchemy

 * make ingredients affect the potency, longevity, and toxicity of any potion you brew
 * a simple Strength characteristic on each effect should do the trick nicely, says VN
 * sort all effects by power so PC sees strong effects before weak effects
 * base the proficiency required to see an effect on its power (high power easier to see)
 * allow the player to choose between different effects of an ingredient by the method of treatment (grinding, heating etc.)
 * permit some means of altering duration and power, relative to each other
 * as a spectrum, perhaps? Long duration == low power?
 * or by specific ingredients produced by processing other ingredients?
 * allow existing potions to be copied
 * require a given skill and equipment combo to produce them
 * failure to copy results in a unique potion
 * stacking effects from number of items with given effects
 * first effects strong, lesser effects learned later
 * segregate ingredient weight from potion weight (possibly partly by treatment)
 * allow potions to be used not only by the player but as weapons (mostly thrown) and on items (producing a temporary enchantment). This way you could produce poison for a set of arrows or a fire potion to throw at your enemies ;-)
 * create recipes to produce specific standard potions
 * recipes must be purchased as scrolls and must be present to be used
 * Actor skill affects chances of following the potion precisely (cooking time, exact measures, etc.)
 * allow failed potions to be brewed as potions with odd effects
 * allow multiple-dose potions
 * use bottles for potions
 * bottles determine the mesh of a potion
 * bottles are recyclable or sellable
 * if bottles reused for more than one potion, residue left in bottle from previous potion- could interfere with new effects or just add onto them
 * bottle used determines maximum number of doses for a potion
 * bottles can be broken
 * create "batches" of brew and then bottle or use it (adds a use for cauldrons, pots, and ladles)
 * require potion making to take time, possibly skipping it naturally while PC mashes, steams, stews, or mixes ingredients
 * in vanilla MW, a thousand potions can be made in a single second. Not good for balance issues.
 * Introduce support for "harvested" models of organic containers

Enchanting
VN's notes
 * make more types of soulgems possible
 * allow to capture NPC souls (This requires a black soul gem and is considered necromancy, a outlawed activity in Morrowind, carrying black soul gems should penalize disposition like carrying other restricted items, moonsugar, etc.)
 * allow multiple type enchantments on items (e.g. a powerful one-use enchantment and a less powerful constant "background" enchantment)
 * make every soul gem able to incur have a constant effect, have soul value act as an effect multiplier
 * allow to increase the enchantment capacity of an object by improving the object quality through smithing function.
 * create a new cast on block function to enchant shields and parrying weapons.
 * create a soul gem class higher than grand and more rare that can create ability enchantments directly on the player, this could be tied into necromancy and black soul gems could be required for it.
 * allow expansion of the summoning system to summon additional creatures and NPC's. A summon allowed field could be added to the creature/npc record to populate them as a summonable entity.


 * allow enchantment to use multiple souls
 * force enchantment to modify item value
 * base modification on spell strength (absolute cast cost) and power available (soul used)
 * make player/NPC skill modify enchantment capacity, maybe even heavily
 * allow unique "sockets" on items to contain gems with enchantments separate from the item itself and/or contribute to overall enchantment capacity. Sockets would have to be done one mesh at a time in the CS and would be included in every instance of a weapon containing them. Placing gems in sockets might open up a unique menu allowing you to view your character, holding that weapon, with the sockets marked, and you have to place it specifically. That'd be good for visuals.
 * Also allow the insertion of normal precious stones without enchantments into the sockets, increasing the monetary value of the item.
 * force constant effect enchantments to expend magicka as other enchantments but constantly
 * allow for special effects or properties, taking more space on the item or soul, that make it regenerate quicker (true constant effect, as in MW, means it draws more than it uses)
 * break constant effect into Cast when Held and Cast when Worn. Cast when Held requires only being in an inventory to take effect; Cast when Worn requires being equipped.
 * change Cast on Strike to Cast on Action. Cast on Action is considered permanently "effective" but expends magicka only when the specified action is performed. This would include striking, being hit, jumping, running, etc.
 * spells specific to enchanting that would remove enchantments/charge from enemy items, restore your/allies charges, ectra

AI

 * Better pathfinding, prevent NPCs from getting lost, or stuck in the scenery
 * Let NPCs make way if another NPC (or the player) tries to get past them
 * Process AI of NPCs in unloaded cells
 * fights between NPCs / realistic creature behavior (predators chase prey)
 * guards protecting the player
 * random npcs running away from fights
 * enemies chasing you into and out of cells
 * Support AI schedules
 * have random adventurers walking around in suitable places
 * make NPCs stay a bit more alert after they caught the player sneaking
 * make NPCs more aware of their property and watch if the PC tries to steal anything.
 * emergent NPC behavior (conversations)
 * goal-oriented NPC behavior
 * personality traits for NPCs
 * Intelligent aiming of projectiles, i.e. not just leading current vector (pathfinding information to see if opponents can't continue current vector?). Use "splash damage" with area effect spells by aiming for the feet if there's LOS.
 * store data for NPC-NPC interactions by relating in every NPC every other NPC's reaction to him
 * break up Disposition rate and add Familiarity and Relationship (type), then show player only the results of this three-way combo through (animated?) faces on a corner of the dialog screen
 * allow jokes, bribes (selecting currency and amount), admiration, taunting, intimidation, and flirting as types of persuasion.

Physics

 * Physics (for objects)
 * Ragdoll physics
 * Better water (ripples, waves)
 * Better support for physiqued meshes

Miscellaneous Gameplay Suggestions

 * extendable chargen questions
 * allow for morphing into different types of werecreatures. In the book "On Lycanthropy" from the TES2: Daggerfall http://www.uesp.net/wiki/Daggerfall:On_Lycanthropy there are five different types apart from werewolves. Werecrocodiles from Black Marsh & southern Morrowind; werebears from Skyrim; werelions from the Imperial Province & Elsweyr; werevultures from Valenwood; and wereboars from High Rock & Hammerfell.


 * allow quadruped races
 * change the stacking of bonuses so that it becomes much harder to reach 100% or very high bonuses; e.g. make bonuses multiplicative instead of additive

VN's note: this could be handled easily by skills that deteriorate over time, the higher the faster, which could make leveling at 30 easy and leveling at 80 or better almost impossible. In addition, this would mean thieves with magical training would require upkeep in ALL their skills.

More VN notes:


 * produce scripts requiring food to be eaten. Built specifically for included foods, this would add benefits from eating various things and include negative effects from not eating anything.
 * script drinking. Water gives a boost to second-by-second magicka regeneration, liquor and potions (based on weight) do the same. Water can be refined through alchemy, making it more effective. Thirst lowers attributes and stunts magicka regeneration and, in about three to four days, kills you.
 * script sleeping. Regular sleep boosts your attributes (a little) and your health and fatigue regeneration. Exhaustion results in lower health and fatigue regeneration, reduced attributes, and gradually-increasing blindness (or blurriness, if the engine can simulate that).

Note that these are all intended to be built around the player's putting a minimal effort into eating, sleeping, and drinking, and sending message boxes reminding them to do so. Unlike NoM, which did a decent job at all three of these, not one is connected to a specific time, only to "last" time. I've already produced a fair script at reading PCSleep and hours passed doing so, though I haven't finished its effects.


 * separate scripts for Vampires, with only two needs: Blood (hunger) and Meditation (rest).
 * Possibility to "store" blood in a bottle
 * include coffins for vampires with slightly-portable versions for on the move

OpenMW-CS

 * Ability to browse, extract and pack Bethesda Software Archives BSA format containers.
 * Open source open specification replacement for BSA.
 * Automated ability clean out The "Evil" GMST settings from ESP/ESM files.
 * Ability to selectively merge ESP/ESM files without merging: Morrowind, Tribunal, Bloodmoon.
 * Ability to remove/ignore dependency information from an ESP/ESM.
 * Ability to load just a ESM/ESP without loading Morrowind ES.
 * Create an open source open specification replacement for BSA.
 * Incorporate a texture verification mechanism that ensures textures exist for meshes. This is a problem with Linux due to case sensitivity in the file structure "The folder "a" is not the folder "A" on Linux file systems so many mods have to be ported.
 * nifSkope 2.0 is not being developed for Linux, it would be good to build in a NIF modification, conversion and verification function into openMW-CS to edit path to texture info, remove unsupported graphical features "Gloss" and convert nif to OSG.
 * Side by side comparison of base and modified records with open base record button on modified records.
 * Automated removal of all orphaned path grid nodes and any path grid node that is having a collision with objects placed over them.
 * Ability to switch clothing, armor etc in preview from folded to worn state.

Other lists
We should of course include most if not all of the Morrowind Code Patch fixes. See: Bugs in Morrowind

Also check out this thread about things we don't like about the Morrowind engine.

Note that a lot of useful ideas could be gleaned from what modders have already sought to implement through game plugins and the like - for instance, take the Oblivion mods Detailed Terrain shaders, [http://www.nexusmods.com/oblivion/mods/42222/? Dynamic Foot Position], and Soundscaper/[http://www.nexusmods.com/oblivion/mods/32128/? Side's EAX Control].