User Stories

User stories are short, simple description of a feature told from the perspective of the person who desires the new capability, usually a user or customer of the system. They typically follow a simple template:

As a <type of user>, I want <some goal> so that <some reason>.

User stories are often written on index cards or sticky notes, stored in a shoe box, and arranged on walls or tables to facilitate planning and discussion. As such, they strongly shift the focus from writing about features to discussing them. In fact, these discussions are more important than whatever text is written. In the case of Camelot Unchained, they're written as graphic cards on their official website's user story section.

## Overview

With the move from Pre-Alpha to Alpha it was decided that the previously P.A.T. Checklists wouldn't serve going forward. So are going to utilize user stories with a twist instead to provide the backers of the game a more concise way to follow the progress of the game once again, all called epics. Additional technical information will be included with each user story, which is called the backstory.

The user stories are shown and referred to as cards on the main website. The selection of them referred as the deck. The card shows a picture for the user story that the card is for and it's progress on the front. Clicking on the card reveals the checklist on the rear of the card; with completed criteria check marked.

User stories where released as part of an update on May 1, 2015.

## Alpha User Story Cards

Here is a summary of all the epics/user stories during the Alpha.

**As a Backer, I'd like to be able to damage, and ultimately destroy structures in the world. (In Progress)**
* Building damage design.
* Engineering: Determine where we will damage structures.
* Determine how to turn an "island" of blocks into a separate structure. An "island" is a selection of blocks with not enough support to remian as part of the main structure.
* Turn the "island" of blocks into a new structure that uses physics. ie: Chucks of a building fall off and collude with the main structure and each other.
* Visually represent building damage.

**As a Backer, I'd like structures to be able to collapse based off of block placement, building material stats, and damage taken. (In Progress)**
* Building stability design.
* Engineering: Determine stability of structure while building it.
* Engineering: Determine stability of a structure as it is being damage in combat and send those updates, cheaply, to players.
* Visually represent what is unstable in a structure when building.

**As a Backer, I'd like to be able to use modifier components when building abilities. (Completed)**
* Integrate modifier component with pre-existing ability components.
* Unlock modifier components in spellbook UI.

**As a melee weapon player, I want the ability to create ability combos. (In Progress)**

* Add multiple ability trees to the pre-existing ability system.

**As a developer we continually need to update our software. (In Progress)**
* Updated the MongoDB drivers in the various solutions.
* Migrate the Perforce repository to Git.
* Update to Visual Studio 2015 CTP 6.
* Update CEF.
* Post CEF update- testing and maintenance.

**As a Backer, I'd like to have ability associated with stances. (In Progress)**
* Support previously created test animations.
* Add animiation support for stances.
* Associate stance with character.
* Stance netcode.
* Create stance ability components.
* Behavior editor to define animations associated with a stance.
* Stance editor to define applied active effects.
* Behavior editor to define animations assoicated with a stance.
* UI 2.0 swaps ability sets based on stances.

**As both a Backer and developer I'd like to have more dev commands to facilitate testing, and general interactions with the player community. (Completed)**
* Dev command infrastructure to support new Administrator class on the server.
* Fly command now properly communicates position to the server.
* Ability to make the admin invincible.
* Ability to kill oneself. Available to all players.
* Ability to teleport to a location in the world.
* Ability to set one's stat to a value or percentage of the pre-existing value.
* Ability to set one's movement speed value.

**As both a Backer and developer I'd like to have more dev commands to facilitate testing, and general interactions with the player community. -Moar (Completed)**
* /adminhelp lists admin commands.
* Ability to teleport a player to the admin.
* Ability to teleport admin to a player
* Ability to summon all players to you.
* God Mode!
* Admins visually discernable with new icon over head.
* Admin state now toggleable in game.

**As a Backer, I'd like Camelot Unchained to have ability based sound effects. (In Progress)**
* First pass: Melee impact sounds.
* First pass: Hit impact sounds for melee secondary components.
* First pass: Battlecry variants for 3 races.
* First pass: Modular stone/earth based sfx.
* First pass: Modular fire based sfx.
* First pass: Modular water based sfx.
* First pass: Modular healing/stat change based sfx.
* First pass: Modular stat/life/etc drain based sfx.
* First pass: Modular swiftness/slow sfx components.

**As a Backer, I'd like Camelot Unchained to have sound through start up, character creation and selection process. (In Progress)**
* First pass: Server select background music.
* First pass: Loading screen background music.
* First pass: Character select input sfx and background music.
* First pass: Character creation input sfx and background music.

**As a Backer, I'd like to be able to be able to play an Archer. (In Progress)**
* Stance related tasks complete from Stances epic.
* First pass: Archery components UI art.
* First pass: I can fire a projectile that uses physics.
* First pass: I can build a basic ability in the ability editor to fire an arrow.
* First pass: Archery stance is activated by the player.
* First pass: A bow is an item the player can equip, and use, in the game.
* First pass: Implement the three modes of archery: Idle, nocked, drawn.
* First pass: Animations for archery.

**As a Backer, I'd like to see general improvements to C.U.B.E.'s interface and functionality. (In Progress)**
* Facebook integration to share screenshots.
* Twitter integration to share screenshots.
* Blocks now have handles to place or delete multiple blocks at one time. -Foundation of the blueprint system.
* Stop saving block icons to disk.

**As a Backer, I'd like to play in a proceduraly created environment. (Completed)**
* Gut & clean the existing zone editor and bring it back to life.
* Add ability to move "stuff" around by dragging it.
* Add new subdivision terrain code into a proper editor.
* Terrain saved in DB, through builder, and sent to client as part of binary zone data.
* Client renders terrain.
* Client and server use the terrain for collision.

**As a Backer, I'd like to play in a procedurally-created environment. - Second Pass. (In Progress)**
* First pass: Epic terrain LOD'ing.
* Terrain Types (TT): subvision points can assigned one or more types.
* TT: Shape distortions.
* TT: Subdivision points can be assigned one or more types.
* TT: Texture overrides.
* TT: Auto placement tree, rocks, grass.
* TT: Rules for subdividing into other types.
* TT: Define formant in DB, save and load in editor.
* TT: Define binary formant, provide builders.
* TT: Apply type effects during subdivision pass.

**As a Backer, I'd like to see the sun, moons, and stars in the sky with sky color changes based on time of day and position of those celestial bodies. (In Progress)**
* Render a tessalated icosahedron with uniform face distribution. (A skybowl :P)
* First pass: Sun and moons.
* Color of the sky is derived from the light emmitted from the celestial bodies.
* Stars in the sky!
* Render the sky in a different scene.
* R&D and implement a very pretty cloud shader.
* Create the editor for all sky parameters.

**As a Backer, I'd like to see the sun, moons, and stars in the sky with sky color changes based on time of day and position of those celestial bodies - Second Pass (In Progress)**
* Stars rotate with the sun.
* Stars get more intense towards the zenith.
* More sky dome improvements.
* Improve sun/moon materials.
* Add glow and lens flare effects to the sun.
* Add the secomd moon.
* Moon show phases.
* Further optimization to the dome.
* Differentiate sunrise from sunset.
* Improve color blending in the sky done.
* Match fog color to sky color.
* Stars twinkle more at horizon.

**As a developer, I'd like to have an automated system for running a CU test environment on my own PC. (In Progress)**
* Manage channels.
* Copy/Migrate Channel data between channels.
* Run a local Build Server.
* Run a local Game Server.
* Run a local User Proxy.
* CUEMAN on CU Patcher for Devs with CI (Continuous Integration) builds.
* Manage large binary assets and libraries not store within Git.
* Build Server cleans up unused data from GridFS.
* Bug reporting in CSE's .NET Utilities library allows .NET projects to report bugs to Jira.

**As a Backer, I'd like to see visual improvements to the current Alpha map terrain. (In Progress)**
* Break map into multiple parts to improve performance.
* Create overlay geometry to hide hard mat transitions.
* Revisit terrain material settings to reduce visual repetition.
* Re-export all terrain geo to update UV rotiation of ov geo.
* Improve generic rock texture used in terrain.
* Re-build center of map to facilitate testing of Nvidia's WaveWorks.

**As a Backer, I'd like to see the world begin to be propped out with generic fantasy items. - Set #1. (In Progress)**
* Create two new variations of the acacia tree.
* Create documentation for assets.
* Stick bundle: lrg, med, sml.
* Wood plank groups: lrg, med, sml.
* Barrels, generic, x2.
* Generic wood crates.
* Crate and barrel groupings.
* Wagons x3. Loaded weagons and broken.
* Wicker baskets x3.
* Storage covers: lrg and sml.
* Small storage chest.
* Generic wood tables: large and sml.

**As a Backer, I'd like to see the world begin to be propped out with generic fantasy items. - Set #2 (In Progress)**
* Create documentation for assets.
* Generic trebuchet.
* Generic battering ram.
* Three hay pile assets.
* Ladders!
* Standing and hanging braziers.
* Log piles and logs.
* Saws for cutting down those trees!
* Old wooden well.
* Large beer cask on stand.
* Wood and metal buckets.
* Various chests.

**As a Backer, I'd like to see the world begin to be propped out with generic fantasy items. - Set #3 (In Progress)**
* Create documentation for assets.
* Old lamps updated as group with vfx and lights.
* Generic wood tables, chairs, benches, cupboards, oh my!
* Books and bookcases.
* Boxes of assorted food goods.
* Small rocks for grounded clutter.
* Small hay piles for ground clutter.
* Mounted deer antlers.
* Paintings for wall art.
* Hanging tapestries.

**As a Backer, I'd like to see the world begin to be propped out with generic fantasy items. - Set #4 (In Progress)**
* Pile 'o' skins to protect the battering ram from FIRE!
* Wood pile lrg and sml.
* Update generic farmhouse in test map.

**As a Backer and developer, I'd like the bots to have more functionality to facilitate testing. (Completed)**
* Bots will use new ability builder.
* Bots will now take a target, face it, and move towards it.
* Bots are now aware of their archetype.
* Bots can now teleport.

**As a Backer, I'd like a system that checks for certain requirements that can be used in other systems like the ability system. (In Progress)**
* Create foundation of requirements system.
* Abilities check stats.
* Abilities check stance.
* Abilities check active effect tags.
* Abilities check position.
* Abilities check race and archetype.
* Abilities check player or target.
* Abilities check player equipment tags.
* Create editor to integrate checks in game.

**As a Backer, I'd like to test the updated male Luchorpán model (Completed)**
* Create base body concept and worksheets.
* Model high poly sculpt.
* Model and rig low poly model.
* Import and test model parts.
* Replace old model with updated model in game.

**As a Backer, I'd like to test the updated female Human model (In Progress)**
* Create base body concept and worksheets.
* Model high poly sculpt.
* Model and rig low poly model.
* Import and test model parts.
* Replace old model with updated model in game.

**As a Backer, I'd like to test the new female Luchorpán model (In Progress)**
* Create base body concept and worksheets.
* Model high poly sculpt.
* Model and rig low poly model.
* Import and test model parts.
* Replace old model with updated model in game.

**As a Backer, I'd like to test the updated male Golem model (In Progress)**
* Create base body concept and worksheets.
* Model high poly sculpt.
* Model and rig low poly model.
* Import and test model parts.
* Replace old model with updated model in game.

**As a Backer, I'd like to be able to choose the gender I want to play of each race. (In Progress)**
* Add gender support to characters, items, stat templates and api.
* Create UI button and character artwork.
* Character creation - Add gender choice to Arthurian Humans.
* Character creation - Add gender choice to Tuatha Luchorpán.
* Character creation - Add gender choice to Viking Humans.

**As a Backer, I'd like to test the updated female Golem model. (In Progress)**
* Create base body concept and worksheets.
* Model high poly sculpt.
* Model and rig low poly model.
* Import and test model parts.
* Replace old model with updated model in-game.

**As a Backer, I'd like to test the updated male Fir Bog model. (In Progress)**
* Create base body concept and worksheets.
* Model high poly sculpt.
* Model and rig low poly model.
* Import and test model parts.
* Replace old model with updated model in-game.

**As a Backer, I'd like to test the updated female Fir Bog model. (In Progress)**
* Create base body concept and worksheets.
* Model high poly sculpt.
* Model and rig low poly model.
* Import and test model parts.
* Replace old model with updated model in-game.

**As a Backer, I'd like to see player stats have a real meaning in the game. (In Progress)**
* Agility effects max move speed.
* Vitality affects max health and health regeneration.
* Endurance affects max stamina and stamina regeneration.
* UI feed on character creation sheet.

**As a developer, I'd like a way to be able to edit gameplay variables on the service, live.(In Progress)**
* Improve previouis implementation.
* Expose varibles to server.
* Selection of varibles added: character collision stickyness, strafe and reverse speed, turn to run speed ratio, jump strength, max walkable slope, run speed min/max, projecticle speed min/max., object max lifetime cap, etc.
* Add additional variables - TBD.
* Create corresponding editor.

**As a Backer, I'd like to be able to create, save and load blueprints in C.U.B.E. (In Progress)**
* Block/Blueprint selection design.
* Block/Blueprint selection implemenation.
* U.I. art assets.
* Saving/loading of blueprints within C.U.B.E.
* Saving/loading of blueprints on server.

**As a Backer, I'd likle to see improvements in the animation system to facilitate gameplay. (In Progress)**
* Improve design scope of animation: needs to better serve long-term combat design iterations.
* Update master rig with additional item/weapon attachment points.
* Update existing animations with rig changes.
* First pass on one-handed weapon, one-handed weapon with shield, and dual-wielding weapon animations.
* Add two more alternative animations to previous one-handed weapon pass.
* First pass spear, dagger, polearm, staff, crossbow animations.
* Generic treading water animation.
* Improve upper- and lower-body torse blending.

**As a Backer, I'd like to see improvements and added functionality to the CSE store. (In Progress)**
* Create an easy-to-use tool to review transaction history and logging - First Pass.
* Additional features to transaction history tool - First Pass.

**As a Backer, I'd like to see the sky transition from a sunny day to an overcast and rainy day. (In Progress)**
* Create first pass on rain vfx.
* Add flag to vfx to orient particles by velocity.
* Sky becomes overcast, lighting changes, sky bowl color changes, and rain particles are generated - First Pass.
* Terrain shader for rain splashes.

**As a Backer, I'd like to know about smaller changes that don't have their own user story. (In Progress)**
* Add a test case wind ability to the game for all mage Archetypes.
* Create vfx to test wind ability.
* Add stamina regen to warrior shout and bandage.
* Additional Tasks TBD.

**As a Backer, I'd like to see the world of Camelot Unchained continue to develop through it's lore. (In Progress)**
* Gargoyles Becoming.
* Silverhands Becoming - Rewrite.
* Valkyries - Rewrite.
* Golems Becoming - Part III.

**As a Backer, I'd like to be able to equip and use different types of melee weapon combinations - First Pass Animations - Part 1. (In Progress)**
* First Pass Animation: Right hand weapon.
* FPA: Right hand weapon with left hand shield.
* FPA: Right hand weapon with left hand dagger.
* FPA: Right hand dagger.
* FPA: Right hand dagger with shield.
* FPA: Right hand spear.
* FPA: Right hand spear, left single handed weapon.
* FPA: Right hand spear with shield.
* FPA: Right hand weapon w/ shield attacks.
* Left hand shield with right hand spear.

**As a Backer, I'd like to be able to equip and use different types of melee weapon combinations - First Pass Animations - Part 2. (In Progress)**
* FPA: Dual dagger.
* FPA: Dual single hand weapon.
* FPA: Polearm weapon.
* FPA: Left hand dagger with spear.
* FPA: Left hand dagger with one hand weapon.
* FPA: Polearm weapon, two hands.
* FPA: Staff, two hands.
* FPA: Spear, two hands.
* FPA: Crossbow.

**As a Backer, I'd like to be able to wear armor that protects against different damage types. (In Progress)**
* First Pass: Design different damage types.
* Define damage type enumeration.
* Damage types can be set in ability editor.
* First Pass: Design wound model.

**As a Backer, I'd like to see character, item, and ability stats have real meaning in the game - First pass design. (In Progress)**
* Design player character stats.
* Design player character stat progression.
* Design equippable item stats.
* Design equippable item progression.
* Design ability component stats.
* Design ability component progression.
* Design list of equipment locations/slots.
* Design combat model.

**As a Backer, I'd like to see improvements to ability VFX to make visual distinction of abilities easier. (In Progress)**
* Initiate Tears and Primal water dart and ball effects user different vfx.
* New Liquid Flame dart, ball, cone, wave.
* New Primal Stone dart, ball, cone, wave.
* Improved look of Primal Fire wall.
* Inititate Tears, Primal Stone and Liquid flame new casting vfx.
* Initiate Tears and Primal water dart effects use different vfx.

## Revision History

* May 1, 2015 - User Stories are released via update, and given a section on the official site.
* May 15, 2015 - User Stories are updated, discussed, and 5 more cards are added.
* June 12, 2015 - User Stories are updated, detailed, and 15 more cards are added.
* June 26, 2015 - User Stories are updated, detailed, and 3 more cards are added.
* July 10, 2015 - User Stories are updated, detailed, and 2 more cards are added.

## References

1. ↑ Mountain Goat Software FAQ
2. ↑ AFternoon Update 4-10-2015
3. ↑ 3.0 3.1 Afternoon Update 5-1-2015
4. ↑ Camelot Unchained User Story Page
5. ↑ Afternoon Update 5-15-2015
6. ↑ Afternoon Update 6-12-2015
7. ↑ Afternoon Updated 6-26-2015
8. ↑ Afternoon Update 7-10-2015