As a Backer, I want to enter a siege scenario, complete objectives, and have the outcome factor into my player's progression.
- Design technical architecture for scenarios and scenario manager.
- Add admin commands to restart/kill scenarios and rounds.
- New scenarios can be spun up in parallel.
- Create scenario admin panel, allowing us to spin up scenarios on a whim for quick testing.
- Build DevUI to enable gameplay team to quickly display UIs with game information.
- First iteration: CU Button Clicker! Click a button to add points to your team.
- Design Entity Component Template system (ECT), which will allow designers to build data-driven scenarios quickly.
- Build config system to specify win condition, team sizes, round length, and number of rounds.
- Allow players to auto-join an in-progress scenario.
- Set up concept of teams (can be on only one, one team is friendly, all others are enemies). Ability to add or remove players from a team.
- Second iteration: Deathmatch! Kills add points to your team. Win conditions are configured for the scenario.
- Integrate Warbands into SNS to support 8v8 teams.
- Create rough pass SNS test map with spawn locations for eventual queuing.
- PostOffice messaging system, which allows us to send messages to entities that care about them.
- New, shared Scorpion siege engine abilities created with new bolt models, VFX, and SFX.
- New, Realm-unique, bow siege abilities created with VFX and SFX.
- New, shared, shortbow and longbow animations added.
Beta 1 Feature List:
- Ability to choose from a selection of work-in-progress races.
- Ability to choose gender from available race choices.
- Primary character stats are tied into game`s mechanics
- Sampling of working banes and boons per race/class combinations
- Three work-in-progress classes based on a "Fighter" trio
- Three work-in-progress classes based on a "Pure Healer" trio
- Three work-in-progress classes based on an "Archer" trio
- One "generic" crafter class
- Ability system with "Day One - Thirty" components with working progression system
- One "safe" island per Realm
- One large island in the middle
- 3 additional smaller islands surrounding large island
- Transportation between islands via portals.
- First pass buildings/architecture art per Realm
- First Place of Power on map
- "First Final" pass at player item structure.
- Items exist in the real world: Can be dropped, traded, picked up by any player, and persist in world.
- First pass working armor, shields, and weapons in game.
- First pass inventory system.
- First pass generic working Vox Magus
- Assembly of refined materials into recipe-based (recipe system to be replaced during Beta 1) items
- Use seeding system to create nodes/farms of minerals
- Destruction of buildings at varying game speeds (slow, normal, fast, etc.)
- One generic siege engine.
- First pass NPC guards
- Plot ownership, access permissions, change of ownership.
- Sounds created and linked to components, abilities, etc
- Refactor of animation system with upper and lower body animations.
- Support of more than 2k Backers/bots per large island
- Multiple movement speeds - combat, normal, travel (fast)
- First pass group system
- First pass guild system.
- Additional sound support.
- Help button in client that leads to video
- Add inventory system with encumbrance.
Beta 1 Extended List:
- Image-based ambient and specular lighting.
- Glow maps for materials.
- HDR Bloom.
- HDR tone mapping support.
- New physically based rendering model. (PBR)
- Pre-existing materials, updated to use new physically based lighting.
- Terrain updates based on realm control.
- Threading library to improve client efficiency in multiple areas.
- Updated character creation UI and process.
- Updated Patcher that better delivers community content, as well as supporting both 32 and 64 bit client installations.
- Automate bot testing into a single command, and enable them to restart themselves.
- Sound bank editor to reduce patch times and bandwidth usage when updating sound resources.
- First pass working emotes.
- A selection of Realm-based weapons, using temporary art, for testing.
- A sampling of realm distinct weapons using updated materials.
- A sampling of Realm-distinct light, medium, and heavy armor.
- Players can teleport between physically different servers.
- Add Nvidia Waveworks
- Add Nvidia GameWorks "super-advanced" volumetric lighting.
- Improved VFX rendering system
- Physics updates running on its own server
As a Backer, I'd like to be able to damage, and ultimately destroy structures in the world.
- Building damage design.
- Engineering: Determine how 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 remain as part of the main structure.
- Turn the 'island' of blocks into a new structure that uses physics. ie: Chunks of a building fall off and collide with the main structure and eachother. - First Pass
- Visually represent building damage.
- Define first pass of building data structure.
- First pass: Building metrics
- Second pass: Building metrics.
- Third pass: Building metrics improvements.
- Second pass: Building metrics.
As a Backer, I'd like structures to be able to collapse based off of block placement, building material stats, and damage taken.
- Building stability design.
- Engineering: Determine stability of structure while building it. - First Pass
- Engineering: Determine stability of a structure as it is being damaged in combat and send those updates, cheaply, to players.
- Engineering: Visually represent what is unstable in a structure when building.
- Second pass stability network optimizations.
As a Backer, I'd like to be able to use modifier components when building abilities.
- 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.
- Add multiple ability trees to the pre-existing ability system.
As a Developer, we continually need to update our software.
- Update the MongoDB drivers in the various solutions.
- Migrate the Perforce repository to Git.
- Update to Visual Studio 2015 CTP 6
- Update CEF
- Set up a secure VPN.
- Add more logging to VPN.
- Set up new server hardware, for faster builds!
- Metrics hooked up for disk usage and replica set health for MongoDBs.
- Update build and game servers post VS15 upgrade.
- Update Wwise to address bugs in previous build.
- Move worldState information onto WiredTiger enabled Mongo DB.
- Move characters and crafted abilities onto worldState DB.
- Improve our crash reporter so it's easier for other devs to use without support.
- Update Wwise to current version and fix any resulting issues.
- Improve our crash reporter so it's easier for other devs to use without support.
As a Backer, I'd like to have abilities associated with stances.
- Add animation 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.
- Abilitiy components define what stances they can be activated from.
- UI 2.0 swaps ability sets based on stances.
- Weapon cog defines what stances are available for weapon type.
- Notification of ability fail due to bad prereqs.
- Stance animation built into animation resource
- Animation resource collection
- Client animation stance transition
- Stances use child effects, which are applied when the stance is entered.
- Two characters of the same Realm will collide with each other unless one or both of them are in Travel Stance.
- Stance Editor:
- Make a new, well-defined animation stance assetlib class.
- Update build server if necessary.
- Update client if necessary.
- Test and review stance editor.
- Add documentation.
- Make editor work with new well-defined classes using regular data binding.
As both a Backer and developer, I'd like to have more dev commands to facilitate testing, and general interactions with the player community.
- 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.
- Admin is invincible and takes no ability effects.
- Admin's can trigger old abilities for testing.
- Admin's can adjust control game on the fly.
- Added vsync toggle to test frame times.
- Add admin commands to reboot server.
As a Developer in Beta 1, I'd like to have a strong library of sounds for abilities during Beta 1.
- First Pass: Melee impact sounds
- First Pass: Hit impact sounds for melee secondary components.
- First Pass: Battlecry variants for male and female humans.
- First Pass: Modular stone/earth based sfx
- First Pass: Modular stat drain based sfx.
- First Pass: Modular swiftness/slow sfx components.
- First Pass: Cloth armor melee penetration for certain damage types.
- First Pass: Cloth armor melee impacts for all damage types.
- First Pass: Leather armor melee penetration for certain damage types.
- First Pass: Leather armor melee impacts for all damage types.
- First Pass: Metal armor melee impacts for all damage types.
- First Pass: Metal armor melee penetration for certain damage types.
- First Pass: Arrow impacts and penetration cloth and leather.
- First Pass: Arrow impacts metal armor blocks.
- Second pass stability network optimizations.
- Third pass stability network optimizations.
- First Pass: Battlecry variants for Luchorpán.
- First Pass: Battlecry variants for Valkyries.
- First Pass: Battlecry variants for Picts.
- First Pass: Equip and unequip - axe.
- First Pass: Axe - slash.
- First Pass: Polearm - crush and slash.
- First Pass: Dagger - slash and pierce.
- First Pass: Axe - slash leather impact.
- First Pass: Axe - slash cloth impact.
- First Pass: "Large blade" slash and pierce impact.
- First Pass: Spear slash and pierce.
- First Pass: "Blunt weapon" crush impact.
- First Pass: Shield crush attack, metal and wood variations.
As a Backer, I'd like Camelot Unchained to have sound through the start up, character creation and selection process. - First Pass
- 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.
- Second Pass: Loading screen background music.
- First Pass: Random ambient music in game.
As a Backer, I'd like to be able to play an Archer.
- 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.
- First pass: Camera offset positioning for first pass archery.
- First Pass: UI elements display targeting arc.
- Hook up UI targeting arc to ability stats so aiming can correctly predict target.
- Second Pass: Simple UI elements display targeting arc.
- Update player camera "feel."
- Allow firing of arrows to be more precisely timed, as a separate action from drawing the bow.
- Improve queuing of abilities.
- Ammunition revisit post re-ab
- Toggle Aiming mode.
- Configure archery skills to use manual phase advancement.
- Switching to the targeting camera on client.
- Start drawing trajectory arc as soon as prep begins.
- Leave the camera pointing toward the hit position when firing projectiles in aiming mode.
- Buildvar to disable manual aiming
- Smooth out targeting camera's tracking of the hit position.
- Switch to modal cursor tracking.
- Add spatial query to arrows.
- Snap view yaw to the aiming yaw .
- Server-driven auto-advancement when not aiming.
- Refactor to support multiple different mouse control schemes at the same time for playtesting
- Drive projectile physics off of state
- Fix terrain LOD origin to not move around with aim target when in aiming mode.
- Manual aiming revisit post re-ab
- Seperate munitions from resources.
- Update arrows and vials to use similar functionality in code.
- Introduce new ConstantCollection on ActiveSkill.
- Stash ammo data in the state component after it has actually been removed from the inventory.
- Time the bow draw sound to the bow draw animation.
- 12 unique arrow flyby SFX for class abilities.
- When a skill starts, capture what aiming mode the player was using and put that on the active skill.
As a Backer, I'd like to see general improvements in C.U.B.E.'s interface and functionality.
- 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.
- First pass: Added the ability to place a light in the world.
- Create a logo for C.U.B.E.
- Mockup webpage for information about C.U.B.E.
- Implement C.U.B.E. page on CU website.
- Cube tags now fully functional for searching.
- Optimize rendering of blue prints when moving and placing.
- Add ten more materials.
- Add a delete button for blueprints.
- Move all user-generated files out of executable folder and into AppData.
- Add numeric values to blocks as they are drawn before placing, for better measuring.
- Placing blocks now shows block count near selection.
- Increase the size and distance at which transparency kicks in for the size counter.
- Can now use the scroll bars on UI with scroll bars.
- When deselecting a text area by left or right clicking the mouse will no longer move to the last place it was clicked.
- Large blueprints no longer run you out of memory
- Reduce memory usage of simplified building meshes.
- Reduce the size of the character texture arrays while in C.U.B.E.
- Reduce client memory usage of collision physics.
- General reduction in memory usage. Worst case maps reduced by 1.5gb !
- Perfhud UI: New panel displaying rendering performance for additional developer feedback.
- Reduce building material textures by 75% - Material scaling was 8x8 meters, now 4x4 meters.
- Update all previously available material art assets from 1024 textures to 512x512 for new scaling.
- Updated UI provided by Mod Squad!
- Remove extraneous control game models, floating assets, material spheres, etc.
- Fix missing water in zone.
- Add rendering options that can now be adjusted in the options menu on C.U.B.E. and game client. (Shadow quality, distance, on/off, texture quality, HBAO toggle, shader quality.)
- Additional memory reductions to building meshes. (Approximately 500megs!)
- Update new UI with CU CSS styling and art.
- Update all previously available material resources to use new art creation pipeline.
- Block substances (Mats) properly render icons to the UI.
- Add new materials in next C.U.B.E. push that better show off improved rendering and lighting improvements.
- Add new shapes in next C.U.B.E. push.
- Add new materials in next C.U.B.E. push that better show off rendering and lighting improvements.
- Create additional materials for C.U.B.E.
- Add new shapes in next C.U.B.E. push.
- Create backups of old save files before converting current save file to updated version.
- Improve thumbnail rendering time in UI.
- Small art fixes/improvements to environment and character assets.
- Block selection UI shows the Substance and Shape ID`s separately for swapping.
- C.U.B.E. version selectable in map selection window.
- Keyboard-moveable ghost blocks.
- Blueprint naming supports longer names with additional text characters.
- Add commands to swap block shapes and substances (including blueprints) as an additional safeguard for players when devs make changes.
- Add ability to rotate all blocks selected.
- Gizmos color coded to world space direction. (X, Y, Z)
- Block "snap" mode.
- "Paint Bucket" - Can select a substance, then paint that onto pre-existing blocks.
- Undo and redo.
- Config file saves between logins.
- Improve rendering of lots of blocks or buildings in zone through improvements in threading.
- Block/Material icons load during load screen to reduce UI update lag.
- Slash commands for C.U.B.E. work in new chat.
- C.U.B.E. files back up after every push.
- Paint Bucket tool in C.U.B.E. uses the normal keybind rules so it can be rebound.
- Paint Bucket tool keybind fixed. Holding 'P' when clicking on a set of blocks will paint those blocks with the selected material.
As a Backer, I'd like to play in a procedurally-created environment. - Part One
- 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 see the sun, moons, and stars in the sky with sky color changes based on time of day and position of those celestial bodies. - First Pass
- 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.
- Second pass cloud improvements.
- Clouds take sun/moon color and lighting direction.
As a developer, I'd like to have an automated system for running a CU test environment on my own PC.
- 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 stored 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.
- Break map into multiple parts to improve performance.
- Create overlay geometry to smooth transitions.
- Revisit terrain material settings to reduce visual repetition.
- Clean UV's of overlay geo.
- Add new generic items such as boxes, barrels, etc. to center castle.
As a Backer, I'd like to see the world begin to be propped out with generic fantasy items. - Set #1.
- Create documentation for assets.
- Stick bundle lrg, sml, and group.
- Wood plank groups lrg, med, sml.
- Barrels, generic, x2
- Generic wood crates.
- Crate and barrel groupings.
- Wagons x 3. Loaded wagons, w/ extra wheel asset.
- Wicker baskets x 3
- Storage covers lrg and sml.
- Small storage chest.
- Generic wood tables, lrg and sml.
As a Backer and developer I'd like the bots to have more functionality to facilitate testing.
- 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.
- Additional Tasks TBD
As a Backer, I'd like a system that checks for certain requirements that can be used in other systems like the ability system.
- 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.
- Refactor Server Requirements in order to better support abilities.
- Refactor Editor to support new requirements.
As a Backer, I'd like to test the updated male luchorpan model.
- 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.
- Create base body concept and worksheets.
- Model high poly sculpt.
- Model and rig low poly model.
- Import and test model parts.
- Create UI elements in character creation.
- Create textures.
- Update UV coordinates of Human female to optimized layout for LODs.
- Audit current melee armor set to fit human female for testing.
- Update base mesh with better underwear.
- Create UI elements for character creation.
- Create three alternate hair colors for testing.
- Create three additional skin tones for testing.
- Create three additional face variations for testing.
- First pass UI elements for character creation - Arthurian.
- First pass UI elements for character creation - Viking.
- First pass UI elements for character creation - TDD.
- Character is selectable in game.
As a Backer, I'd like to test the new female luchorpan model.
- Character is selectable in game.
- Create base body concept and worksheets.
- Model high poly sculpt.
- Model and rig low poly model.
- Import and test model parts.
- Create UI elements in character creation.
- Create textures.
- Rebuild female Luchorpán model to adhere to new pipeline. New vert count, body part topology, UV layout.
- Update textures to new UV layout - match to updated male Luchorpán.
- Update base mesh with underwear.
- Third pass underwear using masking system, and overall visual improvements.
As a Backer, I'd like to test the updated male golem model.
- 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.
- Create textures.
- Update UI elements in character creation.
- Second pass textures - improvement
- Audit current melee armor set to fit male Golem for testing.
As a Backer, I'd like to play in a procedurally-created environment. - Part Two
- First pass: Epic terrain LOD'ing
- Terrain Types (TT): subdivision points can be assigned one or more types.
- TT: Shape distortions.
- TT: Subdivision points can be assigned one or more types.
- TT: Texture overrides.
- TT: Auto placement trees, rocks, grass.
- TT: Rules for subdividing into other types.
- TT: Define format in DB, save and load in editor.
- TT: Define binary format, provide builders.
- TT: Apply type effects during subdivision.
- First pass - simple water shader.
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
- 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 sun.
- Add the second moon - First Pass
- Moon shows phases.
- Further optimization to dome.
- Differentiate sunrise from sunset.
- Improve color blending in sky dome.
- Match fog color to sky color.
- Stars twinkle more at horizon.
- First pass moon concepts
- Create first pass collided moons object.
- Add a "Milky Way" type of visual to the sky bowl at night.
- Fix the moon so it's larger and shows up in the night sky again.
- Night sky and star rotations now synced.
- Moon rotation supports phases.
- Update moon materials and increase resolution.
- Second pass moon concept art.
- New moon from second pass concept art created.
- Update sun and moon materials to work with HDR improvements to sky.
- Turn down the moonlight intensity.
- Factor in sunlight brightness into the skydome better.
- Editor can assign moon model settings, instead of having them hardcoded.
- Tweak sky color values and star brightness to work better with PBR update.
As a Backer, I'd like to test the updated female Golem model.
- Create base body concept and worksheets.
- Model high poly sculpt.
- Model and rig low poly model.
- Import and test model parts.
- Character is selectable in game.
- Create textures.
- Create UI elements in character creation.
As a Backer, I'd like to test the updated male Fir Bog model.
- Create base body concept and worksheets.
- Model high poly sculpt.
- Model and rig low poly model.
- Import and test model parts.
- Character is selectable in game.
- Create textures.
- Create UI elements in character creation.
- Create UI elements in character creation.
As a Backer, I'd like to test the updated female Fir Bog model.
- 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.
- Create textures.
- Update UI elements.
As a Backer, I'd like to see player stats have real meaning in the game.
- Agility affects max move speed.
- Vitality affects max health and health regeneration.
- Endurance affects max stamina and stamina regeneration.
- UI feedback on character creation sheet.
- Faith increases incoming healing power
- Resonance increases positive status effect duration.
- Agility affects encumbrance.
- Dexterity reduces encumbrance penalty.
- Strength raises carrying capacity.
As a developer, I'd like a way to be able to edit gameplay variables on the server, live.
- Improve previous implementation.
- Expose variables to server.
- Selection of variables added: character collision stickyness, strafe and reverse speed, turn to run speed ratio, jump strength, max walkable slope, run speed min/max, projectile speed min/max, object max lifetime cap, etc.
- Create corresponding editor.
- Absolute minimum and maximum movement speed allowed.
- Minimum preparation time for abilities.
- Max block limit on building plots.
- Air density/resistance, gravity, backwards, forwards, and sideways movement speed multipliers, sliding force multiplier, sliding slope angle threshhold, and on-ground gravity (Ground stickiness - so you don't launch off small rocks!)
- Adjust encumbrance calculations.
- Updated slash commands - build vars can be set with just /command, rather than /var command (previously were shift+enter commands).
- Automatic reloading of gameplay config for quicker iteration on Ben's side.
As a Backer, I'd like to see the world begin to be propped out with generic fantasy items. - Set #2.
- Create documentation for assets.
- Generic trebuchet
- Generic battering ram
- Three hay pile assets.
- Ladders!
- Standing and hanging braziers.
- Log piles and logs.
- Saw 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.
- 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 ground clutter.
- Small hay piles for ground clutter.
- Mounted deer antlers.
- Paintings for wall art.
- Hanging tapestries.
- Stacks of books
As a Backer, I'd like to be able to create, save, and load blueprints in C.U.B.E.
- Block/Blueprint selection design. - First Pass
- Block/Blueprint selection implementation. - First Pass
- U.I. art assets.
- Saving/loading of blueprints within C.U.B.E
- Saving/loading of blueprints on server.
As a Backer, I'd like to see improvements and added functionality to the CSE store.
- 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.
- 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.
- Sound can be defined by rainy weather state.
- First pass: ambient rain sound for rainy weather.
As a Backer, I'd like to know about smaller changes that don't have their own user story.
- Add a test case wind ability to the game for all mage Archetypes.
- Create vfx for test wind ability.
- Add stamina regen to warrior shout and bandage.
- Abilities can be hasted or slowed. Tech for later usage.
- Jump costs stamina.
- Track down and fix persistent bug with a small group of people concerning their ISPs shutting down their connections.
- Fix UserProxy crash with unresponsive clients or bots.
- Movement causes disruption to abilities being cast.
- Character inventory changes by devs don't need a server reset to update.
- Improve channeling: Caster can go into a channeling recovery loop, vs. being able to immediately start next cast.
- Movement causes disruption damage instead of directly stopping abilities in progress.
- Area of effect abilities use the caster's center of mass.
- Character inventory changes by devs don't need a server reset to update.
- Add logging to editor and clientmanaged for better bug tracking.
- Fix saving of Assets and Cogs so that they are easier for programmers to use.
- Separate preparation time adjustments from recovery time adjustments on abilities.
- Create a tool to generate 2d maps from terrain.
- Refactor character movement code.
- Give bots a new move mode: Scatter upon login, then occasionally all move to random region.
- Bots cast less when far away from targets.
- Bots pick new random location to move to when they're trying to move and can't.
- Add collision to control game spawns.
- Add Visual Studio 2015 to api/account page.
- Restructure database in code so servers and tools opt-in to only connect to databases that they use -- resulting in faster startups.
- Assets placed in world now correctly display attached vfx and lights from model 2.0.
- Create and implement "Munchies 4 Crunchies" donation page.
- Make improvements to ParLL to support older CPU's.
- Material assignment to models no longer has issues with material names with more than 32 characters!
- Create a system to remind us when SSL certs are going to expire.
- Terrain editor now supports textures of different sizes and no longer reduces all textures to the lowest size used in a map.
- Closed doors image/art for stretch goals page.
- Concept art pass on biome variations using current assets.
- Mock up web page to house CSE comics.
- Implement CSE comics web page.
- Update perfhud and fix bugs.
- Add ability to pull assets from DB and save locally.
- XMLformatter serialization support for IXMLserializable - including bug fixing.
- Add automated reporting of statuses of our World State and ChatLog databases.
- Create whitelist for usable unicode characters to be used in character names.
- Create character name normalizer that will map unicode characters to standard characters for normalization.
- Create an in-game free cam mode with speed control.
- Player character can be controlled independently of free cam.
- Free cam can do a 360° rotation around a pivot, independent of player control.
- Create an intro video for the "Hot Streamy Summer" streaming event.
- Create an intro video for "Mornings with Max."
- Create an intro video for "Q&A" streaming events.
- First pass C.U.B.E. video.
- Create an arrow-firing turret model for testing arrow spam that can be placed on the ground.
- Fix auto run when alt-tabbed.
- Set game client window to start on top of other windows, instead of starting up behind other windows occasionally.
- Updated character creation to calculate character health on creation, rather than starting a new character with 1 hp.
- Organize GitHub repositories
- Improve server startup by asynchronously loading configs.
- Metrics more configurable (to improve server performance)
- Fix issues with ecosystem that were preventing password resets in certain cases.
- Remove an unused logger that was slowing down server startup on debug builds.
- WebAPI server properly notifies patcher when a server goes offline.
- Patcher can run in offline mode.
- Add command to build server to shutdown after building but before a new build starts.
- Determine cause of patch server slowdown, fix and improve speed.
- Set up local patch server for internal use.
- Create "fast-path" entry for Jenkins that can do the release-build process for any branch and push to any set of channels.
- Push build number and time to the server, so that we can track down issues related to continuous integration.
- Updating code signing cert no longer triggers user's antivirus programs.
- Improve patch server performance.
- Bots pick new random location to move to - second pass.
- Better null handling in serialization.
- Death movement state added, to prevent sliding around while dead.
- Improve detail in asserts by including user name, character name, time, and the specific server.
- Update loading screen to use new CU logo.
- Better support for modes other than stances.
- Added slash command to limit the server update rate for the current client.
- Increase update speed for WebAPI servers.
- Set up network states for entity components.
- Create entities from terrain-spawned items.
- Bots have simply targetting - second pass
- Automatic reloading of gameplay config for quicker iteration on Ben's side
- Improve number of bots that can be controlled by a single server.
- Load and compile config files into single assemblies.
- Create a small system to cache asset files locally on the build server by their MD5 to speed up (re)builds.
- Remove local-only skills from the client's skill queue when they get cancelled
- Bots use abilities from the updated ability system.
- Bots have simple targeting - second pass.
- AssetCache works via MD5 instead of CogID to prevent asset conflicts.
- Fast Entity Reader implemented to improve server performance.
- Buildvar for near clip distance.
- Update follow camera to always point at character's approximate head location.
- Wait for building plots to finish before making server available.
- Update and add variants of CSE_WARN message.
- GroupServer, API, and Game server setup use read-only StateProvider and Handlers.
- Create DefRef, a method for looking up a reference to a piece of data.
- Update CSE store styling - Mockup.
- Set ResourceManager on AudioController before attempting to load things.
- Add option to disable sending webhooks from a specific api server via settings conf.
- Update web api csproj so it builds on jenkins.
- CogSnapShotCache is replaced by CogSnapShotRefs using DefRefs.
- ClientSkills tag lookup now uses system in CogSnapShotRef.
- Add /timeScale when running in noserver mode.
- Remove console output destinations when removing UI windows to prevent duplicate messages on zone transitions.
- Update respawning rules to factor in building permissions.
- Load gameplay defref channel during database init task.
- Reorder server startup tasks to support new game functionality.
- Add dynamic entity to physics scene.
- Move into CSE Seattle office.
- Add SceneDebugDraw to allow for debug-only DrawLine/DrawBox/DrawBounds helpers.
- Prevent jumping from desyncing movement with terrain.
- Setup server entities to handle multiple shards.
- Only load gameplay defs from cog DB once.
- Make startup tasks that use loaded gameplay defs actually wait for gameplay defs to be loaded.
- Clean up server startup logging a bit, and add a new console appender for only coloring errors.
- Set camera position and copy location from console.
- Introduce euler3f and facing2f structures to math library.
- Support bots having their own inventories.
- Give archer bots a minimum shooting range.
- Added newer version of DirectXMath to increase performance.
- Prevent interrupting input when transitioning between the follow camera and the target camera.
- Don't update the player entity's facing pitch in the follow camera when looking around holding right mouse.
- Compute world time start using Stopwatch rather than DateTime on the game server to avoid discrepencies.
- Generate EntityWritable code for all members of InventoryComponent to avoid unnecessary recalculations.
- Added rendering of zone select UI if the game is not loading and is is offline mode and is not rendering splash screens.
- Create ChangeTracker to generalize tracking of high-level changes to entities.
- Teleport into a random place near a central teleport location.
- Allow compiler to optimize math operations where part of a value is known at compile time.
- assert_cast on reference types, improving build speed of NDEBUG target.
- Shadow Quality options slider goes from 0-4.
- Update health bar for correct resource regen rates.
- Create and run events using an event runner that is created by the event processor.
- Recreate entity-control components when sending an entity to another server.
- Prevent models from reporting they are done building before they are actually done.
- Audit User Stories for accuracy. Meta much?
- Create VFX and SFX for Fourth Of July holiday, and for fun future VFX and combat tests.
- Refactor scene lock code.
- Remove unique requirement for character names.
- Separate counting for Bot duplicates vs reused.
- Bump the values for threadcount and working queue counts in MongoAsyncHelpers.
- ResourceManager runs onChanged callbacks before onLoaded callbacks.
- Add separate configs for different styles of combat logs.
- Make Bot teleportation an explicit state machine.
- TCPConnection::Connect() responds to events/inputs instead of blocking for the full duration of its timeout.
- Update API server for character creation and Wyrmling to support any channel.
- Arithmetic Encoder and Decoder now support continuous syncing.
- Integrate Telemetry for real-time profiling.
- Update stats in Basic perf HUD tab to display more Bot metrics.
- Add custom colors to each piece of equipment on Bots.
- Beta 1 documentation styling.
- Componentize health, blood, and stamina.
- Add server command line for forcing garbage collection.
- Update item loadouts for dummies to cut down load times.
- Dummy loadout items are now cached the first time they are asked for.
- Admin command improvements for handling character names.
- Remove default sound event for taking damage.
- Remove old and busted game menu and options, replace with new hotness.
- Move ZoneInfo to ApiModels for typescript generation.
- Networking for faction/name/health on dropped items and kinematics.
- Targeting/health bars for resource nodes.
- Add version field to code-generated entities.
- Include spawn points in the server world state so API server can display them to users.
- Create DevUI widget for quick gameplay iteration.
- Add GraphQL to DevUI.
- Give DevUI access to API requests and use indexes instead of titles for mapping tabs to content.
- Set up protobuf message and plumbing to send a 'show dev UI' message from server to client.
- Create infrastructure for dev UI for hot-reloading C# classes the same way we do XML files.
- Show list of dev UIs in a perfhud tab in the client.
- Create PostOffice system for managing message sending and receiving.
- Change ClipTag to read as a short instead of as a byte.
- Allow client to control visibility of a DevUI using OnOpenUI and OnCloseUI.
- Add some metrics around DevUI to measure performance impact.
- Rate limit DevUI messages from the server to 1 per second by ID.
- 1st pass Dragon Circle and Saturday Night Sieges logos.
- Cache player stat data once at startup instead of using reflection every time we query it.
- Set daytime via a console command on the server that acts like 'daytime' buildvar on all clients.
- Remove knockback from entangling vines/roots. Should not both root and knockback.
- Damage taken while in travel stance temporarily slows target.
- Updated Database Ecosystem: Store/Player accounts.
- Updated Database Ecosystem: Game Server.
- Embedded WebAPI server for local builds.
- Improve server performance by cutting down size of items.
- Skill XML Editing Improvement: Harden skills parsing and produce better log messages to improve ease of debugging skill XML changes.
- Skill XML Editing Improvement: Warn if any child effects are found that don't match to a parent animation effect.
- Skill XML Editing Improvement: Clean up definition loading and fix issues with loading inlined files.
- Skill XML Editing Improvement: Make SkillDetail more readable and reliable.
- Optimizations to health change updates.
As a Backer, I'd like to see the world of Camelot Unchained continue to develop through its lore.
- Gargoyles Becoming - First Draft
- Silverhands Becoming - Rewrite
- Valkyries - rewrite
- Golems Becoming - Part III
- Gargoyles Becoming - Second Draft
- Stormriders Becoming - Rewrite
- Frost Giants Becoming
- St'rm Becoming - First Draft
- St'rm Becoming - Second Draft
- To Be A Helbound - First Draft
- To Be A Drengr - First Draft
- Picts Becoming part 1 - First Draft
- Picts Becoming part 1 - Second Draft
- Picts Becoming part 2 - First Draft
- Picts Becoming part 2 - Second Draft
- The Great Depths Raid Part 1 - First Draft
- The Great Depths Raid Part 1 - Final Draft
- The Great Depths Raid Part 2 - First Draft
- The Great Depths Raid Part 2 - Final Draft
- The Andvaranaut - The Becoming - Part 1 - First Draft.
- The Andvaranaut - The Becoming - Part 1 - Final Draft.
- The Great Depths Raid Part 3 - First Draft
- The Great Depths Raid Part 3 - Final Draft
- The Great Depths Raid Part 4 - First Draft
- The Great Depths Raid Part 4 - Final Draft
- The Great Depths Raid Part 5 - First Draft
- The Great Depths Raid Part 5 - Final Draft
- The Great Depths Raid Part 6 - Final Draft
- The Great Depths Raid Part 7 - Final Draft
- The Great Depths Raid Part 8 - Final Draft
- The Great Depths Raid Part 9 - Final Draft
- The Great Depths Raid Part 10 - Final Draft
- The Great Depths Raid Part 11 - Final Draft
- The Great Depths Raid Part 12 - Final Draft. This completes the entire Great Depths Raid.
- Picts Becoming - Final draft.
- Silverhands Becoming - Part 1 Final Draft
- Luchorpan - rewrite
- Silverhands Becoming - Part 2 Final Draft
- Silverhands Becoming - Part 3 Final Draft
- Silverhands Becoming - Part 4 Final Draft
- Silverhands Becoming - Part 5 Final Draft
- Silverhands Becoming - Part 6 Final Draft
- Silverhands Becoming - Part 7 Final Draft
As a Backer, I'd like to see the world begin to be propped out with generic fantasy items. - Set #4.
- Pile 'o' skins to protect the battering ram from FIRE!
- Wood pile lrg and sml.
- Cauldrons
- Wood external stairs with scaffolding - 1 and 2 story
- Axe and stump
- Create documentation for assets.
- Generic market stalls x 3
- Broken down wagon
- Viking stone markers x 3
- TDD medium chest.
- TDD medium box. x2
- TDD medium basket.
- TDD hero tree growing from rock.
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!
- /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 to be able to equip and use different types of melee weapon combinations. - First Pass Animations - Part 1
- 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.
- FPA: Left hand shield with right hand spear.
As a Backer, I'd like to be able to wear armor that protects against different damage types.
- First Pass: Design different damage types.
- Define damage type enumeration.
- Damage types can be set in ability editor.
As a Backer, I'd like to be able to equip and use different types of melee weapon combinations. - First Pass Animations - Part 2
- 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
- First pass test case bow rigging and animation test.
As a Backer, I'd like to see character, item, and ability stats have real meaning in the game - First pass design.
- 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.
- Initiate Tears and Primal water dart and ball effects use different vfx.
- New Liquid Flame dart, ball, cone, wave.
- New Primal Stone dart, ball, cone, wave.
- Improved look of Primal Fire wall.
- Initiate Tears, Primal Stone and Liquid flame new casting vfx.
- Primal Stone and Primal Earth dart and ball effects use different vfx
- Improve Liquid flame based spells.
- New wall spawning effects.
As a Backer, I'd like to see the world begin to be propped out with generic fantasy items. - Set #5.
- Create documentation for assets.
- Concept art pass on realm, generic, items.
- Arthurian chests x3
- Arthurian storage containers x3
- Large and small lumber piles.
- Standing and hanging braziers, single and double.
- Brazier models include fire vfx and lights.
- Sacks, and group of sacks with food.
- Additional generic bushes with texture variations.
- Additional variations of chests and containers.
- Arthurian storage container groups x 5
- Viking Basket x 3
- Viking chests
- Viking boxes/storage containers
- Generic stick bundles v2 large and small.
- Additional generic bushes.
As a Backer, I'd like to see the sky and environment transition from a sunny day to a snowy day.
- First Pass: Snow VFX
- First Pass: Snow VFX in camera.
- Snow on terrain fades in and out during snow cycle. - first pass.
- Create snow material.
- Terrain shader uses snow material and applies to terrain elements correctly.
- Snow state triggers material change in environment assets.
- Improve snow vfx.
As a Backer, I want to be able to own a plot of land and build within it.
- Building plot design
- CSE defined plots can be owned and released by a player. - simple /command
- Display plot boundries when placing blocks.
- Concept art for cornerstones.
- Create generic unowned cornerstone and 3 owned cornerstones, one for each realm.
- Cornerstones and plot markers define plot borders.
- Cornerstones swap to show ownership info.
- Players are limited to one plot at a time. - testing purposes.
- Limit maximum number of blocks that can be placed in a plot.
- Make blocks Realm-sensitive and destructible by enemy Realms.
- Plots can be placed in the world using the terrain editor.
- Lose plot ownership on death - for testing purposes.
- Plot owners can now set permission of who can build on their plot: Self, Realm, and All.
- Plots owned by Realms use control point mechanic for testing the building system.
- Create UI that allows players to control their plot's permissions.
- Create and attach VFX for neutral plus each Realm's plot markers.
- Plot ownership persists after logging out, or server restart.
- Plot performance on server improved. - Server checks control based on player location.
- Improve sustainability of plot ownership system.
- Building within a plot is no longer instantaneous.
- Build times decrease based on the number of players of your realm within your plot.
- Plot capture and combat states updated to work with changes from re-abilitation.
- Revisit code and develop plan for data structure improvements to allow for CylinderMorphs.
- Implement functionality to nest grids inside of other grids, to allow for parent and child grids
- Update rotation code to allow us to change directions of cylinders.
- Updates to UI to allow players to build towers
- Support rectangular structures inside CylinderMorphs.
- Harvested resources can be used to build buildings.
- Each Grid/Morph has a location in the world, giving us a direct relationship between world space and grid space.
- Start building mode with a selected block.
- Set Shift+Tab to cycle selected blocks.
- Expose hotkey combos to slash commands to speed up debugging.
- Buildings encoding and decoding.
- Add the ability to specify block type by ID for building commands.
- Support permissions for groups and guilds.
- Server/Client message and code for adding/removing sub-grids.
- Can build plots in offline mode.
- Add which grid is being edited to BuildingCellChange proto message.
- Add the ability to call commands on nearby buildings from the client.
- Buillding commands query against plots rather than buildings.
- Use materials to craft blocks.
- Add more commands for players - reorder queue, remove queued blueprint.
- Make all the BuildingUI renderables add/remove from scene async.
- Building commands no longer need an ownership override if you are an admin working on a single building.
- Damage command works, and is centered on your position, if you are calling it from the client.
- Developer building blueprint transfer tool.
- When claiming a plot, claim for faction and player.
- Prevent player from owning more than one plot.
- Add DevUI to expose plot management slash commands.
- Add admin page for building plot DevUI.
- Building plots can be initialized to a master blueprint.
- Auto generate a placeable master blueprint.
- Enable committing current master to a placeable.
- Make it so deletion works on subgrids other than the root.
- UI for grid manipulation.
- Setup config for enabling adding of subgrids.
- Add options for clearing master blueprints to the building delete command.
- Clear the root grid when getting a copy of the grids.
As a Backer, I'd like to see graphical and networking performance improvements, when building and destroying structures.
- Face adjacency culling.
- Backface culling enabled on buildings.
- Research and implement LOD'ing on building structures.
- Network Deltas for building. - Send only changes to a structure, vs. sending status of every block in a structure.
- Optimize stability calculations.
- Remove redundant building updates.
- Fix building concurrency issues.
- Improve building performance metrics.
- Use UDP for buildings when viable.
- Optimize building node traversal.
- BuildingMeshProvider - no longer loops over entire structure per material.
- Removed redundant block validation to improve performance when updating buildings on the server.
- Removed invalid blocks when starting up C.U.B.E. and the game client.
- Second pass building LOD's - better reductions at further distances.
- Greatly improve building LOD algorithm to better maintain surface acuity while reducing poly count even more.
- Further refine mesh simplification to reduce visual errors in buildings.
- Second pass mesh simplification to reduce visual errors in buildings.
- Add distance-based priority to buildings so we only send data of buildings within 1km of the player.
- Limit the number of TCP entities sent per frame to reduce load on user proxies.
- User proxies no longer send everything to player upon initial login.
- Improve building scalability on the server by caching off bounds and improving tracking of pointers.
- Improve handling of terrain loading/updates by delaying character loading behind a load screen.
- Rewrite building performance metrics to improve feedback of load, build, etc times.
- Improved performance of blueprint rendering inside CU proper as was previously done in C.U.B.E.
- Audit third-party software to use in the creation of materials for buildings.
- Use our shader in third-party material creation software.
- Update pre-existing C.U.B.E. materials to use new material format tech. This makes a big reduction in texture usage and more material versatility from player perspective.
- Additional memory reductions to building meshes. (Approximately 500MB!)
- De-rust buildings and building UI for testing and metrics gathering.
- Improve damage output for buildings in combat log.
- De-rust stability for testing and metrics gathering.
- Change APIs for getting BuildingGrids to speed up iteration over children.
- Improve threading model for creating renderables.
- Better mapping for sub-grid rendering stuff.
- Refactor data structures for holding BuildingEntity's renderables and physics.
- Serialization: update how buildlings are saved out to disk and the database.
- Improve how we send out deltas/building changes over the network.
- Caching building bounds on the server.
- Threading update: Break segment building on the client out into 4 contexts.
- Improve building metrics tracking to measure performance changes with recent building upgrades.
- Move geometry creation code out of BuildingRenderable and into a location that can be shared by client/server.
- Encoding/Decoding creates a record of the segments that changed, which can later be used to update buildings for renderable/physics/whatever.
- Send building updates to the physics server as deltas, to determine which parts of the physics mesh need to be rebuilt.
- Improve profiling of BuildingEntity.
- Have client create job to update building immediately when network message is received, to fix potential threading issues.
As a player, my character health is allocated to each body part which can take damage from different attacks and suffer wounds seperately from blood.
- First Pass: Design wound model.
- Create a simple wounds UI.
- Rework hit points as a blood pool resource.
- Send combat information to attacker and defender using logging infrastructure.
- Set up network code to communicate wound info to the client.
- Create Wounds structure on the server.
- 1 wound and 1 trauma applied on depletion of body part's blood.
- Allow "overhealing" to remove the lesser wound.
- Create system to determine spatial relationship of attacker, attack, and defender.
- Validate attacks on target based on attack location and attack.
- Body Parts: Define enumeration of body parts.
- Body Parts: Apply wound system to each body part.
- Body Parts: Expand wound UI to display all the body parts.
- Body Parts: Damage/healing effects apply to body parts rather than one resource pool.
- Body Parts: Create ability modifiers that target body parts.
- First Pass: Wound vfx.
- Vfx play on target when wounded.
- Create - CureWoundEffect - so design can create abilities to cure wounds.
- Create abilities to cure wounds.
- Update temporary, simple wounds UI to include all body parts.
- First Pass wound UI design.
- Second Pass wound UI design.
- Integrate updated wound UI to client.
- Entities (buildings, walls, players, etc.) now use bounding boxes instead of single points for spatial queries. We can now more reliably hit things.
As a Backer, I'd like to test the updated male Frost Giant model.
- 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.
- Update UI elements in character creation.
- First pass textures.
- Second pass textures.
- Test and update Two-handed weapon animations for giants.
- Audit current melee armor set to fit male Frost Giant for testing.
- Replace old model with updated model in game.
- Update UI elements in character creation.
As a Backer, I'd like to experience positionally-based audio and music within the world of Camelot Unchained.
- Combat music changes based on intensity of combat around player, using current audio event tech. - First pass.
- First pass audio concept: Combat intro and build music track v1.
- First pass audio concept: Heavy combat music track v1.
- First pass audio concept: Character death music track v1.
- First pass audio concept: Combat middle value music track v1.
- Second pass audio concept: Combat intro and build music track v1.
- Second pass audio concept: Heavy combat music track v1.
- Second pass audio concept: Combat middle value music track v1.
- Second pass audio concept: Character death music track v1.
- Integrate Music: Combat intro and build music track v1.
- Integrate Music: Character death music track v1.
- Create additional ornamental sounds for combat music - first pass.
- Optimize first pass sample instruments. Cut down CPU usage.
- Set up automated volume leveler in Wwise for music.
- Set up player proximity parameter for music and sfx queues.
- Set up "outnumbered" parameter. Determines number of friendly and enemy players around user's character.
- Create additional ornamental sounds for combat music - third pass.
- Create additional ornamental sounds for combat music - second pass.
- Create additional ornamental sounds for combat music - drums and percussion.
- First pass music transitioning between states.
- Attach a volume offset parameter to percussion. Controlled by amount of nearby combat.
- First pass second audio concept: Combat intro/low music.
- First pass second audio concept: Combat mid music.
- Integrate Music: Heavy combat music track v1.
- Integrate Music: Combat middle value music track v1.
- First pass sound design new ambient music instruments.
- First pass sound design: Realm-specific vocal layers for music.
- First pass sound design: Large to small ensemble switch with instruments for music.
- Translate existing large ensemble music to small ensemble orchestration.
- Sounds created by yourself vs others are treated independently, allowing for more control.
- Realm voice track variations:
- Viking voice phrases and sustains.
- TDD voice phrases and sustains.
- Arthurian voices phrases and sustains.
- Generic combat audio based on number of surrounding players:
- Create quad sound identifier.
- Attach quad sound to dark side explosion.
- Add dark side explosion to other battle events.
- Spawn NPCs and test accuracy of quad panning.
- Add Quad sound to player listener.
- Setup that quad sound to pan based on quad RTPCs from first quad sound.
- Test in game.
- Replace test sound with actual battle ambiences.
- Or add quad sound to Player Spawn but mediate it based on Action Intensity.
- Add distance filter to 10mm Looking at Me object.
- Figure out the Action Intensity ballistics.
As a Backer using an older graphics card, I'd like some love.
- Split the Light Handler in two so we can handle DirectX 10 & 11 users individually. - DirectX 10 users no longer crash entering world.
- Visual update to rendering for DirectX10 cards. - TBD
As a Developer, I'd like to work more closely with members of our Community to create the best possible UI for Camelot Unchained, through the Mod Squad!
- Create a forum section & conference room on our chat server specifically for Mod Squad.
- Add a Mod Squad permission to our backer permissions system.
- Auto assign forum based Mod Squad permissions based on account level Mod Squad permissions.
- Set up Trello boards for tracking & organization of Mod Squad work.
- Setup GitHub Organization & repositories specifically for Mod Squad.
- Prepare a web conference for the Mod Squad to clearly articulate CSE goals, practices, and procedures to the Mod Squad volunteers.
- Prepare documentation for the Mod Squad to outline goals, practices, and procedures.
- Prepare a Contributor Agreement for the Mod Squad volunteers.
As a Backer, I'd like a UI that is easy to develop mods and themes for.
- Design a new more maintainable & modern UI standard with the help of the Mod Squad.
- Create new CU library projects based on the new standard with the help of the Mod Squad.
- Refactor the current UI into the new standard with the help of the Mod Squad.
- Document core UI library to further facilitate modding.
- Document cu-events to further facilitate modding.
- Finalize and implement wounds UI prototype to replace current targeting UI modules.
- Refactor login UI
- Concept Pass 1 - New skill buttons UI and functionality.
- Concept Pass 2 - New skill buttons UI and functionality.
- Refactor announcements UI module.
- Update events system in UI library.
As a Backer, I'd like to be able to equip and use different types of melee weapon combinations. - Weapon Models
- Generic polearm: concept pass.
- Generic polearm: high poly model.
- Generic polearm: Material pass.
- Generic polearm: Low poly model
- Generic dagger: concept pass.
- Generic dagger: high poly model.
- Generic dagger: material pass with variations for pipeline testing.
- Generic dagger: Low poly model.
- Generic axe: concept pass.
- Generic axe: high poly model.
- Generic axe: Material pass.
- Generic axe: Low poly model.
- Generic spear: concept pass.
- Generic spear: high poly model.
- Generic spear: Material pass.
- Generic spear: Low poly model.
- Generic staff: concept pass.
- Generic staff: high poly model x2.
- Generic staff: Material pass x2.
- Generic staff: Low poly model x2.
As a Backer, I'd like to be able to create storm abilities.
- Component design.
- New air storm effect for testing.
- Fire storm effect.
- Earth storm effect.
- Storms have an area of effect and track.
As a Backer, I'd like to know about all the smaller enhancements the MOD Squad makes to Camelot Unchained.
- Design and implement a Kill Board, hooked to the control game and viewable on the website.
- Add a "Tips" UI element for new users entering Extended Alpha.
- Add a "Respawn at home base" on the respawn UI to facilitate testing.
- New perf HUD UI design.
- Perf HUD pages: Graphical info, network data, physics, integrated to client.
- Integrate updated version of Chromium Frameworks.
- Refactor inventory UI
- Refactor equipped gear.
- Patcher: Embedded Youtube videos in chat.
- Patcher: Embed images and gifs in chat.
- Patcher: Embed links.
- Patcher: Chat colors can be changed.
- Patcher: Bold and Italic font using markdown syntax.
- Patcher: chat room remembers previous rooms and will autojoin upon re-login.
- CSE - Create a thank you page on the CU website for Mod Squad!
- Block out character creation UI.
- Add markdown and colors in chat.
- Join room dialog.
- More icons added to the ability builder.
- When respawning in game, select from closest three spawns nearest player and home.
- Add uninstall confirmation to patcher.
- Add command line option to patcher.
- Add share rooms link in chat.
- Fix the scrolling bug in chat.
- Show access level next to server name in patcher.
- Add fix for NaN in server counts.
- Fix download time counting.
- Remember last chat channels you were logged in with chat and log back into them.
- Fix issue with PM for certain names that would open two tabs in patcher chat.
- Fix display of chat room name in the join room dialog.
- Organize user display list & show CSE at the top.
- Highlight select words and your name in chat text.
- Highlight CSE names in chat.
- Prevent strings like C#? from being room links.
- Allow @name to work with highlighting.
- Allow clicking on a name anywhere in chat to send a PM.
- Tab completion of nickname entering for PMs and in chat.
- Basic temporary crafting UI.
- Refactor building mode toggle button UI.
- Show percentage on install/download progress.
- Set focus on the correct input field when patcher loads.
- New C.U.B.E. UI UX design.
- C.U.B.E. UI Block & Blueprint selector Pass 1
- Bug fix where 'unread messages' notification was not going away.
- Auto-join the new private message "room" in chat when you whisper someone.
- Added history to patcher chat which can be scrolled through using the up/down arrows from the chat input area.
- Fix auto-scrolling bug in patcher chat.
- Allow new lines and multi-line input in chat.
- Set focus to the text input on the join room modal when it opens.
- Verified PMs notify the user of new messages.
- Fix room name parsing to eliminate duplicate parsing. Prevents some false positives and better performance
- Fix error message if you have a failed log in, it will show success instead of fail when you try again
- Pause all video playback on the patcher when launching the game
- Player, Enemy Target, Friendly Target module clean up -- hide unused things, display percent update style
- New C.U.B.E. UI UX design.
- Health and Party bar UX design.
- Blueprints API added to CU UI library.
- Fix Perfhud page select, add minimize and close.
- Set up npm scripts for building ui modules on osx and linux.
- Sound effects for all the buttons in the patcher
- Fix server selection locking up channel select sometimes on the patcher
- Remember last character & server selections on the patcher
- Sort channels and servers. Hide localhost from showing up for non-CSE users on the server list
- Sort characters listed on patcher by last login date and display last login date
- Auto-select new character after creation so that you can click play and immediately log in to the newly created character.
- Add character deletion to the patcher
- Redesign character selection & creation side panel on the patcher. Now has buttons for create, delete of characters
- Fix formatting for long server names.
- Prevent exceptions when sound is missing on the patcher
- CSE Message of the Day UI module added to the game to display upon login
- Scale and center news images on patcher.
- Scale and center news images on patcher.
- Display last login for characters below name on the patcher -- `Last Login x days ago
- Fix bug in patcher where setState was being called from within a render method.
- Add setup npm script to patcher.
- Move attribute names inline with points, and change text size so that they look a bit better on character creation.
- Fix padding issues with attribute point distribution style on character creation.
- Fix issue with scroll bars on dropdown menus in the patcher where you would occasionally get a horizontal scroll bar when you shouldn`t. Fixed some styling issues with colors. Long name overflow set to use ellipsis rather than extend, so as not to mess up
- Added new CSE-made emoticons to chat on the patcher!
- Scrolling fixed for chat settings panels.
- Make the compass perform better and not consume so much CPU.
- Add character naming rules client-side enforcement on character creation widget.
- New Building UI Pass 1 & 2.
- Building UI code structure pass (Pre-Pass).
- Set correct Sass importer package for game/HUD and patcher.
- Hide selected server in the server list on the patcher.
- Building UI pass 3 - moveable/resizeable building widgets.
- Style server select on patcher to match the rest of the sidebar.
- Covert crafting module to a widget within the HUD module.
- Fix input ownership bug with reload UI command.
- Write Pull Request guidelines for CU Github Wiki.
- Modifications & Bug fixes for hud movement & scaling.
- Fix character auto-select on patcher.
- Getting started points - Github setup, Trello setup, chat setup.
- New chat design concept.
- Simple temporary help window for HUD editor.
- Fix width of character name input so that it does not cover attribute buttons on smaller resolutions
- Add wounds to health bars.
- Add minimum value changes for the "flashing" animation on health / stamina / blood bars so that they don't constantly flash when regen is active.
- Convert compass to a game HUD module widget.
- Hero videos are sorted by date, newest first.
- Save/load sound and music settings from localStorage.
- Handle null case when API server is misbehaving.
- Convert MOTD to a game HUD module Widget.
- Use WebkitClipPath rather than -webkit-clip-path for style property.
- Launcher UX design improvements.
As a Sound Designer, I want to customize ambient audio based on dynamic game parameters.
- Ambient environment sounds triggered by time of day.
- First Pass Sound Assets: Generic day and night ambient sound.
- Player death at re-spawn triggers sound event.
- Other players' deaths triggers sound event.
- Player spawn triggers sound event.
- Other players' spawn triggers sound event.
- Basic support for audio feedback when taking damage.
- Player projectile cast, flight, and impact trigger sound events.
- Terrain angle triggers sound.
- Ambient environment sounds triggered by changes in the weather.
- First Pass Sound Assets: ambient rain sound for appropriate weather states.
- Player elevation hooked to sound system.
- Player race and Realm hooked to sound system.
- Register additional Wwise plug-ins: McDSP ML1, FutzBox, Wwise Compressor, Stereo Delay, Matrix Reverb, Room Reverb, Parametric EQ, PitchShifter, Soundseed Air, and many more!
- Audio events for multi-part ability animations.
As a German Backer, I'd like to visit the German version of the Camelot Unchained website.
- Language selection added to site header.
- Find a group of awesome German speaking Backers to assist us!
- Primary artwork containing text translated and added.
- Site navigation text translated.
- Secondary artwork containing text translated and added.
- Foundational Principles translated.
- Primary game information translated - About, Realms, Races, Classes, BSC docs.
- All lore translated.
- Recent news articles translated.
- Stretch Goals translated.
- All newsletters translated.
- C.U.B.E. page translated.
- Alpha Manual translated
- Class Reveal Audits:
- Arthurian:
- Abbot
- Blackguard
- Black Knight
- Dread Caller
- Flame Warden
- Minstrel
- Physician
- Specter
- Veilstalker
- Vikings:
- Arisen
- Child of Loki
- HelBound
- Mjölnir
- Shadow Walker
- Skald
- Slaughterwolf
- Stonehealer
- Wave Weaver
- Winter`s Shadow
- TDD:
- Blessed Crow
- Black Rider
- Dark Fool
- Druid
- Empath
- Fianna
- Forest Stalker
- Morrigan
- Red Cap
- Wisp
- Second pass audit - races and Realms:
- Arthurian
- TDD
- Vikings
- Most Recent news articles translated.
- Art with text translations complete.
- Second pass audit all new translations.
- Final review and translation fixes/updates.
As an Italian Backer, I'd like to visit the Italian version of the Camelot Unchained website.
- Language selection added to site header.
- Find a group of awesome Italian-speaking Backers to assist us!
- Primary artwork containing text translated and added.
- Secondary artwork containing text translated and added.
- Site navigation text translated.
- Foundational Principles translated.
- Primary game information translated - About, Realms, Races, Classes.
- All lore translated.
- Recent news articles translated.
- Stretch Goals translated.
- All newsletters translated.
- C.U.B.E. page translated.
- BSC docs translated.
- Alpha Manual translated.
- Class Reveals Translated.
As a Backer, I'd like to play in a procedurally-created environment. - Part Three
- Quality-of-life improvements to terrain mod editor.
- First Pass: Beach mod.
- Terrain Warp mod improved to separate positive and negative vertical warping.
- First Pass: Impostor system. (Objects at distance draw as single poly cards.)
- Impostor system influenced by object size.
- Improved rendering of alpha - trees and grass look softer and look more visually accurate at distance. - Nvidia Cards
- Client has collision for terrain and spawnables.
- Server has collision for terrain and spawnables.
- Client is "infinitely" scalable.
- Server and client reload automagically. Yes...that's a word.
- New Terrain Editor allows for hand placement of assets.
- Client is notified when terrain is updated.
- Client GetTerrainElevation - Smooth out physics, especially below 0.
- Server replaces spawn points during updates.
- Better handling of player position when terrain is updated. - Players don't fall through the world.
- Second Pass: Improved. Terrain collision generation.
- Improve performance when generating object collision.
- Improve texture stretching between points with a high degree of vertical distance between them.
- Remove additional instances of objects being drawn. - Better frame rate!
- Terrain collision more accurate to visual geometry.
- Third Pass: Improved terrain collision generation.
- Improve material overlapping artifacts.
- Terrain changes mods based on capture point ownership.
- Optimize mod loading and unloading during Realm ownership transitions. - (Memory Allocation Refactor)
- Don't allow players to connect while server physics is still starting up.
- Fix Models 2.0 system so multiple models can share the same source without drawing multiple items in world. - Better frame rate! (Bushes test in update.)
- Thread terrain update change to greatly improve performance.
- Improve materials overlapping artifacts.
- Assets used in terrain mods display VFX and lights correctly.
- Adjust how we calculate impostor groups so tall, skinny objects don't always impostor when miles away.
As a Developer, I'd like to have the tools and knowledge necessary to create terrain Biomes that change with Realm territory control.
- Define first test Biome with Realm variations - Concept Art
- First pass Biome asset list definition: Identify asset list to be built, with concept and photographic reference.
- First Pass: Grass and flower sets for testing.
- Improvements to grass assets - Costs 2/3rds less, but 2x as dense!
- Environment models carry vfx and lights in new terrain, using procedural placement.
- New Terrain Editor allows for hand placement of assets.
- Hand-placed assets can influence the terrain mods.
- Terrain has a sense of Realm ownership, and can be changed by devs for testing.
- Biomes can influence lighting and shadow parameters, and attenuate based on player's relative position.
- Biomes can influence ambient occlusion parameters, and attenuate based on player's relative position.
- Add "has collision flag" to assets in editor for easier verification in client.
- Placeables and spawnables can turn into entities: control points, resource nodes, building plots, etc.
- Improve editing of terrain: Multi-select, drag-select, batch modify.
- Height flattening mod.
- Terrain smoothing mod.
- Sound can be attached to models and placed in the world.
- Different LODs of terrain segments properly connect, leaving no evident seams between them.
- Determine a solution to more than three overlapping materials per vertex on terrain. (Fix the white seams in the terrain.)
- Update tech to support attached sounds on models placed in world.
- Placed assets can change terrain mods.
As a Backer, I'd like to test the updated male Human model.
- Model high poly sculpt.
- Create textures.
- Model and rig low poly model.
- Import and test model parts.
- Replace old model with updated model in game.
- Update UI elements.
- Second pass texture improvements.
- UV coordinate system updated to new layout while maintaining existing character UV layouts.
- Update UV coordinates of Human Male to optimized layout for LODs.
- Update base mesh with better underwear.
- First pass UI elements for character creation - Arthurian.
- First pass UI elements for character creation - Viking.
- First pass UI elements for character creation - TDD.
As a Developer, I'd like to have a library of sounds available to convey player movement, race, and gear worn, for when the tech becomes available during Beta.
- Player foot steps trigger sounds event.
- Player foot steps select from a library of generic footfalls in game.
- Player foot steps on incline trigger a sound event.
- First Sound Pass: falling rocks for players on incline.
- First Sound Pass: Leather foley movement sounds v1
- First Sound Pass: Equipped wooden gear movement sounds
- First Sound Pass: Equipped heavy armor gear sounds.
- TDD SFX: Light armor cape foley.
- Viking SFX: Light armor cape foley.
- SFX: Leafy footsteps v1
- SFX: Leafy footsteps v2
- SFX: Tall grass footsteps.
- SFX: Short grass footsteps.
- SFX: Twigs footsteps
- SFX: Mud footsteps v1
- SFX: Mud footsteps v2
- SFX: Wooden plank footsteps.
- SFX: Rocky footsteps.
- SFX: Deep water footsteps.
- SFX: Sand footsteps.
- SFX: Additional slow and fast armor movement variations.
As a Developer, I'd like to have a strong library of sounds to convey player movement.
- First Pass Sound Assets: Generic leather boot footsteps ver.01.
- First Pass Sound Assets: Generic leather boot footsteps ver.02.
- First Pass Sound Assets: Generic heavy-armored boot footsteps.
- First Pass Sound Assets: Stone feet footsteps.
- First Pass Sound Assets: Dirt terrain.
- First Pass Sound Assets: Short grass terrain.
- First Pass Sound Assets: Crunchy grass terrain.
- First Pass Sound Assets: Tall grass terrain.
- First Pass Sound Assets: Brush/Bushes terrain.
- First Pass Sound Assets: Rock/Gravel terrain.
- First Pass Sound Assets: Generic foley for falling rocks when climbing an incline.
- First Pass Sound Assets: Leather gear movement foley.
- First Pass Sound Assets: Heavy armor movement foley.
- First Pass Sound Assets: Wooden gear movement foley. (Shields bouncing.)
- First Pass Sound Assets: "Leafy" footsteps.
As a Backer, I would like to have information about the classes of Camelot Unchained.
- Silhouette artwork for 'deck of many classes' cards.
- Silhouette reveal concept art pass - trio #3
- Design content for 'deck of many classes' cards.
- Website implementation for 'deck of many classes.'
- Update website with class reveal voting page.
- Silhouette reveal concept art pass - trio #1
- Silhouette reveal concept art pass - trio #2
- Silhouette reveal concept art pass - trio #4
- Silhouette reveal concept art pass - trio #5
- Silhouette reveal concept art pass - trio #6
- Silhouette reveal concept art pass - trio #7
- Silhouette reveal concept art pass - trio #8
- Silhouette reveal concept art pass - trio #9
- Silhouette reveal concept art pass - trio #10
As a Backer, I'd like Camelot Unchained to have ability-based sound effects. - Integration - First Pass
- First Sound Pass: Water wave ability with 1sec build-up - 24 variations
- First Sound Pass: Flame abilities cast start sound v1 - 2part sound 6 & 7 variations
- First Sound Pass: Flame abilities cast start sound v2 - 2part sound 5 & 3 variations
- First Sound Pass: Healing abilities cast start sound v1 - 5 variations
- First Sound Pass: Melee abilities cast start sound v1 - 2part sound 3 & 3 variations
- First Sound Pass: Water abilities cast start sound v1 - 4 varitions
- First Sound Pass: Flame Projectile explosions v1 - 14 variations
- First Sound Pass: Stone Projectile explosions v1 - 15 variations
- First Sound Pass: Water Projectile explosions v2 - 10 variations
- First Sound Pass: Water Projectile explosions v3 - 24 variations
- First Sound Pass: Generic projectile whoosh sound as projectile passes by.
- First Sound Pass: Water ability sustains.
- First Sound Pass: Fire ability sustains.
- First Sound Pass: Earth ability sustains.
- First Sound Pass: Healing ability sustains.
- First Sound Pass: For new 5-part ability event hooks: Lifedrain Build: 11 variations
- First Sound Pass: 5-part ability event hooks: Ability start Lifedrain: 5 variations
As a Developer, I would like more insight into the state of the server.
- Set up a central location to handle the incoming metrics.
- Servers will report metrics about the machine like CPU, Memory, networking etc.
- Servers will provide detailed metrics of hotspots.
- Servers will report very high level game metrics.
- Servers will report game metrics like what actions have run.
- Setup a display of said metrics for analysis.
- Analyse server metrics to find issues in the code.
- Set up automated triggering of certain metrics so we can solve problems before they happen.
- Add client command specific metrics.
- Add per core metrics.
- Add specific action metrics.
- Add slash command metrics.
- Add AI specific metrics.
- Add metrics to UserProxy.
- Improved the metric display by switching from basic Graphite to Grafana.
- Find and fix lurking issues now that we have an awesome server engineer!
- Update metric backend to be much, much faster!
- Fix time metrics for better data logging.
- Add downstream network logging.
- Improve ease of debugging UserProxy issues by adding a build number to it's output.
- Add feature to server config to force players to spawn when connected to a single server.
- Increase ServerMessenger's maximum sendStorageCache.
As a server Developer, I would like the user proxies to dynamically scale.
- Get CPU metrics back from servers about how much load the server is under.
- When picking a user proxy for a user, use the server load metric to pick which user proxy to use.
- When a user proxy is full stop connecting players to it.
- When all user proxies are med-high load, start spinning up another user proxy.
- When total use of user proxies is low enough, pick the lowest-load user proxy and migrate users to other user proxies.
- Ensure proxy management lists do not get out of sync.
- Terminate proxies only if they time out while spinning up.
- Make the ProxyManager push debug data to tags so we can see in AWS what the proxy is doing.
As a Backer, I'd like to test the new male luchorpan model.
- Model high poly sculpt.
- Model and rig low poly model.
- Create textures.
- Import and test model parts.
- Character is selectable in game.
- Update UI elements in character creation with new model renders.
- Audit current melee armor set to fit male luchorpan for testing.
- Update base mesh with underwear.
As a Backer, I'd like characters to have vocalized combat, damage, and death reactions.
- First Sound Pass human male sound assets: 61 exertions.
- First Sound Pass human male sound assets: 27 damage grunts.
- First Sound Pass human male sound assets: 23 death screams.
- Upload vocal assets for testing and sort by flinch, exertion, grunts, etc.
As a Developer, I would like easily searchable server logs that are the front line of finding problems.
- Setup elasticsearch + kibana.
- Route logs into Elasticsearch and Kibana.
- Add MANY MANY more logs to the system - TBD
- Update our logger to accept arbitrary objects for easy fast logging of detailed data.
- Move all logging to Kibana for easier searching of logs.
- Add context to AWS proxy log messages
- LogContext for UserConnections
- Task logging contexts, including updater actions.
- Break out timing by message type.
- Add the message size to metrics.
As a Designer, I would like to know gameplay information about the state of the game.
- Find a good append only data store.
- Find a tool to search it with relevant questions in a mostly natural way.
As a Server Developer, I would like to build and spin up custom servers for small discrete tasks, such as processing buildings or running AI.
- Build a tiny core set of functionality that includes service discovery, easy message definition, easy message handling, robust fast multicore code by default.
As a Developer and Backer, I'd like to see improvements in lighting and rendering.
- Textures export in SRGB.
- Client has gamma correct rendering and lighting
- Alpha coverage density fix - Foliage looks better.
- Combine materials and shaders.
- Automate the process of selecting appropriate texture compression.
- Automate the process of combining special texture channels.
- Automate most of the conversion to Gamma correct texture pipeline.
- Clean up texture workspace to one-off images can be created under different settings.
- Update model viewer in editor.
- Update material assignment overrides in editor.
- Optimize duplicate constant variable setting. (Speed up shadows and rendering.)
- Add rebuild all textures option for future changes.
- Get DX11 (bc7) only texture path working.
- Add time of day to particle viewer.
- Update highlight material to handle new format. (C.U.B.E.)
- Add shader builder support for targetting different levels of D3D Hardware with different versions of each shader.
- Added Shader builder support for removing unused shader variants.
- Add 4bit alpha dithering to improve GPU performance of masked objects on ATI cards.
- Convert to higher-quality normal mapping format.
- Refactor mesh renderables to reduce render cost of non-player objects such as trees.
- Realign world to remove z-fighting and precision artifacts. (Fixes obvious geo flickering on player characters.)
- Investigate OIT (Order Independent Transparency) as a solution for rendering improvements
- First pass testing and fixes.
- Improve lighting between dark and bright areas.
- Order Independent transparency system.
- Offscreen buffer for transparency pass.
- Depth and color buffer resolve.
- Normalize blending between additive and diffuse particles.
- Change particle OIT blending to post multiplied.
- Fixed impostors-with-children crashing.
- Fix particle time scale to allow zero.
- Functionality for checking parentage for spawns and particles
- Split targetting icons into their own shader
- Hook up functionality for checking parentage for spawns and particles
- Move out projectile targetting from the particle shader
- Added IsLooping to ParticleRenderable to only stop looping particle effects
- Set render draw distance to 4K
- Update particle pivot points to take into account for rotation and scale
- Adjust cloud and scene fog, make water plane larger for farther clip plane
- Adjust particle alignment in geometry shader.
- Provide more control over particle velocity inheritance.
- ParticleResources pre-cache the GPU particle def for every particle on load.
- Particles only update the parameters that are animating.
- Refuse to load particles that appear to have internal data alignment issues.
- Improve particle Draw on Ryzen architecture.
- Optimize particles by packing vertices.
- Don't draw invisible particles.
- Move computed HDR eye adjustment out of being manually set with each shader into a global setting.
- Prevent light rays from showing up after turning away from light source.
- Prevent gizmos from casting ambient light into the world.
- Prevent gizmos and nameplates from showing up in reflections on shiny surfaces.
- Fix square artifacts in shadows on semi-transparent surfaces.
- Prevent shadows from flickering during any kind of move or rotation.
- Limit the maximum range of shadow maps and keep a similar brightness across cascades.
- QueueForRenderable returns whether or not the Renderable actually rendered anything.
- Particles will only render into the environment map if they're in the sky.
- Move SampleMask to a shared header for Prepass and Shadow pixel shaders.
- Shadow performance improvement - don't draw invisible cascades.
- Changes to render accumulation so that views keep track of the extents of the visible area where they are rendered.
- Change RenderableSubdivider to deactivate differently so we don't permanently destroy our surfaces.
- Zone splits things onto its root renderable for adding/moving zone objects.
- Update impostors on a terrain segment inside the segment's context.
- Refactor the impostor code to use Contexts better.
- For spawning child particles, interpolate the parent's position using a quadratic curve.
- Particles can have spawn rate that's proportional to distance travelled instead of time elapsed, to create spacing along trails.
- Calculate and store highest priority value for models in Character Manager.
- "Reduce the size of the verts used by characters to save on client memory usage."
- Don't downgrade a character into overflow until we actually need its assets.
- Pack texture indexes into UShorts to prevent overrun
- Improve speed for editing particles in locally-built client
- Factor in the light radius to the bounds of our system to prevent randomly turning on/off when particles are larger than the system they are a part of.
- MeshCombiner improvement - don't queue the same buffer multiple times for multiple accumulation passes in shadows.
- Fix flicker when building higher LOD character through Character Manager.
- Don't change a model's pooled meshes outside the render context lock in the Character Manager.
- Don't try to render an impostor texture if its renderable isn't ready to render.
- Use a flag parameter for keeping track of queued status on a MeshBufferPool to slightly optimize shadows.
- Expose BlurRadius through a build variable.
As a Backer, I'd like to test the male Silverhand model.
- Concept pass 1
- Concept pass 2
- Create base body concept and worksheets.
- Model high poly sculpt.
- Create textures.
- Model and rig low poly model.
- Import and test model parts.
- Character is selectable in game.
- Update UI elements.
- Concept pass 3
As a Backer, I'd like to test the female Silverhand model.
- Concept pass 1
- Concept pass 2
- Create base body concept and worksheets.
- Model high poly sculpt.
- Create textures.
- Model and rig low poly model.
- Import and test model parts.
- Character is selectable in game.
- Update UI elements.
- Concept pass 3
As a Backer, I'd like to have more payment options in the Camelot Unchained store.
- Investigate alternative methods and present action plan.
- Add alternative payment method(s) to CSE store.
- Test the living %*&! out of it.
As a Backer I'd like a patcher to not only update my game, but also give me the most important news and updates, get support, chat with the community and look awesome while doing it!
- Design new patcher layout: Primary interface, on-patcher chat, and news and patch notes.
- Tech: Full background html content "slider."
- Tech: Channel and server select.
- Tech: Character select.
- Tech: Channel installation and download funtionality.
- Tech: Website and store links open in user's default browser.
- Tech: Menu bar for patch notes, news, website, store, chat links.
- Tech: Menu bar for support.
- Chat: XMPP websocket chat library developed for CU chat based on node-xmpp.
- Chat: UI developed according to design.
- Chat: Save settings and Channel selection between patcher sessions.
- Patch notes: Patch notes made available through REST API.
- News & Patch notes: Build news and patch notes layout according to design.
- News & Patch notes: Patch notes and news filtering based on date and access level.
- Pass one support: Simple form to email CSE Support.
- Twitch: Icon displayed when CSE is livestreaming on Twitch.
- Twitch: Embedded Twitch player to watch Twitch stream directly on the patcher when CSE is streaming!
- Alerts: Alerts added to patcher to display important information to users, such as the start or end of a test.
- Alerts: Update old alert system to allow for more flexibility in alert messages.
- Alerts: Update alert messages in real-time on the patcher; previous system required a patcher restart to get an alert, this one will not.
- Settings: Allow custom download settings, bandwidth, audio options, etc...
- Sound: Interface clicks & effects for button interactions.
- Sound: Download complete sound.
- Sound: Play button clicked sound.
- Sound: First Pass - Background music!
- Sound: Second Pass - Realm-based background music determined based on your selected character.
- Set up new standalone Web API server.
- Deploy initial version of the new Web API server to handle patcher alerts, server info, and characters.
- Implement SSL support for the new Web API
- Initial Web API documentation website online and served from the new API Server.
- CSS audit to current layout.
- First Pass new splash screen 1.
- First Pass new splash screen 2.
- News page displayed from website.
- Additional CSS improvements at initial launch.
- New splash screen 3.
- New splash screen 4.
- Add animated splash screens
- New splash screen 2.
- New splash screen 3.
- New splash screen 4.
- New splash screen 5.
- New splash screen 6.
- New splash screen 7.
- New splash screen 8.
- New splash screen 9.
- Add permission levels to patcher to control what user sees.
- Additional feedback on file download/validation progress.
- Implement way to capture minidumps on 64bit machines.
- Sound: Second Pass - Background music!
- New splash screen 10.
- New splash screen 11.
- New splash screen 12.
- New splash screen 13
- Reduce memory usage on patcher.
- Patcher uses CU themed emoticons.
- Art: CU themed emoticons.
- Use new chat library within the patcher & game client.
- Update patch build process for easier debugging of the patcher with npm run debug command to launch a patcher using the currently compiled source.
- Create new background video of new title treatment for CU.
- Create SFX and music for new title treatment.
- Add team reveal vid to patcher.
- Adjust layouts of entry fields.
- Tweak button and input field colors.
- Sort character selection by most recently used.
- Communicate Backer level when patcher is launched
- Improve loading bar visuals, to better convey where in the install process someone is.
- Update experimental patcher to account for new UI changes
- Let go of unneeded websocket connections in chat.
- Add "Play Offline" to patch client and update sounds.
- Update the patch client to support providing a unique server address per character on log-in.
- Grant permissions to Beta2s to install the patch client.
- Grant permissions Beta2s to use chat.
- Chat: Reconfigure log4net logger.
- Deploy new patch server in preparation for combining default and experimental patchers.
- Provide feedback when character deletions fail.
- Use the last updated time passed by the client via protobuf
- "Storing downloaded files that are waiting to get decompressed into a memory-mapped portion of the system pagefile."
- Optimize first asset load of the new patch server by reducing number of queries.
- Add retries for connecting to chat server to server startup tasks.
- Implement CU bot for Discord to communicate server status
- Update Discord server bot to accept parameters.
- Update PatchNote ID query argument to be a string instead of an int.
- Visual Update: First pass styling concept art.
- Visual Update: Second pass styling concept art.
- Visual Update: CSS complete.
- Visual Update: New server and character selection implemented.
- Visual Update: Final implementation complete.
As a Developer, I'd like the Camelot Unchained website to convey its main features in a more concise and visually impressive manner.
- Determine focus of new direction through R&D.
- Design new homepage layout.
- Design secondary, core game pages.
- Design tertiary pages.
- Complete Realm pages.
- Complete Viking Race pages
- Complete Arthurian Race pages
- Complete TDD Race pages
- Edit primary gameplay vid for homepage background.
- Animate Arthurian character background.
- Animate TDD character background.
- Animate Viking character background.
- Update pass on available media for media page.
- Complete media page.
- Complete C.U.B.E. page.
- Complete news page.
- Complete new tertiary pages - BSC, Lore, Stretch Goals, Newsletters, etc.
- Provide new imagery of existing races that have been rebuilt - Giants, Luchorpán, etc.
- Update homepage imagery with updated race models.
- First Pass general asset integration prep.
- Paint over pass of pre-existing, old models to bring them closer to final goal, which is not yet implemented.
- Concept pass: Mobile view all pages.
- Make site responsive to different screen sizes, mobile.
- Complete homepage.
- Complete About Camelot Unchained page.
- Alpha and IT Backer feedback addressed.
- Second pass tertiary artwork on site updated with new models.
- Second pass tertiary race imagery edits.
- Second pass mobile responsiveness.
- Update mobile view to include option to play background vid.
- Make new site live.
- Improve site load times.
- Add CU comics page.
- Add Picts race to Arthurian races section.
- Update Galleries.
- Update Scoreboard used in testing to work better for mobile.
- Design refactor of media page to better support highlights, as well as supporting scale of galleries throughout production.
- Implement refactor of media page and update images on site.
- Add improved version of CU chat to website.
- Update News page to replicate patcher version.
- Create new media pages using new gallery plugin.
- Audit screenshots before pushing new media pages.
- Update videos page in media to use new layout and plugin.
As a Developer, I'd like to reward our Backers for their continuing support of Camelot Unchained.
- Conceptualize system.
- Discuss with Backers.
- Create first pass Backer Rewards.
- Concept account layout in store view.
- Create account layout in store view.
- Create Backer Rewards info page.
- Create icon visuals for all rewards.
- Update rewards in DB.
- Integrate into account api.
As a Backer and Developer, I'd like some temporary vfx for testing new combat mechanics and tech.
- Plan vfx needs as first pass solution for combat testing.
- VFX: Blood drain.
- VFX: Stamina drain.
- VFX: Blood regeneration.
- VFX: Stamina regeneration.
- VFX: Generic poison effect.
- VFX: Generic disease effect.
- VFX: Three stages of an overheated effect.
- VFX: Three stages of cold effect.
- VFX: Attack armor penetration success.
- VFX: Attack armor penetration failure.
- VFX: Attack blocked/deflected.
- VFX: Generic offensive buff applied.
- VFX: Generic defensive buff applied.
- VFX: Generic trigger buff applied.
- VFX: Generic periodic buff applied.
- VFX: Generic offensive debuff applied.
- VFX: Generic trigger debuff applied.
- VFX: Generic defensive debuff applied.
- VFX: Generic periodic debuff applied.
- VFX: Generic offensive buff persist.
- VFX: Generic defensive buff persist.
- VFX: Generic trigger buff persist.
- VFX: Generic periodic buff persist.
- VFX: Generic offensive debuff persist.
- VFX: Generic defensive debuff persist.
- VFX: Generic trigger debuff persist.
- VFX: Generic periodic debuff persist.
- R&D better solution to flame cards using After Effects.
- Update old vfx with improved flame cards.
- VFX: Health regeneration per body part.
- VFX: Generic electricity effects.
- VFX: Spore Clouds
- VFX: Electrical effects on swords.
- VFX: Electrical effects for mace.
- VFX: Generic Mist.
- VFX: Wound trauma head, arms, body, and legs.
- VFX: Heal burst cone shape.
- VFX: Heal projectile alternate version.
- VFX: Torso electrical effect.
- VFX: Improve default torch.
- VFX: Petrify speed debuff.
- VFX: New ability "Guard" for testing purposes.
- Second pass wall torch VFX.
As a Developer, I'd like to see improvements in the editor to facilitate my work.
- Set up a Delete repository in the editor so work is not gone forever.
- Add build var to the client to not draw the water plane by default in viewer.
- Add ability to delete particle spawners in particle editor while retaining the ability to recover them as needed.
- Mesh group materials: Ability to group select and edit material assignments.
- Full asset name is visible in rollouts without adjusting UI by hand. (Columns autowidth)
- Show alert or don't allow save, if there are any unassigned mesh groups.
- Improve system of assinging multiple items to a character for testing purposes.
- Item changes on characters update on server.
- Improve system of assigning animation clips to skeleton.
- Uniquely identify mesh groups upon import of models.
- Add focus key for camera in viewers.
- Add grid box to viewer.
- FBX import audit to identify bones without weight information.
- Import file validation.
- Editor will refuse imports of incorrect file types.
- Update terrain editor to work with recent changes to terrain generation.
- Builder and editor messages now display at bottom of editor.
- Don't let materials get through with deleted image resources.
- Add success messaging to texture build.
- Add tool to delete textures with invalid image references.
- Handle cases of old textures coming in with invalid channels.
- Add texture auditing to remove cases of malformed textures.
- Update texture builder for new materials.
- Blocks can be sorted by material.
- Bad materials in editor turn pink in client.
- Small improvement to server start time.
- Add a depiction of the Enterprise in ascii art when the editor starts.
- Add scaling option to material settings that apply to all textures used in a material.
- Simplify adding blocks and their substances by adding a block and substance editor.
- Bug fixes to animation clips getting into a locked state on the DB.
- Add channel sorting to editor feedback.
- Sounds can be added to placeable assets. (Ex: torches can have flame loops, and a beehive can have buzzing bee sounds.)
- Improve data base query speed on assets with some programmer magic.
- Add the environment map lighting to the world editor.
- Water plane remains with the player, making it easier to audit much larger maps.
- Builder output provides more feedback when a build fails.
- Editor now refuses to allow used assets to be deleted.
- "Clear Value" added to anim clips editor.
- Texture preview updated to work with PBR update.
- Create an editor for sound banks to reduce re-sending large sound bank files when only a portion is updated.
- Terrain editor properly shuts down after use.
- Terrain editor nodes assigned and display a number for ease of debugging.
- Adjust editor rendering to account for new lighting changes.
- Add way to verify, in all editors, WYSIWYG.
- Add feedback button to channel copy webpage.
- Create utility function to set all cogs and fbx files to a different build state.
- Add front end to build server.
- Add a command line utility for copying channels.
- Create web tools project for browser-based tool chain.
- Add ability to reset all editor layouts from the main menu, in case workspaces stop appearing.
- Add editor option to tell the build server to rebuild.
- Improve gameplay-config-xml-editing experience to validate that the file parses/compiles properly.
- Enter map coordinates directly, rather than needing to scroll through values.
- Ability to adjust far clip plane in editor
- Add button to editor to suppress console spam.
- Editor lets the user know when they aren't running the patcher.
- Add dropdown box to select the bone on the model to attach the effect.
- Move the editor to use the new DefRef-based cog snapshot API.
- Allow restoration of default layout without closing workspace or editor.
- Add ability to copy and paste spawn and particle tree fragments, including in multiple editors
- Update Material and Image Set editors to use shared controls
- Async load particle and spawners.
- Ensure temp particles use the same ResourceID for the different build steps.
- Handle the fact that users can make edits to a particle faster than the particlebufferdef can be built.
- Track last user to edit a cog through the editor, based on computer name.
- Ensure sound editor saves the project file before all of the cogs.
- Inform editor users when the editor is patching.
- Add a "missing model" resource ID to communicate something obnoxious when a model breaks.
- Handle edge case of a skeleton having no animation clips when processing.
- Handle bad DLL distribution at editor startup.
- Shift+click while clicking trash item will permanently delete cog.
- Have tag changes populate to any connected editor.
- Add tags to trash items that are safe to delete.
- Add dependency mapping.
- Add automatic filtering to all grid views.
- Add tags to collections.
- Add editable tags to editor.
As a Backer, I'd like to see the world begin to be propped out with generic fantasy items. - Set #6.
- Create documentation for assets.
- Viking 2 wheeled wagon v1
- Viking 2 wheeled wagon v2
- Viking 2 wheeled wagon v1 - loaded.
- Viking small metal working station on wood stump.
- Viking cooking pot.
- Viking 4-wheeled, larger, transportation wagon.
- Viking generic bench, new and old.
- Viking bench, new.
- Viking generic chairs.
- Small dragon on pillar statue.
- TDD - Storage chests.
- Viking small metal working station on wood stump. - alt version.
- Adapt "dragon-on-pillar" statue to three variations for control game marker.
- TDD - Storage chests.
- TDD - basket thingie.
- Additional various "scraggly" bushes.
- Ballista model for siege weapon testing.
- Generic dead pine tree on ground v1
- Generic dead pine tree on ground v2
- Generic dead pine tree on ground v3
- Generic dead pine tree stump v1
- Generic dead pine tree stump v2
- Generic boulder clusters - small, medium, large, as well as individual boulders.
- TDD - Egg shaped storage container
- TDD - assortment of boxes.
- TDD - different sizes of barrels.
As a Backer, I'd like to play in a procedurally-created environment. - Part Four
- Terrain Realm ownership can be changed by devs for testing.
- Overlapping terrain collision with internal spaces.
- Merge server/client physics entities.
- Concurrent terrain collision loading - pass 3
- Improve collision loading for spawned models.
- Improve grass LOD'ing: Use fewer, bigger, denser cards at distance.
- Second pass grass art resources to improve frame rate and density.
- Optimize placeable collision generation by ignoring assets without collision.
- Big code restructure to allow for environment maps for bounce lighting.
- Things such as trees and bushes can be tinted to improve visual variety of environment assets.
- Re-thread terrain generation to happen asynchronously in the background.
- Improve Realm control point changes seamless.
- Make several smaller improvements to terrain generation.
- Improve terrain editing in editor, to reduce hitching and pauses.
- Better handling of player position when terrain is updated. - Players don't fall through the world.
- Allow impostors to be aligned to any axis for terrain placement.
- Fix missing impostor renderables from terrain; alignment would make them disappear or not be aligned.
- Tangent normals for terrain aligned objects are correct, avoid normal mapping artifacts at high angles.
- Create Plateau Mod
- Second pass plateau mod.
- Move ZoneController objects from a lock to a context.
As a Developer, I'd like to improve some of our fundamental tech to improve client performance.
- Allocate memory from multiple threads without thrashing.
- Better thread management: Specify priorities better to safely handle background tasks and improve client performance.
- Update server to 64bit.
- Patcher - Create a separate process management application that can run and capture debug dumps from our applications in 32 bit and 64 bit
- Patcher - Allow channels to support both 32 bit and 64 bit applications
- Patcher - Provide hooks so users can select if they want to run a 32 bit or 64 bit application
- Audit Patcher update and fix minor existing bugs.
- Patcher maintains both 32bit and 64bit client.
- Reduce memory usage on client when passing assets from patcher.
As a Backer, I'd like to test the male Pict model.
- Concept pass 1
- Concept pass 2
- Create base body concept and worksheets.
- Create textures.
- Import and test model parts.
- Make character selectable in game.
- Update UI elements.
As a Backer, I'd like to test the female Pict model.
- Concept pass 1
- Concept pass 2
- Create base body concept and worksheets.
- Create textures.
- Make character selectable in game.
- Import and test model parts.
- Update UI elements.
As a Backer, I'd like to play in new biomes that change according to Realm ownership. - Biome 01
- Concept research pass 1 - Determine visual language of each Realm's environment.
- Concept pass biome #1 - "Neutral" and "Owned" by each Realm.
- Concept ambient SFX pass biome 1 - "Neutral" and "Owned" by each Realm.
- Concept pass VFX 1 - "Neutral" and "Owned" by each Realm.
- Biome 1 - Integrate ambient SFX that changes with Realm ownership.
- Biome 1 - First pass VFX
- Biome 1 - Determine asset list from concept.
- Biome 1 Neutral - Create ground texture sets.
- Biome 1 Neutral - Create grass and ground cover assets.
- Biome 1 Neutral - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 1 Neutral - Create large assets. (Trees, rocks, etc.)
- Biome 1 Neutral - Create terrain mods and integrate into world for testing.
- Biome 1 Arthurian - Create ground texture sets.
- Biome 1 Arthurian - Create grass and ground cover assets.
- Biome 1 Arthurian - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 1 Arthurian - Create large assets. (Trees, rocks, etc.)
- Biome 1 Arthurian - Create terrain mods and integrate into world for testing.
- Biome 1 Viking - Create ground texture sets.
- Biome 1 Viking - Create grass and ground cover assets.
- Biome 1 Viking - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 1 Viking - Create large assets. (Trees, rocks, etc.)
- Biome 1 Viking - Create terrain mods and integrate into world for testing.
- Biome 1 TDD - Create ground texture sets.
- Biome 1 TDD - Create grass and ground cover assets.
- Biome 1 TDD - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 1 TDD - Create large assets. (Trees, rocks, etc.)
- Biome 1 TDD - Create terrain mods and integrate into world for testing.
- Concept pass biome #1 - Neutral pine forest.
- Concept pass biome #1 - Pine forest Realm ownership variations.
- Second concept pass biome #1 - Pine forest Realm ownership variations.
- Concept Pass - Rocks and rock clusters that retain general shape but change with Realm ownership.
- Biome 1 - Determine neutral asset list from concept.
- Biome 1 Neutral - Additional bushes, rocks, rock clusters, and dead tree variations.
- Biome 1 Neutral - Optimization pass.
- Biome 1 - Determine TDD ownership asset list from concept.
- Biome 1 - Determine Arthurian ownership asset list from concept.
- Biome 1 - Determine Viking ownership asset list from concept.
- Biome 1 All Realms - First pass changes for gameplay.
- Biome 1 All Realms - Additional assets, dead trees, ground clutter, branch types, tree stump, etc.....PINE CONES!
- Concept ambient bird calls specific to each Realm.
- Ambient SFX - subtle moving water.
- Generic Realm ownership change SFX.
- Ambient SFX - generic forest ambience, windy.
- Ambient SFX - Daytime-specific pine forest.
- SFX: Pine needle footsteps.
- Additional pine tree variation set.
- More aggresive LOD pass on all existing trees, including realm variations.
- Generic chainmail footsteps.
As a Backer, I'd like a more efficient and optimized animation system that provides more focused support for the specific needs of Camelot Unchained.
- Update master rig with additional item/weapon attachment points.
- Update existing animations with rig changes.
- Create an animation viewer in the editor.
- Remove dependency on bone naming to reduce risk in rig improvements.
- Improve design scope of animation needs, in order to better serve long-term combat design iterations.
- Create workspace for Multi-part Action Clip Cog.
- Create new Multi-part Action Clip Cog for assignment of animation clips to skeletons for the 6-part action animations.
- Update Stance workspace for assignment of animations for lower body locomotion, upper body locomotion, emotes, and actions.
- Update AnimClip cog to allow support clips made from non-contiguous ranges of frames, or single frames.
- Update AnimClip workspace for non-contiguous frame support.
- Create skeleton select control for use in updated Stance & Multi-part action animation workspaces.
- Update Stance cog to allow for assignment of animations based on usage in the stance and up to 30 different actions.
- Update Editor to use new animation code.
- Bug Hunting: Fix the rest!
- Additional Stance Editor support: Update client
- Additional Stance Editor support: Update build server
- Additional Stance Editor support: Make editor work with new well-defined classes using regular databinding.
- Additional Stance Editor support: Make well defined animation stance assetlib class.
- Andrew pass on refactor! - Improve character scalability.
- Improve blending to reduce character feet sliding.
- Improve speed of animation skinning.
- Update player movement animation blending code for smoother transitions.
- Properly handle latency compensation in multipart animation.
- Action animation selection from a predefined set of actions for each stance.
- Transistion animations
- Emote animations
- Jump/Fall
- Walk/Run directional blend
- Action animations
- Flinch animation
- Death animation
- Clip Masking
- Clip Blending
- Action Clip Playback
- Basic Clip Playback
- Animation playback
- Handle Animation Events from within Playback Control.
- Support playing multiple clips for a single usage, ie: have multiple idles and when looping go to a different random idle.
- Move Animation out of CUAnimation project into Client project.
- Set up Playback Control, Playback State, and Clip State for handling animation playback in a "functional" programming style.
- Update Animation Clip Resources to use Usage & Type for identifying clip.
- Update FBXBuild to build animation clips from non-contiguous ranges.
- Update Builder to build changed Animation Collection Resource.
- Add stances and maps for getting clips for stance usage and type.
- Add all animation clips to the AnimationCollection Resource.
- Update Stance Resource to contain: A list of Clip IDs for specifying locomotion clips, a list of Action Clip IDs for actions in order as specified for the Stance, and a list of transitional data to determine transition clips for stance transition animatio
As a Backer in Beta 1, I'd like to have a sampling of TDD light, medium, and heavy armor to wear in game.
- Select armor to create from sampling of previous concept art.
- Collate selections into spec sheet for artists to work from.
- Light Armor - High and low poly sculpt complete.
- Light Armor - Weight and integrate assets into editor.
- Light Armor - Material references provided.
- Light Armor - B1 version of mats created.
- Light Armor - Adjust armor to fit female humanoid form.
- Medium Armor - High and low poly sculpt complete.
- Medium Armor - Weight and integrate assets into editor.
- Medium Armor - Material references provided.
- Medium Armor - B1 version of mats created.
- Medium Armor - Adjust armor to fit female humanoid form.
- Heavy Armor - High and low poly sculpt complete.
- Heavy Armor - Weight and integrate assets into editor.
- Heavy Armor - Material references provided.
- Heavy Armor - B1 version of mats created.
- Heavy Armor - Adjust armor to fit female humanoid form.
- Update work sheets to reflect silhouette and low poly improvements.
- Medium Armor - Second pass Beta 1 version of materials. General improvements.
- Create material ID sheet for light, medium, and heavy armor, for ease of updating textures.
- Update generic cloak material to use Realm-specific styling.
- Red, green, and blue, generic cloak materials for testing.
- Create additional heavy to medium helmets for B1. - Modeling and Mats.
- Create additional heavy to medium helmets for B1. - Rigging and game integration.
- Second pass helmet materials.
As a Backer, I'd like to test the updated female Valkyrie model.
- Concept pass 1.
- Concept pass 2.
- Create base body concept and worksheets.
- Model high poly sculpt.
- Create textures.
- Model and rig low poly model.
- Import and test model parts.
- Character is selectable in game.
- Update UI elements.
As a Backer, I'd like to test the male Valkyrie model.
- Concept pass 1.
- Concept pass 2.
- Create base body concept and worksheets.
- Model high poly sculpt.
- Create textures.
- Model and rig low poly model.
- Import and test model parts.
- Character is selectable in game.
- Update UI elements.
- Second pass face and hair.
As a Backer, I'd like to play in new biomes that change according to Realm ownership. - Biome 02
- Neutral grass land terrain materials created.
- Neutral grass land grass and rock mats and assets created.
- Neutral grass land terrain mod created.
- Viking grass land terrain materials created.
- Viking grass land grass and rock mats and assets created.
- Viking grass land terrain mod created.
- Arthurian grass land terrain materials created.
- Arthurian grass land grass and rock mats and assets created.
- Arthurian grass land terrain mod created.
- TDD grassland terrain materials created.
- TDD grassland grass and rock mats and assets created.
- TDD grassland terrain mod created.
- Ambient SFX - Open field winds of varying velocities.
- Ambient SFX - frogs chirping, solo, group, raining.
- Ambient SFX - crickets.
- Ambient SFX - night bugs with and without frogs.
- Ambient SFX - Skylark bird.
- Ambient SFX - Additional grasses blowing in wind of varying velocities.
As a Backer, I'd like to find unique environment props, or unique locations, that add flavor to the environment while I'm exploring the Biomes.
- Create unique environment prop - 001 - TDD rune rocks.
- Create unique environment prop - 002 - Weasel in tree stump.
- Create unique environment prop - 003 - Random skull cairn.
- Create unique environment prop - 004 - Bee hive on limb.
- Create unique environment prop - 005 - Bee hive in log.
- Create unique environment prop - 004 - Beehive on limb.
- Create unique environment prop - 005 - Beehive in log, including Realm variations.
- Beehive ambient SFX
- Whale Skeleton.
- Human skeleton with sign.
- World statue ruins x5: High and low poly modeling.
- Ruined statue environment accent v1 - mats
- Ruined statue environment accent v2 - mats
- Ruined statue environment accent v3 - mats
- Ruined statue environment accent v4 - mats
- Ruined statue environment accent v5 - mats
- Ruined statue environment accent v6 - mats
- Ruined statue environment accent v7 - mats
- Arthurian - Create ground texture sets.
- Arthurian - Create grass and ground cover assets.
- Arthurian - Create small to medium assets. (Bushes, rocks, etc.)
- Arthurian - Create large assets. (Trees, rocks, etc.)
- Viking - Create ground texture sets.
- Viking - Create grass and ground cover assets.
- Viking - Create small to medium assets. (Bushes, rocks, etc.)
- Viking - Create large assets. (Trees, rocks, etc.)
- TDD - Create ground texture sets.
- TDD - Create grass and ground cover assets.
- TDD - Create small to medium assets. (Bushes, rocks, etc.)
- TDD - Create large assets. (Trees, rocks, etc.)
- Optimization and LOD pass on statues 1-7
As a Developer, I'd like to increase physics performance, as well as make changes easier to integrate.
- Fix all the minor math errors that were causing server and client to desync.
- Process subzone trigger events after deleting removed actors.
- Fix lockup in running internal physics jobs on server.
- Only use the top terrain hit in heightfield queries.
- Add metrics for data received in PhysicsServerConnection.
- Fix assertions in physics server startup.
- Use low-priority context for processing loaded data in IPhysicsEngine.
- Take a ParLL::Context for LoadRigidStatic/Dynamic's callback in IPhysicsEngine.
- Properly synchronize server and client jump.
- Avoid using bad data from client movement updates.
- Fix sending down state changes of entities persisted after their physics goes away
- Expose more physics values in PhysHud.
- Additional re-threading work on building physics to improve performance.
- Rewrite building saving code to be more performant.
- Remove buildings that are more than 1100 meters away to reduce client memory usage.
- First Pass: Improve physics performance on 36 core servers.
- Minor fixes/improvements to projectile motion.
- Performance improvements removing assets from world. Improves performance in areas, such as forests, with lots of placed assets.
- Additional improvements to perfhud and feedback for network hud.
- Additional tuning to sliding.
- Improve ablity to diagnose and debug server position on client using physics and network perfHud.
- Reduce update packet size by 85-90% to get us back to previous iterations.
- Update code that was keeping players properly alligned to terrain.
- Properly synchronize server and client sliding.
- Dynamically update mass on client entities from server.
- Update sliding to feel better.
- Add new movement code to bots.
- Improve player movement acceleration prediction. - Other players' movements looks far better!
- Send player move and jump commands directly to the physics server rather than through the game server.
- Merge server/client idea of PhysicsEntity
- Merge FilterShader
- Merge server/client idea of PhysicsEntity
- Merge server/client core character movement.
- Create a "TargetLocation" for player update.
- Break player movement into states.
- Player Movement Merge - Pass 1:
- Merge character jumping and upgrade it.
- Merge momentum transfer/pushing
- Server/client agreement on flying. Possible refactor to flying, hovering, and NoPhysicsHovering.
- Player Movement Merge - Pass 2:
- Pull more out into DynamicEntityShared.
- Redo interpolation on the client to match what we have now and redo netcode.
- Test server
- Clean netcode
- Do the netcode
- Clean client
- Merge entities on client
- Expose a better interface to Managed
- SystemTrigger/SystemStatic
- Remove old code and clean up.
- Redo filter shader/collision callback.
- ColliderTypeFlags split into ColliderTypeFlags and ColliderPropertyFlags, because flexibility.
- Merge DynamicEntity behaviors.
- Merge projectiles/dynamic triggers/forcefields into DynamicEntity.
- Entity class merge:
- Improvements:
As a Backer and Developer, I'd like a system to set sounds to play during specific events.
- Unchained editor Audio support - Editor can import and parse wwise.bnk files.
- Audio Support: Create data structures for importing WWise info.
- Audio Support: Create prototype event hooks on client.
- Audio Support: Client reads and assigns projectile sound effects, removes defaults.
- Audio Support: Create SoundEvent Cog data structures.
- Audio Support: Add SoundEvent Cog workspace to editor.
- Audio Support: Add SoundEvent Cog to Projectile Effects in editor.
- Audio Support: Read data assigned to Projectile effects on server and send to client with temporary data.
- Audio Support: Create import functions for WWise data.
- Audio Support: Create import editor interface for WWise data (so dB can upload data).
- Audio Support: Create import sound bank and generate sound event cog wizard or procedure in editor
- Audio Support: Rough in a more permanent "event hook" system on the client so discrete events have an easy place to perform actions.
- Audio Support: Validate data on import.
- Audio Support: Validate data when consumed on server (log errors).
- Audio Support: Documentation on Wiki.
- Sound Event Cog is created and can be attached to placeables.
- Builder exports sound events along with .bnk and offset data to the client as a sound event resource.
- Placeables (Models) play Audio from any attached Sound Events.
- Create an XML import for sounds.
- Sounds can be added to items that are dropped.
- Offset sun angle RTPC by 90°, so midnight coincides with 0°/360°.
As a Backer, I'd like to create balanced abilities by managing power and cost.
- Design ability value system
- Implement power and cost for components.
- Restrict ability creation based on total value (power minus cost = value).
- Total power passed to ability when executed.
- Calculate power of an AbilityEffect and its child effects.
- Individual stat types have a defined ratio of power used to magnitude of effect.
- Power affects magnitude of effect when executed.
- Power is stored and can be adjusted in PhysicsColliders (objects in the world)
- Power is stored and can be adjusted in ActiveEffects (effects on characters, including Wounds)
- Add Ability Effects to modify the power of some effects of a component, including: flat changes, changes based on distance from the center of an AoE, and remaining health, stamina, or blood.
- Concept new layout for ability builder UI.
- Update ability builder UI per concept.
As a Developer, I'd like to preview full sound suites on animations.
- First Sound Pass: Archery animation concept.
- First Sound Pass: Dual swords animation concept.
- First Sound Pass: Longsword animation concept.
- First Sound Pass: Polearm animation concept.
- First Sound Pass: Dagger animation concept.
- First Sound Pass: Spear animation concept.
- First Sound Pass: Staff animation concept.
As a Backer, I'd like Camelot Unchained to have ability-based sound effects. - Integration - First Pass
- First Sound Pass: Water wave ability with 1sec build-up - 24 variations
- First Sound Pass: Flame abilities cast start sound v1 - 2part sound 6 & 7 variations
- First Sound Pass: Flame abilities cast start sound v2 - 2part sound 5 & 3 variations
- First Sound Pass: Healing abilities cast start sound v1 - 5 variations
- First Sound Pass: Melee abilities cast start sound v1 - 2part sound 3 & 3 variations
- First Sound Pass: Water abilities cast start sound v1 - 4 varitions
- First Sound Pass: Flame Projectile explosions v1 - 14 variations
- First Sound Pass: Stone Projectile explosions v1 - 15 variations
- First Sound Pass: Water Projectile explosions v2 - 10 variations
- First Sound Pass: Water Projectile explosions v3 - 24 variations
- First Sound Pass: Generic projectile whoosh sound as projectile passes by.
- First Sound Pass: Water ability sustains.
- First Sound Pass: Fire ability sustains.
- First Sound Pass: Earth ability sustains.
- First Sound Pass: Healing ability sustains.
- First Sound Pass: For new 5-part ability event hooks: Lifedrain Build: 11 variations
- First Sound Pass: 5-part ability event hooks: Ability start Lifedrain: 5 variations
- First Sound Pass: Additional wooden and melee weapon impact sounds.
As a Backer, I'd like to see improvements in server stability, speed, and robustness.
- Improve autoscaling of proxies.
- Create new state for debugging proxies that exhibit weird behavior.
- Improve speed of logging in.
- Speed up logging to our logging backend by making it async.
- Send the UserProxy the player's position so we can modify update priority by distance from player.
- Modify load tester to behave more like a player to improve testing results.
- Reduce metric sampling to only sample long actions.
- Improve server cluster scaling.
- Improve performance when cleaning up particles from active effects.
- Improve character loading flow to be more performant and threading friendly.
- Streamline network code to provide a foundation for serious bandwidth improvements on the proxy to client connection.
- Improve security so users can't spoof each other's connections.
- Big optimization to network encoding, improving number of users per proxy.
- Add an "echo proxy" to clients that can log all of a connection's data for analysis in support of chronic disconnects.
- Tone down spamming logging for large tests.
- Improve network priorities to support even more players.
- Reduced potential for "very laggy" conditions.
- Flatten/simplify networking on server side.
- Add configurable timeouts for proxies.
- Simplify communication between Game Server and User Proxys, which allows for faster iteration.
- Restructure server DLLs to load correctly.
- Fix broken loading/setup of control points so server doesn't crash.
- Make loadtesters hard close and restart every few hours to mitigate the effects of crashing bots over time.
- Improvements to server functionality to reduce need for unique solutions.
- Separate the physics network state from the gameplay network state.
- Add detailed stats for bandwidth tracking.
- Optimizations in positional updates.
- Lower the rate at which we poll proxies.
- Memory pooling improvements to reduce lag spikes.
- Reduce latency on server to client message queueing.
- Improve player login and respawning to be less disruptive.
- Server memory allocator takes advantage of more memory and cpu cores if available.
- Add additional logging and metric to identify, track, and solve bugs and performance issues.
- Improve scaling of proxies when adding and removing players.
- Improve auto-restarts - make noisy message on the console and make it easier to configure intervals.
- Split out hard launches and soft launches from each other to prevent interference between the two.
- Implement exponential backoff to space out repeated transmissions.
- Check addresses when checking proxies.
- Upgrade from OpenSSL to LibreSSL.
- Implement FastEntityReader to transfer entity data across servers
- Integrate ElasticSearch to log on database instead of file system.
- Incorporate proxy metrics.
- Replace abstract delegates on WorldSender with methods.
- Make FastEntityReaderCommandProcessor work with any Entity.
- Send client commands from proxy to game server using FastEntityWriter.
- Increase the socket send buffer size to 5MB to avoid blocking when sending physics states to proxies.
- Write our own ConcurrentBatch container to do minimal allocations.
- Update SingleThreadedUpdater to not lose completions when passed in from the WorldUpdater and not attached to an action.
As a Developer and Backer, I'd like to see improvements in memory usage and threading.
- General improvements to memory management, resulting in different CPU cores being less likely to stall when waiting for each other, improving client performance and server scalability.
- Add "ContextSTLAllocator" to make our memory management code more usable to other programmers.
- Chopped 500MB off the client memory usage in heavy scenes.
- Integrate ParLL threading library into CSE code.
- Rewrote ParLL interface to support modern coding conventions, lambdas and universal function references. (Similar to std::async)
- Moved Async destruction to ParLL.
- Added new ParLL features to support our existing threading patterns.
- * Create a way for long-running tasks to run in the background without stalling the main game.
- * Suspending and resuming serial context execution.
- * Added atomic guardians to make the thread safety of a given system provable.
- * Ported ParLL to 64bit.
- Rewrote Timed Action Queue with new threading system
- Rethreaded physics to use ParLL and be lock-free. (good performance increase)
- Rewrite delayed destruction to run on ParLL
- Re-thread scene updates using ParLL
- Re-thread terrain (re)generation using ParLL
- Re-prioritize terrain generation and mesh simplification to run in the background, using multiple frames.
- Make renderable/animation updates run in parallel.
- Get PhysX scene lock onto the correct thread.
- Fix hitching and lockup on slower machines with threading system caused by running out of memory.
- Fix threading stability problem with physics. (hangs/crashes)
- Fix threading handle leak. (hang)
- Fix threading orphaned context problem (hitch)
- Removed hitching by better synchronization. - Improved general performance.
- Improve performance when running more than one client or heavy background applications.
- Fix hitching caused by memory subsystem thrashing.
- All around memory reduction in client and C.U.B.E. - 600mb - 800mb reduction in game, to 1.5gb in worst case C.U.B.E. maps.
- First pass compression of building vertices to reduce memory.
- First pass compression of building vertices to reduce memory.
- Second pass compression of building vertices post curved blocks integration.
- Improve performance when placing very large blueprints.
- Global reduction in instances of hitching by moving several async threading cases to ParLL.
- Server fix for building and ParLL changes
- Improve load times and terrain generation by moving async threading cases to ParLL.
- Create a tool to track and find possible threading issues in the client. Add to HUD.
- Improve ParLL library based on team usage and crash debugging.
- Improve speed of terrain generation.
- Improve ParLL library for developer usage, based on terrain generation work.
- ParLL - Make it possible that simple jobs can be done immediately in place if there are no conflicts.
- RunOrSplit (in ParLL) now has firmer order guarantee.
- ParLL guarded data will now get caught and logged.
- Add ability to check if readonly access to a context is safe in assert
- Locally save blueprints when connected to a server for improved performance
- Allow safe pointer to be copied around via move semantics and pass ownership.
- Terrain rethreading changes to use pooledContexts.
- Change how we raycast gizmos to not hold the scene lock as long.
- Make EquipmentBuilder always Split, to account for a BlockingWait it contains.
- Make RegenSegment use a ParLL task instead of FireAndForget.
- ParLL::Join will directly take and work on a needed context immediately.
- Fix for possible deadlocks arising out of outside threads trying to join even though they aren't registered workers.
- Prevent runorsplit from running high priority tasks from low.
- ParLL::Add multi-split to send one job to all context threads simultaneously.
- ParLL::Add ability for JoinAll to run independently.
- ModelFactory uses more then one context from its context pool.
- Get rid of spinlocks on ParticleRenderable and just handle changes in its context.
- Shut down the particle tree and its raw pointers to our particleResource before we reset and throw our old particleResource away.
- Reorganize the CharacterManager code so we never join on the main thread.
- Perf improvements for terrain regeneration.
- Fix ParLL crash by supporting cloning and moving arguments.
- Custom CLR profiler specifically set up for diagnosing large object heap garbage collection issues.
- Fix rare deadlock caused by semaphore finalizing race with suspend.
- ParLL fix for occasional asserts on jumping and startup.
- Remove support for anchored contexts.
- Integrate Telemetry hooks for RenderContext lock.
- Split ClipPlayer to start/stop events if, and only if, they run on another context.
- Remove need for multicontext threading from placeable objects.
- Add multithreaded logging system for ParLL.
- Run UI deferred message update on all scene contexts.
- Further combination of ParLL internal context state into a single unified non-locking state machine.
- Protect against semaphore order contention.
- Prevent ParLL multi-context split from sometimes losing one or more of the contexts split on an earlier job.
As a Backer in Beta 1, I'd like to see improvements in visual performance, particularly frame rate and memory usage.
- Adapt geometry reduction algorithm from buildings to characters.
- Ensure proper bone LODing.
- Reduce memory usage of characters by keeping around the minimum set of needed assets.
- Better generation of heightfields to support occlusion culling.
- First Pass occlusion culling system.
- Generate occlusion culling from player-made structures.
- Occlude things such as mines (and later, The Depths)
- Improve forest performance: Intelligently impostor and cull assets based on distance and an aggregate of occlusion assets.
- Occlusion system for proxies - determine which entities we tell clients about.
- Characters properly LOD at distance, using an improved algorithm.
- Setting local player flag for character lod purposes
- Add some PerfHUD counts for characters and dropped items based on their max LOD
- Update renderables to separately track the last frame rendered in any view.
- Rate of update of renderables is throttled based on distance and relative priority.
- Improve shadow look to account for draw-distance increase.
- Make sure the player-character and surrounding 15m is always in the highest cascade.
- Back the cascade off to 1km view distance, tripling the resolution.
As a Backer in Beta 1, I'd like to have a sampling of generic clothing to wear in game.
- Determine spatial relationships and plan of attack for swappable shoes, boots, high boots, greaves, and variations in pant models necessary for different configurations.
- Teach additional artist armor weighting pipeline - Lower body equipment.
- Teach additional artist armor weighting pipeline - Upper body equipment.
- Note on items listed: Includes high and low modeling pass, initial material pass, weighting, and integration based on human body types.
- Update editor with correct slot list based on design.
- Generic shoe.
- Generic boot.
- Generic high boot v1.
- Generic high boot v2.
- Generic pants with length versions to accomodate footwear height.
- Generic greaves - nude and underlayer versions.
- Generic light belt.
- Generic medium belt.
- Generic heavy belt.
- Determine spatial relationships and plan of attack for swappable shirts, skirts, sleeves, vambraces, and gloves.
- Generic low glove.
- Generic mid glove.
- Generic high glove.
- Implement first pass character masking to support armor system.
- Generic vambrace - nude and underlayer versions.
- Santa Hat for Xmas - Male human.
- Generic shirt - vest, short sleeves, long sleeves, with variations to accommodate different hand and forearm equipment. Additional long shirt variation that overlaps pelvis.
- Generic tabard solution.
- First Pass: Tinting system for testing.
- Bots can swap armor parts to stress test client and server.
- Bots now randomize the gear selection they are wearing.
- Generic pants variations fit Human female model.
- Fix seam issue between neck and head on base body geo and shirts - all races.
- Add additional Realm variations of generic shirts.
- Put equipment switching on a buildvar.
- Add config value to allow us to control the max number of unique Bots.
- Iterate through colors assigned to unique ARCs (Bots), rather than picking randomly.
- ARCs (Bots) log build numbers.
As a Backer in Beta 1, I'd like to have a sampling of Arthurian light, medium, and heavy armor to wear in game.
- Select armor to create from sampling of previous concept art.
- Collate selections into spec sheet for artists to work from.
- Light Armor - High and low poly sculpt complete.
- Light Armor - Weight and integrate assets into editor.
- Light Armor - Material references provided.
- Light Armor - B1 version of mats created.
- Light Armor - Adjust armor to fit female humanoid form.
- Light Armor - Adjust armor to fit male and female Luchorpán models.
- Medium Armor - High and low poly sculpt complete.
- Medium Armor - Weight and integrate assets into editor.
- Medium Armor - Material references provided.
- Medium Armor - B1 version of mats created.
- Medium Armor - Adjust armor to fit female humanoid form.
- Medium Armor - Adjust armor to fit male and female Luchorpán models.
- Heavy Armor - High and low poly sculpt complete.
- Heavy Armor - Weight and integrate assets into editor.
- Heavy Armor - Material references provided.
- Heavy Armor - B1 version of mats created.
- Heavy Armor - Adjust armor to fit female humanoid form.
- Heavy Armor - Adjust armor to fit male and female Luchorpán models.
- Update work sheets to reflect silhouette and low poly improvements.
- Light Armor - Beta 1 version of mats created.
- Create material ID sheet for light, medium, and heavy armor, for ease of updating textures.
- Update generic cloak material to use Realm-specific styling.
- Create additional heavy to medium helmets for B1. - Rigging and game integration.
- Second pass helmet materials.
As a Backer in Beta 1, I'd like to have a sampling of Viking light, medium, and heavy armor to wear in game.
- Select armor to create from sampling of previous concept art.
- Collate selections into spec sheet for artists to work from.
- Light Armor - High and low poly sculpt complete.
- Light Armor - Weight and integrate assets into editor.
- Light Armor - Material references provided.
- Light Armor - B1 version of mats created.
- Light Armor - Adjust armor to fit female humanoid form.
- Medium Armor - High and low poly sculpt complete.
- Medium Armor - Weight and integrate assets into editor.
- Medium Armor - Material references provided.
- Medium Armor - B1 version of mats created.
- Medium Armor - Adjust armor to fit female humanoid form.
- Heavy Armor - High and low poly sculpt complete.
- Heavy Armor - Weight and integrate assets into editor.
- Heavy Armor - Material references provided.
- Heavy Armor - B1 version of mats created.
- Heavy Armor - Adjust armor to fit female humanoid form.
- Update work sheets to reflect silhouette and low poly improvements.
- Create material ID sheet for light, medium, and heavy armor, for ease of updating textures.
- Light Armor - Second pass fur and feathers geo/mats.
- Light Armor - Beta 1 version of mats created.
- Update generic cloak material to use Realm-specific styling.
- Create additional heavy to medium helmets for B1. - Modeling and Mats.
- Create additional heavy to medium helmets for B1. - Rigging and game integration.
As a Backer in Beta 1, I'd like to play as a Crafter with basic gathering and crafting mechanics for testing.
- Crafting Vision document first pass
- Gather feedback from Backers and update design if needed.
- Gather more feedback from Backers and update design if needed.
- Gathering nodes for resources exist in world for testing.
- Simple, generic, "gather" animation when interacting with a node.
- First pass concept: Vox Magus UI
- Second pass concept: Vox Magus UI
- Implement crafting UI in game.
- First pass UI art - gathered resource icons.
- First pass concept art - Vox Magus physical model.
- Vox Magus model high.
- Vox Magus model low.
- Vox Magus textures.
- Vox Magus VFX model and UI.
- Vox Magus SFX model and UI.
- First pass Crafter concept art.
- First pass Crafter tools concept art.
- Vox Magus can be interacted with to craft Beta 1 test items.
- Crafter is selectable in game.
- Simple, generic, "gather" animation - v2
- First Design Pass: Purifying (Refining) process.
- Second Design Pass: Purifying (Refining) process.
- Final first pass refining.
- Final first pass shaping.
- Final first pass making.
- First pass Vox breakdown and repair.
- First pass Purely Outrageous Gem System for Vox.
- Simple, generic, "gather" animation - v2
- Resources exist in inventory and are saved to player character.
- First Pass Beta 1 craftable items design using simplified mechanics.
- Additional Vox interface/tool art concepting.
- Player able to purify materials at the vox.
- Player able to alloy at the vox.
- Player is able to make items.
- Rough Pass: Items in game, around vox, will be consumed and new items appear.
- Create temporary objects to represent materials in world.
- Create texture decals for material containers in world to identify item type.
- Create additional boxes to represent alloys.
- Create texture decals for alloy materials on boxes.
- Crafting resources and items have mass.
- Players can cancel jobs at the vox.
- Add helpful crafting commands - split quantity, list what can be made, etc.
- Placing a Vox actually places the Vox model art asset.
- Replace the stand-in vox model with an actual vox model.
- Create lods for vox model.
- Vox can be defined within the new data format for items
- Check inventory limits before collecting items from a completed Vox job.
- Add factionBonus fields, new resistances, min/max quality, unitmass, and tags to designer data sheet
- Update Vox functionality to support new substance code: Grind, purify, refine, shape, and make.
- Lock system to constrict which recipes and nodes are available to which players.
- Alphabetize inventory displayed in UI
- Repair functionality for Vox.
- Add job for building blocks in Vox.
- Craft multiple items at once.
- Globally scale refining and purifying process for testing.
- Adding new slash command that takes itemInstanceID.
- Add error messaging to Vox commands.
- Adding template/custom name field and for job status printouts.
- Swapping our current csv parser for microsoft's TextFieldParser.
- Track when a crafting job is going to end on the database.
- Hook up Realm bonuses to effect crafting time.
- Serialize VoxComponent's contained items, rather than loading them from the database.
- Locking down what items can go into a Vox contextually based on the state of the Vox.
- Added optional requirementScript that can be specified for item restrictions.
- Items made from substances or alloys can be broken down into said parts.
- Expose item salvaging functionality via slash command.
- Track changes to inventory and fire notification event once in subsequent action.
- Rework the result code for HarvestResourceNode to play nicer with the needs of the API server.
- Updating crafting API returns to include extra information about the vox for the UI to use.
- Avoid negative mass value in alloy "percent remaining" calculations when alloy has already been split.
- Add protection against putting a container/Vox inside itself.
- SFX: Foley recording and processing for mining, axes, etc.
- Support for Make action and MakeJobs
- Modifying the GQL name on the makeRecipe output item to match other recipes.
- Add support for ‘random crafting events’ to modify Vox output.
- Add new slash commands to modify health/repair points of items in inventory given their ID.
- Allow Vox to take health damage when it is used to craft items.
- Update random crafting table to support modifying the health damage done to a Vox.
- Create repair job, allowing an item to be repaired if it has a single repair point remaining.
- Create salvage job that salvages a damaged item and degrades the quality of the returned alloys/substances.
- Save quality for a substance as ItemQuality instead of a float.
- Add new crafting query to return all items that are compatible with one of the Vox job slots, while listing slot compatibility per item.
- Improve performance when sending large numbers of Vox ingredients through GraphQL crafting queries.
- Alloys
- Defines how to take substances and make alloys
- Setup recipes as a list of ingredient rules which can constrain ingredient types, quality and amounts.
- Track percent remaining for the alloy
- Setup Alloys code-side to have an entry as an ItemDef
- Allow alloys to be crafted from data sheets
- Items built from an alloy keep track of the important aspects of said alloy
- Alloys use alloy sheet and multiply values by the quality of the alloy
- Add unit counts to alloys.
- Adding cloth and leather alloys to utilize recipe updates.
- Add slash command to list all alloys in game.
- Add CSV test to ensure alloy loadouts are not specified on non-alloy items.
- Add re-combine logic for alloy item stacks.
- Resource Nodes:
- ResourceNodeDef
- RNSubstanceDef
- ResourceNodeComponent
- Harvest Command
- Resource Node DB work.
- JSONify ResourceNode XML
- Create PlaceableType that supports JSON file paths
- RNs Save to the DB when updated, so they will correctly startup after a server reboot.
- Resource nodes can take damage and track health.
- Add slash commands for quickly testing node functionality.
- Ability to override resource IDs on spawned terrain.
- CSV driven data defines quality values.
- Optimizing Resource Node network communication to only send over the list of possible resource IDs and the index of the current one.
- Apply position offsets only to the initial position.
- Add a config value to be able to turn off resource node damage.
- Make resource nodes disabled by jsonconfig.
- De-duplicate the multiple un-acknowledged copies of resource nodes we have made based on the same server/proxy object.
- Update support for disabling resource nodes when we first try to load resource spawners/nodes.
- Update support for disabling resource nodes where the actual resource nodes are made.
As a Backer in Beta 1, I'd like to be able to choose from a list of classes to play.
- Add Beta 1 classes to server.
- First Pass Class abilities listed based on dependencies.
As a Developer in Beta 1, I'd like to see improvements in the ability system's stability and robustness, as well as make it easier for developers to work with.
- Replace the old text templates with a new Roslyn based one.
- Create new generator for updaters, which provide the new API and the old API.
- Rewrite abilities to use the new API.
- Update Systems.Collections.Immutable from 1.1.20.0 to 1.1.37.0
- Ongoing: bring abilities up to date as we work with them.
- Replace data structure in AbilityEffect.
- Automatic reloading of gameplay config file changes
- Split SkillComponent into SkillsKnownComponent and SkillQueueComponent.
- Skill prediction via creating a MockUpdater instance and running each phase event.
- Avoid running the skill event as part of pre-flighting when you don't meet the requirements for a skill.
As a Developer, I'd like to have a selection of weapons that visually represent each Realm's identity. - Arthurians
- First pass concept Art: One-handed swords.
- One-handed swords: First Pass planning mix and match parts system.
- One-handed sword - V1: Modeling pass.
- One-handed sword - v1: Materials.
- One-handed sword - v1: Integration.
- First pass concept Art: One-handed axes.
- One-handed axe - v1: First Pass planning mix and match parts system.
- One-handed axe - v1: Modeling pass.
- One-handed axe - v1: Materials.
- One-handed axe - v1: Integration.
- One-handed maces: First Pass planning mix and match parts system.
- One-handed mace - V1: Modeling pass.
- One-handed mace - v1: Materials.
- One-handed mace - v1: Integration.
- Dagger - v1: First Pass planning mix and match parts system.
- Dagger - v1: Modeling pass.
- Dagger - v1: Materials.
- Dagger - v1: Integration.
- One-handed spears: First Pass planning mix and match parts system.
- One-handed spears - V1: Modeling pass.
- One-handed spears - v1: Materials.
- One-handed spears - v1: Integration.
- Two-handed staff - v1: Integration - Melee
- Two-handed swords - V1: Modeling pass.
- Two-handed swords - v1: Materials.
- Two-handed swords - v1: Integration.
- Two-handed axes: First Pass planning mix and match parts system.
- Two-handed axes - V1: Modeling pass.
- Two-handed axes - v1: Materials.
- Two-handed axes - v1: Integration.
- Two-handed spears: First Pass planning mix and match parts system.
- Two-handed spear - V1: Modeling pass.
- Two-handed spear - v1: Materials.
- Two-handed spear - v1: Integration.
- Two-handed staffs: First Pass planning mix and match parts system.
- Two-handed staff - v1: Modeling pass - Magic themed.
- Two-handed staff - v1: Materials - Magic themed.
- Two-handed staff - v1: Integration - Magic themed.
- Small shields: First Pass planning mix and match parts system.
- Small shield - V1: Modeling pass.
- Small shield - v1: Materials.
- Small shield - v1: Integration.
- Large shields: First Pass planning mix and match parts system.
- Large shield - V1: Modeling pass.
- Large shield - v1: Materials.
- Large shield - v1: Integration.
- Shortbows: First Pass planning mix and match parts system.
- Shortbow - v1: Modeling pass.
- Shortbow - v1: Materials.
- Shortbow - v1: Integration.
- Longbows: First Pass planning mix and match parts system.
- Longbow - V1: Modeling pass.
- Longbow - v1: Materials.
- Longbow - v1: Integration.
- Books: First Pass planning mix and match parts system.
- Book - V1: Modeling pass.
- Book - v1: Materials.
- Book - v1: Integration.
- Potion/Elixir Bottles: First Pass planning mix and match parts system.
- Bottles: Modeling pass x 9
- Bottles: Materials. x 9
- Bottles: Integration x 9
- Horns: First Pass planning mix and match parts system.
- Potion/Elixir Bottles: First Pass planning mix and match parts system.
- First Pass Concept Art: One-handed high quality "epic" swords.
- One-handed sword - V2 - High Quality "epic": Modeling pass.
- First pass concept Art: One-handed maces.
- First pass concept Art: Spears.
- First Pass Concept Art: One-handed high quality "epic" axes.
- First Pass Concept Art: Small shields.
- First Pass Concept Art: Large shields.
- Additional shields concept pass on materials, decals, emblems, and parts for pipeline audit.
- First pass concept Art: Staffs, melee and magic.
- First pass concept Art: Long bows
- First pass concept Art: Arrows
- Arrows: First Pass planning mix and match parts system.
- Arrows - V1: Modeling pass.
- Two-handed staff - V2: Modeling pass.
- Halberd: First Pass planning mix and match parts system.
- Halberd - V1: Modeling pass.
- Halberd - v1: Materials.
- Dagger - v2: Modeling pass.
- Dagger - v2: Materials.
- Dagger - v2: Integration.
- Dagger - v3: Modeling pass.
- Dagger - v3: Materials.
- Dagger - v3: Integration.
- One-handed sword - V1 - High Quality "epic": Modeling pass.
- One-handed sword - V1 - High Quality "epic": Materials.
- One-handed sword - V1 - High Quality "epic": Integration.
- Halberd - v1: Integration.
- Two-handed swords - v2: Modeling pass.
- One-handed sword - V1 - High Quality "epic": Improvements on materials.
- One-handed sword - V1 - High Quality "epic": Integration.
- One-handed spears - v2: Modeling pass.
- One-handed spears - v2: Materials.
- One-handed spears - v2: Integration.
- Two-handed staff - v1: Modeling - Melee
- Two-handed staff - v1: Materials - Melee
- Two-handed swords: First Pass planning mix and match parts system.
- Large shield - v2: Modeling pass.
- Large shield - v2: Materials.
- Large shield - v2: Integration.
- Large shield - v3: Modeling pass.
- Large shield - v3: Integration.
- Large shield - v3: Materials.
- Arrows - v1: Materials.
- Arrows - v1: Integration.
- Arrows - v2: Modeling pass.
- Arrows - v2: Materials.
- Arrows - v2: Integration.
- Arrows - v3: Modeling pass.
- Arrows - v3: Materials.
- Arrows - v3: Integration.
- One-handed axe - v2: Modeling pass.
- One-handed axe - v2: Materials.
- One-handed axe - v2: Integration.
- One-handed axe - v3: Modeling pass.
- One-handed axe - v3: Materials.
- One-handed axe - v3: Integration.
- Two-handed spear - v2: Modeling pass.
- Two-handed spear - v2: Materials.
- Two-handed spear - v2: Integration.
- One-handed sword - V1 - High Quality "epic": VFX.
- One-handed sword - V2 - High Quality "epic": Materials.
- One-handed sword - V2 - High Quality "epic": Improvements on materials.
- One-handed sword - V2 - High Quality "epic": Integration.
- Polearm v1: Complete.
- Additional polearm concept art.
- Polearm v2: Complete.
- Update completed weapons scale to better convey weight and fit better in hands.
- Second pass - weapons scale audit.
- Spear v2: Complete.
- Polearm v2: Additional material work.
- Realm specific torch modeling and mats.
- Realm specific torch vfx and integration.
- Horn - V1: Modeling pass.
- Horn - v1: Materials.
- Horn - v1: Integration.
- Arrows - v4: Modeling pass.
- Arrows - v4: Materials.
- Arrows - v4: Integration.
- One-handed mace - v2: Modeling pass.
- One-handed mace - v2: Materials.
- One-handed mace - v2: Integration.
- One-handed mace - v4: Modeling pass.
- One-handed mace - v4: Materials.
- One-handed mace - v4: Integration.
- One-handed mace - v5: Modeling pass.
- One-handed mace - v5: Materials.
- One-handed mace - v5: Integration.
- Quivers: First pass generic concepts.
- Quivers: Second pass concepts with Realm variations.
- Quiver: modeling and materials.
- Longbow - v2: Modeling, materials, integration.
- Shortbow - v2: Modeling, materials, integration.
- Book - v2: Modeling pass.
- Book - v2: Materials.
- Book - v2: Integration.
As a Developer, I'd like to have a selection of weapons that visually represent each Realm's identity. - TDD
- First pass concept Art: One-handed swords.
- One-handed swords: First Pass planning mix and match parts system.
- One-handed sword - V1: Modeling pass.
- One-handed sword - v1: Materials.
- One-handed sword - v1: Integration.
- First pass concept Art: One-handed axes.
- One-handed axe - v1: First Pass planning mix and match parts system.
- One-handed axe - v1: Modeling pass.
- One-handed axe - v1: Materials.
- One-handed axe - v1: Integration.
- One-handed maces: First Pass planning mix and match parts system.
- One-handed mace - V1: Modeling pass.
- One-handed mace - v1: Materials.
- One-handed mace - v1: Integration.
- Dagger - v1: First Pass planning mix and match parts system.
- Dagger - v1: Modeling pass.
- Dagger - v1: Materials.
- Dagger - v1: Integration.
- One-handed spears: First Pass planning mix and match parts system.
- One-handed spears - V1: Modeling pass.
- One-handed spears - v1: Materials.
- One-handed spears - v1: Integration.
- Two-handed swords: First Pass planning mix and match parts system.
- Two-handed swords - V1: Modeling pass.
- Two-handed swords - v1: Materials.
- Two-handed swords - v1: Integration.
- Two-handed axes: First Pass planning mix and match parts system.
- Two-handed axes - V1: Modeling pass.
- Two-handed axes - v1: Materials.
- Two-handed axes - v1: Integration.
- Two-handed spears: First Pass planning mix and match parts system.
- Two-handed spear - V1: Modeling pass.
- Two-handed spear - v1: Materials.
- Two-handed spear - v1: Integration.
- Two-handed staffs: First Pass planning mix and match parts system.
- Two-handed staff - V1: Modeling pass. - Magic themed
- Two-handed staff - v1: Materials. - Magic themed
- Two-handed staff - v1: Integration.- Magic themed
- Small shields: First Pass planning mix and match parts system.
- Small shield - V1: Modeling pass.
- Small shield - v1: Materials.
- Small shield - v1: Integration.
- Large shields: First Pass planning mix and match parts system.
- Large shield - V1: Modeling pass.
- Large shield - v1: Materials.
- Large shield - v1: Integration.
- Shortbows: First Pass planning mix and match parts system.
- Shortbow - v1: Modeling pass.
- Shortbow - v1: Materials.
- Shortbow - v1: Integration.
- Books: First Pass planning mix and match parts system.
- Book - V1: Modeling pass.
- Book - v1: Materials.
- Book - v1: Integration.
- First Pass Concept Art: One-handed high quality "epic" swords.
- First Pass Concept Art: One-handed high quality "epic" axes.
- First Pass Concept Art: Small shields.
- First Pass Concept Art: Large shields.
- One-handed axe - V2 - High Quality "epic": Modeling pass.
- First Pass Concept Art: TDD spears.
- First pass concept Art: Arrows
- Arrows: First Pass planning mix and match parts system.
- Arrows - V1: Modeling pass.
- First pass concept Art: Staffs, melee and magic.
- First pass concept Art: Short bows.
- Two-handed staff - V2: Modeling pass.
- One-handed maces: Second pass TDD specific maces concept art.
- Two-handed great swords: First Pass planning mix and match parts system.
- Two-handed greatsword - V1: Modeling pass.
- Two-handed greatsword - V1: Materials.
- Two-handed greatsword - V1: Integration.
- One-handed mace - v2: Modeling pass.
- One-handed mace - v2: Materials.
- One-handed mace - v2: Integration.
- One-handed mace - v3: Modeling pass.
- One-handed mace - v3: Materials.
- One-handed mace - v3: Integration.
- Dagger - v2: Modeling pass.
- Dagger - v2: Materials.
- Dagger - v2: Integration.
- Dagger - v3: Modeling pass.
- Dagger - v3: Materials.
- Dagger - v3: Integration.
- Two-handed staff - v1: Improvements on materials. - Magic themed
- One-handed sword - V1 - High Quality "epic": Modeling pass.
- One-handed sword - V1 - High Quality "epic": Materials.
- One-handed sword - V1 - High Quality "epic": Integration.
- One-handed sword - v2: Modeling pass.
- One-handed sword - v2: Materials.
- One-handed sword - v2: Integration.
- One-handed sword - v3: Modeling pass.
- One-handed sword - v3: Materials.
- One-handed sword - v3: Integration.
- One-handed spears - v2: Modeling pass.
- One-handed spears - v2: Materials.
- One-handed spears - v2: Integration.
- One-handed spears - v3: Modeling pass.
- One-handed spears - v3: Materials.
- One-handed spears - v3: Integration.
- Two-handed staff - v2: Modeling pass. - Melee
- Two-handed staff - v2: Materials. - Melee
- Two-handed staff - v2: Integration. - Melee
- Large shield - v2: Modeling pass.
- Large shield - v2: Materials.
- Large shield - v2: Integration.
- Large shield - v3: Modeling pass.
- Large shield - v3: Materials.
- Large shield - v3: Integration.
- One-handed sword - V1 - High Quality "epic": Modeling pass.
- One-handed sword - V1 - High Quality "epic": Materials.
- One-handed sword - V1 - High Quality "epic": Integration.
- One-handed mace - v4: Modeling pass.
- One-handed mace - v4: Materials.
- One-handed mace - v4: Integration.
- One-handed mace - v5: Modeling pass.
- One-handed mace - v5: Materials.
- One-handed mace - v5: Integration.
- First pass concept Art: Longbows
- Longbows: First Pass planning mix and match parts system.
- Longbow - v1: Modeling pass.
- Longbow - v1: Materials.
- First pass concept Art: Shortbows.
- Arrows - v1: Materials.
- Arrows - v1: Integration.
- Arrows - v2: Modeling pass.
- Arrows - v2: Materials.
- Arrows - v2: Integration.
- Arrows - v3: Modeling pass.
- Arrows - v3: Materials.
- Arrows - v3: Integration.
- Arrows - v4: Modeling pass.
- Arrows - v4: Materials.
- Arrows - v4: Integration.
- One-handed axe - v2: Modeling pass.
- One-handed axe - v2: Materials.
- One-handed axe - v2: Integration.
- One-handed axe - v3: Modeling pass.
- One-handed axe - v3: Materials.
- One-handed axe - v3: Integration.
- One-handed axe - v4: Modeling pass.
- One-handed axe - v4: Materials.
- One-handed axe - v4: Integration.
- Two-handed spear - v2: Materials.
- Two-handed spear - v2: Integration.
- Two-handed spear - v3: Materials.
- Two-handed spear - v3: Integration.
- Two-handed spear - v4: Modeling pass.
- Two-handed spear - v3: Modeling pass.
- Two-handed spear - v4: Materials.
- Two-handed spear - v4: Integration.
- First Pass Concept Art: TDD polearms.
- Polearm v1: Complete.
- Polearm v2: Complete.
- Polearm v3: Complete.
- Update completed weapons scale to better convey weight and fit better in hands.
- Realm specific torch modeling and mats.
- Realm specific torch vfx and integration.
- Focuses: First Pass planning mix and match parts system.
- Focus - V1: Modeling pass.
- Focus - v1: Materials.
- Focus - v1: Integration.
- Quivers: First pass generic concepts.
- Quivers: Second pass concepts with Realm variations.
- Quiver: modeling and materials.
- Longbow - v2: Modeling, materials, integration.
- Shortbow - v2: Modeling, materials, integration.
- Book - v2: Modeling pass.
- Book - v2: Materials.
- Book - v2: Integration.
As a Developer, I'd like to have a selection of weapons that visually represent each Realm's identity. - Viking
- First pass concept Art: One-handed swords.
- One-handed swords: First Pass planning mix and match parts system.
- One-handed sword - V1: Modeling pass.
- One-handed sword - v1: Materials.
- One-handed sword - v1: Integration.
- First pass concept Art: One-handed axes.
- One-handed axe - v1: First Pass planning mix and match parts system.
- One-handed axe - v1: Modeling pass.
- One-handed axe - v1: Materials.
- One-handed axe - v1: Integration.
- One-handed maces: First Pass planning mix and match parts system.
- One-handed mace - V1: Modeling pass.
- One-handed mace - v1: Materials.
- One-handed mace - v1: Integration.
- Dagger - v1: First Pass planning mix and match parts system.
- Dagger - v1: Modeling pass.
- Dagger - v1: Materials.
- Dagger - v1: Integration.
- One-handed spears: First Pass planning mix and match parts system.
- One-handed spears - V1: Modeling pass.
- One-handed spears - v1: Materials.
- One-handed spears - v1: Integration.
- Two-handed swords: First Pass planning mix and match parts system.
- Two-handed swords - V1: Modeling pass.
- Two-handed swords - v1: Materials.
- Two-handed swords - v1: Integration.
- Two-handed axes: First Pass planning mix and match parts system.
- Two-handed axes - V1: Modeling pass.
- Two-handed axes - v1: Materials.
- Two-handed axes - v1: Integration.
- Two-handed spears: First Pass planning mix and match parts system.
- Two-handed spear - V1: Modeling pass.
- Two-handed spear - v1: Materials.
- Two-handed spear - v1: Integration.
- Two-handed staffs: First Pass planning mix and match parts system.
- Two-handed staff - V1: Modeling pass - Magic themed.
- Two-handed staff - v1: Materials - Magic themed.
- Two-handed staff - v1: Integration - Magic themed.
- Small shields: First Pass planning mix and match parts system.
- Small shield - V1: Modeling pass.
- Small shield - v1: Materials.
- Small shield - v1: Integration.
- Large shields: First Pass planning mix and match parts system.
- Large shield - V1: Modeling pass.
- Large shield - v1: Materials.
- Large shield - v1: Integration.
- Short bows: First Pass planning mix and match parts system.
- Short bow - V1: Modeling pass.
- Short bow - v1: Materials.
- Short bow - v1: Integration.
- Long bows: First Pass planning mix and match parts system.
- Long bow - V1: Modeling pass.
- Long bow - v1: Materials.
- Long bow - v1: Integration.
- Books: First Pass planning mix and match parts system.
- Book - V1: Modeling pass.
- Book - v1: Materials.
- Book - v1: Integration.
- Focus - V1: Modeling pass.
- Focus - v1: Materials.
- Focus - v1: Integration.
- Potion/Elixir Bottles: First Pass planning mix and match parts system.
- Bottle - V1: Modeling pass.
- Bottle - v1: Materials.
- Bottle - v1: Integration.
- First Pass Concept Art: One-handed high quality "epic" swords.
- First Pass Concept Art: One-handed high quality "epic" axes.
- First Pass Concept Art: One handed Viking hammers.
- One-handed hammers: First Pass planning mix and match parts system.
- One-handed hammer - V1: Modeling pass.
- First Pass Concept Art: Two-handed Viking hammers.
- Two-handed hammers: First Pass planning mix and match parts system.
- Two-handed hammers - V1: Modeling pass.
- Two-handed hammers - v1: Materials.
- Two-handed hammers - v1: Integration.
- First Pass Concept Art: Small shields.
- First Pass Concept Art: Large shields.
- One-handed axe - V2 - High Quality "epic": Modeling pass.
- First pass concept Art: Arrows
- Arrows: First Pass planning mix and match parts system.
- Arrows - V1: Modeling pass.
- First pass concept Art: Short bows.
- First pass concept Art: Staffs, melee and magic.
- Two-handed staff - V2: Modeling pass - Melee.
- One-handed "epic" ice sword v1 - Modeling pass.
- One-handed "epic" ice sword v2 - Modeling pass.
- One-handed "epic" ice sword v3 - Modeling pass.
- Stonehealer rocks: Modeling pass.
- Stonehealer rocks: Materials.
- Stonehealer rocks: Integration.
- Dagger - v2: Modeling pass.
- Dagger - v2: Materials.
- Dagger - v2: Integration.
- Dagger - v3: Modeling pass.
- Dagger - v3: Materials.
- Dagger - v3: Integration.
- Two-handed staff - v1: Improvements on materials - Magic themed.
- One-handed "epic" ice sword v1: Materials
- One-handed "epic" ice sword v1: Integration
- One-handed sword - V1 - High Quality "epic": Modeling pass.
- One-handed sword - V1 - High Quality "epic": Materials.
- One-handed sword - V1 - High Quality "epic": Integration.
- One-handed hammer - v1: Materials.
- One-handed hammer - v1: Integration.
- One-handed spears - v2: Modeling pass.
- One-handed spears - v2: Materials.
- One-handed spears - v2: Integration.
- One-handed spears - v3: Modeling pass.
- One-handed spears - v3: Materials.
- One-handed spears - v3: Integration.
- Two-handed axes - v1: Modeling pass.
- Two-handed staff - V2: Materials pass - Melee.
- Two-handed staff - V2: Integration pass - Melee.
- Large shield - v2: Modeling pass.
- Large shield - v2: Materials.
- Large shield - v2: Integration.
- Focuses: Concept x3 with shape/geo variations using same material concept.
- One-handed "epic" ice sword v2 - Materials.
- One-handed "epic" ice sword v2 - Integration.
- Polearm: First Pass planning mix and match parts system.
- Polearm - v1: Materials.
- Polearm - v1: Integration.
- Polearm - v2: Modeling pass.
- Polearm - v2: Materials.
- Polearm - v2: Integration.
- First pass concept Art: Shortbows.
- Shortbow - V1: Modeling pass.
- Shortbow - v1: Materials.
- Arrows - v1: Materials.
- Arrows - v1: Integration.
- Arrows - v2: Modeling pass.
- Arrows - v2: Materials.
- Arrows - v2: Integration.
- Arrows - v3: Modeling pass.
- Arrows - v3: Materials.
- Arrows - v3: Integration.
- One-handed axe - v2: Modeling pass.
- One-handed axe - v2: Materials.
- One-handed axe - v2: Integration.
- Two-handed axes - v2: Materials.
- Two-handed axes - v2: Modeling pass.
- Two-handed axes - v2: Integration.
- One-handed "epic" ice sword v1: VFX.
- One-handed "epic" ice sword v2 - VFX.
- Polearm - v3.
- One-handed "epic valentines" axe concept.
- "Epic valentines" axe model created.
- Update completed weapons scale to better convey weight and fit better in hands.
- Realm specific torch modeling and mats.
- Realm specific torch vfx and integration.
- Two-handed spear - v2: Integration.
- Two-handed spear - v2: Materials.
- Two-handed spear - v3: Modeling pass.
- Two-handed spear - v3: Materials.
- Two-handed spear - v3: Integration.
- Horns: First Pass planning mix and match parts system.
- Horn - v1: Modeling pass.
- Horn - v1: Materials.
- Horn - v1: Integration.
- Horns: First Pass planning mix and match parts system.
- Horn - v1: Modeling pass.
- Horn - v1: Materials.
- Horn - v1: Integration.
- Odin Stones: First Pass planning mix and match parts system.
- Odin Stone - v1: Modeling pass.
- Odin Stone - v1: Materials.
- Odin Stone - v1: Integration.
- Two-handed spear - v2: Modeling pass.
- Two-handed spear - v2: Materials.
- Two-handed spear - v2: Integration.
- Two-handed spear - v3: Modeling pass.
- Two-handed spear - v3: Materials.
- Two-handed spear - v3: Integration.
- Quivers: First pass generic concepts.
- Quivers: Second pass concepts with Realm variations.
- Quiver: modeling and materials.
- Longbow - v2: Modeling, materials, integration.
- Shortbow - v2: Modeling, materials, integration.
- Book - v2: Modeling pass.
- Book - v2: Materials.
- Book - v2: Integration.
As a Backer in Beta 1, I'd like to be able to pick an item up off the ground, put it in my inventory, and if applicable, equip it.
- Items and Equipment:
- Allow items to check requirements before being equipped.
- Allow items to adjust player stats when equipped.
- Put equipment in slot. - Need to set up weapon slots to coincide with equip and unequip animations.
- Equipment tags - Allow Tags (Flags) on equipment for requirement system.
- Equipment weight - Have weight on items that count toward weight limits and encumbrance.
- Equipment Stats Based on Location - Be able to get stats from a specific location, e.g. defense for a specific body part based on armor.
- Inventory UI - second pass - Design.
- Inventory UI - second pass - Art
- Inventory UI - second pass - UI implementation
- Add other item slot selections in editor - rings, earrings, necklace, containers (backpack, hip container, quiver)
- Weapons dictate correct stance and animations
- New torch model, vfx, and light.
- Torch is an item that is equipped by the character and exists in hand.
- Items can be dropped on the ground and picked up.
- Items placed in world persist.
- Items can be placed on ground.
- Retrofit existing items to utilize component model.
- Equipment stats based on weapon.
- Simple items tool tips in inventory.
- Items now display their actual model.
- Items now drop slightly above ground and in front of character.
- Allow items to occupy multiple itemSlots. Items cannot occupy inner and outer layers at the same time.
- Update equipment slots to match model regions.
- SFX: Torch loop.
- Art - Three generic loot bags for possible grouping of dropped assets for performance.
- Set up items code-side to recognize multiple possible slots to which they can equip.
- Optimize the packed network data for gear
- Update data structures to support single entry for races that share the same body type
- Update armor art assets to make use of layering/masking tech.
- Update data structures to support single entry for races that share the same body type.
- Account for the future addition of upper and lower layers.
- Update UI to reflect recent gearslot changes.
- Optimizing gear slot information sent by packed/fast entity writers.
- Update ItemMessage to be able to notify the client on change.
- Creating a new item archive for deleted items and clear out item log and archive when wiping items
- Updating player loading to load in equipment safer
- Vials use their static data to know their resource type
- Make loader/s to load items in from the GameplayDefs content
- Item components which have no saved instance data do not save an empty component out to the database.
- Store used repair points and durability points in item durability component.
- Container support for items.
- Delete ammo right when it is used, but keep the item within the projectile object to maintain stats knowledge.
- Swap ItemDef data to be stored in a directory instead of a specific file.
- Increase performance of armor stat calculations by running off itemContexts.
- Determine and implement division between Item and GearPiece.
- Sub items are stored in the DB as a full Item dbmodel under the item.
- Bust item cache on load and modify.
- Create persisted StackHash for items that can be fetched through the API server queries.
- Support for loading of equipment whose equip slots have changed due to item versioning.
- Allow items to be placed in/removed from containers which are in containers.
- Optimize 'refill ammo' by cloning similar items instead of making a new identical itemDBModel.
- Make items which comprise other items take up generic item sub slots.
- Implement Item movement API for moving items and item stacks throughout inventory.
- Adding ItemSubSlot information to allow Vox jobs to hold multiple items associated with the same recipe slot.
- Adding Effects tags support for items.
- Add an item tag check function for use in skill scripts.
- Modify footstep sound effects depending on current equipment.
- Updating the global item reset code to gather item batches to cut down on memory use.
- Prevent insertion of items into inventory when you don't have any.
- Update the character query in the global item reset to only look for characters from the server's shard.
- Only update components that need to be updated onSearch for Inventory UI.
- Ensure that two items are not equipped to the same gearslot.
- Updating the nested item lookup to look at equipment component.
- Rename Current/Max Durability to Current/Max Health.
- Add stat for tracking health loss per item use.
- Adding item location change sound effects.
- Snap dropped items and siege engines to buildings instead of always to the terrain.
- Fall back to client commands when equip/unequip/drop API request fail.
- Update the item move API to allow for trashing items.
- Secure item trading API and game support.
- Secure trading creates a DB entry for each trade, tracking who, when, and what items are being transferred.
- Item swap for secure trade occurs on gameServer (instead of the API server).
- On player load, only secure trade items which are not in the transferral state are loaded.
- Items can be protected against becoming a part of a secure trade.
- Modify item tags to footType mapping.
- Upgrading CharacterLoadout data format.
- Added new ownership component for items.
- Created the class ItemCreatorParameter to provide information about whom an item is being made for.
- Add nine new columns (one per player stat) to item sheet.
- Check all nine stats when checking if a player meets item requirements.
- Check equipment on character load and move items to inventory when they don't meet requirements.
- Check item stat requirements when equipping items, and move items to inventory when they don't meet requirements.
- Hook up trash sound effects when an item is destroyed.
- Early move operations when the item is being asked to move to the exact spot it is already in.
- Adding armor stat calculation type information to the item context, which computes armor stats.
- Updating the GQL field name for item debug names.
- Optimizing sendToServer for item location fields.
- Fixing a bug with playing audio on item location which failed to associate the sound with a character if the new location didn't have a character but the old one did.
- Item cache is now rebuilt whenever either gear slot or gear layer lists change.
- Modify the GQL query result for accessing armor stats per body part from a dictionary to a list.
- Added custom delta receive code to rebuild the armor stat info.
- Drag and drop supported in inventory.
- Updated tooltips with inventory items.
- Expose/write function to combine component stats into existing ability.
- Add weapon types and let that be a field set by the primary component.
- When CraftedAbility is triggered, see if we need to combine a weapon into the ability before executing.
- Add function to player to grab stats from equipped weapon. First pass: provide some static stats to be replaced once we get equippable weapons with their own stats.
- Weapons: Sub in temporary data as specified by Ben for pre-Beta testing.
- Weapons: Add B1 temp art weapon stats.
- Weapons: Weapons can be assigned different damage types.
- Weapons: Improve UI handling when dropping and picking up items.
- Weapons: Drastically reduce network traffic for items.
- Weapons: Speed up server handling of items when player logs in.
- Weapons: Weapons can be assigned left or right hands.
- Set up two-handed weapons not to deflect for each hand.
- Disallow the firing of broken ammo.
- Add BodyPart.None to query for global resistances, etc.
- Define stub to query for armor class, queryable by body part.
- Get damage types done from ability/weapons, including fallback from non-penetrating blows.
- PenetrationDamageEffect - AbilityEffect to deal with weapon penetration system. Both Editor and Server versions.
- Return DamageType resistances on Combatant. Override in Player.
- Mitigate damage done via Hurt().
- Armor: Sub in temporary data as specified by Ben for pre-Beta testing.
- Armor: Add B1 armor stats.
- Armor: Armor calculates damage reduction per body part.
- Break down gear slots into more granular armor slots.
- Break down pre-existing armor assets to make use of added slots.
- Update art to be consistent with design vision of slots and layers.
- Design: Update all armor item values to work with updated slots and layers.
- Update art to be consistent with design vision of slots and layers.
- Design: Update all armor item values to work with updated slots and layers.
- Support for race and gender fields
- Add EncumbranceReduction player stat.
- Get measure of weight being carried.
- Get encumbrance based on max carry.
- Mitigate encumbrance based on Dexterity stat.
- Add effects of encumbrance: movement and ability speeds reduced.
- Add DBVars to allow value adjustment.
- First pass solution: Items spawned within world (dropping an item) now supports sound events.
- Improve how we send sound events for spawned items.
- Create generic chain, metal, and leather drop sounds for armor.
- Create generic wood, metal, arrow, bow, etc. weapon drop sounds.
- Create generic item sound.
- Create item drop variations for grass and dirt/gravel.
- Assign all pre-existing droppable items drop sounds.
As a Backer and Developer, I'd like to play a game that looks like it is from 2016, by implementing a new lighting and material system.
- Capture cube maps from game world.
- Convolving cube maps to use as light probes.
- Tone Mapping HDR and Bloom:
- FP16 version.
- Low shader detail version. rgb 10 bit or rgbe.
- Bloom and desaturation pass 1
- Ambient light influence commands for testing/debugging
- Tone mapping inputs/commands - editor/debugging
- PostEffectHandler - Place to put post effect specific settings, render targets, constant buffers, and seperate dx10 and dx11 implementation.
- Eye adjustment.
- Add controls for artist tuning per HDR updates.
- Dx11 Exposure, compute fast Histogram.
- Dx10 Exposure, downsample and median.
- Reduce eye adjustment influence in shadowed areas.
- Physically based shading: Shaders
- Normalized level of detail settings for lighting - Low, Medium, High.
- Point Lights
- Spot Lights
- All types of renderables done.
- BRDF for main light.
As a Backer in Beta 1, I'd like a progression system that allows me to upgrade my abilities, stats, and items
- Log data for progression.
- Progression batch processing.
- Track progression for ability components.
- Unlock new ability components based on mastery of others.
- Feedback to players about progression.
- Feedback to players about new abilities.
- Ability components gain power from progression.
- Progression batch processing: Schedule calculation at regular interval.
- Progression batch processing: Read progression records from database.
- Progression batch processing: Calculate total points based on time online.
- Progression batch processing: Calculate all usages and distribute points proportionally.
- Progression batch processing: Record and save ability proficiency changes.
- Progression batch processing: Record and save stat advancement.
- Progression batch processing: Update logged-on characters with new stat/component changes.
- Second Pass feedback to players: Improve UI solution.
- Post Re-ab
- Add stable string IDs to skill parts.
- Implement progression loop: track events, process a game day, award rewards.
- Adding configuration for a new progression database in mongo.
- Create progression events on game server when they occur.
- Take snapshot of player in the world state on a timer.
- Handle player progression day logs.
- Removing old progression database collection from world state.
- Basic data structure for putting progression info into SkillPart xml definitions.
- Create skill part level table to specify a skill part max level, XP per level, and XP granted on use.
- Create skill part reward definition to define what rewards are granted when a level is reached.
- Tracked XP for skill part leveling.
- Create stat bonus points for rewards when leveling a skill part.
- Calculate character adjustments with progression app while running end-of-day calculations.
- Skill part related tracking done with uints instead of ints.
- Add progression slash commands for testing.
- Restructure skill part requirements to allow more specific subclasses.
- Wire up Black Knight skill part leveling.
- Add server config setting for just unlocking all parts to avoid removing them for everyone just yet.
- Apply effects to character as a reward for a skill part level.
- Apply skill nodes to the character during the acceptance of their daily log.
- Add progression events for creating and destroying blocks.
- Credit placer of the blueprint with creation of blocks.
- Track event data for the plotID and position of the plot.
- Track total blocks created and destroyed by character in their logs.
- Have shards track the sum of all blocks created and destroyed across the shard in their log.
- Hook up skill progression dev UI.
- Enable progression tracking for damage, healing, and death.
- Apply progression bonuses from player stats to the actual player.
- Factor progression bonuses into stat calculations.
- Recompute player stats when progression components are updated.
- Convert progression app to state machine.
- Split DB and shard information out at the start of the application.
- Setup option config settings for controlling application flow.
- Enable configurable length of day.
- Adding server command for globally resetting progression.
- Allow player stats to have XP and gain XP through skill part use.
- Track a list of stat requirements and current player stat values for each part and use them in the progression app to figure out how much XP to grant.
- Store current progression points per stat in player data.
- While processing the events for a character, if a useSkillParts event shows up, examine the new stat data.
- Add a config option to be able to turn on/off progression tracking of damage/healing over time.
- Update rules for distance moved calculations on progression summaries to help detect events such as teleports.
- From the progression app, while deciding if a processed day should be published, the option is now given to export the character adjustments to a CSV document.
- Update tracking of damage/healing dealt through progression system to track for multiple types of entities.
- Revamp skill requirements to have sufficient metadata to power progression and client UI.
- Create SessionStats component to track only player session information.
- Add admin tools for modifying XP/levels of skillparts/stats.
- Record damage/healting as the amount that the character's health actually changes.
- Remove the damage type field from damage events.
As a Backer, I would like to be able to give to my friends and family the extra tiers that come with my pledge.
- Create data structures for gift codes.
- Create API action for querying gift codes.
- Create API action for consuming gift codes.
- Create an implementation of the gift codes for pledges.
- Log all the things.
- Make gifted pledges reduce the value of "parent" pledges.
- Retrofit existing pledges to use a better data model for transactions.
- Retrofit existing pledges to have gift codes.
- Make new pledges produce gift codes (where appropriate).
- Fix pledges with missing transaction IDs.
- Implement upgrade credits.
- Sync with Charles for Store implementation.
- Gifting Data Fixup.
- Start migrating Ecosystem to DBCon (and refactor DBCon to split out account and asset bits)
- Update jsonconfigs for every application.
- Make sure that granting a tier also grants permissions and backer level
- Handle logic for overflowing devaluation from paid to credits.
- Update account editor to work with new changes.
- Write code to split off overspend.
- Determine whether removing a pledge via the editor invalidates gift codes.
- Carve shipping expenses out of amountCents and into shippingCents (rolled into data fixup).
- Add RefundValue to editor which is the sum of amountCents and shippingCents
- Add Redeemable Editor
- Implement interface on test version of the CU store.
- Do all the CSS on the store.
- Solve edge case issues/possible problems.
- Solutions to additional edge case and security issues.
- More solutions to additional edge case and security issues.
- More testing and useability feedback tweaks.
- Update tier art to reflect additional, giftable, tiers included.
- Additional testing to search for any security risks as well as to verify system working as intended.
- Push first wave of gifting to Backers.
- Push second wave of gifting to Backers.
- Push third, and final wave of gifting to Backers.
As a Developer, I'd like a better instrument library to build interactive music.
- Albion III - Small Taiko
- Albion III - Horns Short
- Albion III - Med Taiko
- Small Horns Short
- Albion Darwin Large Perc Ens
- Small Ensemble - Albion Perc
- Easter Island Sub Hits
- Small Ensemble - Shaker
- Small Horns long with swell
- Albion III - Horns Long Nasty
- Small Horns long nasty
- Albion III - Strings Short
- Small strings short
- Albion III - Strings Long
- Small strings long
- Albion III - Strings Long
- Albion Spiccato
- Lute
- Solo ERA Short
- Low plucked bass
- Voice - War Chants
- Voice - VIK Voice Phrases
- Voice - VIK Voice Sustains
- Voice - TDD Voice Phrases
- Voice - TDD Voice Sustains
- Voice - ARTH Voice Phrases
- FX - Symphobian
- FX - Ether Mood
- FX - Moody String
- FX - Moody String 2
- FX - Moody Flute
- FX - Bowed Mood
- Keyed fiddle ambience.
- Bowed cymbals.
- Wwise better supports smooth sound transitions between parameter changes.
- Sample instrument - accents for percussion. Variable and scalable based on SizeOfBattle
- Create Instrument - Vertically and horizontally scaling drum instrument with taikos, toms, accents, booms, cymbals, and rolls.
- Audit and improve drum samples.
- 16 additional drum samples added to library.
- Create church bell instrument.
As a Backer in Beta 1, I'd like to be able to choose from a selection of classes for each Realm.
- Design:
- Finalize data import format for ability component stats.
- First Pass: Design ability component stats
- Construct ability component logic in editor.
- Assign Particle Effects, Sound Effects, and Animations to ability component combinations.
- Beta class balance first pass.
- Audit class design based on Beta 1 tech scope.
- Import ability component stats into editor.
- Test ability components after change to ability effect trees on Hatchery.
- Remove ability to create anything but ability effect trees inside ability components
- Update editor for ability components using ability effect trees.
- Create fallback/rollback for system for botched imports.
- Create ability component import structures for Excel.
- Compare to existing ability components and update where different.
- Test import system.
- Determine whether to create export system for ability data/spreadsheet.
- Add console system to editor.
- Improve ability effect editor usability.
- Create ability component icon mockups for presentations and later web usage.
- Add effect trees to primary components with new effect to stitch effect trees into the secondary on the server.
- Ability import:
- Make ability components use ability effect trees instead of custom trees.
- Add additional fields to ability importer to support class abilities as they are further defined from design.
- Update all ability components to use trees.
- Send Wound trigger when wounded.
- Send Death trigger when dead.
- Send Collision trigger when colliding.
- Send Damage trigger when damaged.
- Have ability system return status messages if caster, enemy, friend were affected.
- Expose tags through IAbility.
- Define structure to listen for specified conditions.
- Have projectiles and physics colliders send AbilityHit trigger.
- Send AbilityHit trigger when affected by an ability.
- Send AbilityUse trigger when ability used.
- Add ability to add and remove listeners from Combatants.
- Create classes in editor to allow abilities to register listeners.
- Triggers: Perform an ability when a specific event happens.
- Class Component Icons - Art
- Fianna - Create art for ability component icons.
- Blackguard - Create art for ability component icons.
- Forest Stalker - Create art for ability component icons.
- Winter's Shadow - Create art for ability component icons.
- Physician - Create art for ability component icons.
- Empath - Create art for ability component icons.
- Stonehealer - Create art for ability component icons.
- Body part component icons.
- Create additional body part component types beyond torso.
- Black Knight - Create art for ability component icons.
- Mjölnir - Create art for ability component icons.
- Body part targeting:
- Outside effects can adjust the power of an ability.
- Outside effects can adjust the power of an ability.
- Integrate body part targeting into ability builder UI.
- Add a way for an admin to get ability components for testing.
- Pull the game->proxy connection off of arithmetic coding.
- Update animation/ability data to pick from specific vfx, animations, etc, which allows us to mix and match animations with different vfx/sfx.
- Client Ability Spec - Phase 01
- Client plays abilities using only CAS.
- Handle generation of CASes on the game server from ability crafting.
- Blackguard
- Black Knight
- Mjölnir
- Fianna
- Rough Pass ability VFX for testing:
- Forest Stalker
- Stonehealer
- Winter's Shadow
- Physician
- Empath
- Additional Functionality:
- Abilities can consume and produce items, including ammo.
- Power from nearby players - if in a cluster, abilities can be more or less powerful.
- Ability buffs and debuffs are a thing we can do!
- Additional art for placed Stone Healer assets.
- New, basic, standing idle animation.
- Set-up classes in sound system.
- First pass Banes and Boons of existing Beta 1 races based off refactor of ability system.
- Add a TagEffect to add specific tags to a target. - Used for requirements of some abilities as well.
- Rough Pass ability SFX for testing:
- Black Knight
- Fianna
- Mjölnir
- Blackguard
- Forest Stalker
- Winter's Shadow
- Physician
- Empath
- Stonehealer
As a Developer, I'd like the tools necessary to audit and isolate any memory-related issues in the Unchained Engine or server code.
- Track all allocations that occur.
- Generate callstacks for all allocations.
- Send information to server, which can display all changes that have occurred over time.
- Performance pass.
As a Backer in Beta 1, I'd like to interact with the first pass of a Place of Power in Camelot Unchained.
- First pass design layout and integrate into world.
- First pass art concept pass
- Additional concept art for secondary rocks, dais, etc.
- Create high poly rock assets. - Arches and walls.
- Create low poly rock assets. - Arches and walls.
- Rough texture pass arches and walls.
- Create high poly secondary rock assets - wall, bridge, enviro pieces.
- Create low poly secondary rock assets - wall, bridge, enviro pieces.
- Rough texture pass secondary assets.
- Create "rune rocks."
- Rock intersection models.
- Concept place of power dais design.
- Create in-game dais element based on approved concept.
- Concept additional secondary structural elements.
- Create secondary in-game elements.
- Integrate additional rocks and rock sets into scene for use.
- Create additional concept art for new assets.
- Create concept of bridges that raise and lower to facilitate future game design needs.
- First pass VFX concept art.
- Model with rough UV's, Realm-themed statues.
- First pass white box model complete for testing.
- Second pass layout and art rough update.
- Integrate asset into map with art pass on surrounding terrain.
- Assemble POP model.
- Second pass statue materials.
- Second pass repeating rock materials.
- Second pass crystal material and geo layout.
- First pass materials.
- Soft gradient VFX for crystals.
- Ash/miasma vapor effect.
- Entrance braziers.
- Fire pits.
- Pit wispy smoky effects.
- Central Beam.
- VFX:
- First pass Place of Power ambient music.
- First pass Place of Power SFX.
As a Backer in Beta 1, I'd like to see the pre-existing textures in Camelot Unchained make use of the new rendering and lighting systems.
- First Pass Overhaul:
- Update male and female Human body materials.
- Update male and female Human head material variations.
- Update male and female Valk materials.
- Update male and female Luchorpán.
- Update Picts.
- Update TDD Med armor.
- Update TDD Heavy armor.
- Update Arthurian Med armor.
- Update Arthurian Heavy armor.
- Update Viking Med armor.
- Update Viking Heavy armor.
- Update generic shirts.
- Update generic pants.
- Update generic gloves.
- Update generic shoes and boots.
- Update cloak.
- Update Neutral grassland materials.
- Update Viking grassland materials.
- Update Arthurian grassland materials.
- Update TDD grassland materials.
- Update Neutral pine forest materials.
- Update Viking pine forest materials.
- Update Arthurian pine forest materials.
- Update TDD pine forest materials.
- Update the old alpha forest materials.
- Update all the materials used in C.U.B.E.
- Update the plot marker materials.
- Create some fun materials to C.U.B.E. that take advantage of the new rendering and lighting.
- Update beach/sand materials that were hiding under a rock and were missed during first pass.
- Update materials on storage items used in first pass crafting resources.
- Update generic torch material.
- Update material on generic wood and metal lamp posts.
- Second pass shirt and pants material updates after PBR values fixed.
- Second pass hair material audits where applicable after PBR values fixed.
As a Backer, I'd like to play in new biomes that change according to Realm ownership. - Biome 03
- Concept pass biome #3 - Coastline and beaches.
- Concept pass biome #3 - Coastline and beaches Realm variations.
- Concept ambient SFX pass biome 1 - "Neutral" and "Owned" by each Realm.
- High cliffs along shore ambient SFX.
- Concept pass VFX 1 - "Neutral" and "Owned" by each Realm.
- Biome 3 - Integrate ambient SFX that change with Realm ownership.
- Biome 3 - First pass VFX
- Biome 3 - Determine neutral asset list from concept.
- Biome 3 - Determine TDD ownership asset list from concept.
- Biome 3 - Determine Arthurian ownership asset list from concept.
- Biome 3 - Determine Viking ownership asset list from concept.
- Biome 3 Neutral - Create ground texture sets.
- Biome 3 Neutral - Create grass and ground cover assets.
- Biome 3 Neutral - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 3 Neutral - Create large assets. (Trees, rocks, etc.)
- Biome 3 Neutral - Create terrain mods and integrate into world for testing.
- Biome 3 Neutral - Optimization pass.
- Biome 3 Arthurian - Create ground texture sets.
- Biome 3 Arthurian - Create grass and ground cover assets.
- Biome 3 Arthurian - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 3 Arthurian - Create large assets. (Trees, rocks, etc.)
- Biome 3 Arthurian - Create terrain mods and integrate into world for testing.
- Biome 3 Viking - Create ground texture sets.
- Biome 3 Viking - Create grass and ground cover assets.
- Biome 3 Viking - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 3 Viking - Create large assets. (Trees, rocks, etc.)
- Biome 3 Viking - Create terrain mods and integrate into world for testing.
- Biome 3 TDD - Create ground texture sets.
- Biome 3 TDD - Create grass and ground cover assets.
- Biome 3 TDD - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 3 TDD - Create large assets. (Trees, rocks, etc.)
- Biome 3 TDD - Create terrain mods and integrate into world for testing.
As a Developer, I'd like to improve integration of plots into existing building code to improve performance, reduce development time, and reduce bugs.
- ManagedBuildingPlot - Simplify how c++ and c# talk to each other to reduce surface for future bugs.
- Exists!
- Is aligned properly, and stays aligned
- Accepts deltas
- Has bounds and heightmap built in
- Internalized bounds / ground checking
- Internalized heightmap
- Internalized cell limit
- Matches the minimum needs of Building.cs
- Is the entry point for stability
- Does all the relevant IO
- Cache off niceties like cell count / bounds?
- Proper conversion of plot bounds into grid bounds
- Cache off niceties like cell count/bounds
- Internalized bounds/ground checking
- ManagedBuildingDelta - Simplify the way we update changes to buildings to reduce surface for future bugs.
- Exists!
- Supports Trees
- Supports Lists
- Supports single cells
- Supports range
- Matches the minimum needs of Building.cs
- Accepts deltas
- Internalizes ClearChanges
- Doesn't use hard coded mapping to look up cells
- Broken out into its own file
- ManagedCellData - Substance stats are communicated between c++ and c# from a database.
- ManagedBuildingRoot - Refactor how plot data is attached to the root building cell structure.
- All static methods gone
- Merge code duplicated in ManagedBuildingPlot
- Minimized as much as possible
- ManagedBuildingHeightfield - Simplify and automate the way heightfields are generated.
- No longer exists
- No longer exists.
- Editor - For creation of new block shapes, with improved performance.
- BuildingShapeData resource + collection: Improved information storage.
- BuildingShapeBuilder - shape translation from editor to client.
- BuildingShapeCog - How the editor represents building shapes. "It makes me cry a little bit in my sleep." - Rob.
- BuildingSubstanceData resource + collection: Improved information storage.
- BuildingSubstanceBuilder - substance translation from editor to client.
- BuildingSubstanceCog - How the editor represents substances.
- Editor:
- Shape editor complete
- Substance editor complete.
- Changes to shape and substance integrated into the client.
- Changes to shape and substance integrated into the server.
- Changes to shape and substance integrated into C.U.B.E.
As a Developer, I'd like to have a first pass Camelot Unchained UI style sheet for visual consistency.
- Mock up neutral style sheet with references to Realm-based variations.
- Create CSS page of neutral style sheet.
- Create CSS page of TDD style sheet.
- Create CSS page of Viking style sheet.
- Create CSS page of Arthurian style sheet.
As a Backer, I want to learn more about ley lines, places of power, and ? - in Camelot Unchained.
- First pass design.
- Second pass design.
As a Developer and Backer in B1, I'd like better logging and feedback on abilities to support finding and fixing bugs.
- Additional features to core updater to support ability system refactor.
- First pass prototype of new base ability functionality. - Movement, damage, and death!
- Second pass prototype of new base ability functionality.
- Preliminary completion of all core updater features.
- Add first active effect "guard" as prototype for re-abilitated active effect system.
- Data-driven abilities loaded and assigned to users.
- Prototype per ability cooldowns.
- Create new ability type that transfers damage - "Guard."
- Add ability to modify stats - ex: snare and sprint.
- Add ability to damage buildings.
- Prototype projectiles.
- Damage converted into an arithmetic expression to facilitate stacking buffs, debuffs, and modifiers.
- Damage modifier buff/debuff added.
- First Pass: block.
- First Pass: counter attack.
- First Pass: knockback.
- First Pass: working equipment resistances.
- Convert all prototypes to craftable skill nodes (except block/counter and projectile/wall)
- First Pass: Ability builder UI functional.
- First Pass: Character transitions between animation sets when applicable. (different weapon types, running, swimming, etc.)
- First Pass: Hook up animations to draw and sheathe weapons.
- First Pass skillnode design and implementation - Gives user the ability to build abilities.
- First Pass skill queueing system to support multi-stage skills and channeling of skills.
- First Pass implementation of spatial volumes that track players within, entering, and exiting.
- System now supports doing abilities in tandem, as well as sequentially.
- Re-add skill timing - with more flexibility than previous iteration.
- First Pass: Ability Builder UI - now data driven instead of hard coded.
- First implementation of actual beta skills working.
- Improve projectile support - Arrows can now do anything, when previously it was only straight damage.
- Extract data structures from game logic so it`s easier to re-use the data structures. - This makes it faster to create new abilities.
- Add ability to log any data from our server - going to be extremely helpful as we move forward with the refactor, both so Design can see if things are working as intended, and for playtest tuning!
- Add ability to buff and debuff the timing of abilities.
- Block and Counter-attack can be crafted into abilities with animations.
- Equipment slots can be independently buffed and debuffed.
- Ability logic now supports variables which can be edited later - Speeds creation of new abilities.
- Variables support expressions.
- Added the ability to log any data from our server easily - can be searched, graphed, quantified!
- Additional logging added to better provide feedback to design and audit code.
- Additional logging added to better provide feedback to design and audit code.
- Additional logging added to better provide feedback to design and audit code.
- Added the ability to log any data from our server easily - can be searched, graphed, quantified!
- Additional logging added to better provide feedback to design and audit code.
- Block and Counter-attack are now be crafted into abilities.
- Equipment slots can now be independently buffed and debuffed.
- Refactor of immutables to be faster and cleaner!
- Payloads now support different types at the same time. Ex: shoot a fire arrow and an electrical arrow at the same time.
- Hook up wound support.
- Wounds correctly sent to UI layer.
- Projectiles properly collide and persist for correct amount of time.
- Projectiles support AOEs.
- Add more and better logging to skills which may be used for additional combat logging.
- Add aim and target nodes to archery ability network.
- Add periodic effects. Damage/heals over time, etc.
- Make it so triggers can`t trigger themselves.
- Physics actors use proper lifetimes.
- Buildings can take damage from abilities.
- Refactor subparts to be cleaner and allow armor per sub part to work.
- Add resist mod active effect - Raise or lower resistances on whole body or subpart.
- Improve encoding of timed resources - reduces bandwidth for things like stamina, health, blood.
- Add tags to skill nodes - "if this is tagged as fire, do this to them."
- Quality of life improvements to creating abilities. Fewer lines of code, fewer errors.
- Modify resource - adds or subtracts from a resource pool
- Stability for ability disruption works.
- Improvements to skill timing.
- Scripts can pull stats from weapons.
- Simplify LAEs to reduce bugs and code overhead.
- Values in abilities can be affected by active effect.
- Can shoot where aiming or at a target.
- Expose more things to scripting "distance between entities, if wounded, check active effects, etc"
- Add the ability for skills to create immobile entities in the world.
- Add stacking groups to trigger nodes.
- Body part targetting is scriptable. Added the ability for skills to lookup the most wounded body part.
- Add the ability for skills to create immobile entities in the world.
- Add the ability for skills to set an arbitrary state on entities.
- Add the ability for skills to destroy entities.
- Add the ability for skills to teleport entities.
- Add Drop Stone which leveraged existing tech (stone cast with a MUCH lower velocity).
- Add the ability for skills to execute arbitrary subskills.
- Add Alteration Of Life (heal and short duration healing buff)
- Add the ability for skills to buff healing on entities
- Add the ability for skills to lookup the most damaged body part
- Add Creeping Petrification (slow movement, slow ability prep, and slow ability recovery)
- Resources now regenerate over time and are conveyed on the UI.
- Separate stone abilities of the Stonehealer from the usual magic network, removing the ability to create dud abilities by mixing invalid parts for them.
- Add cooldowns to server-side skills.
- Skills can be restricted by particular archetypes.
- Fix server lag when attempting to spam multiple abilities.
- Buffable mitigation: subtracts a flat amount from damage rather than a percent.
- Improvements to subject group.
- Hook up Stonehealer art assets for healer stones.
- Missing/killed/deleted entities don't break skills (bug fixing)
- Temporary solution to exhausted state for testing.
- Add shielding stone for Stonehealer to mitigate a flat amount of damage.
- Can run an arbitrary skill node when a skill does damage - Empath now hurts itself equal to the amount they healed properly.
- Added more skill networks that don`t have part targeting - you no longer can put a target component into a skill if it doesnt use one.
- Kinematics can be offset from the ground properly - most static entities are no longer sunk halfway into the ground
- Active effect "names" - active effects are all given the name of the file they came from.
- DistanceBetween helper function - mostly used for doing range checks.
- System skill nodes - Drown and exhaustion are driven from XML skill nodes rather than being hard coded.
- Player stats are pull from database - previously were hardcoded, now the values you see during character creation are actually loaded onto the server.
- Stat requirements - Skills can have a requirement that checks your stats (includes checks for meeting the stat reqs of weapons).
- Subject sort/max targets - We can do a spatial query for a melee swing, then if your target is in it, hit them, otherwise hit the person closest to the center of it (and a whole variety of similar things).
- Stones have health - Stonehealer stones have health, can be damaged, and die when they run out of health.
- Skills can be tagged for being disrupted by movement.
- Check if a gear slot has anything in it from a script - Used by Open Hand component requirements.
- Stats are now bounded - Your move speed never can go above 10 regardless of buffs.
- New weapon stats - Values on weapons have been balanced, and weapons have stat requirements based on quality - Starter weapons have stat requirements of 20.
- Add ability to filter subjects based on if they are in your group - Used by healer AoEs to only heal your group.
- Traumas - When you take a wound, you get a temporary trauma active effect applied to you based on part wounded.
- Armor penetration.
- TargetFocus part affects all subskills - Fixed a bug preventing the part component from properly working with periodics and other delayed execution.
- SetRobOnFire node - Can be included into skills to set Rob on fire.
- Stonehealer stones show up again post client skills.
- Autogen the notes section of a skill - Puts the parts used to make it in, shows up in tooltip and spellbook.
- Removed some slots from skill networks because they are never used.
- Skill results bug fixing - some skills were reporting incorrect values.
- Deflection updated and working.
- First pass logging iteration server side.
- Client logging defined in UI - Chat combat tab.
- First pass performance improvments
- Second pass performance with scoping of relevant information sent.
- Add CSV support for weapon stats with slash commands to update.
- Make script compilation more robust by always logging warnings
- Remove local-only skills from the client's skill queue when they get cancelled
- Health bar heal/damage events are based off of combat events passed from the server.
- Revisit cooldown post re-abilitation.
- Server-side implementation of 'cancel all skills'.
- Load skills on API server.
- Target dummies wear random armor.
- Make creation of multiple target dummies happen in parallel.
- Use IWorldState in ServerEntities instead of WorldState.
- Player stat changes and physics constants are driven by XML.
- MockUpdater now keeps track of changes while it is in scope.
- Send preflighted skill data from server-to-server rather than redoing it on the receiving side.
- Player waits for PhysicsEntity to be added before creating skills.
- Revamp starting skills defined in xml by simplifying SkillDef.
- Add starting skills during player login if they don't have any skills.
- Assign unique IDs to skilldefs.
- When sending SkillsKnownComponent to another server, also send the blocked and allowed categories.
- Fix subject group logic to have two groups; targets and recievers (and make it so that not all event components have subjectGroupLookup as a field).
- Support target track that checks friend first and falls back to enemies.
- Change OwnerHistoryComponent to store an EntityID instead of an IEntity.
- Projectile Entities remember the skill that spawned them on the server, and send it down to the client.
- Update skill XML so ClientProjectileEffects correctly target Self.
- Creation of clientside Effects now gets an ActiveSkill for use by the Effect.
- Send projectile physics predictions to everyone instead of just the person using the skill, so they can inform client predictions.
- Add an IgnoreInitialContacts physics flag that can be used for projectiles to escape from their source's geometry.
- Add AttachProjectileEffect that will attach the Renderable from a predicted projectile (on an ActiveSkill) to an Entity as part of its animation.
- Store ActiveSkill in constants collection.
- Fall back on the skill entity's model rather than trying to get a parent that doesn't exist.
- ActiveEffectsController supports ActiveEffects that do not have time durations.
- Add options for projectile effects and active effects to skill detail command.
- Hide weapons anim event for equip/unequip weapons.
- When firing local projectiles, use the gravityFactor from ClientProjectileDef.
- Make ability builder component-selection-modal scrollbar thicker.
- Simplify how the client and server negotiate phase advancement for held skills.
- Use local variables when there's only one layer, and a scratch Array of structs intead of multiple layers to improve LAE evaluations.
- Filter out entities without damageable components from abilities.
- Sort starting skill by their ID to provide control over the layout.
- Fix prebuilt skill IDs to be unique.
- Ability Delivery:
- Bring old system back from the dead.
- Get skills within the new system passing down to the client.
- Have each skill have its own unique effects.
- Active effects work within the new system.
- Bugs related to the first ability rehab push fixed.
- Design and implement solution to handle targeting moving forward.
- Design and implement a solution for looping stacking sounds.
- Using chain lightning as a test case - figure out how ability info should be passed through, and potentially add smarter target preditions to the client so this looks good!
- Auto generate our communication between our game server and our proxies. - Greatly improves speed and reliability of the server/proxy communication layer. - Allows us to create new abilities much faster!
- Refactor of CAS into Client Spec.
- Editor:
- Ability spec editor, first pass - Retrieve data from database and convert to data on server in order to send it to the client.
- New entity component model:
- Componentize physics entities projectiles and trigger volumes.
- Improve entity lookup and targeting for abilities.
- Hook up physics events to ability system.
- Remove TargetDummy entity.
- Remove Combatant entity.
- Player entity 90% componetized.
- Last 10% player entity componetized.
- Player entity 90% componetized.
- Last 10% player entity componetized.
- System to calculate skill timing costs:
- Create a Skill Node that creates a Timing Component (SNWeaponStats)
- Wire up SNWeaponStats to skills.
- Check for timing component on Phase 0 and pull times.
- Combine Weapon time from component, Phase times (sum of times from Skill Nodes) and any modifiers from effects.
- Create Event Handler to modify times when timing component is found. So buffs/debuffs can change skill times.
- Create Event Handler to modify times when timing component is found, so buffs/debuffs can change skill times.
- Create Event Handler to modify times when timing component is found, so buffs/debuffs can change skill times.
- Create Event Handler to modify times when timing component is found, so buffs/debuffs can change skill times.
- Create Event Handler to modify times when timing component is found, so buffs/debuffs can change skill times.
- Create Event Handler to modify times when timing component is found, so buffs/debuffs can change skill times.
- Clean up timing modifier component, event handler, and support code.
- Disruption Damage:
- Disruption properties on ActiveSkill.
- Event components and handlers for sending/receiving disruption.
- Add skillnode for disruption.
- Event components and handlers for stability.
- Verify skills that are currently in use can be interrupted via disruption damage.
- Disruption from Movement:
- Determine how physics events are observed by entities.
- Player observes Movement Events from the PhysicsScene.
- Set up smarter registration for Physics Events so that a Player who isn`t using any skills will not be spammed with movement events.
- Set up smarter registration for Physics Events so that a player who isn't using any skills will not be spammed with movement events.
- Apply Disruption based on movement distance.
- Code Review Fixes, and refactored code to better fit our event pattern.
- Ability Builder Update:
- Initial testing of old system with new abilities.
- Debug JavaScript skill building.
- Patch ability builder JavaScript so we can build complex skills.
- Skill creation - Create Costing Modifier Event Handler.
- Skill creation - Create Decrease Stamina Node.
- Skill creation - Create Increase Recovery Time Node.
- Flatten node graph from UI into flat list server side.
- Abilities describe themselves in spellbook and UI to better assist with auditing bugs.
- Bots and testing:
- Fix loadtester pipeline to get basic bot functionality working again.
- Update Jenkins build to push builds to Wyrmling.
- Resolve issues in moving Internal Builds to Beta builds on the Server/Client.
- Update UserProxy instances with new settings to enable tests.
- Add a fix to a category of bugs causing crashes on the server.
- Create a tool to directly audit connected players experiencing issues.
- Fix to multiple assert or crash points when starting the client.
- UI manager threading rewrite to use ParLL threading library.
- Resurrect old bot code so they now run around.
- Bots now randomly stop and fire arrow abilities for testing.
- Improve arrow spamming issues for better feedback.
- Fix deadlock on loading.
- Fix multiple points of lock ups after loading, in client.
- Improve scene rendering by removing locks to fix suspected crashes.
- Create a tool to monitor, live, possible threading issues.
- Fix issue where client tends to hang upon quitting.
- Add new types of arrow abilities for testing.
- Fix and improve issues with the crash reporter for ease of use.
- Create a "Cure Wound" ability for testing wounds.
- Several threading improvements in areas that were causing crashes for a small percentage of users.
- Improve effeciency and reduce bandwidth of ability metrics.
- Fixes to possible memory leak points.
- Add logging and debugging features to capture and inspect a player's entire state at runtime.
- Damage tracking:
- Add Event Handlers to Events.
- Forward EH`s when child Events are created.
- Total damage done across multiple targets.
- Apply healing at the end of send/receive damage chain.
- Track Event with a GUID, so different sources are not counted in the heal.
- Determine if we should have EH create a new component that applies effect.
- HealOnDamageDone now applies to HealthComponent and uses sub-parts.
- Body Sub-part health:
- Change health component to have sub-parts.
- Create skill node for targeting specific part.
- Send sub-parts to client so health bars can update correctly.
- Figure out how wounds relate to sub-parts, if at all.
- Get Physics query to return subparts again.
- Logic to determine what parts to apply affect to when combining physics results and user selected parts.
- Server side info relayed.
- Logic to determine what parts to apply affect to when combining physics results and user selected parts.
- Resources regenerate and are shown on UI.
- Unify EntityID and BodyPartId into SubpartId
- Conditionals and Requirements:
- Research Payloads
- Research scriptables
- Create framework for conditionals
- Research Payloads.
- Create framework for conditionals.
- Weapon-based abilities will now require the correct weapon type.
- Design and initial testing:
- Finalize first pass skill part lists.
- Revis ability skill part names and descriptions for consistency.
- Standard skill part implementation and testing.
- Black Knight skill part implementation and testing
- Fianna skill part implementation and testing.
- Mjolnir skill part implementation and testing.
- Blackguard skill part implementation and testing.
- Forest Stalker skill part implementation and testing.
- Winter Shadow skill part implementation and testing.
- Physician skill part implementation and testing.
- Empath skill part implementation and testing.
- Stonehealer skill part implementation and testing.
- Client Spec:
- Automatically create code allowing the game server and the proxy to communicate.
- Other types of server can automatically get data from the game server.
- General bandwidth improvements all around.
- Client can now represent skill tracks, allowing players to execute multiple skills at the same time.
- Network layer supports new entity component model.
- Players can use skills they have not crafted, such as with siege engines.
- Revisit ability skill part names and descriptions for consistency.
- Standard skill part implementation and testing.
- Black Knight skill part implementation and testing.
- Fianna skill part implementation and testing.
- Mjölnir skill part implementation and testing.
- Blackguard skill part implementation and testing.
- Forest Stalker skill part implementation and testing.
- Winter Shadow skill part implementation and testing.
- Physician skill part implementation and testing.
- Empath skill part implementation and testing.
- Stonehealer skill part implementation and testing.
- Combat stat feedback:
- Ability stat feedback hooked up to system tab in chat window.
- Ability stat feedback Add colored text to combat log to help classify feedback values. up to system tab in chat window.
- Optimization pass of ability feedback in chat window.
- Stats on skill part tooltips.
- Stonehealer skill part implementation and testing.
- Widget/Gizmo system:
- Client side shape system to construct both geometry and hit tests for a set of basic shapes.
- Create arbitrary shapes from the math::shapes library.
- Render both transparent and opaque types of gizmos.
- Add shape drawing slash commands (sphere, cylinder, cone, capsule, box).
- Support combining shapes to make new ones.
- Support adding a vertex offset for index buffer creation.
- Add the ability to add semi-permanent debug gizmos directly to renderer.
As a Developer, I'd like to improve the visual fidelity and speed of creation of our art assets through the investigation, and possible use of, the Allegorithmic software suite.
- Investigate the use of 3rd party program in the creation of materials.
- Integrate our material shader into third party program to test viability in pipeline.
- Audit third party programs in use for art asset creation and correct format output.
- Audit union between programs for material ID assignments to speed up development time.
- Procedural material creation and pipeline documentation:
- Replicate IOR -> SpecMask helper inside editor.
- Example files: Hybrid materials which use PSD resources.
- Example files: Heightmap graphs.
- Example files: Decorative patterning masks.
- Example files: Surface distress techniques.
- Example files: Brick and stone shape generation.
- Example files: Surface coloring techniques.
- Explore using Substance Designer to make VFX materials
- Create a Pixel Processor node using functions
- Example files: Wood surfaces.
- Example files: Surface coloring techniques V2.
- Old materials updated to procedural:
- stone_cobble_001
- marble_tiles_001
- stone_cobble_008
- marble_tiles_007
- stone_cobble_004
- wood_planks_010
- stone_blocks_014
- stone_blocks_003
- Material Creation improvements for characters, armor, and weapons.
- Procedural solution to push highs and lows in a material to better convey folds, plates, etc.
- Individually colored stitching solution that saves time.
- Solve issues with really dark metals.
As a Backer and Developer, I'd like the rubble from building destruction to be awesome and performant.
- Client can make rubble without server.
- Client can remove rubble without server.
- Plots on server track their rubble.
- First pass: Netcode tracks rubble.
- Netcode properly handles conflicts.
- Netcode handles multiple rubble events.
- Client handles multiple rubble events.
- Rubble breakdown is not per block.
- The correct IDs are hooked up to rubble.
- Rubble deltas are sent.
- Server/proxy/client can initialize as a delta off of another entity.
- First Pass: Rubble renders!
- Player can traverse rubble without getting randomly "stuck" on it.
As a Backer, I'd like to play in new biomes that change according to Realm ownership. - Biome 04
- Concept pass biome #4 - Deciduous fantasy forest #2
- Concept pass biome #4 - Deciduous fantasy forest #2 - define Realm variation scope and asset changes.
- Concept ambient SFX.
- Integrate ambient SFX for models.
- Integrate ambient SFX for biome mod.
- Determine neutral asset list from concept.
- Determine TDD ownership asset list from concept.
- Determine Arthurian ownership asset list from concept.
- Determine Viking ownership asset list from concept.
- First pass Tree and Sapling textures and geo - determine visual language.
- Neutral - Create ground texture sets.
- Neutral - Create grass and ground cover assets.
- Neutral - Create small to medium assets. (Bushes, rocks, etc.)
- Neutral - Create large assets. (Trees, rocks, etc.)
- Neutral - Create terrain mods and integrate into world for testing.
- Arthurian - Create ground texture sets.
- Arthurian - Create grass and ground cover assets.
- Arthurian - Create small to medium assets. (Bushes, rocks, etc.)
- Arthurian - Create large assets. (Trees, rocks, etc.)
- Arthurian - Create terrain mods and integrate into world for testing.
- Arthurian - Optimization pass and nitpicking.
- Viking - Create ground texture sets.
- Viking - Create grass and ground cover assets.
- Viking - Create small to medium assets. (Bushes, rocks, etc.)
- Viking - Create large assets. (Trees, rocks, etc.)
- Viking - Create terrain mods and integrate into world for testing.
- Viking - Optimization pass and nitpicking.
- TDD - Create ground texture sets.
- TDD - Create grass and ground cover assets.
- TDD - Create small to medium assets. (Bushes, rocks, etc.)
- TDD - Create large assets. (Trees, rocks, etc.)
- TDD - Create terrain mods and integrate into world for testing.
- TDD - Optimization pass and nitpicking.
- Neutral - Unique assets
- Ambient SFX - Generic deciduous fantasy forest.
- Ambient SFX - swaying trinkets in the wind.
- Ambient SFX - Subtle ambient hum - v1
- Neutral - Additional medium assets - fern sets x2
- Concept Pass: Neutral unique assets.
- Second Concept Pass: Neutral unique assets.
- Ambient SFX - Subtle ambient hum - v2
- Neutral Prefab model: Standing wood lamp with VFX - v1
- Neutral Prefab model: Standing wood lamp with VFX- v2
- Neutral Prefab model: Rock group small.
- Neutral Prefab model: Rock group medium.
- Neutral Prefab model: Rock group large.
- Neutral Prefab model: Sapling cluster.
- Second pass saplings to reduce poly count.
- Second pass large saplings to improve poly count and improve for gameplay.
- Update tree textures to work with PBR system, as well as convey collideable objects.
- Neutral - Create secondary grassland mod to accompany forest.
- Neutral - Create additional variations of trees for more color variation.
- Neutral - Create fern and trinket tree variations with white foliage.
- Neutral - Optimization pass on trees with accompanying thicker trunks and scale audits.
- Neutral - Optimization pass on fern assets.
- Neutral - Optimization pass on all trinket trees.
- Neutral - Additional sapling variations.
- Neutral - Audit and improve terrain blending and mod settings for "clover area."
- Additional leaf overlay textures for general use.
- Dark forest plant VFX.
- Optimization pass fantasy fern assets.
- Falling leaf VFX - various colors
- Horizontal wind swept leaves vfx for ground
- Second optimization pass on fantasy fern assets.
As a Backer in Beta 1, I'd like to play in a Party, or Guild.
- First pass Vision and Design doc.
- First pass group UI design.
- Prepare CSS styles for implementation.
- Second pass group UI design.
- Party Hub
- Guild Hub
- Party State Management
- Guild State Management
- On unexpected shutdown & reboot, pull States from API servers
- Groups Client
- Player Status info push to group server on set update interval (the stats we need for groups).
- Party State mirror for only Party containing players on that game server instance server.
- Party state mirror for all servers & shards
- Guild Hub
- Push data in real-time to correct clients over server when receiving a Party state update from the GroupServer.
- Push data real-time when data changes
- Auto-generate TypeScript from C# for WebAPI.
- Party Hub
- RPC Endpoints as defined below
- Party RPC Endpoints:
- Create Party
- Join Party
- Update user permissions Party
- Name Party
- Leave Party
- Get Party members
- Kick member from Party
- Abandon Party
- Order REST Endpoints:
- Join Guild
- Send invitation Guild
- Quit Guild
- Set user role
- Create role
- Update role permissions
- Get members
- Kick member
- Update invitation
- Get Order information
- Disband
- Create Guild
- First Pass: Group invites via Web API.
- First Pass: Party roles and permissions.
- First Pass: Party Invites and Status through SignalR.
As a Backer, I'd like to build with curved surfaces in C.U.B.E. and Camelot Unchained.
- Integrate previous rendering and memory optimizations changes and mainline into CylinderMorph branch
- Fix Phantom Block location.
- Fix Gizmos to use morph.
- Fix Gridlines to use morph.
- Blocks place according to grid lines.
- Fix GhostRenderer - Ghost blocks will warp around the circle based upon your selection in Cylinder Morph.
- Improve gridline visuals.
- Update other locations where morph should be applied.
- Fix GhostRenderer - Ghost blocks will warp around the circle based upon your selection in Cylinder Morph.
- Merge main into branch.
- Improve grid line visuals.
- Fix deleting existing blocks.
- Figure out why raycast fails sometimes.
- Code cleanup/preparation for collapse into main.
- Merge to main:
- Mesh simplification, geometry issues addressed.
- Find and fix small issues with grid lines.
- Find and fix issue with square morph off by one.
- Increase size of gizmo count UI.
- Release:
- Address mesh simplification geometry issues.
- Determine how to create square versus cylinder plots.
- Determine a way to select and visualize a morph.
- Determine a way to move morphs around.
- Determine a way to parent morphs.
- Morphs in which multiple locations correspond to the same physical space.
- Additional Stretch Goals:
- Improve math for transforming selected range, min corner.
- Change how sector roots are created, so they use a Morph Iterator (more efficient, less duplicated code.)
- Make CreateVertices function generic, so rendering and physics can share logic.
- Improve code in BuildingUIContext. Future proofing, less merge conflicts, easier to iterate without breaking, etc.
- Refactor for data structures.
As a Developer, I'd like all of our existing character models and armor to use a cheaper rendering solution for double sided geo.
- Armor Adjustments:
- Human M/F Arthurian Light
- Human M/F Arthurian Medium
- Human M/F Arthurian Heavy
- Human M/F Viking Light
- Human M/F Viking Medium
- Human M/F Viking Heavy
- Human M/F TDD Light
- Human M/F TDD Medium
- Human M/F TDD Heavy
- Luchorpan M/F TDD Light
- Luchorpan M/F TDD Medium
- Luchorpan M/F TDD Heavy
- Character Model Adjustments:
- Human Arthurian Female Hair
- Human Viking Female Hair
- Valkyrie Viking M/F Hair
- Human Tuatha Female Hair
- Luchorpan M/F hair
As a Backer in Beta 1, I'd like to be able to play and build on a home island of each Realm, as well as a main contested island.
- Arthurian:
- First pass layout Arthurian home island: rough pass procedural mods.
- Second pass layout Arthurian home island: large terrain landmarks. (Mountains, ridges, lakes, etc.)
- Third pass layout Arthurian home island: Art pass pre-existing mods.
- Fourth pass layout Arthurian home island: Art pass polish.
- Add building plots.
- Unique assets added, time allowing.
- Viking:
- First pass layout Viking home island: rough pass procedural mods.
- Second pass layout Viking home island: large terrain landmarks. (Mountains, ridges, lakes, etc.)
- Third pass layout Viking home island: Art pass pre-existing mods.
- Fourth pass layout Viking home island: Art pass polish.
- Unique assets added, time allowing.
- Add building plots.
- TDD:
- First pass layout TDD home island: rough pass procedural mods.
- Second pass layout TDD home island: large terrain landmarks. (Mountains, ridges, lakes, etc.)
- Third pass layout TDD home island: Art pass pre-existing mods.
- Fourth pass layout TDD home island: Art pass polish.
- Unique assets added, time allowing.
- Add building plots.
- Contested V1:
- First pass layout: rough pass procedural mods.
- Second pass layout: large terrain landmarks. (Mountains, ridges, lakes, etc.)
- Third pass layout: Art pass pre-existing mods.
- Fourth pass layout: Art pass polish.
- Add building plots.
- Place of power integrated.
- Unique assets added, time allowing.
- Contested V2:
- First pass layout: rough pass procedural mods.)
- Second pass layout: large terrain landmarks. (Mountains, ridges, lakes, etc.)
- Third pass layout: Art pass on pre-existing mods.
- Fourth pass layout: Art pass polish.
- Add building plots.
- Place of power integrated.
- Unique assets added, time allowing.
- 32km Test Island:
- First pass rough layout for testing.
As a Backer in Beta 1, I'd like the new classes, weapons, and abilities to be supported by their animations.
- Right-handed dagger throw animation.
- Left-handed dagger throw animation.
- Right hand to right shoulder weapon draw and sheath animation.
- Left hand to left shoulder weapon draw and sheath animation.
- Right-handed spear throw animation.
- Right hand dagger throw with shield.
- Right hand dagger throw with left hand weapon.
- Left hand dagger throw with right hand weapon.
- Left hand dagger throw with right hand spear.
- Left hand dagger throw with right hand focus.
- Right hand dagger throw with left hand focus.
- Right hand focus throw with left hand weapon.
- Right hand focus throw with left hand shield.
- Right hand focus throw with left hand focus.
- Left hand focus throw with right hand weapon.
- Left hand focus throw with right hand spear.
- Left hand focus throw with right hand focus.
- Archery arrow grab from back.
- Right hand dagger attacks with left hand focus.
- Left hand dagger attacks with right hand focus.
- Right hand weapon attacks and blocks with left hand focus.
- Weapon throw - dagger with axe, right and left hand.
- Additional weapon draw animations from back of player.
- Additional animation sets of rock throwing one hand, and with off hand weapons.
- Archery arrow grab from back.
- Combat Locomotion:
- Right hand weapon with left hand weapon.
- Right hand weapon with left hand shield.
- Right hand weapon with left hand focus.
- Right hand spear with left hand empty.
- Right hand spear with left hand weapon.
- Right hand spear with left hand shield.
- Right hand spear with left hand focus.
- Right hand focus with left hand empty.
- Right hand focus with left hand weapon.
- Right hand focus with left hand shield.
- Right hand focus with left hand focus.
- Right and left hand holding two-handed longsword.
- Right and left hand holding two-handed spear/polearm/staff.
- Right hand weapon with left hand weapon.
- Right and left hand holding two-handed longsword - offensive stance.
- Right and left hand holding two-handed longsword - defensive stance.
- Archery Secondary:
- Right and left hand bow holding downwards.
- Right and left hand bow holding downwards nocked.
- Right and left hand bow holding downwards flinch.
- Right and left hand bow holding downwards nocked flinch.
- Right and left hand bow holding downwards death.
- Right and left hand bow holding downwards nocked death.
- Right and left hand bow holding downwards jump.
- Right and left hand bow holding downwards nocked jump.
- Swim Primary:
- Treading water idle.
- Swim Forward.
- Falling/sinking (with transitions) death.
- Swim Secondary:
- Swim movement - 45
- Swim movement - 90
- Swim movement - 135
- Swim movement - 180
- Swim movement - 225
- Swim movement - 270
- Swim movement - 315
- Swim Secondary:
- Female Human.
- Giant Male.
- Giant Female.
- Right and Left hands holding longsword, offensive stance - upper body locomotion.
- Right and Left hands holding longsword, defensive stance - upper body locomotion.
- Combat Flinch:
- Right hand weapon with left hand weapon.
- Right hand weapon with left hand dagger.
- Right hand weapon with left hand shield.
- Right hand weapon with left hand focus.
- Right hand focus with left hand empty.
- Right hand focus with left hand weapon.
- Right hand focus with left hand dagger.
- Right hand focus with left hand shield.
- Right hand focus with left hand focus.
- Left hand weapons with right hand spear.
- Left hand weapons with right hand focus.
- Right and left hand on two-handed sword.
- Right and left hand on two-handed staff/polearm/spear.
- Unequipped.
- Right hand spear with left hand empty.
- Right hand spear with left hand focus.
- Right hand spear with left hand shield.
- Right and left hand sword, offensive stance.
- Right and left hand sword, defensive stance.
- Combat Death:
- Right hand weapon with left hand weapon.
- Right hand weapon with left hand dagger.
- Right hand weapon with left hand shield.
- Right hand weapon with left hand focus.
- Right hand focus with left hand weapon.
- Right hand focus with left hand dagger.
- Right hand focus with left hand shield.
- Right hand focus with left hand focus.
- Left hand weapons with right hand spear.
- Left hand weapons with right hand focus.
- Right and left hand on two-handed sword.
- Right and left hand on two-handed staff/polearm/spear.
- Unequipped.
- Right hand spear with left hand empty.
- Right hand spear with left hand focus.
- Right hand spear with left hand shield.
- Right and left hand sword, offensive stance.
- Right and left hand sword, defensive stance.
- Update pre-existing animations for rig corrections to support new CSE created Realm weapons.
As a Developer, I'd like the Camelot Unchained store to be consistent with the identity and design of the updated website.
- Mock up concepts for new layout of store. 2-4 samples.
- Define our identity as the CSE store or CU store.
- Design the look of the store after wireframe of the site is decided.
- Mock up final example of the site for review.
- Design
- Mock up concepts for new layout of store. 2-4 samples
- Define our identity as the CSE store or CU store.
- Design the look of the store after wireframe of the site is decided
- Mock up final example of the site for review.
- Second pass review.
- Visual and text pass on existing email confirmations.
- Implementation:
- TBD based on design.
As a Backer in Beta 1, I'd like to play in a Party, or Guild - UI.
- Health & Status UI Components:
- Health & Status UI Components:
- 6 body parts health
- Blood
- Stamina
- Panic bar
- Temperature bar
- Active effects (buffs / debufs)
- Class icon
- Portrait
- HUD:
- Draggable elements
- Resizeable elements
- Snapping ? maybe
- Save out & reload element settings between sessions
- z-sorting controls (bring elements forward or behind other elements)
- Player Health Widget:
- Full Size
- Mini Size
- Hookup real-time data through client
- Hookup real-time data through client.
- Target Health Widget:
- Full Size
- Mini Size
- Hookup real-time data through client
- Hookup real-time data through client.
- Full Size party health components
- Party Widget:
- Mini size party health components
- Party Options/Settings panel.
- Individual elements within party-regional dragging/re-arranging support/resizing.
- Horizontal/vertical switch.
- Hookup real-time data over SignalR
- SignalR Session established connection to party Hub.
- Handle member left.
- Handle member joined.
- Handle member permissions changed.
- Handle member logged in.
- Handle member logged out.
- Handle member role changed.
- Handle member rank changed.
- Handle party name change.
- Handle party disbanded.
- SignalR Client - For live real-time data:
- SignalR Client connection
- Re-connect
- Error handling & recovery.
- Party Hub.
- Send member data.
- Member left.
- Member joined.
- Member permissions changed.
- Member logged in.
- Member logged out.
- Member role changed.
- Member rank changed.
- Party name changed.
- Party disbanded.
- Party Hub
- SignalR Server:
- Additional UI work:
- Enabled HUD movement & scaling on the in-game UI.
- Respawn UI moved to the HUD module and can be moved & resized.
- Convert CU`s XMPP chat library to a standalone package to allow for inclusion in any web package.
- Re-arrange some UI elements & set default HUD layout.
- Add race/gender icons to health bars.
- Update build process for all UI modules, patcher, chat, and other UI/web projects in Camelot-Unchained repo to use the latest versions of typings & typescript, as well as work seamlessly across both Windows & Mac/Unix systems.
- Added support for UI reloading using /reloadui command from in-game chat.
- Remove any need for globally installed npm packages.
- Set up and use private NPM registry for Camelot Unchained private modules and overrides of existing npm packages.
- Update player and target HUD to use correct race image.
- Update player and target hud to use correct gender image.
- Ability to create Order, invite others, create and edit ranks, accept invites.
- Build generic components for UI front-end for future re-use.
- Add member count as field for groups in graphql queries.
As a Developer, I'd like an automated system that can find data related bugs before they become a problem.
- Pick a name for the new system. - "Roboduck!"
- Create a library to contain the validation items
- Roboduck runs a "sting operation" that catches bad materials being assigned to terrain.
- Roboduck runs a query that returns all of the materials used in a zone.
- Rework DocumentBase to use a delegate function for Validate.
- Roboduck runs every few minutes, and checks the pre-existing quick Validation() function.
- Roboduck runs every few minutes, and checks the pre-existing quick Validation() function.
- Catalog available automated tests using reflection.
- Add config to select and run tests with frequency.
- Add email support, notifying users of relevant issues.
- Create server application.
- Add a document caching system (common library).
- Refactor existing tests to use document caching system.
- Checks animsets for animation classifications that are incorrect.
- Fix texture reference test to tell us if space is being wasted.
- Add a check to ensure textures have the right usage when assigned to a material.
- Roboduck tests for broken sound packages.
- Add Roboduck test to detect duplicate files being uploaded to the file system under different object IDs.
As a Backer, I want to seamlessly move between islands and zones without being aware that I'm moving between different game servers.
- Client can sync from more than one proxy and/or more than one zone on a proxy:
- Add support for loading and unloading multiple zones.
- Create and delete player Entities as they transition so they only exist in one zone at a time.
- Add portal Entity to trigger transitioning between proxies.
- Send player position to all servers to support update distance priority.
- Determine how the client will transition between proxies.
- Handle entities that should only be synced from one proxy at a time, like the sky.
- Figure out how client will know which proxies to sync from.
- Determine solution to chat.
- Change client to share a single terrain subdivider between all zones.
- Client can seamlessly transition between proxies.
- Move AttackKeys out of NetClient.
- Fix zone loading when zoneIndex is not 0; making it easier to test multiple local servers
- Persist position across zone.
- Show ID for zone in HUD.
- Add zone name in server lifetime messages.
- Unique EntityIDs across servers within a shard:
- Create PresenceServer project that uses AsyncRPC library.
- Add PresenceServer AsyncRPCProvider for allocating a range of IDs.
- Add system to PresenceServer for allocating ranges of IDs.
- Store allocated EntityIDs in database.
- Change ServerMain to request ranges of IDs and only use those.
- Get game server connecting to PresenceServer.
- Synchronize time.
- Audit NetworkWindow:
- Move netClient and worldState from NetworkWindow to NetworkedWorld.
- Clean up NetClient references in various classes (e.g. BuildingController).
- Change netClient to a collection and handle, connecting to multiple servers.
- Handle loading zones
- Clean up code in NetworkWindow that directly accesses NetClient.
- Review and fix and change requests.
- Review and fix change requests.
- Run multiple game servers within a shard, each hosting different zones:
- Physics Subzones:
- Bring in some changes from Rob`s old branch.
- Change character actors to use the new system.
- Change static actors to use the new system.
- Change dynamic actors to use the new system.
- Create multiple physics subzones and add actors to the correct one.
- Determine where the coordinate translation will happen.
- Apply a world position offset when loading zones.
- Change static actors to use the new system.
- Change dynamic actors to use the new system.
- Create multiple physics subzones and add actors to the correct one.
- Make Raycast and Overlap methods use the correct subzones.
- Apply a world position offset when loading zones.
- Handle actors moving between subzones.
- Handle collisions during subzone transitions.
- Handle triggers that span multiple subzones.
- Apply a world position offset when loading zones.
- Handle changing subzones when teleporting.
- Handle ability interactions that span multiple subzones.
- Handle kinematic actors in multiple subzones
- Remove hacks and hard-coded numbers
- Added world space offsets for zones, buildings, doors, and items.
- Improved OnGroundLocation to help ensure that the zone world offset gets accounted for.
- Increase physics world size from 10km to 40km, and subzone count from 2x2 to 5x5.
- "When changing zones on the client, avoid disconnecting from the destination zone."
- Added new audio events for loading and transitions.
- Play zone transition audio as a local player sound.
- Load sound banks before loading zone to prevent models with attached sound events.
- Fix initialization order issue that was causing the game server to send an empty address to the presence server.
- Reset ModeComponent when sending between servers.
- Clear active proxies when we dispose the proxy manager.
- When DynamicEntity gets moved too far by a network update, remove the physics actor before setting its position.
- Update physics subzone barrier size to prevent client from extrapolating player movement using a large delta.
- Avoid deleting PhysX actors when removing ActorProxy from a physics subzone.
- Patcher:
- WebAPI server capable of receiving multiple addresses for the same server group (Multi-Zone)
- Allow client to connect to multiple game servers automatically:
- Serialize connection process in NetworkedWorld
- Connect to a list of game servers specified by command arg
- Connect to a list of proxy servers specified by command arg
- Fix issue with client not receiving LoadZone message
- Handle connection failures
- Fix client disconnect bug
- Spawn player in correct zone according to the database
- Retrieve a list of servers from a master server specified by command arg
- Clean up code and finish minor changes
- Delay setting activeNetClient until a starting zone is determined
- Fix code that assumes build::serverhostname is a single host name
- Pass server host name to UI layer
- Zone server relays webAPI host to the client
- Only send Hatchery shutdown info once, even if multiple zone servers are up
- MasterServer sends down a list of addresses for each server, rather than a single one.
- Update network HUD to show stats from all connected servers.
- Server controller no longer requires separate server messages to change access levels.
- Use world time to determine which server owns an Entity.
- Balance bandwidth across proxies:
- Add client->proxy network message to scale bandwidth usage.
- Add priority value to the end of Entity update messages.
- Make client adjust bandwidth scale based on priorities.
- Avoid adjusting bandwidth too quickly, causing it to fluctuate.
- Add bandwidth scaling info to network stats UI.
- Use Presence server to spawn players:
- Send zone info to Presence server from game server.
- Send player [dis]connect messages to Presence server from game server.
- Send player spawn message to game server from Presence server.
- Handle spawning for zone transitions.
- Handle game servers disconnecting from Presence server.
- Reconnect if game server gets disconnected from Presence server.
- Ensure that spawning still works without a Presence server.
- Handle game servers disconnecting from Presence server.
- Fix bug where players sometimes remain after the user disconnects.
- Handle transitioning to zones that the client is not connected to.
- Reconnect if game server gets disconnected from Presence server.
- Store buffer until we spawn the player.
- Send CUCharacter when transferring player between servers.
- Adjust world time on the presence server to use UTC.
- Teleportation stone for testing - Art:
- Create model, materials, and VFX
- Use Presence server to get a list of relevant game servers:
- Add web API for retrieving relevant server list.
- Retrieve relevant server list on client startup.
- Make sure there are no issues when running local clients and servers.
- Use zones` world bounds to determine zones of interest.
- Send updated server list to client after transitioning zones.
- Avoid showing loading screen when client is loading distant zones.
- Send updated server list to clients when it changes.
- Connect and disconnect from servers as player moves through the world.
- Update webapi server for presence controller.
- Send all servers in the shard to presence server rather than filtering by distance
- Improve debugging by adding WebAPI routes and more info to log messages
- Add zone name to UI.
- Portal teleports directly to linked portal.
- Teleportation stone for testing - Art.
- Create model, materials, and VFX.
- Use Presence server to get a list of relevant game servers.
- Added PortalComponent, and SpawnPointComponent to ZonePortalEntity.
- "Periodically request world time from presence server, then update physics server and RemotePhysicsScene with the new time."
- Reference zones in shard by ZoneInstanceID.
- Add support for Realm resrictions on zones.
- Add support for starting zones.
- Add support for hidden zones, which can overlap with other zones.
- Add support for main zones, allow the ResourceID to be used for linking portals and spawning players from saved data.
- Mark zones as starting zones by default.
- Seamless zone transitions:
- Keep Entities around during ownership transfer.
- Prevent proxy from sending Entity deletions too soon.
- Don't show loading screen during zone transitions.
- Preserve player's world position when transferring ownership.
- Users can control players through zone transitions.
- Update teleporting zone transitions to still be supported with new updates.
- Serialize VoxComponent's contained items rather than loading them from the database.
- Implement custom serialization for ContainerComponent.
- Add task to game server that checks world time and logs any discrepancies.
- Don't wait for character save to complete when changing zones.
- Increase max player AnimSets to avoid client/server desync.
- Preserve player velocity and desired movement direction.
- Write the player using FastEntityWriter before waiting for the async call to RemovePlayer has finished.
- Generate terrain border segments using control points at a specified subdivision level.
- Send border segments from physics to game server, from game to presence server, then from presence to all game servers in the shard.
- Intersect the border of the local zone with the borders of the other zones in the shard.
- Generate border segments that form a loop and are in clockwise order, then merge border segments that share an edge.
- Draw borders and intersections when generating heightmap image.
- "Send the shard ID in ClientConnectResponse rather than PlayerIdentityMessage, ensuring clients have the ID by the time they set it in the UI."
As a Backer, I'd like the selection of races in Beta 1 to have shared and unique idle and fidget animations.
- First Pass: Realm idle look and feel poses to inform direction.
- Viking female idle variation.
- TDD female idle variation.
- Arthurian female idle variation.
- First Pass Realm look and feel idle animation - Viking.
- First Pass Realm look and feel idle animation - TDD.
- Third Pass: Realm idle look and feel poses to inform direction.
- Second Pass: Realm idle look and feel poses to inform direction.
- First Pass Realm look and feel idle animation - Arthurian.
- Valkyrie_Male_Viking_Fidget_02
- Valkyrie_Female_Viking_Fidget_01
- Valkyrie_Female_Viking_Fidget_02
- Human_Male_Tuatha_Fidget_01
- Human_Male_Tuatha_Fidget_02
- Human_Female_Tuatha_Fidget_01
- Human_Female_Tuatha_Fidget_02
- Luchorpan_Female_Tuatha_Fidget_01
- Luchorpan_Female_Tuatha_Fidget_02
- Luchorpan_Male_Tuatha_Fidget_01
- Luchorpan_Male_Tuatha_Fidget_02
- Human_Female_Arthurian_Fidget_02
- Human_Male_Arthurian_Fidget_01
- Human_Male_Arthurian_Fidget_02
- Human_Female_Arthurian_Fidget_01
- Human_Male_Viking_Fidget_01
- Race/Gender Fidgets
- Valkyrie_Male_Viking_Fidget_01
- Human_Female_Viking_Fidget_02
- Human_Female_Viking_Fidget_01
- Human_Male_Viking_Fidget_02
- Female Humanoid generic fidget 02
- Male Humanoid generic fidget 01
- Humanoid generic fidget 02
- Humanoid generic fidget 01
- Generic Fidgets:
- Unique Fidgets:
- Arthurian_Male_Fidget_Look
- Arthurian_Male_Fidget_Feet
- Arthurian_Male_Fidget_Extra
- Tuatha_Male_Fidget_Look
- Tuatha_Male_Fidget_Feet
- Tuatha_Male_Fidget_Extra
- Viking_Male_Fidget_Look
- Viking_Male_Fidget_Feet
- Viking_Male_Fidget_Extra
- Showcase Idles:
- Viking male armed axe/shield idle with fidget
- Viking male idle with staff
- TDD female idle with staff
- TDD female with greatsword
As a Backer, I'd like abilities to play sounds.
- Unpackable sound resource:
- Add banks to sound resource.
- Load banks in client.
- Add support for DB for debugging individual banks.
- Lump together sound events as sound packages.
- Write sound packages to sound collection resource and index by ID.
- Rework all cogs that use sound events to use sound packages instead.
- Rework all places in client where sound events are being used to use sound packages.
- Remove references to hard coded sound events in client.
- Remove wwiseids.h.
- Improve sound import so it generates sound packages too.
- Remove references to hard-coded sound events in client.
- Sounds can be played based off ability activation:
- Extract sound info from ClientSkillDef on Server.
- Interpret Sound Info on Client and Pass to WWise Engine.
- Audit work to improve usability.
- Get some test sounds working on abilities.
- Expose functionality to preview sounds in editor.
As a Developer, I'd like to improve the visuals of our current characters and armor, and note lessons learned to move forward into our next iterations.
- Luchorpan Male and Female - Update skin, hair, and underwear rough and spec values.
- Arthurian Male and Female - Update skin, hair, and underwear rough and spec values.
- Tuatha Male and Female - Update skin, hair, and underwear rough and spec values.
- Viking Male and Female - Update skin, hair, and underwear rough and spec values.
- Audit Arthurian male and female light armor.
- Audit Arthurian male and female medium armor.
- Audit Tuatha male and female light armor.
- Audit Tuatha male and female medium armor.
- Audit Tuatha male and female heavy armor.
- Audit Viking male and female light armor.
- Audit Viking male and female medium armor.
- Audit Viking male and female heavy armor.
- Audit generic hand geometry, improve, re-weight, and add to test Arthurian.
- Audit Arthurian male and female heavy armor.
- Improve Arthurian heavy armor materials.
- Audit and improve character skin specular and roughness values.
- Audit and improve character armor, where applicable, to improve specular and roughness values.
- Improve female Luchorpan hair textures to test later new hair update.
- Audit skin rough and spec values to improve look of skin. - Update male Arthurian and male Viking as tests.
- Update male Arthurian default hair model and material.
- Update male Valkyrie and Pict nude model hands with better geometry.
As a Developer and Backer, I'd like to see improved visual fidelity in how our existing terrain materials blend together.
- Add blend maps to generic deciduous forest 001.
- Add blend maps to generic deciduous forest 002.
- Add blend maps to pine forest neutral 001.
- Add blend maps to pine forest Realm control variations.
- Add blend maps to grassland 001.
- Add blend maps to grassland 001 Realm control variations.
- Add blend maps to generic beach 001.
As a Developer, I'd like to improve, and add to, the SFX for re-abilitation.
- Create events for all current prototype abilities in wwise.
- Increase movement speed.
- Reduce movement speed.
- Generic increase to incoming damage.
- Generic decrease to incoming damage.
- Generic increase to outgoing damage.
- Generic decrease to incoming damage.
- Reduce stamina.
- Increase health regeneration.
- Decrease health regeneration.
- Increase ability prep/recovery time.
- Decrease ability prep/recovery time.
- Small blade swipe.
- Sword blade swipe x9.
- Dagger blade swipe.
- Axe blade swipe x2.
- Ice arrow.
- First pass resources for "magic type" abilities - 152 source sounds created.
- Additional ice arrow launch sounds.
- Generic freezing sound for ability effects.
- Ice arrow impacts.
- Ice AoE explosion.
- Additional generic use material for "magic" abilities.
- Melee swing sounds for crushing damage.
- Melee swing sounds for slashing damage.
- Melee swing sounds for piercing damage.
- Create loop for active bleeding effect.
- Arduous exertion shout sounds.
- Lighting damage over time assets and events created.
- Lighting damage AoE sounds.
- Arrow impact sounds for crushing damage.
- Arrow impact sounds for slashing damage.
- Arrow impact sounds for piercing damage.
- Arrow impact sounds for acidic or oozy type impacts.
- Arrow impact sounds for arrows with cords, vines, or ropes for grabbing and slowing type sounds.
- Arrow impact - flame burst.
- Generic fire loops.
- Arrow impacts for cloud-like "poof" explosions.
- Generic heal over time loops.
- Fountaining bottle ability SFX - 4 variations.
- Create library of grunts, yells, death screams, etc., for both male and female.
- Create first pass class voice sets.
- Beating heart loop SFX for blood loss.
- Generic item break sound for item durability.
- Generic block activation.
As a Developer, I'd like to have a smaller executable that loads faster, enables shader debugging again, and have more shader permutations.
- Speed up shader compilation.
- Move shaders into resource system, and load via the patcher.
As a Backer, I'd like to play in new biomes that change according to Realm ownership. - (Mini) Biome 05
- Concept Art pass - Mini biome - grassland with rock spheres.
- Concept Art pass - Grass and stone Realm variations.
- Determine asset list.
- Neutral - Create ground texture sets.
- Neutral - Create grass and ground cover assets.
- Neutral - Create small to medium assets. (Bushes, rocks, etc.)
- Viking - Create ground texture sets.
- Viking - Create grass and ground cover assets.
- Viking - Create small to medium assets. (Bushes, rocks, etc.)
- TDD - Create ground texture sets.
- TDD - Create grass and ground cover assets.
- TDD - Create small to medium assets. (Bushes, rocks, etc.)
- Arthurian - Create ground texture sets.
- Arthurian - Create grass and ground cover assets.
- Arthurian - Create small to medium assets. (Bushes, rocks, etc.)
- Neutral - Clean up and optimizations.
- Viking- Clean up and optimizations.
- TDD - Clean up and optimizations.
As a French Backer, I'd like to visit the French version of the updated Camelot Unchained website.
- Language selection added to site header.
- Find a group of awesome French-speaking Backers to assist us!
- Primary artwork containing text translated and added.
- Secondary artwork containing text translated and added.
- Site navigation text translated.
- Foundational Principles translated.
- Primary game information translated - About, Realms, Races, Classes, BSC docs.
- All lore translated.
- Recent news articles translated.
- Stretch Goals translated.
- Stretch Goal images containing text - translated images.
- All newsletters translated.
- C.U.B.E. page translated.
- Alpha Manual translated
- Class Reveals translated.
- Thank you Mod Squad translated.
- First pass review of updated site.
- Forum FAQ translated.
- All additional updates translated to March 25th
- All additional newsletters translated to #15.
- First pass prep new website.
- Update media galleries with new plugin and content.
- Second pass site review before going live.
- Make site live!
- Blackguard
- Black Knight
- Dread Caller
- Flame Warden
- Abbot
- Physician
- Specter
- Veilstalker
- Class Reveal Audits:
- Arthurian:
- Minstrel
- HelBound
- Mjölnir
- Shadow Walker
- Skald
- Slaughterwolf
- Child of Loki
- Wave Weaver
- Winter`s Shadow
- Arisen
- Vikings:
- Stonehealer
- TDD:
- Blessed Crow
- Black Rider
- Dark Fool
- Druid
- Empath
- Fianna
- Forest Stalker
- Morrigan
- Red Cap
- Wisp
As a Developer, I'd like to be able to copy an entire skeleton and its dependencies, quickly, to support unique animations per character types.
- Initial discovery of components and cloning.
- Add a button to the editor to support skeleton cloning.
- Fix additional issues after testing.
As a Designer of Camelot Unchained, I'd like to have the tools necessary to create abilities using the re-abilitated, ability system code.
- Improvements to facilitate work in XML - "Benification":
- Add IEval.
- Add Variables.
- Add Aliases.
- LAE rewrite.
- Multiple Contexts.
- Apply mods to the math properly.
- Lots of renaming for clarification, useability.
- Re-work innards of events.
- Re-work innard of events - again.
- SkillNodeContexts span events.
- Finish off some unfinished skillnodes for use.
- Fix announcements in client to use with ability feedback.
- Add basic logging to support testing.
- Clean up "pain points" of the XML.
- IEval all the things!
- Clean up.
- Assist with XML autogen.
- Determine plan for subject in the SNCtx.
- EventAccumulator to glom nodes for sending - block blocks the entire ability now.
- Damage type in DamageFromWeaopn - no more sending "Do 0 crushing damage".
- Update naming in skill nodes.
- Make payloads work - "pew pews" now work.
- Reload nodes can be run from server console.
- More logging on XML parsing, and fix pre-existing issues.
- Hack client spec into projectiles for more variety in testing.
- Additional scriptable points.
- XML cleanup.
- Triggers can target the person they are on.
- Tagged payloads - now we can have multiple payloads in one ability! Shoot a fire and electrical arrow at one time!
- Wildcards for payload tags.
- Triggers use payloads now.
- Archery 1.0 merged into master.
- File/line number logging for skills - When something breaks, we now know what file and line in that file are the problem - Before, we just had to guess and check.
- Use the axis for projectiles that don`t have a model assigned to them, so it will be very visible and obviously a debug thing.
- Archer + Healer melee parts - integrate melee styles for those 6 classes into master.
- Add more flexibility for giving entities created by the ability system blood and stamina.
- Better error logging of XML deserialization
- Stonehealer stones - Integrate latest version
- Heavy LAE logging - We can print out all of the math in an LAE when we evaluate them.
- Pull latest number changes across all skills into master.
- Improve the boolean-in-xml experience - support "AND", "OR", "GREATERTHAN", etc.
- Remove remaining pre-re-ab code to make future maintainence easier.
- Added /skilldetail command to get effects / tag info for a given skill
As a Developer, I'd like be able to place and modify Spawn Areas, Zone Portals, Building Plots, etc. from the World Editor.
- Audit pre-existing process.
- Audit placeables.
- SpawnArea Placeable: place, store, load SpawnArea.
- Server loads spawn areas by zone ID and places dummies using spawn areas. If no spawn areas exist, fall back on global config.
- Add view in world editor for entity placeables.
- Add /Delete from Placeable Entity View (Should be reflected in SceneTree).
- Clean up editor code.
- Fix Duplicate Placeables in SceneTree
- Remove SpawnArea collection. Work entity data into Placeable subclasses
- Simple Spawn Mgr
- Placeable - Terrain Relative:
- Add TerrainGridDetail to Placeable (GridPos, Elevation, AlignVertical, ElevateVertical)
- Make TerrainGridDetail modifiable from Editor
- Modifying TerrainGridDetail should update Placeable position (similar to how adding / detaching children does)
- Modifying ControlPoints should update any Terrain Relative Placeables
- Modifying a TerrainModGroup should update any Terrain Relative Placeables
- GizmoXY slides Terrain Relative Placeable across terrain
- Final pass before review (merging fixes / changes from placeable spawn branch)
- Final pass before review (merging fixes/changes from placeable spawn branch).
- Add PlaceablePortal subclass of Placeable
- Add Editor Support / Linking Portals Included
- Change Log
- Placeable - Zone Portal:
- Load portals server side.
- Audit and fix bugs.
- Zone portal updates need to be reflected on the server.
- Placeable Building Plot:
- Add PlaceableBuildingPlot subclass of Placeable.
- Editor support.
- Server support.
- Builder support.
- Physics support.
- Add UI for Tool.
- Generate Plots Randomly.
- Incorporate grid spacing.
- Resource nodes - Terrain Spawnables:
- Build a path for Server to extract data from the terrain system.
- Refactor Spawnables to support multiple def types.
- Integrate terrain spawnables into WorldStateDB.
- Integrate Editor.
- World Editor Usability:
- Grid Position Updates in Property Grid as User drags the Placeable.
- Up/Down Buttons for terrain level select.
- Placeables should be Terrain Relative by default.
- Fix UI Oddities (Giant IsTerrainRelative Text Label).
- Handle Invalid Grid Position Updates better.
- Update both world pos and terrain pos whenever dragging a placeable.
- Check Channel, ZoneID before commiting a change from a CogChangedMessage
As a Backer and Developer, I'd like to see increased visual fidelity, improved performance, and Realm variations, in the dense test forest.
- Audit poly count of tall tree and reduce.
- Audit poly count of med tree and reduce.
- Audit poly count of small tree and reduce.
- Change mushroom texture layout to use tris and update material to PBR.
- New branch material for trees that looks better and is cheaper.
- Audit ground material settings for better blending.
- Add height-based blend maps to terrain textures.
- Add dead and dead-ish bush variations.
- Add ground clutter branches, etc.
- Offset some grass card specs for more variety.
- Adjust specular to prevent dark forests from looking overlit from outside or underlit inside.
- Create additional tree variations.
- Create fallen tree stumps with Realm variations.
- Trees: Create Realm texture variations.
- Terrain: Create Realm texture variations.
- Re-add falling VFX leaves to trees.
- Fern Realm variations.
- Mushroom Realm variations
- VFX: Errant bugs flying about.
- VFX: Errant bugs flying about - glow version.
- Additional short stump models with Realm variations.
- Create mid-size logs with Realm variations.
As a Developer, I'd like to have a clear visual design for the UI of Camelot Unchained during Beta 1.
- Preliminary research and discussion of past and current trends.
- Mood boards.
- First pass audit and discussion of boards to determine direction.
- First pass UI examples.
- Second pass UI examples.
- First pass concept for updated ability builder.
- Beta 1 version:
- First pass UI styling concept.
- Second pass UI styling concept.
- Final pass UI styling concept.
- First pass health bar styling.
- Second pass health bar styling.
- Final pass health bar styling.
- Break up art for integration.
- Third pass health bar styling.
- First pass menu bar style concept.
- Second pass menu bar style concept.
- First pass damage type icons.
- Second pass damage type icons.
As a Developer, I'd like more control over sound bank files to reduce patch size when working with audio files.
- Break up Sound Collection Resource:
- Rewrite Build Server Sound Build to use separate resources, one per sound bank.
- Rework client to load banks as separate resources.
- Provide new workflow for DB to use when import.
- New Sound Import Procedure and Editor:
- Create a sound import wizard in editor.
As a Developer and Backer, I'd like to see improvements in the movement animations of the player.
- Run (male) Locomotion:
- Run 0°
- Run 45°
- Run 90°
- Run 135°
- Run 180°
- Run 215°
- Run 270°
- Run 315°
- Walk (male) Combat Locomotion:
- Rough pass for testing: R Weapon Empty L
- Rough pass for testing: R Weapon L Shield
- Rough pass for testing: R Weapon L Focus
- Rough pass for testing: R Weapon L Weapon
- Rough pass for testing: R Spear Empty L
- Rough pass for testing: R Spear L Shield
- Rough pass for testing: R Spear L Focus
- Rough pass for testing: R Spear L Weapon
- Rough pass for testing: RL Polearm
- Rough pass for testing: RL Spear
- Rough pass for testing: RL Staff
- Rough pass for testing: RL Longsword
- Run (female) Locomotion:
- Run 0°
- Run 90°
- Run 135°
- Run 180°
- Run 215°
- Run 270°
- Run 315°
- Run 45°
- Walk (male) Locomotion:
- Walk 0°
- Walk 45°
- Walk 90°
- Walk 135°
- Walk 180°
- Walk 215°
- Walk 270°
- Walk 315°
- Walk (female) Locomotion:
- Walk 0°
- Walk 45°
- Walk 90°
- Walk 135°
- Walk 180°
- Walk 215°
- Walk 270°
- Walk 315°
- Sprint (M/F) Locomotion:
- Sprint 0°
- Sprint 45°
- Sprint 90°
- Sprint 270°
- Sprint 315°
As a Beta 1 Backer, I'd like to have access to C.U.B.E., the forums, as well as chat.
As a Backer in Beta 1, I'd like to have a selection of character emotes to use.
As a Backer in Beta 1, I'd like to be able to select my race, gender, and class, as well as set my stats and banes and boons. (Based off B1 tech and features.)
As a Backer in Beta 1, I'd like to be able to choose from a selection of classes
As a Backer in Beta 1, I'd like to be able to build with stability, as well as destroy the buildings of other Realms.
As a Backer in Beta 1, I'd like a selection of temporary weapon art to test the new combat systems.
As a Developer, I would like to be able to quickly and easily enter, edit, and export the needed components and abilities for Beta 1 via Excel.
- Create scaffolding for system that allows designers to enter data in Excel and export it in XML.
- Create an ability in Excel, export to XML, and import it into the game without errors.
- Create an ability in Excel, expCreate first pass at improved creation and editing of abilities within Excel.ort to XML, and import it into the game without errors.
- Import existing classes and enums into Excel.
- Get designer feedback and move to next version of Excel-based editor.
As a Backer in Beta 1, I'd like all players, regardless of class, to be able to use the available weapon types in Beta 1.
- DESIGN - B1 Functionality and Scripting
- Standard components created.
- Block component.
As a Backer in Beta 1, I'd like to play the Arthurian Physician class.
- Physician - Arthurian - DESIGN - B1 Functionality and Scripting
- Weapon Style Components.
- Elixir Components.
- Delivery - Components.
- Infusion Components.
- First pass Banes and Boons design.
- Banes and Boons created.
- Physician - Arthurian - ENG - Additional B1 Class specific needs.
- Consumables - Vials/Bottles.
- Class-specific Banes and Boons.
- Physician - Arthurian - ART - B1 Class specific needs.
- Various Bottles for ability components.
- Generic bottle VFX - all variations assigned.
- Art - Focus - Horn
- ART - (time allowing) Infusion - Mystic Dust.
- ART - (time allowing) Infusion - Congealing Goo.
- ART - (time allowing) Infusion - Spotted Mushroom.
- ART - (time allowing) Infusion - Narcotic Preservative.
- VFX - First pass VFX complete and assigned in design spreadsheet. (Including shared & generics.)
- VFX - Second pass VFX (if needed) complete and assigned in design spreadsheet.
- VFX - In game abilities have VFX assigned. (Excludes ongoing asset improvements and updates.)
- SFX - First pass SFX (Including shared & generics) complete and assigned in spreadsheet.
- SFX - Second pass SFX complete and assigned in spreadsheet.
- SFX - In game abilities have SFX assigned. (Excludes ongoing asset improvements and updates.)
- ANIM - First pass animations complete and assigned in design spreadsheet. (Including shared & generics.)
- ANIM - Second pass animations complete and assigned in design spreadsheet. (May or may not be needed.)
- ANIM - In game abilities have animations assigned. (Excludes ongoing asset improvements and updates.)
- ICONS - First pass ICONS complete and assigned in design spreadsheet.
- ICONS - Second pass ICONS complete and assigned in design spreadsheet. (If needed.)
- ICONS - All components have icons in game.
- Temporary VFX assigned to spawned rock models for testing.
As a Backer in Beta 1, I'd like to play the TDD Empath class.
- Empath - TDD - DESIGN - B1 Functionality and Scripting
- Rune Components.
- Shape Components.
- Infusion Components.
- Focus Components.
- First pass Banes and Boons design.
- Banes and Boons created.
- Empath - TDD - ENG - Additional B1 Class specific needs.
- Open hand focus - Player is required to not have an item equipped in hand.
- Cooldown mods - affects several classes.
- Empath - TDD - ART - B1 Class specific needs.
- VFX - First pass VFX complete and assigned in design spreadsheet. (Including shared & generics.)
- VFX - Second pass VFX (if needed) complete and assigned in design spreadsheet.
- VFX - In game abilities have VFX assigned. (Excludes ongoing asset improvements and updates.)
- SFX - First pass SFX (Including shared & generics) complete and assigned in spreadsheet.
- SFX - Second pass SFX complete and assigned in spreadsheet.
- SFX - In game abilities have SFX assigned. (Excludes ongoing asset improvements and updates.)
- ANIM - First pass animations complete and assigned in design spreadsheet. (Including shared & generics.)
- ANIM - Second pass animations complete and assigned in design spreadsheet. (May or may not be needed.)
- ANIM - In game abilities have animations assigned. (Excludes ongoing asset improvements and updates.)
- ICONS - First pass ICONS complete and assigned in design spreadsheet.
- ICONS - Second pass ICONS complete and assigned in design spreadsheet. (If needed.)
- ICONS - All components have icons in game.
As a Backer in Beta 1, I'd like to play the Viking Stonehealer class.
- Stonehealer - Viking - DESIGN - B1 Functionality and Scripting
- Weapon Style Components.
- Stone Components.
- Delivery Components.
- Rune Components.
- Shape Components.
- Infusion Components.
- Focus Components.
- First pass Banes and Boons design.
- Banes and Boons created.
- Stonehealer - Viking - ENG - Additional B1 Class specific needs.
- Stone health.
- Blood from Stone.
- Cooldown Mods - Supports "ocean salts" component.
- Imbued Shard - Prep time move speed (Active effects that persist as long as you are in an ability phase - ex: move speed in prep phase is faster.
- Stonehealer - Viking - ART - B1 Class specific needs.
- ART - Focus - Polished Gem.
- ART - Focus - Lava Gem.
- ART - 4 rock models for throwing that matched their spawned counterparts.
- ART - 4 Spawned rock models that match their thrown counterparts.
- VFX - First pass VFX complete and assigned in design spreadsheet. (Including shared & generics.)
- VFX - Second pass VFX (if needed) complete and assigned in design spreadsheet.
- VFX - In game abilities have VFX assigned. (Excludes ongoing asset improvements and updates.)
- SFX - First pass SFX (Including shared & generics) complete and assigned in spreadsheet.
- SFX - Second pass SFX complete and assigned in spreadsheet.
- SFX - In game abilities have SFX assigned. (Excludes ongoing asset improvements and updates.)
- ANIM - First pass animations complete and assigned in design spreadsheet. (Including shared & generics.)
- ANIM - Second pass animations complete and assigned in design spreadsheet. (May or may not be needed.)
- ANIM - In game abilities have animations assigned. (Excludes ongoing asset improvements and updates.)
- ICONS - First pass ICONS complete and assigned in design spreadsheet.
- ICONS - Second pass ICONS complete and assigned in design spreadsheet. (If needed.)
- ICONS - All components have icons in game.
As a Backer in Beta 1, I'd like to play the Arthurian Black Knight class.
- Black Knight - Arthurian - DESIGN - B1 Functionality and Scripting
- Weapon Style Components.
- Weapon Speed Components.
- Weapon Potential Components.
- Shout Components.
- Inflection Components.
- First pass Banes and Boons design.
- Second pass Banes and Boons design - if needed.
- Banes created.
- Boons created.
- Black Knight - Arthurian - ENG - Additional B1 Class specific needs.
- Armor penetration.
- Deflection.
- Black Knight - Arthurian - ART - B1 Class specific needs.
- VFX - First pass VFX complete and assigned in design spreadsheet. (Including shared & generics.)
- VFX - Second pass VFX (if needed) complete and assigned in design spreadsheet.
- VFX - In game abilities have VFX assigned. (Excludes ongoing asset improvements and updates.)
- SFX - First pass SFX (Including shared & generics) complete and assigned in spreadsheet.
- SFX - Second pass SFX complete and assigned in spreadsheet.
- SFX - In game abilities have SFX assigned. (Excludes ongoing asset improvements and updates.)
- ANIM - First pass animations complete and assigned in design spreadsheet. (Including shared & generics.)
- ANIM - Second pass animations complete and assigned in design spreadsheet. (May or may not be needed.)
- ANIM - In game abilities have animations assigned. (Excludes ongoing asset improvements and updates.)
- ICONS - First pass ICONS complete and assigned in design spreadsheet.
- ICONS - Second pass ICONS complete and assigned in design spreadsheet. (If needed.)
- ICONS - All components have icons in game.
As a Backer in Beta 1, I'd like to play the TDD Fianna class.
- Fianna - TDD - DESIGN - B1 Functionality and Scripting
- Weapon Style Components.
- Weapon Speed Components.
- Weapon Potential Components.
- Shout Components.
- Inflection Components.
- First pass Banes and Boons design.
- Second pass Banes and Boons design - if needed.
- Banes created.
- Boons created.
- Boons created.
- Banes created.
- Second pass Banes and Boons design - if needed.
- First pass Banes and Boons design.
- Focus Components.
- Shape Components.
- Rune Components.
- Weapon Potential Components.
- Weapon Speed Components.
- Weapon Style Components.
- Mjölnir - Viking - DESIGN - B1 Functionality and Scripting
- Mjölnir - Viking - ENG - Additional B1 Class specific needs.
- Deflection.
- Armor penetration.
- Fianna - TDD - ENG - Additional B1 Class specific needs.
- Armor penetration.
- Deflection.
- SFX - In game abilities have SFX assigned. (Excludes ongoing asset improvements and updates.)
- SFX - Second pass SFX complete and assigned in spreadsheet.
- SFX - First pass SFX (Including shared & generics) complete and assigned in spreadsheet.
- VFX - In game abilities have VFX assigned. (Excludes ongoing asset improvements and updates.)
- VFX - Second pass VFX (if needed) complete and assigned in design spreadsheet.
- VFX - First pass VFX complete and assigned in design spreadsheet. (Including shared & generics.)
- Fianna - TDD - ART - B1 Class specific needs.
- ANIM - First pass animations complete and assigned in design spreadsheet. (Including shared & generics.)
- ICONS - All components have icons in game.
- ICONS - Second pass ICONS complete and assigned in design spreadsheet. (If needed.)
- ANIM - Second pass animations complete and assigned in design spreadsheet. (May or may not be needed.)
- ICONS - First pass ICONS complete and assigned in design spreadsheet.
- ANIM - In game abilities have animations assigned. (Excludes ongoing asset improvements and updates.)
- Mjölnir - Viking - ART - B1 Class specific needs.
- Art - Mjölnir-specific hammer (Time allowing.)
- VFX - First pass VFX complete and assigned in design spreadsheet. (Including shared & generics.)
- VFX - Second pass VFX (if needed) complete and assigned in design spreadsheet.
- VFX - In game abilities have VFX assigned. (Excludes ongoing asset improvements and updates.)
- SFX - First pass SFX (Including shared & generics) complete and assigned in spreadsheet.
- SFX - Second pass SFX complete and assigned in spreadsheet.
- SFX - In game abilities have SFX assigned. (Excludes ongoing asset improvements and updates.)
- ANIM - First pass animations complete and assigned in design spreadsheet. (Including shared & generics.)
- ANIM - Second pass animations complete and assigned in design spreadsheet. (May or may not be needed.)
- ANIM - In game abilities have animations assigned. (Excludes ongoing asset improvements and updates.)
- ICONS - First pass ICONS complete and assigned in design spreadsheet.
- ICONS - Second pass ICONS complete and assigned in design spreadsheet. (If needed.)
- ICONS - All components have icons in game.
As a Backer in Beta 1, I'd like to play the Viking Mjölnir class.
As a Backer in Beta 1, I'd like to play the Arthurian Blackguard class.
- Blackguard - Arthurian - DESIGN - B1 Functionality and Scripting
- Weapon Style Components.
- Arrow Components.
- Nock Components.
- Draw Components.
- Aim Components.
- First pass Banes and Boons design.
- Second pass Banes and Boons design - if needed.
- Banes created.
- Boons created.
- Blackguard - Arthurian - ENG - Additional B1 Class specific needs.
- Munitions.
- Modal transistions.
- Look and feel ongoing iteration.
- Blackguard - Arthurian - ART - B1 Class specific needs.
- VFX- Break down Archer component needs in phases to facilitate quicker combat testing with polish later.
- VFX - Bow Abilities - Prepare to Projectile Success: First pass shared and generic assets assigned.
- VFX - Bow abilities - Target Effects: First pass shared and generic assets assigned.
- VFX - Arrow type - Projectile Trail: Unique arrow trails per arrow type assigned.
- VFX - Basic Melee Style - Prepare to Post Hit: First pass shared and generic assets assigned.
- VFX - Basic Melee Style - Post Hit - Target and Self - : First pass shared and generic assets assigned.
- SFX - Break down Archer component needs in phases to facilitate quicker combat testing with polish later.
- SFX - Bow Abilities - Prepare to Projectile Success: First pass shared and generic assets assigned.
- ICONS - First pass ICONS complete and assigned in design spreadsheet.
- ICONS - Second pass ICONS complete and assigned in design spreadsheet. (If needed.)
- ICONS - All components have icons in game.
- SFX - Bow abilities - Target Effects: First pass shared and generic assets assigned.
- SFX - Arrow type - Projectile Trail: Unique arrow trails per arrow type assigned.
- SFX - Basic Melee Style - Prepare to Post Hit: First pass shared and generic assets assigned.
- SFX - Basic Melee Style - Post Hit - Target and Self - : First pass shared and generic assets assigned.
- Animation - Break down Archer needs in phases to facilitate quicker combat testing with polish later.
- Animation Rough Pass (Old System) - All B1 Weapon Types: Offensive high, mid, and low attacks based on damage type. (slash, pierce, crush.)
- Animation Rough Pass (Old System): Movement, death, flinch, and other assets based on weapon type.
- Updated Animation System - All B1 Weapon Types: Offensive Mid attack based on damage type. (slash, pierce, crush.)
- Updated Animation System: Improved movement, death, flinch, and other assets based on weapon type.
- Animation Rough Pass (Old System) - Class Specific Needs: Rough pass shared archery assets.
- Updated Animation System - Class Specific Needs: Improve shared archery assets.
- Improve Archery ability VFX and hook up on hit affects for testing.
- Improve Archery ability SFX.
- Entangling cord SFX to test and debug editor functionality.
As a Backer in Beta 1, I'd like to play the TDD Forest Stalker class.
- Forest Stalker - TDD - DESIGN - B1 Functionality and Scripting
- Weapon Style Components.
- Arrow Components.
- Nock Components.
- Draw Components.
- Aim Components.
- First pass Banes and Boons design.
- Second pass Banes and Boons design - if needed.
- Banes created.
- Boons created.
- Forest Stalker - TDD - ENG - Additional B1 Class specific needs.
- Munitions.
- Modal transistions.
- Look and feel ongoing iteration.
- Forest Stalker - TDD - ART - B1 Class specific needs.
- ICONS - First pass ICONS complete and assigned in design spreadsheet.
- ICONS - Second pass ICONS complete and assigned in design spreadsheet. (If needed.)
- ICONS - All components have icons in game.
- VFX- Break down Archer component needs in phases to facilitate quicker combat testing with polish later.
- VFX - Bow Abilities - Prepare to Projectile Success: First pass shared and generic assets assigned.
- VFX - Bow abilities - Target Effects: First pass shared and generic assets assigned.
- VFX - Arrow type - Projectile Trail: Unique arrow trails per arrow type assigned.
- VFX - Basic Melee Style - Prepare to Post Hit: First pass shared and generic assets assigned.
- VFX - Basic Melee Style - Post Hit - Target and Self - : First pass shared and generic assets assigned.
- SFX - Break down Archer component needs in phases to facilitate quicker combat testing with polish later.
- SFX - Bow Abilities - Prepare to Projectile Success: First pass shared and generic assets assigned.
- SFX - Bow abilities - Target Effects: First pass shared and generic assets assigned.
- SFX - Arrow type - Projectile Trail: Unique arrow trails per arrow type assigned.
- SFX - Basic Melee Style - Prepare to Post Hit: First pass shared and generic assets assigned.
- SFX - Basic Melee Style - Post Hit - Target and Self - : First pass shared and generic assets assigned.
- Animation - Break down Archer needs in phases to facilitate quicker combat testing with polish later.
- Animation Rough Pass (Old System) - All B1 Weapon Types: Offensive high, mid, and low attacks based on damage type. (slash, pierce, crush.)
- Animation Rough Pass (Old System): Movement, death, flinch, and other assets based on weapon type.
- Updated Animation System - All B1 Weapon Types: Offensive Mid attack based on damage type. (slash, pierce, crush.)
- Updated Animation System: Improved movement, death, flinch, and other assets based on weapon type.
- Animation Rough Pass (Old System) - Class Specific Needs: Rough pass shared archery assets.
- Updated Animation System - Class Specific Needs: Improve shared archery assets.
As a Backer in Beta 1, I'd like to play the Viking Winter's Shadow class.
- Winter`s Shadow - Viking - DESIGN - B1 Functionality and Scripting
- Weapon Style Components.
- Arrow Components.
- Nock Components.
- Draw Components.
- Aim Components.
- First pass Banes and Boons design.
- Second pass Banes and Boons design - if needed.
- Banes created.
- Boons created.
- Winter`s Shadow - Viking - ENG - Additional B1 Class specific needs.
- Munitions.
- Modal transistions.
- Look and feel ongoing iteration.
- Winter's Shadow - Viking - ART - B1 Class specific needs.
- ICONS - First pass ICONS complete and assigned in design spreadsheet.
- ICONS - Second pass ICONS complete and assigned in design spreadsheet. (If needed.)
- ICONS - All components have icons in game.
- VFX- Break down Archer component needs in phases to facilitate quicker combat testing with polish later.
- VFX - Bow Abilities - Prepare to Projectile Success: First pass shared and generic assets assigned.
- VFX - Bow abilities - Target Effects: First pass shared and generic assets assigned.
- VFX - Arrow type - Projectile Trail: Unique arrow trails per arrow type assigned.
- VFX - Basic Melee Style - Prepare to Post Hit: First pass shared and generic assets assigned.
- VFX - Basic Melee Style - Post Hit - Target and Self - : First pass shared and generic assets assigned.
- SFX - Break down Archer component needs in phases to facilitate quicker combat testing with polish later.
- SFX - Bow Abilities - Prepare to Projectile Success: First pass shared and generic assets assigned.
- SFX - Bow abilities - Target Effects: First pass shared and generic assets assigned.
- SFX - Arrow type - Projectile Trail: Unique arrow trails per arrow type assigned.
- SFX - Basic Melee Style - Prepare to Post Hit: First pass shared and generic assets assigned.
- SFX - Basic Melee Style - Post Hit - Target and Self - : First pass shared and generic assets assigned.
- Animation - Break down Archer needs in phases to facilitate quicker combat testing with polish later.
- Animation Rough Pass (Old System) - All B1 Weapon Types: Offensive high, mid, and low attacks based on damage type. (slash, pierce, crush.)
- Animation Rough Pass (Old System): Movement, death, flinch, and other assets based on weapon type.
- Updated Animation System - All B1 Weapon Types: Offensive Mid attack based on damage type (slash, pierce, crush).
- Updated Animation System: Improved movement, death, flinch, and other assets based on weapon type.
- Animation Rough Pass (Old System) - Class Specific Needs: Rough pass shared archery assets.
- Updated Animation System - Class-specific Needs: Improve shared archery assets.
As a Backer, I'd like my weapons to use the correct hand and Realm variation to further support the B1 combat needs.
- Give EquippableComponent an array of locations that it can be equipped to (ie left hand | right hand).
- Weapon Definitions include the possibilities of where the item can be equipped (LH, RH, LH | RH, LH | RH).
- Crafting supports this definition.
- Inventory UI tries to be smart about equipping. Example: RH item is already equipped, player tries to equip an LH | RH weapon. New weapon goes into LH automatically.
- If Realm-specific version of item exists, use that instead of the default when crafting.
- Give all items a Faction that is generated upon their creation.
- Give the individual jobs a Vox performs their own factions, which get passed on to the items they create.
- Update the Unequip function to make the unequipped slot an Out rather than a return value.
- Convert ImmutableDictionary
to ImmutableList
As a VFX Developer, I'd like additional tools and support for VFX needs in Beta 1.
- Images Sets:
- Particle effects can source a selection of images, as well as any row or location on the set.
- System is easily updated with new options in UI.
- Sets can be accessed randomly, and ordered, or using ranges.
- Sets are combined into texture arrays compressed in memory.
- Non-uniform, but still power of 2, sheets valid.
- Directory upload support in editor with automatic slot mapping.
- Image uploads don`t create duplicates.
- Supported naming convention determined for directory files.
- Reset image set number parameter when someone puts a value in it outside of the allowed range of values.
- Fixes and updates to old system that no longer work:
- Support for particles with multiple spawners.
- Animated parameters from Spawner affect child particles.
- Frame values work in sprite number field.
- Velocity inheritance on directional partilces works consistently.
- Fix particles flipping or rotating, seemingly randomly.
- Animating size of child spawners affects parent.
- Flat: Align to X,Y,Z of local emitter space.
- Velocity: Fix Velocity particles.
- World Z: Ability to align to World Z.
- Able to toggle Camera facing on/off.
- Fix precision issues in particle alignment.
- Particle Effects: Directional and Axis Aligned:
- Particle keyframe editor:
- Keyframe editor keeps linear keyframe interpolation.
- Build interface.
- Faster VFX build times:
- Create special resource loader that stores a cache of binary blobs.
- Build particle resource within editor.
- Cache/clear built particle on command in editor.
- Tell managed client/client about need to reload particle.
- Tell build server to build particle only when saved.
- Clear cached particle on workspace closed or with button in editor.
- Artist review and instruction.
- Allow deep copy of entire particle tree.
- Account for particle rendering on lower frame rates.
- Set burst particle timing so it would happen at the end of its animation time.
- Audit current VFX system for support of 1000-player battles and determine path forward for performance improvements.
- Ensure editor gets missing material when needed.
As a Backer in Beta 1, I'd like the appropriate classes to support the concept of consumable items when using abilities, using the updated ability system.
- Make a Physician Skill check for a resource (requirement).
- Make a Physician skill consume a resource.
- Track consumption and update the database.
- Create actual vials and/or arrows instead of using doodads.
- Add a `munition` component to vials and arrows.
- Sort inventory based upon components for quick access and updates.
- Replace Consumable component with more generic logic in Inventory component.
As a Backer in Beta 1, I'd like to be able to further personalize my character through the use of the Banes and Boons system.
- First pass Beta 1 design.
- Second pass Beta 1 design vetted against new ability system.
- First pass updated UI design/art for updated patcher-based character creation.
- Build data structure.
- Attach B&B to players during login.
- Add slash command so Ben can test.
- Create Stat Mod sample.
- Create Damage buff/debuff sample.
- Create generic eventhandler sample (might also get us the Damage buff/debuff sample).
- Create resist buff/debuff sample.
- Add B&B to character creation backend.
- Add B&B to character creation frontend.
- Add a mechanism for respeccing B&B in case we make changes to them that warrant a respec.
- Get Day/Night state accessible for use with some of the wackier B&Bs
- Add Traits settings file with min/max points and required/optional general traits.
- Metadata and testability improvements:
- /RemoveTrait
- /SaveTraits
- Archetype definitions include paths to directories of traits
- Simple race definition XML files
- Mark traits as required/optional when included by archetypes/races
- Sample racial traits.
- Sample archetype traits.
- Sample stat mod traits.
- Sample buff/debuff traits.
- Standardize individual skill nodes/handlers.
- Improve testing around pre-existing tags and components.
- Stacking support.
- Support for charges.
- Add support for slash commands for testing.
- Tagged expressions.
- Traits endpoint in web api server to enable character creation UI.
- Add min/max traits points in web API response.
- Race definitions include paths to directories of traits
- B&B Icons:
- Races.
- Classes.
- Standard.
- Additional Banes and Boons icons.
As a Backer and Developer in B1, I'd like to see improvements in the visual quality of armor for CU.
- Fall Court heavy armor test:
- Concept art collating previous designs into something to stress our processes. Improved silhouette and material oversight.
- Armor part breakup oversight.
- High poly modeling.
- Low poly and UVs.
- Rigging.
- Materials.
- Integration - useable in game by TDD.
- Armor sub-part and modeling details concept art.
- Concept art - helmet(s).
- Male Luchorpán version complete.
- Armor has stats and is available in player inventory.
- TDD generic shirt and pants (M/F) v1.
- Viking generic shirt and pants (M/F) v1.
- Arthurian generic belt (M/F) v1.
- Viking generic belt (M/F) v1.
- Arthurian generic shirt and pants (M/F) v1.
- Material improvements:
- Geometry improvements and reductions:
- Arthurian Med (M/F) armor.
- Arthurian Light (M/F) armor.
- TDD Heavy (M/F) armor.
- TDD Med (M/F) armor.
- TDD Light (M/F) armor.
- Viking Heavy (M/F) armor.
- Viking Med (M/F) armor.
- Viking Light (M/F) armor.
- Arthurian Heavy (M/F) armor.
- Create improved geometry solution for hands, and do rigging test.
- Update nude characters base model with improved hand models.
- Update nude female character's base model with improved hand models.
- Update existing realm idle animations to use new hands.
- Update existing race and gender idle animations to use new hands.
- Update pre-existing glove geometry where needed.
As a Beta 1 backer, I want the sky lighting to use HDR
- Refactoring existing sky rendering code.
- Get sky values coming in HDR from the editor and rendering in HDR for the skydome, planets, and clouds.
- Tweak values so everything is pretty.
As a developer, I want impostors to use recent lighting changes and support attaching SFX and VFX.
- Allow particles and sfx to be attached to impostors.
- Be able to clone model as an instanced mesh with copies of its attachments .
- Physically based shading: Inputs in editor.
- Specular Mask
- Roughness or shinyness
- Solid color overrides.
- Anistropic map.
- Glow maps.
- Fix rendering of normals on world to work with new system.
- Fix rendering of normals on character to work with new system.
- Grass card assets now use both terrain and texture normals.
- Update impostor system to use new rendering.
- Update editor to use new system.
- Add support for manually specifying PBR values on materials in the editor.
- Create an IOR value translator in editor.
- Create debugging tools for artists to visualize components of new materials in world.
- Create debugging tools for artists to audit HBAO+ (ambient occlusion shadows) settings.
- Improve backface light rendering on double-sided environment models.
- Improve rendering of double-sided environment geometry when viewed at an acute angle.
- Add material support to toggle HBAO+ rendering.
- Improve rendering of characters rough and spec values to be consistent with the rest of the world.
- Current water solution uses new lighting and rendering.
- Add height map based fogging to water.
- Add support for blend maps to terrain shader.
- Audit blend map code in terrain shader to work with older AMD drivers.
- Add variables for artists to audit lighting contributions.
- Add variables for artists to audit shadow hardness and shadow offset.
- Metallic
As a Developer, I'd like to prototype various combat animations to support future system improvements during Beta.
- Offensive Combat locomotion prototype:
- Combat 0°
- Combat 45°
- Combat 90°
- Combat 135°
- Combat 180°
- Combat 215°
- Combat 270°
- Combat 315°
- Fast combat locomotion set to pair with slower movement set.
- First Pass: Modify updated travel locomotion set for female characters.
- First Pass: Combat run locomotion, upper and lower body, for greataxe.
- First Pass: Combat run locomotion, upper and lower body, for empty-handed.
- First pass - New travel run locomotion to better support look and feel at faster travel speed.
- Combat 180°
- Combat 215°
- Combat 270°
- Combat 315°
- Combat 135°
- Combat 90°
- Combat 45°
- Combat 0°
- Defensive Combat locomotion prototype:
- Upper body two-handed hammer crushing attack prototype:
- Offensive and defensive stance and swing keyframes.
- Offensive stance high attack.
- Offensive stance mid attack
- Offensive stance low attack.
- Defensive stance high attack.
- Defensive stance mid attack.
- Defensive stance low attack.
- Update two-handed hammer animations to use updated skeleton.
- Two-handed hammer upper body combat locomotion.
- Two-handed hammer - Update torso to better blend to lower body - based on improvements to tech.
- Two-handed hammer - Skirt and cloak secondary animation improvements.
- VFX:
- Skirt and cloak secondary animation improvements.
- Update torso to better blend to lower body - based on improvements to tech.
- Idle to Defensive Stance.
- Block.
- Defensive attack 04 - Pierce mid.
- Defensive attack 03 - Slash low.
- Upper body combat locomotion.
- Polearm: full body "flourish" attack for testing look and feel.
- Polearm jump with fall loop, including skirt and cape re-use.
- Polearm: aternative recover and prep phase skirt and cape animations.
- Polearm: High, mid, and low attack, skirt and cape animations.
- Polearm polish pass.
- Offensive Stance to Defensive Stance.
- Offensive stance flinch.
- Offensive stance death.
- Polearm: Animate full body high, med, and low, attacks.
- Polearm: Alternative recover and prep phases for longer ability duration.
- Defensive attack 01 - Slash high.
- Defensive attack 02 - Slash mid.
- Polearm animations::
- Idle to offensive stance.
- Offensive attack 01 - Slash mid.
- Offensive attack 02 - Crush mid.
- Offensive attack 03 - Pierce mid.
- Block.
- Idle to Defensive Stance.
- Defensive Stance to Offensive Stance.
- Defensive stance flinch.
- Defensive stance death.
- Greataxe full body "flourish" attack for testing look and feel.
- Greataxe upper body combat locomotion - second pass.
- Greataxe upper body combat locomotion.
- Alternative recover and prep phases for longer ability duration.
- Offensive attack 03 - Slash low.
- Offensive attack 02 - Slash mid.
- Offensive attack 01 - Slash high.
- 2-Handed Axe Animations:
- Improve two-handed staff combat idle.
- Empty-handed combat idle.
- Second pass empty-handed combat idle.
- Empty-handed combat locomotion.
- Audits and improvements to pre-existing assets:
- Empty-handed combat idle alt.
- Create new jump prep phase, hang loop, and recover phase using two-handed axe prototype.
- Jump Improvements:
- First pass unarmed running jump, prep, hang, and recover phase.
- Second pass unarmed running jump, prep, hang, and recover phase.
- Second pass unarmed stationary jump, prep, hang, and recover phase.
- Set up and test multi part animation clip tech.
- Second pass combat in-place and forward jumps - prep/loop/recover/fall.
- Second pass travel in-place and forward jumps - prep/loop/recover/fall.
- Knockback:
- First Pass: longer, lifted, knockback - in, out, and loop.
- First Pass: front, back, and both sides, small knockback.
- Testing of multi clip functionality and travel velocity setup in animation master spreadsheet.
- First pass: Standing in place greataxe jump.
As a Backer in Beta 1, I'd like the set of animations the player uses to be controlled by the player's stance, equipment, and other such gameplay factors.
- First Pass:
- Mode and ModalGroup definitions in config.
- Current mode state tracking.
- Console/admin slash commands for listing and changing modes.
- Skill nodes triggered by entering/exiting modes.
- Initialize active modes correctly on login/spawn/whatever.
- Skill nodes and sample parts for changing modes.
- Samples of functional-but-not-final `Travel`, `Aggressive`, and `Defensive` stances or a similar small starting set.
- Feedback audits.
- Second Pass:
- Inline definition of modes within parts, no separate list in archetype, ID instead of name, and default/initial mode configuration.
- Specify active effect duration in terms of current mode, rather than just time.
- Require specific stances for certain abilities.
- Select the correct animation set when changing a stance.
- Break combat stance into offensive and defensive stances.
- Add sound effects to stance changes.
As a Backer in Beta 1, I'd like to hear ambient Realm-based music during loading island transitions.
- Additional instrument imports.
- Additional instrument imports v2.
- First pass Viking.
- Second pass Viking.
- First pass TDD.
- Second pass TDD.
- First pass Arthurian.
- Second pass Arthurian.
- Generic ambient track #1
- Generic ambient track #2
- Generic ambient track #3
- Sound event hooks added for zone transitions.
- Post log-in music created and added.
- Additional post log-in music tracks.
- Generic ambient track #4
As a Developer, I'd like to pull the physics server out to its own process for improved network performance.
- Refactor. Take all the pur C++ native code for the server and put that in a static library.
- Make it talk to the proxy servers.
- Push it out to its own process so we can scale horizontally.
- Wait for physics to finish loading before creating Entities.
- Wait for physics to finish loading before creating dropped items.
- Set Jenkins to build PhysicsServer code solution.
- Setup standalone AWS instance.
- Read build vars from config file on physics server.
- Proxy servers now reconnect to physics server.
As a Backer, I'd like to play in new biomes that change according to Realm ownership. - Biome 06 - deeper darker forest.
- First pass concept art.
- Second pass concept art with Realm variations.
- First pass white box tree models for scale and playability.
- Primary large tree assets complete.
- Primary mid-size tree and branch/debris assets complete.
- Primary mid to small plants and debris complete.
- Create several face models for use in trees.
- Mock face tree for scale testing.
- Create several body models for use in trees.
- First pass rough plant models for use in scale testing.
- First pass "root vents" for tree models for scale testing.
- Create a series of body shape geometry for use in tree models.
- Unique tree root model.
- Neutral ground textures created.
As a Backer, I want an animation system that blends multiple animations together, and allows for immersive and fun combat.
- Abilities can play the correct animations for damage types (crushing, piercing, slashing) and high, mid, or low attacks.
- Clip selection driven by server.
- Choose animation set based on gear currently equipped
- Sync animations to skill durations
- Debug feature: filter skeletons to build by either FBX asset ID or skeleton cog ID
- Animation viewer displays AnimSetTags and ClipTags.
- Animation viewer displays region priorities.
- Animation Viewer:
- Add Animation viewer to editor displaying AnimSets and Clipsrefs.
- Animation Viewer:
- Remove weapon from deflection table if it is unequipped.
- Increase the maximum allowable anim sets so we don't get sync errors.
- Deflect animation assets hooked up and working for all weapon sets.
- ClientSkillHit becomes flag field.
- Add a PerfHUD panel for debugging animations.
- Add ClipTags for melee, bow, cast, projectile, summon, and instant.
- Include segment information inside clipdata.
- Flinch animations synced to skill hit timings between server and client.
- Skill hit timings are synced with server skill (aka flinch looks good).
- Split synchronous code to replace bone list from the async code to extract the bone list from an FBX.
- Make sure we render static models with more than one bone.
- Cleanup/update ModelDataCollection.
- Skeleton cogs now contain a list of all the AnimSets and their tags.
- New AnimSetComponent chooses a new AnimSet from various things about the owning Entity.
- AnimSetComponent will re-choose whenever gear or modes change.
- Walk controller will only rotate the character's body if we're in an AnimSet with a Travel tags.
- Unify sound effects creation with existing animation creation using tags.
- Prevent client from starting animations unless all requirements are met.
- First pass: data entry anim set tags.
- Prevent client from starting animations unless all requirements are met.
- First pass: data entry anim set tags.
- Added ClipTagSement members to ClientSoundEffect and ClientParticleEffect/Def.
- Add startSeg and endSeg properties, so all types of effects can be synchronized with ClientSkillAnimations.
- Added IsStarted/IsRunning/IsStopped to Effect.
- Add PendingEffects to ClipPlayer.
- Use proper animset from choosing walk animations.
- Added ClientSkillHit to ClientSkillEffect.
- Added BoneAliasTagUtility and BoneAliasTags.csv so tags can be added to BoneAlias enum.
- AnimModel selects the first matching BoneAlias when running a ParticleEffect.
- Don't stretch prehit and posthit segments of animation clips.
- Update the AnimSet on the skeleton cog only when build succeeds.
- Initial jump re-implementation.
- Prioritize jump over walk.
- Update compression of anim data and reference same keyframes when two clips have same bone data to decrease skeleton data size.
- Add animation ClipTags for Fall and Land.
- Add blendin/blendout clip segment tags
- Copy one clip in the spreadsheet to another on the same skeleton
- Overlay any bodyregion(s) of one clip to another on the same skeleton
- Improve compression so that child bones is correct for compression arttifacts on parent bones
- Use inplace/forward jump/land clips.
- Move per-region blend values and any/full masks into BoneMovers.
- Coming out of jump, sync the running animation cycle to the animation landing pose.
- Call SetNewAnimSet on BoneMovers whenever their PoseGenerator changes.
- Scales play speed to sync to the walk speed.
- Particles and sounds can be played out of animation clips.
- Animation events are properly hidden when their body region is masked.
- Animation events re-fire when you loop through that section of a clip again.
- Changing the clip will clear all pending effects.
- Calculate BodyRegion of bones earlier in the FBXBuild process and include BodyRegion on AnimEvents
- Give 'flinch' a lower priority than jump and run on lower body.
- Attach skill phase -> animation segment mapping to animation effects.
- Properly feed start phase and duration through all ClientSkillEffects.
- Fix PoseGenerator so a BoneMover can add another BoneMover from its UpdatePreVis.
- AnimWalker client side commands for toggling a state on how the ClipTime is updated.
- New Animation System
- Anim::Idler can optionally use the bind pose if there's no idle clip found.
- Move attaching sub-effects to AnimSkillEffects until after the clip is set.
- Debug buildvar to show bones/skeletons using debug-drawing framework.
- If the AnimationSkillEffect decides to skip preparation clip segment, make sure to add a pending update range so that effects will still fire.
- Skill Animations can be timed with other animations.
- Flinch removed from PlayerEntity, sent down via xml.
- Make sure ClipPlayer stops effects in 2 places and respects ParLL::Context.
- Set the frame range to the segment range when parsing events for clip segments.
- Increment total frames per clip segment, and reset per clip.
- Open external sheets using the editor, and open or set external sheets via CUEMAN.
- Improved error handling on Build Server when loading sheets fail.
- Support channel specific animation sheets
- Second pass data entry for additional weapon types and break-up of pre-impact and post-impact in swing animations for improved network syncing.
- Generic SkillEffect on the client that can be applied via ActiveSkills.
- New client-side PoseGenerator to replace CharacterPlaybackState.
- Formalize the concept of skeletons, with bones and verts able to be retargeted between them.
- AnimSets and Clips embedded in SkeletonResource.
- Implement new skeleton builder.
- First pass data entry existing movement, fidget, and basic attacks for testing.
- Alerts and error comments when the build server builds with unusable or unrecognized data entries.
- Integrate Google Sheets for animation clip data management.
- Google Sheet integration:
As a Backer in Beta 1, I'd like the ability to build, spawn, aim, and fire a siege engine at players and buildings.
- First Pass Proof-of-Concept:
- Break down ballista model into pieces for crafting.
- Rig ballista model individual parts for simple aiming animation.
- Add archery aiming functionality to ballista.
- Set up basic ballista abilities.
- Ammo can be used as a resource and is consumed when firing the ballista.
- Create SFX for ballista firing, impact, etc.
- Post Re-ab Revisit:
- First pass: Realm-specific siege weapon concept art.
- Second pass: Realm-specific siege weapon concept art.
- First pass scorpion silhouette concept art.
- Model, materials, rig, siege weapon - Arthurian
- Model, materials, rig, siege weapon - TDD.
- Model, materials, rig, siege weapon - Viking.
- Add InteractionComponent for representing game entities that can be interacted with by the player.
- Add bone aliases specific to siege engines.
- Create basic scorpion ammunition models, per Realm.
- Entity control and subscription components on the server.
- Input/camera redirection on the client.
- Create SiegeEngineEntity when dropping an item that represents a siege engine.
- Prevent pickup of in-use siege engines.
- Add basic orientation to OnGroundItemLocation.
- Support sending input to server from either a player or a siege engine entity.
- Add skill queue to siege engine entity.
- Add rough first-pass sample siege skill parts based very directly on archery skill parts.
- Route commands to the controlled entity instead of only the player entity.
- Check for camera state changes outside of the explicit button-press to toggle aiming to force siege into aiming mode.
- Add 'controlled entity ID' to packet, and actually set the 'controlled' view flags in response.
- Avoid pre-flighting siege skills when not using a siege engine.
- Add siege network to ability builder.
- Add requirements to siege skills and preflight them when taking/releasing control of engines.
- Add a basic filtering at the skill queue level to avoid running siege specific skills on the player and vice versa.
- Slash commands to load/unload the active siege engine.
- Config setting to disable siege engines altogether.
- Include offset and radius in the projectile data sent to the client, allowing siege engines to more accurately reflect what the server will do.
- Clear out player's movement server side when they take control of a siege engine.
- Simple siege exit button in UI instead of slash command.
- First pass arthurian scorpion animations.
- Second pass arthurian scorpion animations.
- First pass Viking scorpion animations.
- First pass TDD scorpion animations.
- Wire up idle and skill animations to the siege engine(s).
- Unify BoneAimer between players and siege engines.
- Disable jump command when using siege engines.
- Update how faction is stored/updated to fix issues with siege engine collision settings and allow code to be shared between client and server physics.
- Improve mechanism for tracking whether the server has received/applied targeting updates from the client that is durable across zone transitions.
- Better collision geometry for siege engines based on looking up a CollisionResource.
- Have server check that targets are valid.
- Fix server targeting and add debug targeting HUD.
- When adding a siege engine to the physics scene also update the geo object with the loaded collision bounds.
- Hook up example of siege abilities costing the player stamina.
- Add capability for controllable entities to occupy specific skill tracks for the controlling entity.
- Add siege health bar to client.
- Add new siege anim set tag and bone alias to support controlling the player's movement and animations when using the engine.
- Move player position based on where siege engine is aiming.
- Update client UI layer to support new javascript bindings for siege health/target.
- Update models of all Realm variations of Scorpion to include better working mechanisms for animations.
- Re-rig updated Arthurian Scorpion for testing.
- Rough Pass: Character animations for Scorpion, quick-fire, and full loading loop.
- Remove "siege health" stat and replace with a generic health stat, the same stat that all items with durability have.
- Update TDD and Viking scorpion Realm variations with updated mechanisms and rough pass animations.
- Add refill command for siege engines, so NPCs can bypass the normal flow.
- Make right-click interaction with siege engines pop open a menu instead of immediately using the engine.
- Add new dev UI with buttons for all the primary siege slash commands, and round-trip parameters to perform those actions *and* refresh or close the UI.
- Allow click-to-interact on siege engines that are in use, unless you're the one using it.
- Allow picking up siege engines that you're not using, as long as no one else is using them. More work pending here as regards control/ownership.
- Create several new Scorpion components for siege-focused testing.
- First pass VFX: Siege Testing ability impacts.
- First pass VFX: Siege Testing ability travel.
- First pass VFX: Siege Testing bolt travel.
- First pass VFX: Siege Testing ability prepare.
- SkillDetail supports siege skills.
- Add debug visualization to siege projectile prediction and orientation.
- First pass SFX assets: Siege pack up, deploy, enter, and exit.
- First pass SFX assets: Siege load, unload, fire, drop.
- First pass SFX assets: Siege Test ability impacts.
- Don't let the player switch to another engine while they have one in their control already.
- Additional scorpion siege engine bolt models for SNS testing including LODs.
- Fix siege engine network desyncs from mismatched strings.
- Break siege engine control when the player is out of range.
- Update scorpion SFX.
- Scorpion SFX originate from scorpion position, not center of the zone!
- Hide player's weapons when using a siege engine.
- First pass synced animation to player.
- Improve projectile prediction between server and client.
As a Backer, I'd like to play in new biomes that change according to Realm ownership. - Mini biome - Willow trees.
- First pass base tree geometry and materials
- Trees: Additional base material variations created.
- Additional base tree model variations.
- Small tree variations - "Saplings".
- Terrain material set created.
As a player, I want to view a character UI that shows me my stats, allows me to swap out my equipment, organize my inventory, and see my collection of crafting resources.
- Mock-up created.
- First Pass UI layout.
- Load items and character info through the API.
- Setup dynamic generation of GraphQL types to easily add any remaining types for items/crafting to the API.
- Pull ModifyVoxJobError code enum out of class so it can be generated to TypeScript defintition file.
- First pass inventory icons - armor, weapons, crafting, misc.
- Second pass inventory icons - armor, weapons, crafting, misc.
- Compile all of the UI SVG icons into one font.
- Additional inventory icons.
- Implement failsafe to prevent inventory hang if API server goes down.
- Make sure an item can leave your inventory when it is the only one left in the collection.
- Match client equip flow with moveItem requests.
- Add more character related data to GraphQL queries for use on the character details page.
- Addtional inventory UI SFX.
- Add session information, Banes & Boons, offensive/defensive stats, and general info to character info screen.
- Make offense page show stats for each slot.
- Add armor class to defense stats page.
- Additional inventory icons - new bows.
As a Backer in Beta 1, I'd like to be able to hold a torch during travel stance and use it as a weapon when in combat stance.
- Left hand holding torch idle.
- Generic left hand, mid, torch swing.
- Hook up and test torch assets with multi-part blending.
- Create Torch SFX asset.
- Import and assign Torch SFX asset to default torch item.
- Create left arm torch running loop.
- Set up left arm torch running loop to existing movement sets as an override.
- Second pass torch idle and running loop.
- Set up torch as a weapon.
- Set torch as a weapon that can be used in travel stance, with animation setup complete.
- Set up left arm override in combat stance, with attack swing animation.
- Left arm crushing attack - mid.
- Create left arm travel stance idle fidget.
- Create left arm combat idle flinch.
- Realm Unique Torch: Modeling, materials (1 per realm).
- Realm Unique Torch: VFX complete.
- Realm Unique Torch: Integrated as weapons and available in player inventory.
As a Developer and Backer in Beta 1, I'd like to see improvements in the hair of our Beta 1 races.
- First pass: Model and material pass on one male, one female, Arthurian hair.
- First pass: Model and material pass on one male, one female, TDD hair.
- First pass: Model and material pass on one male, one female, Viking hair.
- Integrate hair updates for audit.
- Second pass: Model and material pass on one male, one female, Arthurian hair.
- Second pass: Model and material pass on one male, one female, TDD hair.
- Second pass: Model and material pass on one male, one female, Viking hair.
As a Backer in Beta 1, I'd like the landing areas to be propped out with a wharf from which player can travel to and from other islands.
- Base dock assets: White box pass.
- Base dock assets: First material pass.
- Base dock assets: Material and geo polish pass (time allowing).
- First pass dock assets updated and added in test map. - boxes, lamps, nets, etc.
- Boats: 1 Arthurian themed boat.
- Boats: 1 TDD themed boat.
- Boats: 1 Viking-themed boat.
- Boats: Generic boat(s).
- Update realm themed props for use on docks.
- Additional prop pass - fish, nets, buckets, statues, etc.
- SFX: Generic, localized, wharf ambience.
- SFX: Creaking wood localized sound for docks.
- SFX: Brazier fire.
- Boats: First pass generic Viking themed boat.
- First pass concept art: Realm specific boat concept art silhouettes.
- Second pass concept art: Realm-specific boats.
- First Pass concept art - Viking Longship designs.
- First pass concept art - Arthurian ship designs.
- Second pass concept art - Arthurian ship designs.
- First pass concept art - TDD ship designs.
- First pass - Arthurian ship model and materials.
- Second pass concept art - TDD ship designs.
- Second pass - Arthurian ship model and materials.
As a Backer in Beta 1, I'd like to be able to collect resources for crafting, from temporary Beta models, representing the resource types.
- First Pass Concept Art.
- Second Pass Concept Art.
- First pass generic mine entrance.
- Second pass generic mine entrance.
- Generic mine resource variations.
- First pass generic wood node.
- Generic wood node resource variations.
- First pass generic cloth node.
- Second pass generic cloth node with props.
- Generic cloth node resource variations.
- First pass generic leather node.
- Second pass generic leather node with props.
- Generic leather node resource variations.
- Resource node realm variations.
- Second pass generic mine.
- Second pass generic wood node with props.
- First pass generic cloth node.
- Second pass generic cloth node with props.
- First pass generic leather node.
- Second pass generic leather node with props.
- Resource node Realm variations.
As a Backer and Developer, I'd like to see increased visual fidelity and improved performance in the dense test forest
As a Backer in Beta 1, I'd like to test the look and feel of combat with the new animation system, while wielding a greataxe.
- Phase 1:
- Offensive stance: Combat idle and fidget.
- Offensive stance: Upper body combat movement - walk, run, jump, fall.
- Offensive stance: Mid slash attack.
- Offensive stance: Mid slash attack v2.
- Offensive stance: Long prep and recover attack phases.
- Offensive stance: Equip and unequip.
- Offensive stance: Block/Deflect, flinch, death.
As a Backer in Beta 1, I'd like to test the look and feel of combat with the new animation system, while wielding a polearm.
- Phase 1:
- Offensive stance: Combat idle.
- Offensive stance: Upper body combat movement - walk, run, jump, fall.
- Offensive stance: Low, mid, high, slash attack.
- Offensive stance: Mid slash attack v2.
- Offensive stance: Update old mid pierce attack.
- Offensive stance: Update old mid crush attack.
- Offensive stance: Equip and unequip.
- Offensive stance: Block/Deflect, flinch, death.
- Offensive stance: Update movement animations to match combat pose.
- Offensive stance: Skirt and cape polish.
As a Backer in Beta 1, I'd like to test the look and feel of combat with the new animation system, while wielding a greatsword.
- Phase 1:
- Offensive stance: Combat idle.
- Offensive stance: Upper body combat movement - walk, run, jump, fall.
- Offensive stance: Mid slash attack.
- Offensive stance: Block/Deflect, flinch, death.
- Offensive stance: Mid pierce attack.
- Offensive stance: Equip and unequip (travel to combat).
- Offensive stance: Second pass combat idle.
- Offensive stance: Combat idle fidget.
- Offensive stance: Mid slash attack, 3 swings with static timings for testing.
- Offensive stance: Arrow impact flinch.
- Offensive stance: Mind damage flinch.
As a Backer in Beta 1, I'd like to test the look and feel of combat with the new animation system, while wielding a one-handed sword in either, or both hands.
- Phase 1:
- Offensive stance: Combat idle left or right hand wielding.
- Offensive stance: Upper body combat movement - walk, run, jump, fall.
- Offensive stance: Mid slash attack.
- Offensive stance: Mid pierce attack.
- Offensive stance: Equip and unequip.
- Offensive stance: Block/Deflect, flinch, death.
- Offensive stance: General polish with skirt and cape animation.
- Offensive stance: Update all races to use one-handed weapon set animations.
- Offensive stance: Set daggers to temporarily use sword animations in order to remove older, less attractive animations from daggers.
As a Backer in Beta 1, I'd like to test the look and feel of combat with the new animation system, while wielding a one-handed club/mace/hammer in either, or both hands.
- Offensive stance: Combat idle left or right hand wielding.
- Offensive stance: Upper body combat movement - walk, run, jump, fall.
- Offensive stance: Mid crush attack.
- Offensive stance: Equip and unequip.
- Offensive stance: Block/Deflect, flinch, death.
- Offensive stance: General polish with skirt and cape animation.
- Offensive stance: Final in-game setup.
- Offensive stance: Update all races to use one-handed weapon set animations.
As a Backer in Beta 1, I'd like to be able to explore a mine using the portaling and zone transition tech, in lieu of the post B1 "bubble" tech.
- Art:
- First pass white box of assets to determine scale of tunnels, caverns, etc.
- First pass generic tunnel art: Update purchased models and materials to begin creating parts library.
- First pass rough propping of assets to create appropriate look and feel.
- First pass test environment for Backer testing.
- First Pass: Water eroded cavern props - modeling and materials.
- SFX/VFX: Smaller variation to generic wall torch, for use in smaller spaces.
- Second pass rough propping of assets to create appropriate look and feel.
- Second Pass: Water-eroded cavern props - modeling and materials.
- Additional material set.
- Creature Fossil set modeled and materials.
- Props created: Wood supports, boards, rocks, etc.
- Depths-inspired shrine model.
- Define naming convention for asset set and future assets.
- First pass LODs and collision - 41 unique tunnel interior pieces.
- First pass LODs and collision - rock props for interior asset variation.
- New parts added to support design needs.
- Import all parts with updated naming convention from Design.
As a Backer in Beta 1, I'd like an interactive portal system that teleports me to other active portals based on availability and Realm control.
- First pass portal marker 3D concepts.
- First pass portal marker 2D concept art for each Realm, with Realm control material variations.
- Second pass TDD portal marker concept, with Realm control material variations.
- Arthurian portal model complete with Realm control variations hooked up.
- Viking portal model complete with Realm control variations hooked up.
- TDD portal model complete with Realm control variations hooked up.
- Portal Markers convey whether the destination zone is currently active.
- Players can choose from multiple destination points from a single portal.
- Add ZonePortalEntity and corresponding network states.
- Add PortalComponent.Active and set it when the portal becomes active/inactive.
- TDD realm portal additional props created.
- First pass VFX: Viking Portal.
- Arthurian portals - update and improve materials.
As a Backer in Beta 1, I'd like to hear sound events based on player movement using the new animation system.
- First pass generic foot impacts when walking and running.
- First pass generic foot impacts when jumping.
- First pass equip and unequip sounds per weapon type.
- First pass emote sound where applicable.
- First pass sounds ofr death animations per weapon type.
As a Backer in Beta 1, I'd like to test the look and feel of combat with the new animation system while using a bow.
- Phase 1:
- Offensive stance: Combat idle.
- Offensive stance: Combat idle fidget.
- Offensive stance: Upper body combat movement - walk, run, jump, fall.
- Offensive stance: Equip and unequip.
- Offensive stance: Flinch and death.
- Offensive stance: Quick fire - Nock, draw, fire.
- Offensive stance: Block/Deflect.
- Offensive stance: General polish with skirt and cape animation.
- Offensive stance: Final in-game setup.
As a Backer in Beta 1, I'd like to test the look and feel of combat with the new animation system while using a shield and one-handed weapon.
- Offensive stance left shield: Combat idle.
- Offensive stance left shield: Upper body combat movement - walk, run, jump, fall.
- Offensive stance left shield: Crush attack.
- Offensive stance left shield: Block/Deflect.
- Offensive stance left shield: Equip and Unequip.
- Offensive stance left shield: Flinch and death.
- Offensive stance: General polish with skirt and cape animation.
- Offensive stance: Final in-game setup.
- Offensive stance: Update shield arm position so it doesn't obstuct player character eyeline.
- Offensive stance: Update shield arm position so Luchorpans' heads don't penetrate the shield!
As a Developer, I'd like to improve the speed of creating environments, adding additional assets, and audit work needed for Realm territory variations for Beta 1.
- First Pass concept and styling.
- First prototype functionality and animation.
As a Developer, I'd like to find a simpler solution to equipping and unequipping my weapons from different stances that reduces animation overhead.
- First pass test: Equip and Unequip of one-handed weapon combinations using shared animations.
- First pass test: Equip and Unequip of one-handed weapon combinations from travel stance, using shared animations.
- First pass test: Equip and Unequip of two-handed weapons using shared animations.
- First pass test: Equip and Unequip of two-handed weapons from travel stance, using shared animations.
As a Backer in Beta 1, I'd like to test the look and feel of combat with the new animation system, while wielding a dagger in either, or both hands.
As a Developer and Backer, I'd like the character selection screens to be updated with new and improved visuals, including character renders that better represent my class choices.
- First pass character select background concept.
- Second pass character select background concept.
- TDD Realm final background art.
- TDD Realm backgrounds animated.
- Viking Realm final background art.
- Viking Realm backgrounds animated.
- Arthurian Realm final background art.
- Arthurian Realm backgrounds animated.
- First pass character render visual treatment concepts.
- First pass character render visual treatment concepts.
- Test character render complete.
- First pass test - convert class backgrounds from video to code.
- TDD race renders with light, medium, and heavy armor renders complete.
- Viking race renders with light, medium, and heavy armor renders complete.
- Arthurian race renders with light, medium, and heavy armor renders complete.
- First pass test assets animated in code vs video for improved performance.
- Patcher updated to support animated backgrounds in character selection screens.
- Third pass character select background concept.
- TDD Realm first pass background art.
- Viking Realm first pass background art.
- Arthurian Realm first pass background art.
As a Backer during Beta 1, I'd like to have a selection of basic clothing to wear about town.
- First pass male concept art.
- First pass female concept art.
- First pass male clothing assets v1 breakdown for multi-part armor system.
- First pass female clothing assets v1 breakdown for multi-part armor system.
- First pass male clothing assets - High poly modeling.
- First pass female clothing assets - High poly modeling.
- First pass male clothing assets - Low poly modeling.
- First pass female clothing assets - Low poly modeling.
- First pass male clothing assets - materials.
- First pass female clothing assets - materials.
- First pass male clothing assets - Weighting and import.
- First pass female clothing assets - Weighting and import.
- First pass male clothing assets - In game item and stats.
- First pass female clothing assets - In game item and stats.
- Second pass male concept art - TDD variation.
- TDD male variation concepts.
- Second pass female concept art and unification pass.
As a Developer and Backer during Beta 1, I'd like to see improvements in client rendering performance from improvements in art assets.
- Add LODs to TDD arrow models.
- Add LODs to Viking arrow models.
- Add LODs to Arthurian arrow models.
- Add LODs to weapons ARCs primarily use for Big Bot Battle tests.
- Add LODs to remaining Arthurian weapon models.
- Add LODs to remaining TDD weapon models.
- Add LODs to remaining Viking weapon models.
- Reduce draw calls in temporary resource node models.
- Reduce draw calls in generic dock assets.
- Add LODs to Viking, Arthurian, TDD, bow models, including newly added variations.
- Add LODs to new siege bolts.
As a Backer in Beta 1, I'd like to test the look and feel of combat with the new animation system, while using a shortbow and longbow.
- Offensive stance: Shortbow - 3 static timings for testing.
- Offensive stance: Longbow - 3 static timings for testing.
- Offensive stance: Longbow - unique animation for testing.
- Offensive stance: Updated shortbow idle, flinch, block.
- Offensive stance: Updated shortbow movement to match new idle.
- Hook up animations to spawn ammo during clip.
- Update animations to use correct arrow orientation in ability system.
- Offensive stance: shortbow and longbow deflect animations working in game.
As a Backer in Beta 1, I want NPCs that serve as both allies and enemies in battle, as well as characters that provide important information to players.
- Send Entity deltas to API and NPC servers.
- Make NPCs use siege engines.
- Enable NPC server to send client commands.
- Enable NPC server to send slash commands.
- Add NPCDef and functionality to load them from a CSV.
- Slash commands to spawn NPCs from NPCDef.
- Make NPCController set behavior parameters from its NPCDef.
- Add NPC message box UI.
- Add NPC melee behavior.
- Add starting skill for melee attack.
- Add slash command to kill NPCs.
- Don't require ammo for NPCs.
- Add prebuilt basic bow skill.
- Add archer NPCs.
- Add Healer NPCs.
- Additional rules for who can create NPCs.
- NPCs can guard a location, returning if pulled too far.
- NPCs can auto fill teams.
- Add support for item loadout variation.
- Randomize NPC gender.
- After spawn, NPCs can be assigned to an entity to defend.
As a Backer, I want to enter a siege scenario, complete objectives, and have the outcome factor into my character's progression.
- Design technical architecture for scenarios and scenario manager.
- Add admin commands to restart/kill scenarios and rounds.
- New scenarios can be spun up in parallel.
- Create scenario admin panel, allowing us to spin up scenarios on a whim for quick testing.
- First iteration: CU Button Clicker! Click a button to add points to your team.
- Design Entity Component Template system (ECT), which will allow designers to build data-driven scenarios quickly.
- Build config system to specify win condition, team sizes, round length, and number of rounds.
- Allow players to auto-join an in-progress scenario.
- Set up concept of teams with constraints (can be on only one, one team is friendly, all others are enemies).
- Ability to add or remove players from a team.
- Second iteration: Deathmatch! Kills add points to your team. Win conditions are configured for the scenario.
- Integrate Warbands into SNS to support 8v8 teams.
- Create rough pass SNS test map with spawn locations.
- New, shared Scorpion siege engine abilities created with new bolt models, VFX, and SFX.
- New, Realm-unique, bow siege abilities created with VFX and SFX.
- Rough pass environment art added to multi-scenario test map for perf testing.
- Expand scenario game rules to set constraints via slash commands.
- Added a Validate button on the scenario management page.
- Add actual scoreboard background UI element.
- Teleporting in SNS placement will snap Z to ground.
- Returning players to a position when leaving scenario.
- Create Types for Scenario and Round IDs.
- Prevent API server from failing to read scenario member components
- Place teleport in a scheduled action.
- Siege engine kills properly award points to its controller.
- Added AdminCharacterID to scenario commands for progression tracking.
- Create and hook up start, end, killed, and restart scenario-related progression events.
- Save scenario summary after it is processed by the progression app.
- Track scenario progression per shard and per character.
- Create icons for new scorpion siege abilities, as well as archer siege abilities.
- Update rough SNS map to have five separate scenario regions.
- Update SNS map with rough art pass.
- All scenario regions have placeholder, non-C.U.B.E. static castle pieces for testing combat.
- Add buttons to ScenarioDevUI for adding melee NPCs.
- Generate fake CharacterIDs for NPCs when creating for scenarios.
- Make NPCs respawn if in a scenario.
- Add scenario names and descriptions.
- Add buttons to ScenarioDevUI for adding archer NPCs.
- Add scenario victory and defeat popups.
- Ensure scenario progression stats are only applied to a single game day.
- Add points required to win each round to the scoredboard DevUI.
- Allow players to join a scenario after going through a zone transition.
- Concept art - Victory and Defeat UI elements.
- Replace devUI victory and defeat popups with art versions.
- Add queing and auto start to scenarios once a minimum team value is met.
- Add NPCs to auto fill a team once scenario starts.
- Replace NPCs on a team if additional players join an in-progress scenario.
- Players return to spawn point at end of scenario.
- Time of Day and Ammunition needs can be set per scenario, vs. using a server setting.
- Remove NPCs from scenario at end.
- Don't add NPCs if team is full.
- Add dev button to remove NPCs from a match.
- Scenario tracking refactors, upgrades, and fixes.
- Update how the progression tracker reads from the json Config.
- Upgrade pogression summary printouts.
- Real-time scenario summary info.
As a Backer in Beta 1, I'd like to test the look and feel of combat with the new animation system while using a focus item.
- Create focus item stats and add to appropriate class inventory.
- Left hand focus casting animation, used in one-handed item weapon stance.
- Right hand empty hand casting animation, used in one-handed item weapon stance.
- Focus item and empty hand upper body travel animations.
- Focus item and empty hand jump, deflect, flinch and death animations.
As a Backer in Beta 1, I'd like to see shout abilities conveyed in game through animation, sound, and VFX.
- Audit and update ability XML.
- Audit and update shout SFX for current abilities.
- Add existing shout VFX to abilities.
- Create test animation to verify priority weighting and functionality for polearm.
As a Backer, I'd like to see improvements in combat readability to support testing before the start of Beta 1.
- Add MaxMoveSpeed to physics tab of perfhud.
- Make sure all healer archetype abilities have generic VFX where necessary, particularly on targets.
- Update previously created deflect animations to look less like a flinch and happen faster to better pair with deflect timing.
- Create YOU WERE KILLED BY CHARACTER USING ABILITY screen on death.
- Stonehealer stones have placeholder VFX to show area of influence.
- First Pass system: Floating combat text to show damage and healing on target.
- Create pre-built abilities for 3 Beta fighter archetypes, to speed testing and understanding of class mechanics.
- Create pre-built abilities for 3 Beta archer archetypes, to speed testing and understanding of class mechanics.
- Create pre-built abilities for 3 Beta healer archetypes, to speed testing and understanding of class mechanics.
- First Pass: Status effect icons on player HUD.
- Status effect flyouts added to floating combat text system.
- Audit and update existing animation priority system for use.
- Update existing in-game animations to use priority system.
- Weapons are removed from player hands in travel stance.
- Weapons are removed from player hands during casting.
- Ability Button Update: Visual Design pass.
- Ability Button Update: Replace old button visuals showing cooldown, error, queued, and hit.
- Ability Button Update: Make buttons use updated SkillState schema.
- Ability Button Update: Fix skillbar responsiveness to screen size.
- Ability Button Update: Extend server and client support for prepare, recovery, disruption, availability, and requirements.
- VFX: Update appropriate melee abilities to play blood splatter and other hit effects.
- VFX: Update appropriate melee abilities with weapon trails.
As a Developer, I'd like to update our ability XML to make it easier to use, deprecate old syntax, improve ease of debugging, and improve maintainability and speed of creation.
- Get rid of '
' syntax everywhere it exists in production skill part XML files or in files they reference. - Convert all instances of SNConditionalDef to SNSubjectFromSubjectGroupDef, utilizing subject group filters in place of conditional node execution.
- Move all possible World.* nodes from skill part XML files to separate shared files referenced through
- Rework the implementation of SNExpressionModsDef for ability stats using shared files with specific values, rather than defining exact numeric values in each individual skill part XML file.
- Convert projectile-related skill parts to using a targetTrack rather than a subjectGroup, defined by an IsAggressive boolean state.
- Verify existing SFX still functional on abilities.
- Verify existing VFX still functional on abilities.
As a Backer, I want to enter a control point scenario to further test gameplay before the start of Beta 1.
- Design: "Greybox" map layout and gameplay mechanics.
- Rough pass terrain layout and rough sculpt.
- Place of Power: Clean up asset and prep for updated export to engine.
- Place of Power: Create LODs and collision.
- Place of Power: Material improvement pass.
- Wasteland Terrain Mod: Grass/Weed set.
- Wasteland Terrain Mod: Dead Trees.
- Wasteland Terrain Mod: Dead tree debris.
- Wasteland Terrain Mod: Rock/crystal accent pieces for random seeding.
- Wasteland Terrain Mod: Rock assets to support cliffs and overall map design.
- Wasteland Terrain Mod: Terrain materials created and assigned to mods.
- ECTs: Spawn points no use our fancy new entity editing tech.
- ECTs: Plot control points use ECTs.
- NPCs: Spawn and defend locations.
- NPCs: move to a location after spawning.
- Scoreboard: Basic UI functionality.
- Scenario: Points are awarded by control point type and assigned correctly to teams.
As a Developer, I'd like to create more variations of existing armor models.
- Determine a plan of attack between concept and character art to determine the scope of what will look good when re-using existing geometry.
- First pass concept art: Heavy armor chest piece.
- Second pass concept art: Heavy armor chest piece.
- First pass concept art: Heavy armor legs.
- First pass concept art: Heavy armor arms.
- High poly sculpt: Heavy armor full body test sculpt.
- Heavy armor full body test sculpt materials.
- Second pass high poly sculpt based on in-game audit.
As a Developer, I'd like to create a reuseable permission model that has more capabilities than the current system and supports the full feature set needed for Beta.
- Create new Permissible classes that various systems will eventually use.
- Support sendToServer on them, which is how an entity that uses permissibles can move from one server to another.
- Support DB round tripping for new permissibles allowing permissions to be retained after restart or logout.
- Apply to items - First use = Vox.
- Apply to buildings - Update current building code to use new permissibles.
- Update API layer - to support future updates to plot UI.
- GQL support - Permissible information should be viewable.
- Update slash commands for buildings. Audit current commands and make sure permissions are correct and admins/server console can override normal permissions.
- Support new scenario plot capture feature, which means plots can change hands in ways other than just through factions, such as via scenario teams.
As a Developer, I'd like to investigate using other cloud services to save on costs and utilize newer technology and resources.
- GCP: Deploy fully embedded server as initial proof-of-concept.
- GCP: Update cloud manager to have a more generic interface for communicating with various cloud SDKs.
- GCP: Update existing (AWS) cloud manager implementation to support the new interface.
- GCP: Add new cloud manager implementation.
- GCP: Build proxy instance template on GCP and test GCP cloud implementation.
- GCP: Migrate virtual machines.
As a Backer, I want to enter a siege scenario, complete objectives, and have the outcome factor into my player's progression.
- Design technical architecture for scenarios and scenario manager.
- Add admin commands to restart/kill scenarios and rounds.
- New scenarios can be spun up in parallel.
- Create scenario admin panel, allowing us to spin up scenarios on a whim for quick testing.
- Build DevUI to enable gameplay team to quickly display UIs with game information.
- First iteration: CU Button Clicker! Click a button to add points to your team.
- Design Entity Component Template system (ECT), which will allow designers to build data-driven scenarios quickly.
- Build config system to specify win condition, team sizes, round length, and number of rounds.
- Allow players to auto-join an in-progress scenario.
- Set up concept of teams (can be on only one, one team is friendly, all others are enemies). Ability to add or remove players from a team.
- Second iteration: Deathmatch! Kills add points to your team. Win conditions are configured for the scenario.
- Integrate Warbands into SNS to support 8v8 teams.
- Create rough pass SNS test map with spawn locations for eventual queuing.
- PostOffice messaging system, which allows us to send messages to entities that care about them.
- New, shared Scorpion siege engine abilities created with new bolt models, VFX, and SFX.
- New, Realm-unique, bow siege abilities created with VFX and SFX.
- New, shared, shortbow and longbow animations added.
Beta 1 Feature List:
- Ability to choose from a selection of work-in-progress races.
- Ability to choose gender from available race choices.
- Primary character stats are tied into game`s mechanics
- Sampling of working banes and boons per race/class combinations
- Three work-in-progress classes based on a "Fighter" trio
- Three work-in-progress classes based on a "Pure Healer" trio
- Three work-in-progress classes based on an "Archer" trio
- One "generic" crafter class
- Ability system with "Day One - Thirty" components with working progression system
- One "safe" island per Realm
- One large island in the middle
- 3 additional smaller islands surrounding large island
- Transportation between islands via portals.
- First pass buildings/architecture art per Realm
- First Place of Power on map
- "First Final" pass at player item structure.
- Items exist in the real world: Can be dropped, traded, picked up by any player, and persist in world.
- First pass working armor, shields, and weapons in game.
- First pass inventory system.
- First pass generic working Vox Magus
- Assembly of refined materials into recipe-based (recipe system to be replaced during Beta 1) items
- Use seeding system to create nodes/farms of minerals
- Destruction of buildings at varying game speeds (slow, normal, fast, etc.)
- One generic siege engine.
- First pass NPC guards
- Plot ownership, access permissions, change of ownership.
- Sounds created and linked to components, abilities, etc
- Refactor of animation system with upper and lower body animations.
- Support of more than 2k Backers/bots per large island
- Multiple movement speeds - combat, normal, travel (fast)
- First pass group system
- First pass guild system.
- Additional sound support.
- Help button in client that leads to video
- Add inventory system with encumbrance.
Beta 1 Extended List:
- Image-based ambient and specular lighting.
- Glow maps for materials.
- HDR Bloom.
- HDR tone mapping support.
- New physically based rendering model. (PBR)
- Pre-existing materials, updated to use new physically based lighting.
- Terrain updates based on realm control.
- Threading library to improve client efficiency in multiple areas.
- Updated character creation UI and process.
- Updated Patcher that better delivers community content, as well as supporting both 32 and 64 bit client installations.
- Automate bot testing into a single command, and enable them to restart themselves.
- Sound bank editor to reduce patch times and bandwidth usage when updating sound resources.
- First pass working emotes.
- A selection of Realm-based weapons, using temporary art, for testing.
- A sampling of realm distinct weapons using updated materials.
- A sampling of Realm-distinct light, medium, and heavy armor.
- Players can teleport between physically different servers.
- Add Nvidia Waveworks
- Add Nvidia GameWorks "super-advanced" volumetric lighting.
- Improved VFX rendering system
- Physics updates running on its own server
As a Backer, I'd like to be able to damage, and ultimately destroy structures in the world.
- Building damage design.
- Engineering: Determine how 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 remain as part of the main structure.
- Turn the 'island' of blocks into a new structure that uses physics. ie: Chunks of a building fall off and collide with the main structure and eachother. - First Pass
- Visually represent building damage.
- Define first pass of building data structure.
- First pass: Building metrics
- Second pass: Building metrics.
- Third pass: Building metrics improvements.
- Second pass: Building metrics.
As a Backer, I'd like structures to be able to collapse based off of block placement, building material stats, and damage taken.
- Building stability design.
- Engineering: Determine stability of structure while building it. - First Pass
- Engineering: Determine stability of a structure as it is being damaged in combat and send those updates, cheaply, to players.
- Engineering: Visually represent what is unstable in a structure when building.
- Second pass stability network optimizations.
As a Backer, I'd like to be able to use modifier components when building abilities.
- 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.
- Add multiple ability trees to the pre-existing ability system.
As a Developer, we continually need to update our software.
- Update the MongoDB drivers in the various solutions.
- Migrate the Perforce repository to Git.
- Update to Visual Studio 2015 CTP 6
- Update CEF
- Set up a secure VPN.
- Add more logging to VPN.
- Set up new server hardware, for faster builds!
- Metrics hooked up for disk usage and replica set health for MongoDBs.
- Update build and game servers post VS15 upgrade.
- Update Wwise to address bugs in previous build.
- Move worldState information onto WiredTiger enabled Mongo DB.
- Move characters and crafted abilities onto worldState DB.
- Improve our crash reporter so it's easier for other devs to use without support.
- Update Wwise to current version and fix any resulting issues.
- Improve our crash reporter so it's easier for other devs to use without support.
As a Backer, I'd like to have abilities associated with stances.
- Add animation 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.
- Abilitiy components define what stances they can be activated from.
- UI 2.0 swaps ability sets based on stances.
- Weapon cog defines what stances are available for weapon type.
- Notification of ability fail due to bad prereqs.
- Stance animation built into animation resource
- Animation resource collection
- Client animation stance transition
- Stances use child effects, which are applied when the stance is entered.
- Make a new, well-defined animation stance assetlib class.
- Update build server if necessary.
- Update client if necessary.
- Test and review stance editor.
- Add documentation.
- Two characters of the same Realm will collide with each other unless one or both of them are in Travel Stance.
- Stance Editor:
- Make editor work with new well-defined classes using regular data binding.
As both a Backer and developer, I'd like to have more dev commands to facilitate testing, and general interactions with the player community.
- 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.
- Admin is invincible and takes no ability effects.
- Admin's can trigger old abilities for testing.
- Admin's can adjust control game on the fly.
- Added vsync toggle to test frame times.
- Add admin commands to reboot server.
As a Developer in Beta 1, I'd like to have a strong library of sounds for abilities during Beta 1.
- First Pass: Melee impact sounds
- First Pass: Hit impact sounds for melee secondary components.
- First Pass: Battlecry variants for male and female humans.
- First Pass: Modular stone/earth based sfx
- First Pass: Modular stat drain based sfx.
- First Pass: Modular swiftness/slow sfx components.
- First Pass: Cloth armor melee penetration for certain damage types.
- First Pass: Cloth armor melee impacts for all damage types.
- First Pass: Leather armor melee penetration for certain damage types.
- First Pass: Leather armor melee impacts for all damage types.
- First Pass: Metal armor melee impacts for all damage types.
- First Pass: Metal armor melee penetration for certain damage types.
- First Pass: Arrow impacts and penetration cloth and leather.
- First Pass: Arrow impacts metal armor blocks.
- Second pass stability network optimizations.
- Third pass stability network optimizations.
- First Pass: Battlecry variants for Luchorpán.
- First Pass: Battlecry variants for Valkyries.
- First Pass: Battlecry variants for Picts.
- First Pass: Equip and unequip - axe.
- First Pass: Axe - slash.
- First Pass: Polearm - crush and slash.
- First Pass: Dagger - slash and pierce.
- First Pass: Axe - slash leather impact.
- First Pass: Axe - slash cloth impact.
- First Pass: "Large blade" slash and pierce impact.
- First Pass: Spear slash and pierce.
- First Pass: "Blunt weapon" crush impact.
- First Pass: Shield crush attack, metal and wood variations.
As a Backer, I'd like Camelot Unchained to have sound through the start up, character creation and selection process. - First Pass
- 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.
- Second Pass: Loading screen background music.
- First Pass: Random ambient music in game.
As a Backer, I'd like to be able to play an Archer.
- 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.
- First pass: Camera offset positioning for first pass archery.
- First Pass: UI elements display targeting arc.
- Hook up UI targeting arc to ability stats so aiming can correctly predict target.
- Second Pass: Simple UI elements display targeting arc.
- Update player camera "feel."
- Allow firing of arrows to be more precisely timed, as a separate action from drawing the bow.
- Improve queuing of abilities.
- Manual aiming revisit post re-ab
- Toggle Aiming mode.
- Configure archery skills to use manual phase advancement.
- Switching to the targeting camera on client.
- Start drawing trajectory arc as soon as prep begins.
- Leave the camera pointing toward the hit position when firing projectiles in aiming mode.
- Buildvar to disable manual aiming
- Smooth out targeting camera's tracking of the hit position.
- Switch to modal cursor tracking.
- Add spatial query to arrows.
- Snap view yaw to the aiming yaw .
- Server-driven auto-advancement when not aiming.
- Refactor to support multiple different mouse control schemes at the same time for playtesting
- Drive projectile physics off of state
- Fix terrain LOD origin to not move around with aim target when in aiming mode.
- Ammunition revisit post re-ab
- Seperate munitions from resources.
- Update arrows and vials to use similar functionality in code.
- Introduce new ConstantCollection on ActiveSkill.
- Stash ammo data in the state component after it has actually been removed from the inventory.
- Time the bow draw sound to the bow draw animation.
- 12 unique arrow flyby SFX for class abilities.
- When a skill starts, capture what aiming mode the player was using and put that on the active skill.
As a Backer, I'd like to see general improvements in C.U.B.E.'s interface and functionality.
- 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.
- First pass: Added the ability to place a light in the world.
- Create a logo for C.U.B.E.
- Mockup webpage for information about C.U.B.E.
- Implement C.U.B.E. page on CU website.
- Cube tags now fully functional for searching.
- Optimize rendering of blue prints when moving and placing.
- Add ten more materials.
- Add a delete button for blueprints.
- Move all user-generated files out of executable folder and into AppData.
- Add numeric values to blocks as they are drawn before placing, for better measuring.
- Placing blocks now shows block count near selection.
- Increase the size and distance at which transparency kicks in for the size counter.
- Can now use the scroll bars on UI with scroll bars.
- When deselecting a text area by left or right clicking the mouse will no longer move to the last place it was clicked.
- Large blueprints no longer run you out of memory
- Reduce memory usage of simplified building meshes.
- Reduce the size of the character texture arrays while in C.U.B.E.
- Reduce client memory usage of collision physics.
- General reduction in memory usage. Worst case maps reduced by 1.5gb !
- Perfhud UI: New panel displaying rendering performance for additional developer feedback.
- Reduce building material textures by 75% - Material scaling was 8x8 meters, now 4x4 meters.
- Update all previously available material art assets from 1024 textures to 512x512 for new scaling.
- Updated UI provided by Mod Squad!
- Remove extraneous control game models, floating assets, material spheres, etc.
- Fix missing water in zone.
- Add rendering options that can now be adjusted in the options menu on C.U.B.E. and game client. (Shadow quality, distance, on/off, texture quality, HBAO toggle, shader quality.)
- Additional memory reductions to building meshes. (Approximately 500megs!)
- Update new UI with CU CSS styling and art.
- Update all previously available material resources to use new art creation pipeline.
- Block substances (Mats) properly render icons to the UI.
- Add new materials in next C.U.B.E. push that better show off improved rendering and lighting improvements.
- Add new shapes in next C.U.B.E. push.
- Add new materials in next C.U.B.E. push that better show off rendering and lighting improvements.
- Create additional materials for C.U.B.E.
- Add new shapes in next C.U.B.E. push.
- Create backups of old save files before converting current save file to updated version.
- Improve thumbnail rendering time in UI.
- Small art fixes/improvements to environment and character assets.
- Block selection UI shows the Substance and Shape ID`s separately for swapping.
- C.U.B.E. version selectable in map selection window.
- Keyboard-moveable ghost blocks.
- Blueprint naming supports longer names with additional text characters.
- Add commands to swap block shapes and substances (including blueprints) as an additional safeguard for players when devs make changes.
- Add ability to rotate all blocks selected.
- Gizmos color coded to world space direction. (X, Y, Z)
- Block "snap" mode.
- "Paint Bucket" - Can select a substance, then paint that onto pre-existing blocks.
- Undo and redo.
- Config file saves between logins.
- Improve rendering of lots of blocks or buildings in zone through improvements in threading.
- Block/Material icons load during load screen to reduce UI update lag.
- Slash commands for C.U.B.E. work in new chat.
- C.U.B.E. files back up after every push.
- Paint Bucket tool in C.U.B.E. uses the normal keybind rules so it can be rebound.
- Paint Bucket tool keybind fixed. Holding 'P' when clicking on a set of blocks will paint those blocks with the selected material.
As a Backer, I'd like to play in a procedurally-created environment. - Part One
- 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 see the sun, moons, and stars in the sky with sky color changes based on time of day and position of those celestial bodies. - First Pass
- 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.
- Second pass cloud improvements.
- Clouds take sun/moon color and lighting direction.
As a developer, I'd like to have an automated system for running a CU test environment on my own PC.
- 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 stored 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.
- Break map into multiple parts to improve performance.
- Create overlay geometry to smooth transitions.
- Revisit terrain material settings to reduce visual repetition.
- Clean UV's of overlay geo.
- Add new generic items such as boxes, barrels, etc. to center castle.
As a Backer, I'd like to see the world begin to be propped out with generic fantasy items. - Set #1.
- Create documentation for assets.
- Stick bundle lrg, sml, and group.
- Wood plank groups lrg, med, sml.
- Barrels, generic, x2
- Generic wood crates.
- Crate and barrel groupings.
- Wagons x 3. Loaded wagons, w/ extra wheel asset.
- Wicker baskets x 3
- Storage covers lrg and sml.
- Small storage chest.
- Generic wood tables, lrg and sml.
As a Backer and developer I'd like the bots to have more functionality to facilitate testing.
- 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.
- Additional Tasks TBD
As a Backer, I'd like a system that checks for certain requirements that can be used in other systems like the ability system.
- 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.
- Refactor Server Requirements in order to better support abilities.
- Refactor Editor to support new requirements.
As a Backer, I'd like to test the updated male luchorpan model.
- 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.
- Create base body concept and worksheets.
- Model high poly sculpt.
- Model and rig low poly model.
- Import and test model parts.
- Create UI elements in character creation.
- Create textures.
- Update UV coordinates of Human female to optimized layout for LODs.
- Audit current melee armor set to fit human female for testing.
- Update base mesh with better underwear.
- Create UI elements for character creation.
- Create three alternate hair colors for testing.
- Create three additional skin tones for testing.
- Create three additional face variations for testing.
- First pass UI elements for character creation - Arthurian.
- First pass UI elements for character creation - Viking.
- First pass UI elements for character creation - TDD.
- Character is selectable in game.
As a Backer, I'd like to test the new female luchorpan model.
- Character is selectable in game.
- Create base body concept and worksheets.
- Model high poly sculpt.
- Model and rig low poly model.
- Import and test model parts.
- Create UI elements in character creation.
- Create textures.
- Rebuild female Luchorpán model to adhere to new pipeline. New vert count, body part topology, UV layout.
- Update textures to new UV layout - match to updated male Luchorpán.
- Update base mesh with underwear.
- Third pass underwear using masking system, and overall visual improvements.
As a Backer, I'd like to test the updated male golem model.
- 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.
- Create textures.
- Update UI elements in character creation.
- Second pass textures - improvement
- Audit current melee armor set to fit male Golem for testing.
As a Backer, I'd like to play in a procedurally-created environment. - Part Two
- First pass: Epic terrain LOD'ing
- Terrain Types (TT): subdivision points can be assigned one or more types.
- TT: Shape distortions.
- TT: Subdivision points can be assigned one or more types.
- TT: Texture overrides.
- TT: Auto placement trees, rocks, grass.
- TT: Rules for subdividing into other types.
- TT: Define format in DB, save and load in editor.
- TT: Define binary format, provide builders.
- TT: Apply type effects during subdivision.
- First pass - simple water shader.
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
- 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 sun.
- Add the second moon - First Pass
- Moon shows phases.
- Further optimization to dome.
- Differentiate sunrise from sunset.
- Improve color blending in sky dome.
- Match fog color to sky color.
- Stars twinkle more at horizon.
- First pass moon concepts
- Create first pass collided moons object.
- Add a "Milky Way" type of visual to the sky bowl at night.
- Fix the moon so it's larger and shows up in the night sky again.
- Night sky and star rotations now synced.
- Moon rotation supports phases.
- Update moon materials and increase resolution.
- Second pass moon concept art.
- New moon from second pass concept art created.
- Update sun and moon materials to work with HDR improvements to sky.
- Turn down the moonlight intensity.
- Factor in sunlight brightness into the skydome better.
- Editor can assign moon model settings, instead of having them hardcoded.
- Tweak sky color values and star brightness to work better with PBR update.
As a Backer, I'd like to test the updated female Golem model.
- Create base body concept and worksheets.
- Model high poly sculpt.
- Model and rig low poly model.
- Import and test model parts.
- Character is selectable in game.
- Create textures.
- Create UI elements in character creation.
As a Backer, I'd like to test the updated male Fir Bog model.
- Create base body concept and worksheets.
- Model high poly sculpt.
- Model and rig low poly model.
- Import and test model parts.
- Character is selectable in game.
- Create textures.
- Create UI elements in character creation.
- Create UI elements in character creation.
As a Backer, I'd like to test the updated female Fir Bog model.
- 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.
- Create textures.
- Update UI elements.
As a Backer, I'd like to see player stats have real meaning in the game.
- Agility affects max move speed.
- Vitality affects max health and health regeneration.
- Endurance affects max stamina and stamina regeneration.
- UI feedback on character creation sheet.
- Faith increases incoming healing power
- Resonance increases positive status effect duration.
- Agility affects encumbrance.
- Dexterity reduces encumbrance penalty.
- Strength raises carrying capacity.
As a developer, I'd like a way to be able to edit gameplay variables on the server, live.
- Improve previous implementation.
- Expose variables to server.
- Selection of variables added: character collision stickyness, strafe and reverse speed, turn to run speed ratio, jump strength, max walkable slope, run speed min/max, projectile speed min/max, object max lifetime cap, etc.
- Create corresponding editor.
- Absolute minimum and maximum movement speed allowed.
- Minimum preparation time for abilities.
- Max block limit on building plots.
- Air density/resistance, gravity, backwards, forwards, and sideways movement speed multipliers, sliding force multiplier, sliding slope angle threshhold, and on-ground gravity (Ground stickiness - so you don't launch off small rocks!)
- Adjust encumbrance calculations.
- Updated slash commands - build vars can be set with just /command, rather than /var command (previously were shift+enter commands).
- Automatic reloading of gameplay config for quicker iteration on Ben's side.
As a Backer, I'd like to see the world begin to be propped out with generic fantasy items. - Set #2.
- Create documentation for assets.
- Generic trebuchet
- Generic battering ram
- Three hay pile assets.
- Ladders!
- Standing and hanging braziers.
- Log piles and logs.
- Saw 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.
- 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 ground clutter.
- Small hay piles for ground clutter.
- Mounted deer antlers.
- Paintings for wall art.
- Hanging tapestries.
- Stacks of books
As a Backer, I'd like to be able to create, save, and load blueprints in C.U.B.E.
- Block/Blueprint selection design. - First Pass
- Block/Blueprint selection implementation. - First Pass
- U.I. art assets.
- Saving/loading of blueprints within C.U.B.E
- Saving/loading of blueprints on server.
As a Backer, I'd like to see improvements and added functionality to the CSE store.
- 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.
- 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.
- Sound can be defined by rainy weather state.
- First pass: ambient rain sound for rainy weather.
As a Backer, I'd like to know about smaller changes that don't have their own user story.
- Add a test case wind ability to the game for all mage Archetypes.
- Create vfx for test wind ability.
- Add stamina regen to warrior shout and bandage.
- Abilities can be hasted or slowed. Tech for later usage.
- Jump costs stamina.
- Track down and fix persistent bug with a small group of people concerning their ISPs shutting down their connections.
- Fix UserProxy crash with unresponsive clients or bots.
- Movement causes disruption to abilities being cast.
- Character inventory changes by devs don't need a server reset to update.
- Improve channeling: Caster can go into a channeling recovery loop, vs. being able to immediately start next cast.
- Movement causes disruption damage instead of directly stopping abilities in progress.
- Area of effect abilities use the caster's center of mass.
- Character inventory changes by devs don't need a server reset to update.
- Add logging to editor and clientmanaged for better bug tracking.
- Fix saving of Assets and Cogs so that they are easier for programmers to use.
- Separate preparation time adjustments from recovery time adjustments on abilities.
- Create a tool to generate 2d maps from terrain.
- Refactor character movement code.
- Give bots a new move mode: Scatter upon login, then occasionally all move to random region.
- Bots cast less when far away from targets.
- Bots pick new random location to move to when they're trying to move and can't.
- Add collision to control game spawns.
- Add Visual Studio 2015 to api/account page.
- Restructure database in code so servers and tools opt-in to only connect to databases that they use -- resulting in faster startups.
- Assets placed in world now correctly display attached vfx and lights from model 2.0.
- Create and implement "Munchies 4 Crunchies" donation page.
- Make improvements to ParLL to support older CPU's.
- Material assignment to models no longer has issues with material names with more than 32 characters!
- Create a system to remind us when SSL certs are going to expire.
- Terrain editor now supports textures of different sizes and no longer reduces all textures to the lowest size used in a map.
- Closed doors image/art for stretch goals page.
- Concept art pass on biome variations using current assets.
- Mock up web page to house CSE comics.
- Implement CSE comics web page.
- Update perfhud and fix bugs.
- Add ability to pull assets from DB and save locally.
- XMLformatter serialization support for IXMLserializable - including bug fixing.
- Add automated reporting of statuses of our World State and ChatLog databases.
- Create whitelist for usable unicode characters to be used in character names.
- Create character name normalizer that will map unicode characters to standard characters for normalization.
- Create an in-game free cam mode with speed control.
- Player character can be controlled independently of free cam.
- Free cam can do a 360° rotation around a pivot, independent of player control.
- Create an intro video for the "Hot Streamy Summer" streaming event.
- Create an intro video for "Mornings with Max."
- Create an intro video for "Q&A" streaming events.
- First pass C.U.B.E. video.
- Create an arrow-firing turret model for testing arrow spam that can be placed on the ground.
- Fix auto run when alt-tabbed.
- Set game client window to start on top of other windows, instead of starting up behind other windows occasionally.
- Updated character creation to calculate character health on creation, rather than starting a new character with 1 hp.
- Organize GitHub repositories
- Improve server startup by asynchronously loading configs.
- Metrics more configurable (to improve server performance)
- Fix issues with ecosystem that were preventing password resets in certain cases.
- Remove an unused logger that was slowing down server startup on debug builds.
- WebAPI server properly notifies patcher when a server goes offline.
- Patcher can run in offline mode.
- Add command to build server to shutdown after building but before a new build starts.
- Determine cause of patch server slowdown, fix and improve speed.
- Set up local patch server for internal use.
- Create "fast-path" entry for Jenkins that can do the release-build process for any branch and push to any set of channels.
- Push build number and time to the server, so that we can track down issues related to continuous integration.
- Updating code signing cert no longer triggers user's antivirus programs.
- Improve patch server performance.
- Bots pick new random location to move to - second pass.
- Better null handling in serialization.
- Death movement state added, to prevent sliding around while dead.
- Improve detail in asserts by including user name, character name, time, and the specific server.
- Update loading screen to use new CU logo.
- Better support for modes other than stances.
- Added slash command to limit the server update rate for the current client.
- Increase update speed for WebAPI servers.
- Set up network states for entity components.
- Create entities from terrain-spawned items.
- Bots have simply targetting - second pass
- Automatic reloading of gameplay config for quicker iteration on Ben's side
- Improve number of bots that can be controlled by a single server.
- Load and compile config files into single assemblies.
- Create a small system to cache asset files locally on the build server by their MD5 to speed up (re)builds.
- Remove local-only skills from the client's skill queue when they get cancelled
- Bots use abilities from the updated ability system.
- Bots have simple targeting - second pass.
- AssetCache works via MD5 instead of CogID to prevent asset conflicts.
- Fast Entity Reader implemented to improve server performance.
- Buildvar for near clip distance.
- Update follow camera to always point at character's approximate head location.
- Wait for building plots to finish before making server available.
- Update and add variants of CSE_WARN message.
- GroupServer, API, and Game server setup use read-only StateProvider and Handlers.
- Create DefRef, a method for looking up a reference to a piece of data.
- Update CSE store styling - Mockup.
- Set ResourceManager on AudioController before attempting to load things.
- Add option to disable sending webhooks from a specific api server via settings conf.
- Update web api csproj so it builds on jenkins.
- CogSnapShotCache is replaced by CogSnapShotRefs using DefRefs.
- ClientSkills tag lookup now uses system in CogSnapShotRef.
- Add /timeScale when running in noserver mode.
- Remove console output destinations when removing UI windows to prevent duplicate messages on zone transitions.
- Update respawning rules to factor in building permissions.
- Load gameplay defref channel during database init task.
- Reorder server startup tasks to support new game functionality.
- Add dynamic entity to physics scene.
- Move into CSE Seattle office.
- Add SceneDebugDraw to allow for debug-only DrawLine/DrawBox/DrawBounds helpers.
- Prevent jumping from desyncing movement with terrain.
- Setup server entities to handle multiple shards.
- Only load gameplay defs from cog DB once.
- Make startup tasks that use loaded gameplay defs actually wait for gameplay defs to be loaded.
- Clean up server startup logging a bit, and add a new console appender for only coloring errors.
- Set camera position and copy location from console.
- Introduce euler3f and facing2f structures to math library.
- Support bots having their own inventories.
- Give archer bots a minimum shooting range.
- Added newer version of DirectXMath to increase performance.
- Prevent interrupting input when transitioning between the follow camera and the target camera.
- Don't update the player entity's facing pitch in the follow camera when looking around holding right mouse.
- Compute world time start using Stopwatch rather than DateTime on the game server to avoid discrepencies.
- Generate EntityWritable code for all members of InventoryComponent to avoid unnecessary recalculations.
- Added rendering of zone select UI if the game is not loading and is is offline mode and is not rendering splash screens.
- Create ChangeTracker to generalize tracking of high-level changes to entities.
- Teleport into a random place near a central teleport location.
- Allow compiler to optimize math operations where part of a value is known at compile time.
- assert_cast on reference types, improving build speed of NDEBUG target.
- Shadow Quality options slider goes from 0-4.
- Update health bar for correct resource regen rates.
- Create and run events using an event runner that is created by the event processor.
- Recreate entity-control components when sending an entity to another server.
- Prevent models from reporting they are done building before they are actually done.
- Audit User Stories for accuracy. Meta much?
- Create VFX and SFX for Fourth Of July holiday, and for fun future VFX and combat tests.
- Refactor scene lock code.
- Remove unique requirement for character names.
- Separate counting for Bot duplicates vs reused.
- Bump the values for threadcount and working queue counts in MongoAsyncHelpers.
- ResourceManager runs onChanged callbacks before onLoaded callbacks.
- Add separate configs for different styles of combat logs.
- Make Bot teleportation an explicit state machine.
- TCPConnection::Connect() responds to events/inputs instead of blocking for the full duration of its timeout.
- Update API server for character creation and Wyrmling to support any channel.
- Arithmetic Encoder and Decoder now support continuous syncing.
- Integrate Telemetry for real-time profiling.
- Update stats in Basic perf HUD tab to display more Bot metrics.
- Add custom colors to each piece of equipment on Bots.
- Beta 1 documentation styling.
- Componentize health, blood, and stamina.
- Add server command line for forcing garbage collection.
- Update item loadouts for dummies to cut down load times.
- Dummy loadout items are now cached the first time they are asked for.
- Admin command improvements for handling character names.
- Remove default sound event for taking damage.
- Remove old and busted game menu and options, replace with new hotness.
- Move ZoneInfo to ApiModels for typescript generation.
- Networking for faction/name/health on dropped items and kinematics.
- Targeting/health bars for resource nodes.
- Add version field to code-generated entities.
- Include spawn points in the server world state so API server can display them to users.
- Create DevUI widget for quick gameplay iteration.
- Add GraphQL to DevUI.
- Give DevUI access to API requests and use indexes instead of titles for mapping tabs to content.
- Set up protobuf message and plumbing to send a 'show dev UI' message from server to client.
- Create infrastructure for dev UI for hot-reloading C# classes the same way we do XML files.
- Show list of dev UIs in a perfhud tab in the client.
- Create PostOffice system for managing message sending and receiving.
- Change ClipTag to read as a short instead of as a byte.
- Allow client to control visibility of a DevUI using OnOpenUI and OnCloseUI.
- Add some metrics around DevUI to measure performance impact.
- Rate limit DevUI messages from the server to 1 per second by ID.
- 1st pass Dragon Circle and Saturday Night Sieges logos.
- Cache player stat data once at startup instead of using reflection every time we query it.
- Set daytime via a console command on the server that acts like 'daytime' buildvar on all clients.
- Remove knockback from entangling vines/roots. Should not both root and knockback.
- Damage taken while in travel stance temporarily slows target.
- Updated Database Ecosystem: Store/Player accounts.
- Updated Database Ecosystem: Game Server.
- Embedded WebAPI server for local builds.
- Improve server performance by cutting down size of items.
- Skill XML Editing Improvement: Harden skills parsing and produce better log messages to improve ease of debugging skill XML changes.
- Skill XML Editing Improvement: Warn if any child effects are found that don't match to a parent animation effect.
- Skill XML Editing Improvement: Clean up definition loading and fix issues with loading inlined files.
- Skill XML Editing Improvement: Make SkillDetail more readable and reliable.
- Optimizations to health change updates.
As a Backer, I'd like to see the world of Camelot Unchained continue to develop through its lore.
- Gargoyles Becoming - First Draft
- Silverhands Becoming - Rewrite
- Valkyries - rewrite
- Golems Becoming - Part III
- Gargoyles Becoming - Second Draft
- Stormriders Becoming - Rewrite
- Frost Giants Becoming
- St'rm Becoming - First Draft
- St'rm Becoming - Second Draft
- To Be A Helbound - First Draft
- To Be A Drengr - First Draft
- Picts Becoming part 1 - First Draft
- Picts Becoming part 1 - Second Draft
- Picts Becoming part 2 - First Draft
- Picts Becoming part 2 - Second Draft
- The Great Depths Raid Part 1 - First Draft
- The Great Depths Raid Part 1 - Final Draft
- The Great Depths Raid Part 2 - First Draft
- The Great Depths Raid Part 2 - Final Draft
- The Andvaranaut - The Becoming - Part 1 - First Draft.
- The Andvaranaut - The Becoming - Part 1 - Final Draft.
- The Great Depths Raid Part 3 - First Draft
- The Great Depths Raid Part 3 - Final Draft
- The Great Depths Raid Part 4 - First Draft
- The Great Depths Raid Part 4 - Final Draft
- The Great Depths Raid Part 5 - First Draft
- The Great Depths Raid Part 5 - Final Draft
- The Great Depths Raid Part 6 - Final Draft
- The Great Depths Raid Part 7 - Final Draft
- The Great Depths Raid Part 8 - Final Draft
- The Great Depths Raid Part 9 - Final Draft
- The Great Depths Raid Part 10 - Final Draft
- The Great Depths Raid Part 11 - Final Draft
- The Great Depths Raid Part 12 - Final Draft. This completes the entire Great Depths Raid.
- Picts Becoming - Final draft.
- Silverhands Becoming - Part 1 Final Draft
- Luchorpan - rewrite
- Silverhands Becoming - Part 2 Final Draft
- Silverhands Becoming - Part 3 Final Draft
- Silverhands Becoming - Part 4 Final Draft
- Silverhands Becoming - Part 5 Final Draft
- Silverhands Becoming - Part 6 Final Draft
- Silverhands Becoming - Part 7 Final Draft
As a Backer, I'd like to see the world begin to be propped out with generic fantasy items. - Set #4.
- Pile 'o' skins to protect the battering ram from FIRE!
- Wood pile lrg and sml.
- Cauldrons
- Wood external stairs with scaffolding - 1 and 2 story
- Axe and stump
- Create documentation for assets.
- Generic market stalls x 3
- Broken down wagon
- Viking stone markers x 3
- TDD medium chest.
- TDD medium box. x2
- TDD medium basket.
- TDD hero tree growing from rock.
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!
- /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 to be able to equip and use different types of melee weapon combinations. - First Pass Animations - Part 1
- 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.
- FPA: Left hand shield with right hand spear.
As a Backer, I'd like to be able to wear armor that protects against different damage types.
- First Pass: Design different damage types.
- Define damage type enumeration.
- Damage types can be set in ability editor.
As a Backer, I'd like to be able to equip and use different types of melee weapon combinations. - First Pass Animations - Part 2
- 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
- First pass test case bow rigging and animation test.
As a Backer, I'd like to see character, item, and ability stats have real meaning in the game - First pass design.
- 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.
- Initiate Tears and Primal water dart and ball effects use different vfx.
- New Liquid Flame dart, ball, cone, wave.
- New Primal Stone dart, ball, cone, wave.
- Improved look of Primal Fire wall.
- Initiate Tears, Primal Stone and Liquid flame new casting vfx.
- Primal Stone and Primal Earth dart and ball effects use different vfx
- Improve Liquid flame based spells.
- New wall spawning effects.
As a Backer, I'd like to see the world begin to be propped out with generic fantasy items. - Set #5.
- Create documentation for assets.
- Concept art pass on realm, generic, items.
- Arthurian chests x3
- Arthurian storage containers x3
- Large and small lumber piles.
- Standing and hanging braziers, single and double.
- Brazier models include fire vfx and lights.
- Sacks, and group of sacks with food.
- Additional generic bushes with texture variations.
- Additional variations of chests and containers.
- Arthurian storage container groups x 5
- Viking Basket x 3
- Viking chests
- Viking boxes/storage containers
- Generic stick bundles v2 large and small.
- Additional generic bushes.
As a Backer, I'd like to see the sky and environment transition from a sunny day to a snowy day.
- First Pass: Snow VFX
- First Pass: Snow VFX in camera.
- Snow on terrain fades in and out during snow cycle. - first pass.
- Create snow material.
- Terrain shader uses snow material and applies to terrain elements correctly.
- Snow state triggers material change in environment assets.
- Improve snow vfx.
As a Backer, I want to be able to own a plot of land and build within it.
- Building plot design
- CSE defined plots can be owned and released by a player. - simple /command
- Display plot boundries when placing blocks.
- Concept art for cornerstones.
- Create generic unowned cornerstone and 3 owned cornerstones, one for each realm.
- Cornerstones and plot markers define plot borders.
- Cornerstones swap to show ownership info.
- Players are limited to one plot at a time. - testing purposes.
- Limit maximum number of blocks that can be placed in a plot.
- Make blocks Realm-sensitive and destructible by enemy Realms.
- Plots can be placed in the world using the terrain editor.
- Lose plot ownership on death - for testing purposes.
- Plot owners can now set permission of who can build on their plot: Self, Realm, and All.
- Plots owned by Realms use control point mechanic for testing the building system.
- Create UI that allows players to control their plot's permissions.
- Create and attach VFX for neutral plus each Realm's plot markers.
- Plot ownership persists after logging out, or server restart.
- Plot performance on server improved. - Server checks control based on player location.
- Improve sustainability of plot ownership system.
- Building within a plot is no longer instantaneous.
- Build times decrease based on the number of players of your realm within your plot.
- Plot capture and combat states updated to work with changes from re-abilitation.
- Revisit code and develop plan for data structure improvements to allow for CylinderMorphs.
- Implement functionality to nest grids inside of other grids, to allow for parent and child grids
- Update rotation code to allow us to change directions of cylinders.
- Updates to UI to allow players to build towers
- Support rectangular structures inside CylinderMorphs.
- Harvested resources can be used to build buildings.
- Each Grid/Morph has a location in the world, giving us a direct relationship between world space and grid space.
- Start building mode with a selected block.
- Set Shift+Tab to cycle selected blocks.
- Expose hotkey combos to slash commands to speed up debugging.
- Buildings encoding and decoding.
- Add the ability to specify block type by ID for building commands.
- Support permissions for groups and guilds.
- Server/Client message and code for adding/removing sub-grids.
- Can build plots in offline mode.
- Add which grid is being edited to BuildingCellChange proto message.
- Add the ability to call commands on nearby buildings from the client.
- Buillding commands query against plots rather than buildings.
- Use materials to craft blocks.
- Add more commands for players - reorder queue, remove queued blueprint.
- Make all the BuildingUI renderables add/remove from scene async.
- Building commands no longer need an ownership override if you are an admin working on a single building.
- Damage command works, and is centered on your position, if you are calling it from the client.
- Developer building blueprint transfer tool.
- When claiming a plot, claim for faction and player.
- Prevent player from owning more than one plot.
- Add DevUI to expose plot management slash commands.
- Add admin page for building plot DevUI.
- Building plots can be initialized to a master blueprint.
- Auto generate a placeable master blueprint.
- Enable committing current master to a placeable.
- Make it so deletion works on subgrids other than the root.
- UI for grid manipulation.
- Setup config for enabling adding of subgrids.
- Add options for clearing master blueprints to the building delete command.
- Clear the root grid when getting a copy of the grids.
As a Backer, I'd like to see graphical and networking performance improvements, when building and destroying structures.
- Face adjacency culling.
- Backface culling enabled on buildings.
- Research and implement LOD'ing on building structures.
- Network Deltas for building. - Send only changes to a structure, vs. sending status of every block in a structure.
- Optimize stability calculations.
- Remove redundant building updates.
- Fix building concurrency issues.
- Improve building performance metrics.
- Use UDP for buildings when viable.
- Optimize building node traversal.
- BuildingMeshProvider - no longer loops over entire structure per material.
- Removed redundant block validation to improve performance when updating buildings on the server.
- Removed invalid blocks when starting up C.U.B.E. and the game client.
- Second pass building LOD's - better reductions at further distances.
- Greatly improve building LOD algorithm to better maintain surface acuity while reducing poly count even more.
- Further refine mesh simplification to reduce visual errors in buildings.
- Second pass mesh simplification to reduce visual errors in buildings.
- Add distance-based priority to buildings so we only send data of buildings within 1km of the player.
- Limit the number of TCP entities sent per frame to reduce load on user proxies.
- User proxies no longer send everything to player upon initial login.
- Improve building scalability on the server by caching off bounds and improving tracking of pointers.
- Improve handling of terrain loading/updates by delaying character loading behind a load screen.
- Rewrite building performance metrics to improve feedback of load, build, etc times.
- Improved performance of blueprint rendering inside CU proper as was previously done in C.U.B.E.
- Audit third-party software to use in the creation of materials for buildings.
- Use our shader in third-party material creation software.
- Update pre-existing C.U.B.E. materials to use new material format tech. This makes a big reduction in texture usage and more material versatility from player perspective.
- Additional memory reductions to building meshes. (Approximately 500MB!)
- De-rust buildings and building UI for testing and metrics gathering.
- Improve damage output for buildings in combat log.
- De-rust stability for testing and metrics gathering.
- Change APIs for getting BuildingGrids to speed up iteration over children.
- Improve threading model for creating renderables.
- Better mapping for sub-grid rendering stuff.
- Refactor data structures for holding BuildingEntity's renderables and physics.
- Serialization: update how buildlings are saved out to disk and the database.
- Improve how we send out deltas/building changes over the network.
- Caching building bounds on the server.
- Threading update: Break segment building on the client out into 4 contexts.
- Improve building metrics tracking to measure performance changes with recent building upgrades.
- Move geometry creation code out of BuildingRenderable and into a location that can be shared by client/server.
- Encoding/Decoding creates a record of the segments that changed, which can later be used to update buildings for renderable/physics/whatever.
- Send building updates to the physics server as deltas, to determine which parts of the physics mesh need to be rebuilt.
- Improve profiling of BuildingEntity.
- Have client create job to update building immediately when network message is received, to fix potential threading issues.
As a player, my character health is allocated to each body part which can take damage from different attacks and suffer wounds seperately from blood.
- First Pass: Design wound model.
- Create a simple wounds UI.
- Rework hit points as a blood pool resource.
- Send combat information to attacker and defender using logging infrastructure.
- Set up network code to communicate wound info to the client.
- Create Wounds structure on the server.
- 1 wound and 1 trauma applied on depletion of body part's blood.
- Allow "overhealing" to remove the lesser wound.
- Create system to determine spatial relationship of attacker, attack, and defender.
- Validate attacks on target based on attack location and attack.
- Body Parts: Define enumeration of body parts.
- Body Parts: Apply wound system to each body part.
- Body Parts: Expand wound UI to display all the body parts.
- Body Parts: Damage/healing effects apply to body parts rather than one resource pool.
- Body Parts: Create ability modifiers that target body parts.
- First Pass: Wound vfx.
- Vfx play on target when wounded.
- Create - CureWoundEffect - so design can create abilities to cure wounds.
- Create abilities to cure wounds.
- Update temporary, simple wounds UI to include all body parts.
- First Pass wound UI design.
- Second Pass wound UI design.
- Integrate updated wound UI to client.
- Entities (buildings, walls, players, etc.) now use bounding boxes instead of single points for spatial queries. We can now more reliably hit things.
As a Backer, I'd like to test the updated male Frost Giant model.
- 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.
- Update UI elements in character creation.
- First pass textures.
- Second pass textures.
- Test and update Two-handed weapon animations for giants.
- Audit current melee armor set to fit male Frost Giant for testing.
- Replace old model with updated model in game.
- Update UI elements in character creation.
As a Backer, I'd like to experience positionally-based audio and music within the world of Camelot Unchained.
- Combat music changes based on intensity of combat around player, using current audio event tech. - First pass.
- First pass audio concept: Combat intro and build music track v1.
- First pass audio concept: Heavy combat music track v1.
- First pass audio concept: Character death music track v1.
- First pass audio concept: Combat middle value music track v1.
- Second pass audio concept: Combat intro and build music track v1.
- Second pass audio concept: Heavy combat music track v1.
- Second pass audio concept: Combat middle value music track v1.
- Second pass audio concept: Character death music track v1.
- Integrate Music: Combat intro and build music track v1.
- Integrate Music: Character death music track v1.
- Create additional ornamental sounds for combat music - first pass.
- Optimize first pass sample instruments. Cut down CPU usage.
- Set up automated volume leveler in Wwise for music.
- Set up player proximity parameter for music and sfx queues.
- Set up "outnumbered" parameter. Determines number of friendly and enemy players around user's character.
- Create additional ornamental sounds for combat music - third pass.
- Create additional ornamental sounds for combat music - second pass.
- Create additional ornamental sounds for combat music - drums and percussion.
- First pass music transitioning between states.
- Attach a volume offset parameter to percussion. Controlled by amount of nearby combat.
- First pass second audio concept: Combat intro/low music.
- First pass second audio concept: Combat mid music.
- Integrate Music: Heavy combat music track v1.
- Integrate Music: Combat middle value music track v1.
- First pass sound design new ambient music instruments.
- First pass sound design: Realm-specific vocal layers for music.
- First pass sound design: Large to small ensemble switch with instruments for music.
- Translate existing large ensemble music to small ensemble orchestration.
- Sounds created by yourself vs others are treated independently, allowing for more control.
- Realm voice track variations:
- Viking voice phrases and sustains.
- TDD voice phrases and sustains.
- Arthurian voices phrases and sustains.
- Generic combat audio based on number of surrounding players:
- Create quad sound identifier.
- Attach quad sound to dark side explosion.
- Add dark side explosion to other battle events.
- Spawn NPCs and test accuracy of quad panning.
- Add Quad sound to player listener.
- Setup that quad sound to pan based on quad RTPCs from first quad sound.
- Test in game.
- Replace test sound with actual battle ambiences.
- Or add quad sound to Player Spawn but mediate it based on Action Intensity.
- Add distance filter to 10mm Looking at Me object.
- Figure out the Action Intensity ballistics.
As a Backer using an older graphics card, I'd like some love.
- Split the Light Handler in two so we can handle DirectX 10 & 11 users individually. - DirectX 10 users no longer crash entering world.
- Visual update to rendering for DirectX10 cards. - TBD
As a Developer, I'd like to work more closely with members of our Community to create the best possible UI for Camelot Unchained, through the Mod Squad!
- Create a forum section & conference room on our chat server specifically for Mod Squad.
- Add a Mod Squad permission to our backer permissions system.
- Auto assign forum based Mod Squad permissions based on account level Mod Squad permissions.
- Set up Trello boards for tracking & organization of Mod Squad work.
- Setup GitHub Organization & repositories specifically for Mod Squad.
- Prepare a web conference for the Mod Squad to clearly articulate CSE goals, practices, and procedures to the Mod Squad volunteers.
- Prepare documentation for the Mod Squad to outline goals, practices, and procedures.
- Prepare a Contributor Agreement for the Mod Squad volunteers.
As a Backer, I'd like a UI that is easy to develop mods and themes for.
- Design a new more maintainable & modern UI standard with the help of the Mod Squad.
- Create new CU library projects based on the new standard with the help of the Mod Squad.
- Refactor the current UI into the new standard with the help of the Mod Squad.
- Document core UI library to further facilitate modding.
- Document cu-events to further facilitate modding.
- Finalize and implement wounds UI prototype to replace current targeting UI modules.
- Refactor login UI
- Concept Pass 1 - New skill buttons UI and functionality.
- Concept Pass 2 - New skill buttons UI and functionality.
- Refactor announcements UI module.
- Update events system in UI library.
As a Backer, I'd like to be able to equip and use different types of melee weapon combinations. - Weapon Models
- Generic polearm: concept pass.
- Generic polearm: high poly model.
- Generic polearm: Material pass.
- Generic polearm: Low poly model
- Generic dagger: concept pass.
- Generic dagger: high poly model.
- Generic dagger: material pass with variations for pipeline testing.
- Generic dagger: Low poly model.
- Generic axe: concept pass.
- Generic axe: high poly model.
- Generic axe: Material pass.
- Generic axe: Low poly model.
- Generic spear: concept pass.
- Generic spear: high poly model.
- Generic spear: Material pass.
- Generic spear: Low poly model.
- Generic staff: concept pass.
- Generic staff: high poly model x2.
- Generic staff: Material pass x2.
- Generic staff: Low poly model x2.
As a Backer, I'd like to be able to create storm abilities.
- Component design.
- New air storm effect for testing.
- Fire storm effect.
- Earth storm effect.
- Storms have an area of effect and track.
As a Backer, I'd like to know about all the smaller enhancements the MOD Squad makes to Camelot Unchained.
- Design and implement a Kill Board, hooked to the control game and viewable on the website.
- Add a "Tips" UI element for new users entering Extended Alpha.
- Add a "Respawn at home base" on the respawn UI to facilitate testing.
- New perf HUD UI design.
- Perf HUD pages: Graphical info, network data, physics, integrated to client.
- Integrate updated version of Chromium Frameworks.
- Refactor inventory UI
- Refactor equipped gear.
- Patcher: Embedded Youtube videos in chat.
- Patcher: Embed images and gifs in chat.
- Patcher: Embed links.
- Patcher: Chat colors can be changed.
- Patcher: Bold and Italic font using markdown syntax.
- Patcher: chat room remembers previous rooms and will autojoin upon re-login.
- CSE - Create a thank you page on the CU website for Mod Squad!
- Block out character creation UI.
- Add markdown and colors in chat.
- Join room dialog.
- More icons added to the ability builder.
- When respawning in game, select from closest three spawns nearest player and home.
- Add uninstall confirmation to patcher.
- Add command line option to patcher.
- Add share rooms link in chat.
- Fix the scrolling bug in chat.
- Show access level next to server name in patcher.
- Add fix for NaN in server counts.
- Fix download time counting.
- Remember last chat channels you were logged in with chat and log back into them.
- Fix issue with PM for certain names that would open two tabs in patcher chat.
- Fix display of chat room name in the join room dialog.
- Organize user display list & show CSE at the top.
- Highlight select words and your name in chat text.
- Highlight CSE names in chat.
- Prevent strings like C#? from being room links.
- Allow @name to work with highlighting.
- Allow clicking on a name anywhere in chat to send a PM.
- Tab completion of nickname entering for PMs and in chat.
- Basic temporary crafting UI.
- Refactor building mode toggle button UI.
- Show percentage on install/download progress.
- Set focus on the correct input field when patcher loads.
- New C.U.B.E. UI UX design.
- C.U.B.E. UI Block & Blueprint selector Pass 1
- Bug fix where 'unread messages' notification was not going away.
- Auto-join the new private message "room" in chat when you whisper someone.
- Added history to patcher chat which can be scrolled through using the up/down arrows from the chat input area.
- Fix auto-scrolling bug in patcher chat.
- Allow new lines and multi-line input in chat.
- Set focus to the text input on the join room modal when it opens.
- Verified PMs notify the user of new messages.
- Fix room name parsing to eliminate duplicate parsing. Prevents some false positives and better performance
- Fix error message if you have a failed log in, it will show success instead of fail when you try again
- Pause all video playback on the patcher when launching the game
- Player, Enemy Target, Friendly Target module clean up -- hide unused things, display percent update style
- New C.U.B.E. UI UX design.
- Health and Party bar UX design.
- Blueprints API added to CU UI library.
- Fix Perfhud page select, add minimize and close.
- Set up npm scripts for building ui modules on osx and linux.
- Sound effects for all the buttons in the patcher
- Fix server selection locking up channel select sometimes on the patcher
- Remember last character & server selections on the patcher
- Sort channels and servers. Hide localhost from showing up for non-CSE users on the server list
- Sort characters listed on patcher by last login date and display last login date
- Auto-select new character after creation so that you can click play and immediately log in to the newly created character.
- Add character deletion to the patcher
- Redesign character selection & creation side panel on the patcher. Now has buttons for create, delete of characters
- Fix formatting for long server names.
- Prevent exceptions when sound is missing on the patcher
- CSE Message of the Day UI module added to the game to display upon login
- Scale and center news images on patcher.
- Scale and center news images on patcher.
- Display last login for characters below name on the patcher -- `Last Login x days ago
- Fix bug in patcher where setState was being called from within a render method.
- Add setup npm script to patcher.
- Move attribute names inline with points, and change text size so that they look a bit better on character creation.
- Fix padding issues with attribute point distribution style on character creation.
- Fix issue with scroll bars on dropdown menus in the patcher where you would occasionally get a horizontal scroll bar when you shouldn`t. Fixed some styling issues with colors. Long name overflow set to use ellipsis rather than extend, so as not to mess up
- Added new CSE-made emoticons to chat on the patcher!
- Scrolling fixed for chat settings panels.
- Make the compass perform better and not consume so much CPU.
- Add character naming rules client-side enforcement on character creation widget.
- New Building UI Pass 1 & 2.
- Building UI code structure pass (Pre-Pass).
- Set correct Sass importer package for game/HUD and patcher.
- Hide selected server in the server list on the patcher.
- Building UI pass 3 - moveable/resizeable building widgets.
- Style server select on patcher to match the rest of the sidebar.
- Covert crafting module to a widget within the HUD module.
- Fix input ownership bug with reload UI command.
- Write Pull Request guidelines for CU Github Wiki.
- Modifications & Bug fixes for hud movement & scaling.
- Fix character auto-select on patcher.
- Getting started points - Github setup, Trello setup, chat setup.
- New chat design concept.
- Simple temporary help window for HUD editor.
- Fix width of character name input so that it does not cover attribute buttons on smaller resolutions
- Add wounds to health bars.
- Add minimum value changes for the "flashing" animation on health / stamina / blood bars so that they don't constantly flash when regen is active.
- Convert compass to a game HUD module widget.
- Hero videos are sorted by date, newest first.
- Save/load sound and music settings from localStorage.
- Handle null case when API server is misbehaving.
- Convert MOTD to a game HUD module Widget.
- Use WebkitClipPath rather than -webkit-clip-path for style property.
- Launcher UX design improvements.
As a Sound Designer, I want to customize ambient audio based on dynamic game parameters.
- Ambient environment sounds triggered by time of day.
- First Pass Sound Assets: Generic day and night ambient sound.
- Player death at re-spawn triggers sound event.
- Other players' deaths triggers sound event.
- Player spawn triggers sound event.
- Other players' spawn triggers sound event.
- Basic support for audio feedback when taking damage.
- Player projectile cast, flight, and impact trigger sound events.
- Terrain angle triggers sound.
- Ambient environment sounds triggered by changes in the weather.
- First Pass Sound Assets: ambient rain sound for appropriate weather states.
- Player elevation hooked to sound system.
- Player race and Realm hooked to sound system.
- Register additional Wwise plug-ins: McDSP ML1, FutzBox, Wwise Compressor, Stereo Delay, Matrix Reverb, Room Reverb, Parametric EQ, PitchShifter, Soundseed Air, and many more!
- Audio events for multi-part ability animations.
As a German Backer, I'd like to visit the German version of the Camelot Unchained website.
- Language selection added to site header.
- Find a group of awesome German speaking Backers to assist us!
- Primary artwork containing text translated and added.
- Site navigation text translated.
- Secondary artwork containing text translated and added.
- Foundational Principles translated.
- Primary game information translated - About, Realms, Races, Classes, BSC docs.
- All lore translated.
- Recent news articles translated.
- Stretch Goals translated.
- All newsletters translated.
- C.U.B.E. page translated.
- Alpha Manual translated
- Class Reveal Audits:
- Arthurian:
- Abbot
- Blackguard
- Black Knight
- Dread Caller
- Flame Warden
- Minstrel
- Physician
- Specter
- Veilstalker
- Vikings:
- Arisen
- Child of Loki
- HelBound
- Mjölnir
- Shadow Walker
- Skald
- Slaughterwolf
- Stonehealer
- Wave Weaver
- Winter`s Shadow
- TDD:
- Blessed Crow
- Black Rider
- Dark Fool
- Druid
- Empath
- Fianna
- Forest Stalker
- Morrigan
- Red Cap
- Wisp
- Second pass audit - races and Realms:
- Arthurian
- TDD
- Vikings
- Most Recent news articles translated.
- Art with text translations complete.
- Second pass audit all new translations.
- Final review and translation fixes/updates.
As an Italian Backer, I'd like to visit the Italian version of the Camelot Unchained website.
- Language selection added to site header.
- Find a group of awesome Italian-speaking Backers to assist us!
- Primary artwork containing text translated and added.
- Secondary artwork containing text translated and added.
- Site navigation text translated.
- Foundational Principles translated.
- Primary game information translated - About, Realms, Races, Classes.
- All lore translated.
- Recent news articles translated.
- Stretch Goals translated.
- All newsletters translated.
- C.U.B.E. page translated.
- BSC docs translated.
- Alpha Manual translated.
- Class Reveals Translated.
As a Backer, I'd like to play in a procedurally-created environment. - Part Three
- Quality-of-life improvements to terrain mod editor.
- First Pass: Beach mod.
- Terrain Warp mod improved to separate positive and negative vertical warping.
- First Pass: Impostor system. (Objects at distance draw as single poly cards.)
- Impostor system influenced by object size.
- Improved rendering of alpha - trees and grass look softer and look more visually accurate at distance. - Nvidia Cards
- Client has collision for terrain and spawnables.
- Server has collision for terrain and spawnables.
- Client is "infinitely" scalable.
- Server and client reload automagically. Yes...that's a word.
- New Terrain Editor allows for hand placement of assets.
- Client is notified when terrain is updated.
- Client GetTerrainElevation - Smooth out physics, especially below 0.
- Server replaces spawn points during updates.
- Better handling of player position when terrain is updated. - Players don't fall through the world.
- Second Pass: Improved. Terrain collision generation.
- Improve performance when generating object collision.
- Improve texture stretching between points with a high degree of vertical distance between them.
- Remove additional instances of objects being drawn. - Better frame rate!
- Terrain collision more accurate to visual geometry.
- Third Pass: Improved terrain collision generation.
- Improve material overlapping artifacts.
- Terrain changes mods based on capture point ownership.
- Optimize mod loading and unloading during Realm ownership transitions. - (Memory Allocation Refactor)
- Don't allow players to connect while server physics is still starting up.
- Fix Models 2.0 system so multiple models can share the same source without drawing multiple items in world. - Better frame rate! (Bushes test in update.)
- Thread terrain update change to greatly improve performance.
- Improve materials overlapping artifacts.
- Assets used in terrain mods display VFX and lights correctly.
- Adjust how we calculate impostor groups so tall, skinny objects don't always impostor when miles away.
As a Developer, I'd like to have the tools and knowledge necessary to create terrain Biomes that change with Realm territory control.
- Define first test Biome with Realm variations - Concept Art
- First pass Biome asset list definition: Identify asset list to be built, with concept and photographic reference.
- First Pass: Grass and flower sets for testing.
- Improvements to grass assets - Costs 2/3rds less, but 2x as dense!
- Environment models carry vfx and lights in new terrain, using procedural placement.
- New Terrain Editor allows for hand placement of assets.
- Hand-placed assets can influence the terrain mods.
- Terrain has a sense of Realm ownership, and can be changed by devs for testing.
- Biomes can influence lighting and shadow parameters, and attenuate based on player's relative position.
- Biomes can influence ambient occlusion parameters, and attenuate based on player's relative position.
- Add "has collision flag" to assets in editor for easier verification in client.
- Placeables and spawnables can turn into entities: control points, resource nodes, building plots, etc.
- Improve editing of terrain: Multi-select, drag-select, batch modify.
- Height flattening mod.
- Terrain smoothing mod.
- Sound can be attached to models and placed in the world.
- Different LODs of terrain segments properly connect, leaving no evident seams between them.
- Determine a solution to more than three overlapping materials per vertex on terrain. (Fix the white seams in the terrain.)
- Update tech to support attached sounds on models placed in world.
- Placed assets can change terrain mods.
As a Backer, I'd like to test the updated male Human model.
- Model high poly sculpt.
- Create textures.
- Model and rig low poly model.
- Import and test model parts.
- Replace old model with updated model in game.
- Update UI elements.
- Second pass texture improvements.
- UV coordinate system updated to new layout while maintaining existing character UV layouts.
- Update UV coordinates of Human Male to optimized layout for LODs.
- Update base mesh with better underwear.
- First pass UI elements for character creation - Arthurian.
- First pass UI elements for character creation - Viking.
- First pass UI elements for character creation - TDD.
As a Developer, I'd like to have a library of sounds available to convey player movement, race, and gear worn, for when the tech becomes available during Beta.
- Player foot steps trigger sounds event.
- Player foot steps select from a library of generic footfalls in game.
- Player foot steps on incline trigger a sound event.
- First Sound Pass: falling rocks for players on incline.
- First Sound Pass: Leather foley movement sounds v1
- First Sound Pass: Equipped wooden gear movement sounds
- First Sound Pass: Equipped heavy armor gear sounds.
- TDD SFX: Light armor cape foley.
- Viking SFX: Light armor cape foley.
- SFX: Leafy footsteps v1
- SFX: Leafy footsteps v2
- SFX: Tall grass footsteps.
- SFX: Short grass footsteps.
- SFX: Twigs footsteps
- SFX: Mud footsteps v1
- SFX: Mud footsteps v2
- SFX: Wooden plank footsteps.
- SFX: Rocky footsteps.
- SFX: Deep water footsteps.
- SFX: Sand footsteps.
- SFX: Additional slow and fast armor movement variations.
As a Developer, I'd like to have a strong library of sounds to convey player movement.
- First Pass Sound Assets: Generic leather boot footsteps ver.01.
- First Pass Sound Assets: Generic leather boot footsteps ver.02.
- First Pass Sound Assets: Generic heavy-armored boot footsteps.
- First Pass Sound Assets: Stone feet footsteps.
- First Pass Sound Assets: Dirt terrain.
- First Pass Sound Assets: Short grass terrain.
- First Pass Sound Assets: Crunchy grass terrain.
- First Pass Sound Assets: Tall grass terrain.
- First Pass Sound Assets: Brush/Bushes terrain.
- First Pass Sound Assets: Rock/Gravel terrain.
- First Pass Sound Assets: Generic foley for falling rocks when climbing an incline.
- First Pass Sound Assets: Leather gear movement foley.
- First Pass Sound Assets: Heavy armor movement foley.
- First Pass Sound Assets: Wooden gear movement foley. (Shields bouncing.)
- First Pass Sound Assets: "Leafy" footsteps.
As a Backer, I would like to have information about the classes of Camelot Unchained.
- Silhouette artwork for 'deck of many classes' cards.
- Silhouette reveal concept art pass - trio #3
- Design content for 'deck of many classes' cards.
- Website implementation for 'deck of many classes.'
- Update website with class reveal voting page.
- Silhouette reveal concept art pass - trio #1
- Silhouette reveal concept art pass - trio #2
- Silhouette reveal concept art pass - trio #4
- Silhouette reveal concept art pass - trio #5
- Silhouette reveal concept art pass - trio #6
- Silhouette reveal concept art pass - trio #7
- Silhouette reveal concept art pass - trio #8
- Silhouette reveal concept art pass - trio #9
- Silhouette reveal concept art pass - trio #10
As a Backer, I'd like Camelot Unchained to have ability-based sound effects. - Integration - First Pass
- First Sound Pass: Water wave ability with 1sec build-up - 24 variations
- First Sound Pass: Flame abilities cast start sound v1 - 2part sound 6 & 7 variations
- First Sound Pass: Flame abilities cast start sound v2 - 2part sound 5 & 3 variations
- First Sound Pass: Healing abilities cast start sound v1 - 5 variations
- First Sound Pass: Melee abilities cast start sound v1 - 2part sound 3 & 3 variations
- First Sound Pass: Water abilities cast start sound v1 - 4 varitions
- First Sound Pass: Flame Projectile explosions v1 - 14 variations
- First Sound Pass: Stone Projectile explosions v1 - 15 variations
- First Sound Pass: Water Projectile explosions v2 - 10 variations
- First Sound Pass: Water Projectile explosions v3 - 24 variations
- First Sound Pass: Generic projectile whoosh sound as projectile passes by.
- First Sound Pass: Water ability sustains.
- First Sound Pass: Fire ability sustains.
- First Sound Pass: Earth ability sustains.
- First Sound Pass: Healing ability sustains.
- First Sound Pass: For new 5-part ability event hooks: Lifedrain Build: 11 variations
- First Sound Pass: 5-part ability event hooks: Ability start Lifedrain: 5 variations
As a Developer, I would like more insight into the state of the server.
- Set up a central location to handle the incoming metrics.
- Servers will report metrics about the machine like CPU, Memory, networking etc.
- Servers will provide detailed metrics of hotspots.
- Servers will report very high level game metrics.
- Servers will report game metrics like what actions have run.
- Setup a display of said metrics for analysis.
- Analyse server metrics to find issues in the code.
- Set up automated triggering of certain metrics so we can solve problems before they happen.
- Add client command specific metrics.
- Add per core metrics.
- Add specific action metrics.
- Add slash command metrics.
- Add AI specific metrics.
- Add metrics to UserProxy.
- Improved the metric display by switching from basic Graphite to Grafana.
- Find and fix lurking issues now that we have an awesome server engineer!
- Update metric backend to be much, much faster!
- Fix time metrics for better data logging.
- Add downstream network logging.
- Improve ease of debugging UserProxy issues by adding a build number to it's output.
- Add feature to server config to force players to spawn when connected to a single server.
- Increase ServerMessenger's maximum sendStorageCache.
As a server Developer, I would like the user proxies to dynamically scale.
- Get CPU metrics back from servers about how much load the server is under.
- When picking a user proxy for a user, use the server load metric to pick which user proxy to use.
- When a user proxy is full stop connecting players to it.
- When all user proxies are med-high load, start spinning up another user proxy.
- When total use of user proxies is low enough, pick the lowest-load user proxy and migrate users to other user proxies.
- Ensure proxy management lists do not get out of sync.
- Terminate proxies only if they time out while spinning up.
- Make the ProxyManager push debug data to tags so we can see in AWS what the proxy is doing.
As a Backer, I'd like to test the new male luchorpan model.
- Model high poly sculpt.
- Model and rig low poly model.
- Create textures.
- Import and test model parts.
- Character is selectable in game.
- Update UI elements in character creation with new model renders.
- Audit current melee armor set to fit male luchorpan for testing.
- Update base mesh with underwear.
As a Backer, I'd like characters to have vocalized combat, damage, and death reactions.
- First Sound Pass human male sound assets: 61 exertions.
- First Sound Pass human male sound assets: 27 damage grunts.
- First Sound Pass human male sound assets: 23 death screams.
- Upload vocal assets for testing and sort by flinch, exertion, grunts, etc.
As a Developer, I would like easily searchable server logs that are the front line of finding problems.
- Setup elasticsearch + kibana.
- Route logs into Elasticsearch and Kibana.
- Add MANY MANY more logs to the system - TBD
- Update our logger to accept arbitrary objects for easy fast logging of detailed data.
- Move all logging to Kibana for easier searching of logs.
- Add context to AWS proxy log messages
- LogContext for UserConnections
- Task logging contexts, including updater actions.
- Break out timing by message type.
- Add the message size to metrics.
As a Designer, I would like to know gameplay information about the state of the game.
- Find a good append only data store.
- Find a tool to search it with relevant questions in a mostly natural way.
As a Server Developer, I would like to build and spin up custom servers for small discrete tasks, such as processing buildings or running AI.
- Build a tiny core set of functionality that includes service discovery, easy message definition, easy message handling, robust fast multicore code by default.
As a Developer and Backer, I'd like to see improvements in lighting and rendering.
- Textures export in SRGB.
- Client has gamma correct rendering and lighting
- Alpha coverage density fix - Foliage looks better.
- Combine materials and shaders.
- Automate the process of selecting appropriate texture compression.
- Automate the process of combining special texture channels.
- Automate most of the conversion to Gamma correct texture pipeline.
- Clean up texture workspace to one-off images can be created under different settings.
- Update model viewer in editor.
- Update material assignment overrides in editor.
- Optimize duplicate constant variable setting. (Speed up shadows and rendering.)
- Add rebuild all textures option for future changes.
- Get DX11 (bc7) only texture path working.
- Add time of day to particle viewer.
- Update highlight material to handle new format. (C.U.B.E.)
- Add shader builder support for targetting different levels of D3D Hardware with different versions of each shader.
- Added Shader builder support for removing unused shader variants.
- Add 4bit alpha dithering to improve GPU performance of masked objects on ATI cards.
- Convert to higher-quality normal mapping format.
- Refactor mesh renderables to reduce render cost of non-player objects such as trees.
- Realign world to remove z-fighting and precision artifacts. (Fixes obvious geo flickering on player characters.)
- Investigate OIT (Order Independent Transparency) as a solution for rendering improvements
- First pass testing and fixes.
- Improve lighting between dark and bright areas.
- Order Independent transparency system.
- Offscreen buffer for transparency pass.
- Depth and color buffer resolve.
- Normalize blending between additive and diffuse particles.
- Change particle OIT blending to post multiplied.
- Fixed impostors-with-children crashing.
- Fix particle time scale to allow zero.
- Functionality for checking parentage for spawns and particles
- Split targetting icons into their own shader
- Hook up functionality for checking parentage for spawns and particles
- Move out projectile targetting from the particle shader
- Added IsLooping to ParticleRenderable to only stop looping particle effects
- Set render draw distance to 4K
- Update particle pivot points to take into account for rotation and scale
- Adjust cloud and scene fog, make water plane larger for farther clip plane
- Adjust particle alignment in geometry shader.
- Provide more control over particle velocity inheritance.
- ParticleResources pre-cache the GPU particle def for every particle on load.
- Particles only update the parameters that are animating.
- Refuse to load particles that appear to have internal data alignment issues.
- Improve particle Draw on Ryzen architecture.
- Optimize particles by packing vertices.
- Don't draw invisible particles.
- Move computed HDR eye adjustment out of being manually set with each shader into a global setting.
- Prevent light rays from showing up after turning away from light source.
- Prevent gizmos from casting ambient light into the world.
- Prevent gizmos and nameplates from showing up in reflections on shiny surfaces.
- Fix square artifacts in shadows on semi-transparent surfaces.
- Prevent shadows from flickering during any kind of move or rotation.
- Limit the maximum range of shadow maps and keep a similar brightness across cascades.
- QueueForRenderable returns whether or not the Renderable actually rendered anything.
- Particles will only render into the environment map if they're in the sky.
- Move SampleMask to a shared header for Prepass and Shadow pixel shaders.
- Shadow performance improvement - don't draw invisible cascades.
- Changes to render accumulation so that views keep track of the extents of the visible area where they are rendered.
- Change RenderableSubdivider to deactivate differently so we don't permanently destroy our surfaces.
- Zone splits things onto its root renderable for adding/moving zone objects.
- Update impostors on a terrain segment inside the segment's context.
- Refactor the impostor code to use Contexts better.
- For spawning child particles, interpolate the parent's position using a quadratic curve.
- Particles can have spawn rate that's proportional to distance travelled instead of time elapsed, to create spacing along trails.
- Calculate and store highest priority value for models in Character Manager.
- "Reduce the size of the verts used by characters to save on client memory usage."
- Don't downgrade a character into overflow until we actually need its assets.
- Pack texture indexes into UShorts to prevent overrun
- Improve speed for editing particles in locally-built client
- Factor in the light radius to the bounds of our system to prevent randomly turning on/off when particles are larger than the system they are a part of.
- MeshCombiner improvement - don't queue the same buffer multiple times for multiple accumulation passes in shadows.
- Fix flicker when building higher LOD character through Character Manager.
- Don't change a model's pooled meshes outside the render context lock in the Character Manager.
- Don't try to render an impostor texture if its renderable isn't ready to render.
- Use a flag parameter for keeping track of queued status on a MeshBufferPool to slightly optimize shadows.
- Expose BlurRadius through a build variable.
As a Backer, I'd like to test the male Silverhand model.
- Concept pass 1
- Concept pass 2
- Create base body concept and worksheets.
- Model high poly sculpt.
- Create textures.
- Model and rig low poly model.
- Import and test model parts.
- Character is selectable in game.
- Update UI elements.
- Concept pass 3
As a Backer, I'd like to test the female Silverhand model.
- Concept pass 1
- Concept pass 2
- Create base body concept and worksheets.
- Model high poly sculpt.
- Create textures.
- Model and rig low poly model.
- Import and test model parts.
- Character is selectable in game.
- Update UI elements.
- Concept pass 3
As a Backer, I'd like to have more payment options in the Camelot Unchained store.
- Investigate alternative methods and present action plan.
- Add alternative payment method(s) to CSE store.
- Test the living %*&! out of it.
As a Backer I'd like a patcher to not only update my game, but also give me the most important news and updates, get support, chat with the community and look awesome while doing it!
- Design new patcher layout: Primary interface, on-patcher chat, and news and patch notes.
- Tech: Full background html content "slider."
- Tech: Channel and server select.
- Tech: Character select.
- Tech: Channel installation and download funtionality.
- Tech: Website and store links open in user's default browser.
- Tech: Menu bar for patch notes, news, website, store, chat links.
- Tech: Menu bar for support.
- Chat: XMPP websocket chat library developed for CU chat based on node-xmpp.
- Chat: UI developed according to design.
- Chat: Save settings and Channel selection between patcher sessions.
- Patch notes: Patch notes made available through REST API.
- News & Patch notes: Build news and patch notes layout according to design.
- News & Patch notes: Patch notes and news filtering based on date and access level.
- Pass one support: Simple form to email CSE Support.
- Twitch: Icon displayed when CSE is livestreaming on Twitch.
- Twitch: Embedded Twitch player to watch Twitch stream directly on the patcher when CSE is streaming!
- Alerts: Alerts added to patcher to display important information to users, such as the start or end of a test.
- Alerts: Update old alert system to allow for more flexibility in alert messages.
- Alerts: Update alert messages in real-time on the patcher; previous system required a patcher restart to get an alert, this one will not.
- Settings: Allow custom download settings, bandwidth, audio options, etc...
- Sound: Interface clicks & effects for button interactions.
- Sound: Download complete sound.
- Sound: Play button clicked sound.
- Sound: First Pass - Background music!
- Sound: Second Pass - Realm-based background music determined based on your selected character.
- Set up new standalone Web API server.
- Deploy initial version of the new Web API server to handle patcher alerts, server info, and characters.
- Implement SSL support for the new Web API
- Initial Web API documentation website online and served from the new API Server.
- CSS audit to current layout.
- First Pass new splash screen 1.
- First Pass new splash screen 2.
- News page displayed from website.
- Additional CSS improvements at initial launch.
- New splash screen 3.
- New splash screen 4.
- Add animated splash screens
- New splash screen 2.
- New splash screen 3.
- New splash screen 4.
- New splash screen 5.
- New splash screen 6.
- New splash screen 7.
- New splash screen 8.
- New splash screen 9.
- Add permission levels to patcher to control what user sees.
- Additional feedback on file download/validation progress.
- Implement way to capture minidumps on 64bit machines.
- Sound: Second Pass - Background music!
- New splash screen 10.
- New splash screen 11.
- New splash screen 12.
- New splash screen 13
- Reduce memory usage on patcher.
- Patcher uses CU themed emoticons.
- Art: CU themed emoticons.
- Use new chat library within the patcher & game client.
- Update patch build process for easier debugging of the patcher with npm run debug command to launch a patcher using the currently compiled source.
- Create new background video of new title treatment for CU.
- Create SFX and music for new title treatment.
- Add team reveal vid to patcher.
- Adjust layouts of entry fields.
- Tweak button and input field colors.
- Sort character selection by most recently used.
- Communicate Backer level when patcher is launched
- Improve loading bar visuals, to better convey where in the install process someone is.
- Update experimental patcher to account for new UI changes
- Let go of unneeded websocket connections in chat.
- Add "Play Offline" to patch client and update sounds.
- Update the patch client to support providing a unique server address per character on log-in.
- Grant permissions to Beta2s to install the patch client.
- Grant permissions Beta2s to use chat.
- Chat: Reconfigure log4net logger.
- Deploy new patch server in preparation for combining default and experimental patchers.
- Provide feedback when character deletions fail.
- Use the last updated time passed by the client via protobuf
- "Storing downloaded files that are waiting to get decompressed into a memory-mapped portion of the system pagefile."
- Optimize first asset load of the new patch server by reducing number of queries.
- Add retries for connecting to chat server to server startup tasks.
- Implement CU bot for Discord to communicate server status
- Update Discord server bot to accept parameters.
- Update PatchNote ID query argument to be a string instead of an int.
- Visual Update: First pass styling concept art.
- Visual Update: Second pass styling concept art.
- Visual Update: CSS complete.
- Visual Update: New server and character selection implemented.
- Visual Update: Final implementation complete.
As a Developer, I'd like the Camelot Unchained website to convey its main features in a more concise and visually impressive manner.
- Determine focus of new direction through R&D.
- Design new homepage layout.
- Design secondary, core game pages.
- Design tertiary pages.
- Complete Realm pages.
- Complete Viking Race pages
- Complete Arthurian Race pages
- Complete TDD Race pages
- Edit primary gameplay vid for homepage background.
- Animate Arthurian character background.
- Animate TDD character background.
- Animate Viking character background.
- Update pass on available media for media page.
- Complete media page.
- Complete C.U.B.E. page.
- Complete news page.
- Complete new tertiary pages - BSC, Lore, Stretch Goals, Newsletters, etc.
- Provide new imagery of existing races that have been rebuilt - Giants, Luchorpán, etc.
- Update homepage imagery with updated race models.
- First Pass general asset integration prep.
- Paint over pass of pre-existing, old models to bring them closer to final goal, which is not yet implemented.
- Concept pass: Mobile view all pages.
- Make site responsive to different screen sizes, mobile.
- Complete homepage.
- Complete About Camelot Unchained page.
- Alpha and IT Backer feedback addressed.
- Second pass tertiary artwork on site updated with new models.
- Second pass tertiary race imagery edits.
- Second pass mobile responsiveness.
- Update mobile view to include option to play background vid.
- Make new site live.
- Improve site load times.
- Add CU comics page.
- Add Picts race to Arthurian races section.
- Update Galleries.
- Update Scoreboard used in testing to work better for mobile.
- Design refactor of media page to better support highlights, as well as supporting scale of galleries throughout production.
- Implement refactor of media page and update images on site.
- Add improved version of CU chat to website.
- Update News page to replicate patcher version.
- Create new media pages using new gallery plugin.
- Audit screenshots before pushing new media pages.
- Update videos page in media to use new layout and plugin.
As a Developer, I'd like to reward our Backers for their continuing support of Camelot Unchained.
- Conceptualize system.
- Discuss with Backers.
- Create first pass Backer Rewards.
- Concept account layout in store view.
- Create account layout in store view.
- Create Backer Rewards info page.
- Create icon visuals for all rewards.
- Update rewards in DB.
- Integrate into account api.
As a Backer and Developer, I'd like some temporary vfx for testing new combat mechanics and tech.
- Plan vfx needs as first pass solution for combat testing.
- VFX: Blood drain.
- VFX: Stamina drain.
- VFX: Blood regeneration.
- VFX: Stamina regeneration.
- VFX: Generic poison effect.
- VFX: Generic disease effect.
- VFX: Three stages of an overheated effect.
- VFX: Three stages of cold effect.
- VFX: Attack armor penetration success.
- VFX: Attack armor penetration failure.
- VFX: Attack blocked/deflected.
- VFX: Generic offensive buff applied.
- VFX: Generic defensive buff applied.
- VFX: Generic trigger buff applied.
- VFX: Generic periodic buff applied.
- VFX: Generic offensive debuff applied.
- VFX: Generic trigger debuff applied.
- VFX: Generic defensive debuff applied.
- VFX: Generic periodic debuff applied.
- VFX: Generic offensive buff persist.
- VFX: Generic defensive buff persist.
- VFX: Generic trigger buff persist.
- VFX: Generic periodic buff persist.
- VFX: Generic offensive debuff persist.
- VFX: Generic defensive debuff persist.
- VFX: Generic trigger debuff persist.
- VFX: Generic periodic debuff persist.
- R&D better solution to flame cards using After Effects.
- Update old vfx with improved flame cards.
- VFX: Health regeneration per body part.
- VFX: Generic electricity effects.
- VFX: Spore Clouds
- VFX: Electrical effects on swords.
- VFX: Electrical effects for mace.
- VFX: Generic Mist.
- VFX: Wound trauma head, arms, body, and legs.
- VFX: Heal burst cone shape.
- VFX: Heal projectile alternate version.
- VFX: Torso electrical effect.
- VFX: Improve default torch.
- VFX: Petrify speed debuff.
- VFX: New ability "Guard" for testing purposes.
- Second pass wall torch VFX.
As a Developer, I'd like to see improvements in the editor to facilitate my work.
- Set up a Delete repository in the editor so work is not gone forever.
- Add build var to the client to not draw the water plane by default in viewer.
- Add ability to delete particle spawners in particle editor while retaining the ability to recover them as needed.
- Mesh group materials: Ability to group select and edit material assignments.
- Full asset name is visible in rollouts without adjusting UI by hand. (Columns autowidth)
- Show alert or don't allow save, if there are any unassigned mesh groups.
- Improve system of assinging multiple items to a character for testing purposes.
- Item changes on characters update on server.
- Improve system of assigning animation clips to skeleton.
- Uniquely identify mesh groups upon import of models.
- Add focus key for camera in viewers.
- Add grid box to viewer.
- FBX import audit to identify bones without weight information.
- Import file validation.
- Editor will refuse imports of incorrect file types.
- Update terrain editor to work with recent changes to terrain generation.
- Builder and editor messages now display at bottom of editor.
- Don't let materials get through with deleted image resources.
- Add success messaging to texture build.
- Add tool to delete textures with invalid image references.
- Handle cases of old textures coming in with invalid channels.
- Add texture auditing to remove cases of malformed textures.
- Update texture builder for new materials.
- Blocks can be sorted by material.
- Bad materials in editor turn pink in client.
- Small improvement to server start time.
- Add a depiction of the Enterprise in ascii art when the editor starts.
- Add scaling option to material settings that apply to all textures used in a material.
- Simplify adding blocks and their substances by adding a block and substance editor.
- Bug fixes to animation clips getting into a locked state on the DB.
- Add channel sorting to editor feedback.
- Sounds can be added to placeable assets. (Ex: torches can have flame loops, and a beehive can have buzzing bee sounds.)
- Improve data base query speed on assets with some programmer magic.
- Add the environment map lighting to the world editor.
- Water plane remains with the player, making it easier to audit much larger maps.
- Builder output provides more feedback when a build fails.
- Editor now refuses to allow used assets to be deleted.
- "Clear Value" added to anim clips editor.
- Texture preview updated to work with PBR update.
- Create an editor for sound banks to reduce re-sending large sound bank files when only a portion is updated.
- Terrain editor properly shuts down after use.
- Terrain editor nodes assigned and display a number for ease of debugging.
- Adjust editor rendering to account for new lighting changes.
- Add way to verify, in all editors, WYSIWYG.
- Add editable tags to editor.
- Add tags to collections.
- Add automatic filtering to all grid views.
- Add dependency mapping.
- Add tags to trash items that are safe to delete.
- Have tag changes populate to any connected editor.
- Add editor option to tell the build server to rebuild.
- Improve gameplay-config-xml-editing experience to validate that the file parses/compiles properly.
- Enter map coordinates directly, rather than needing to scroll through values.
- Ability to adjust far clip plane in editor
- Add button to editor to suppress console spam.
- Shift+click while clicking trash item will permanently delete cog.
- Add dropdown box to select the bone on the model to attach the effect.
- Move the editor to use the new DefRef-based cog snapshot API.
- Allow restoration of default layout without closing workspace or editor.
- Add ability to copy and paste spawn and particle tree fragments, including in multiple editors
- Update Material and Image Set editors to use shared controls
- Async load particle and spawners.
- Ensure temp particles use the same ResourceID for the different build steps.
- Handle the fact that users can make edits to a particle faster than the particlebufferdef can be built.
- Track last user to edit a cog through the editor, based on computer name.
- Ensure sound editor saves the project file before all of the cogs.
- Inform editor users when the editor is patching.
- Add a "missing model" resource ID to communicate something obnoxious when a model breaks.
- Handle edge case of a skeleton having no animation clips when processing.
- Handle bad DLL distribution at editor startup.
- Editor lets the user know when they aren't running the patcher.
- Add ability to reset all editor layouts from the main menu, in case workspaces stop appearing.
- Create web tools project for browser-based tool chain.
- Add a command line utility for copying channels.
- Add front end to build server.
- Create utility function to set all cogs and fbx files to a different build state.
- Add feedback button to channel copy webpage.
As a Backer, I'd like to see the world begin to be propped out with generic fantasy items. - Set #6.
- Create documentation for assets.
- Viking 2 wheeled wagon v1
- Viking 2 wheeled wagon v2
- Viking 2 wheeled wagon v1 - loaded.
- Viking small metal working station on wood stump.
- Viking cooking pot.
- Viking 4-wheeled, larger, transportation wagon.
- Viking generic bench, new and old.
- Viking bench, new.
- Viking generic chairs.
- Small dragon on pillar statue.
- TDD - Storage chests.
- Viking small metal working station on wood stump. - alt version.
- Adapt "dragon-on-pillar" statue to three variations for control game marker.
- TDD - Storage chests.
- TDD - basket thingie.
- Additional various "scraggly" bushes.
- Ballista model for siege weapon testing.
- Generic dead pine tree on ground v1
- Generic dead pine tree on ground v2
- Generic dead pine tree on ground v3
- Generic dead pine tree stump v1
- Generic dead pine tree stump v2
- Generic boulder clusters - small, medium, large, as well as individual boulders.
- TDD - Egg shaped storage container
- TDD - assortment of boxes.
- TDD - different sizes of barrels.
As a Backer, I'd like to play in a procedurally-created environment. - Part Four
- Terrain Realm ownership can be changed by devs for testing.
- Overlapping terrain collision with internal spaces.
- Merge server/client physics entities.
- Concurrent terrain collision loading - pass 3
- Improve collision loading for spawned models.
- Improve grass LOD'ing: Use fewer, bigger, denser cards at distance.
- Second pass grass art resources to improve frame rate and density.
- Optimize placeable collision generation by ignoring assets without collision.
- Big code restructure to allow for environment maps for bounce lighting.
- Things such as trees and bushes can be tinted to improve visual variety of environment assets.
- Re-thread terrain generation to happen asynchronously in the background.
- Improve Realm control point changes seamless.
- Make several smaller improvements to terrain generation.
- Improve terrain editing in editor, to reduce hitching and pauses.
- Better handling of player position when terrain is updated. - Players don't fall through the world.
- Allow impostors to be aligned to any axis for terrain placement.
- Fix missing impostor renderables from terrain; alignment would make them disappear or not be aligned.
- Tangent normals for terrain aligned objects are correct, avoid normal mapping artifacts at high angles.
- Create Plateau Mod
- Second pass plateau mod.
- Move ZoneController objects from a lock to a context.
As a Developer, I'd like to improve some of our fundamental tech to improve client performance.
- Allocate memory from multiple threads without thrashing.
- Better thread management: Specify priorities better to safely handle background tasks and improve client performance.
- Update server to 64bit.
- Patcher - Create a separate process management application that can run and capture debug dumps from our applications in 32 bit and 64 bit
- Patcher - Allow channels to support both 32 bit and 64 bit applications
- Patcher - Provide hooks so users can select if they want to run a 32 bit or 64 bit application
- Audit Patcher update and fix minor existing bugs.
- Patcher maintains both 32bit and 64bit client.
- Reduce memory usage on client when passing assets from patcher.
As a Backer, I'd like to test the male Pict model.
- Concept pass 1
- Concept pass 2
- Create base body concept and worksheets.
- Create textures.
- Import and test model parts.
- Make character selectable in game.
- Update UI elements.
As a Backer, I'd like to test the female Pict model.
- Concept pass 1
- Concept pass 2
- Create base body concept and worksheets.
- Create textures.
- Make character selectable in game.
- Import and test model parts.
- Update UI elements.
As a Backer, I'd like to play in new biomes that change according to Realm ownership. - Biome 01
- Concept research pass 1 - Determine visual language of each Realm's environment.
- Concept pass biome #1 - "Neutral" and "Owned" by each Realm.
- Concept ambient SFX pass biome 1 - "Neutral" and "Owned" by each Realm.
- Concept pass VFX 1 - "Neutral" and "Owned" by each Realm.
- Biome 1 - Integrate ambient SFX that changes with Realm ownership.
- Biome 1 - First pass VFX
- Biome 1 - Determine asset list from concept.
- Biome 1 Neutral - Create ground texture sets.
- Biome 1 Neutral - Create grass and ground cover assets.
- Biome 1 Neutral - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 1 Neutral - Create large assets. (Trees, rocks, etc.)
- Biome 1 Neutral - Create terrain mods and integrate into world for testing.
- Biome 1 Arthurian - Create ground texture sets.
- Biome 1 Arthurian - Create grass and ground cover assets.
- Biome 1 Arthurian - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 1 Arthurian - Create large assets. (Trees, rocks, etc.)
- Biome 1 Arthurian - Create terrain mods and integrate into world for testing.
- Biome 1 Viking - Create ground texture sets.
- Biome 1 Viking - Create grass and ground cover assets.
- Biome 1 Viking - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 1 Viking - Create large assets. (Trees, rocks, etc.)
- Biome 1 Viking - Create terrain mods and integrate into world for testing.
- Biome 1 TDD - Create ground texture sets.
- Biome 1 TDD - Create grass and ground cover assets.
- Biome 1 TDD - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 1 TDD - Create large assets. (Trees, rocks, etc.)
- Biome 1 TDD - Create terrain mods and integrate into world for testing.
- Concept pass biome #1 - Neutral pine forest.
- Concept pass biome #1 - Pine forest Realm ownership variations.
- Second concept pass biome #1 - Pine forest Realm ownership variations.
- Concept Pass - Rocks and rock clusters that retain general shape but change with Realm ownership.
- Biome 1 - Determine neutral asset list from concept.
- Biome 1 Neutral - Additional bushes, rocks, rock clusters, and dead tree variations.
- Biome 1 Neutral - Optimization pass.
- Biome 1 - Determine TDD ownership asset list from concept.
- Biome 1 - Determine Arthurian ownership asset list from concept.
- Biome 1 - Determine Viking ownership asset list from concept.
- Biome 1 All Realms - First pass changes for gameplay.
- Biome 1 All Realms - Additional assets, dead trees, ground clutter, branch types, tree stump, etc.....PINE CONES!
- Concept ambient bird calls specific to each Realm.
- Ambient SFX - subtle moving water.
- Generic Realm ownership change SFX.
- Ambient SFX - generic forest ambience, windy.
- Ambient SFX - Daytime-specific pine forest.
- SFX: Pine needle footsteps.
- Additional pine tree variation set.
- More aggresive LOD pass on all existing trees, including realm variations.
- Generic chainmail footsteps.
As a Backer, I'd like a more efficient and optimized animation system that provides more focused support for the specific needs of Camelot Unchained.
- Improve design scope of animation needs, in order to better serve long-term combat design iterations.
- Update Stance cog to allow for assignment of animations based on usage in the stance and up to 30 different actions.
- Create skeleton select control for use in updated Stance & Multi-part action animation workspaces.
- Update AnimClip workspace for non-contiguous frame support.
- Update AnimClip cog to allow support clips made from non-contiguous ranges of frames, or single frames.
- Remove dependency on bone naming to reduce risk in rig improvements.
- Create an animation viewer in the editor.
- Update existing animations with rig changes.
- Update master rig with additional item/weapon attachment points.
- Update Stance workspace for assignment of animations for lower body locomotion, upper body locomotion, emotes, and actions.
- Create new Multi-part Action Clip Cog for assignment of animation clips to skeletons for the 6-part action animations.
- Create workspace for Multi-part Action Clip Cog.
- Update Stance Resource to contain: A list of Clip IDs for specifying locomotion clips, a list of Action Clip IDs for actions in order as specified for the Stance, and a list of transitional data to determine transition clips for stance transition animatio
- Add all animation clips to the AnimationCollection Resource.
- Add stances and maps for getting clips for stance usage and type.
- Update Builder to build changed Animation Collection Resource.
- Update FBXBuild to build animation clips from non-contiguous ranges.
- Update Animation Clip Resources to use Usage & Type for identifying clip.
- Set up Playback Control, Playback State, and Clip State for handling animation playback in a "functional" programming style.
- Move Animation out of CUAnimation project into Client project.
- Support playing multiple clips for a single usage, ie: have multiple idles and when looping go to a different random idle.
- Handle Animation Events from within Playback Control.
- Animation playback
- Basic Clip Playback
- Action Clip Playback
- Clip Blending
- Clip Masking
- Death animation
- Flinch animation
- Action animations
- Walk/Run directional blend
- Jump/Fall
- Emote animations
- Transistion animations
- Action animation selection from a predefined set of actions for each stance.
- Properly handle latency compensation in multipart animation.
- Update player movement animation blending code for smoother transitions.
- Improve speed of animation skinning.
- Improve blending to reduce character feet sliding.
- Andrew pass on refactor! - Improve character scalability.
- Additional Stance Editor support: Make well defined animation stance assetlib class.
- Additional Stance Editor support: Make editor work with new well-defined classes using regular databinding.
- Additional Stance Editor support: Update build server
- Additional Stance Editor support: Update client
- Bug Hunting: Fix the rest!
- Update Editor to use new animation code.
As a Backer in Beta 1, I'd like to have a sampling of TDD light, medium, and heavy armor to wear in game.
- Select armor to create from sampling of previous concept art.
- Collate selections into spec sheet for artists to work from.
- Light Armor - High and low poly sculpt complete.
- Light Armor - Weight and integrate assets into editor.
- Light Armor - Material references provided.
- Light Armor - B1 version of mats created.
- Light Armor - Adjust armor to fit female humanoid form.
- Medium Armor - High and low poly sculpt complete.
- Medium Armor - Weight and integrate assets into editor.
- Medium Armor - Material references provided.
- Medium Armor - B1 version of mats created.
- Medium Armor - Adjust armor to fit female humanoid form.
- Heavy Armor - High and low poly sculpt complete.
- Heavy Armor - Weight and integrate assets into editor.
- Heavy Armor - Material references provided.
- Heavy Armor - B1 version of mats created.
- Heavy Armor - Adjust armor to fit female humanoid form.
- Update work sheets to reflect silhouette and low poly improvements.
- Medium Armor - Second pass Beta 1 version of materials. General improvements.
- Create material ID sheet for light, medium, and heavy armor, for ease of updating textures.
- Update generic cloak material to use Realm-specific styling.
- Red, green, and blue, generic cloak materials for testing.
- Create additional heavy to medium helmets for B1. - Modeling and Mats.
- Create additional heavy to medium helmets for B1. - Rigging and game integration.
- Second pass helmet materials.
As a Backer, I'd like to test the updated female Valkyrie model.
- Concept pass 1.
- Concept pass 2.
- Create base body concept and worksheets.
- Model high poly sculpt.
- Create textures.
- Model and rig low poly model.
- Import and test model parts.
- Character is selectable in game.
- Update UI elements.
As a Backer, I'd like to test the male Valkyrie model.
- Concept pass 1.
- Concept pass 2.
- Create base body concept and worksheets.
- Model high poly sculpt.
- Create textures.
- Model and rig low poly model.
- Import and test model parts.
- Character is selectable in game.
- Update UI elements.
- Second pass face and hair.
As a Backer, I'd like to play in new biomes that change according to Realm ownership. - Biome 02
- Neutral grass land terrain materials created.
- Neutral grass land grass and rock mats and assets created.
- Neutral grass land terrain mod created.
- Viking grass land terrain materials created.
- Viking grass land grass and rock mats and assets created.
- Viking grass land terrain mod created.
- Arthurian grass land terrain materials created.
- Arthurian grass land grass and rock mats and assets created.
- Arthurian grass land terrain mod created.
- TDD grassland terrain materials created.
- TDD grassland grass and rock mats and assets created.
- TDD grassland terrain mod created.
- Ambient SFX - Open field winds of varying velocities.
- Ambient SFX - frogs chirping, solo, group, raining.
- Ambient SFX - crickets.
- Ambient SFX - night bugs with and without frogs.
- Ambient SFX - Skylark bird.
- Ambient SFX - Additional grasses blowing in wind of varying velocities.
As a Backer, I'd like to find unique environment props, or unique locations, that add flavor to the environment while I'm exploring the Biomes.
- Create unique environment prop - 001 - TDD rune rocks.
- Create unique environment prop - 002 - Weasel in tree stump.
- Create unique environment prop - 003 - Random skull cairn.
- Create unique environment prop - 004 - Bee hive on limb.
- Create unique environment prop - 005 - Bee hive in log.
- Create unique environment prop - 004 - Beehive on limb.
- Create unique environment prop - 005 - Beehive in log, including Realm variations.
- Beehive ambient SFX
- Whale Skeleton.
- Human skeleton with sign.
- World statue ruins x5: High and low poly modeling.
- Ruined statue environment accent v1 - mats
- Ruined statue environment accent v2 - mats
- Ruined statue environment accent v3 - mats
- Ruined statue environment accent v4 - mats
- Ruined statue environment accent v5 - mats
- Ruined statue environment accent v6 - mats
- Ruined statue environment accent v7 - mats
- Arthurian - Create ground texture sets.
- Arthurian - Create grass and ground cover assets.
- Arthurian - Create small to medium assets. (Bushes, rocks, etc.)
- Arthurian - Create large assets. (Trees, rocks, etc.)
- Viking - Create ground texture sets.
- Viking - Create grass and ground cover assets.
- Viking - Create small to medium assets. (Bushes, rocks, etc.)
- Viking - Create large assets. (Trees, rocks, etc.)
- TDD - Create ground texture sets.
- TDD - Create grass and ground cover assets.
- TDD - Create small to medium assets. (Bushes, rocks, etc.)
- TDD - Create large assets. (Trees, rocks, etc.)
- Optimization and LOD pass on statues 1-7
As a Developer, I'd like to increase physics performance, as well as make changes easier to integrate.
- Merge server/client idea of PhysicsEntity
- Merge FilterShader
- Player Movement Merge - Pass 1:
- Break player movement into states.
- Create a "TargetLocation" for player update.
- Player Movement Merge - Pass 2:
- Server/client agreement on flying. Possible refactor to flying, hovering, and NoPhysicsHovering.
- Merge momentum transfer/pushing
- Entity class merge:
- Merge DynamicEntity behaviors.
- ColliderTypeFlags split into ColliderTypeFlags and ColliderPropertyFlags, because flexibility.
- Redo filter shader/collision callback.
- Remove old code and clean up.
- SystemTrigger/SystemStatic
- Expose a better interface to Managed
- Merge entities on client
- Clean client
- Do the netcode
- Clean netcode
- Test server
- Redo interpolation on the client to match what we have now and redo netcode.
- Pull more out into DynamicEntityShared.
- Improvements:
- Properly synchronize server and client sliding.
- Dynamically update mass on client entities from server.
- Update sliding to feel better.
- Add new movement code to bots.
- Improve player movement acceleration prediction. - Other players' movements looks far better!
- Fix all the minor math errors that were causing server and client to desync.
- Update code that was keeping players properly alligned to terrain.
- Reduce update packet size by 85-90% to get us back to previous iterations.
- Improve ablity to diagnose and debug server position on client using physics and network perfHud.
- Additional tuning to sliding.
- Additional improvements to perfhud and feedback for network hud.
- Performance improvements removing assets from world. Improves performance in areas, such as forests, with lots of placed assets.
- Minor fixes/improvements to projectile motion.
- First Pass: Improve physics performance on 36 core servers.
- Remove buildings that are more than 1100 meters away to reduce client memory usage.
- Rewrite building saving code to be more performant.
- Additional re-threading work on building physics to improve performance.
- Expose more physics values in PhysHud.
- Fix sending down state changes of entities persisted after their physics goes away
- Avoid using bad data from client movement updates.
- Merge server/client idea of PhysicsEntity
- Merge server/client core character movement.
- Merge character jumping and upgrade it.
- Merge projectiles/dynamic triggers/forcefields into DynamicEntity.
- Properly synchronize server and client jump.
- Take a ParLL::Context for LoadRigidStatic/Dynamic's callback in IPhysicsEngine.
- Use low-priority context for processing loaded data in IPhysicsEngine.
- Fix assertions in physics server startup.
- Add metrics for data received in PhysicsServerConnection.
- Only use the top terrain hit in heightfield queries.
- Fix lockup in running internal physics jobs on server.
- Process subzone trigger events after deleting removed actors.
- Send player move and jump commands directly to the physics server rather than through the game server.
As a Backer and Developer, I'd like a system to set sounds to play during specific events.
- Unchained editor Audio support - Editor can import and parse wwise.bnk files.
- Audio Support: Create data structures for importing WWise info.
- Audio Support: Create prototype event hooks on client.
- Audio Support: Client reads and assigns projectile sound effects, removes defaults.
- Audio Support: Create SoundEvent Cog data structures.
- Audio Support: Add SoundEvent Cog workspace to editor.
- Audio Support: Add SoundEvent Cog to Projectile Effects in editor.
- Audio Support: Read data assigned to Projectile effects on server and send to client with temporary data.
- Audio Support: Create import functions for WWise data.
- Audio Support: Create import editor interface for WWise data (so dB can upload data).
- Audio Support: Create import sound bank and generate sound event cog wizard or procedure in editor
- Audio Support: Rough in a more permanent "event hook" system on the client so discrete events have an easy place to perform actions.
- Audio Support: Validate data on import.
- Audio Support: Validate data when consumed on server (log errors).
- Audio Support: Documentation on Wiki.
- Sound Event Cog is created and can be attached to placeables.
- Builder exports sound events along with .bnk and offset data to the client as a sound event resource.
- Placeables (Models) play Audio from any attached Sound Events.
- Create an XML import for sounds.
- Sounds can be added to items that are dropped.
- Offset sun angle RTPC by 90°, so midnight coincides with 0°/360°.
As a Backer, I'd like to create balanced abilities by managing power and cost.
- Design ability value system
- Implement power and cost for components.
- Restrict ability creation based on total value (power minus cost = value).
- Total power passed to ability when executed.
- Calculate power of an AbilityEffect and its child effects.
- Individual stat types have a defined ratio of power used to magnitude of effect.
- Power affects magnitude of effect when executed.
- Power is stored and can be adjusted in PhysicsColliders (objects in the world)
- Power is stored and can be adjusted in ActiveEffects (effects on characters, including Wounds)
- Add Ability Effects to modify the power of some effects of a component, including: flat changes, changes based on distance from the center of an AoE, and remaining health, stamina, or blood.
- Concept new layout for ability builder UI.
- Update ability builder UI per concept.
As a Developer, I'd like to preview full sound suites on animations.
- First Sound Pass: Archery animation concept.
- First Sound Pass: Dual swords animation concept.
- First Sound Pass: Longsword animation concept.
- First Sound Pass: Polearm animation concept.
- First Sound Pass: Dagger animation concept.
- First Sound Pass: Spear animation concept.
- First Sound Pass: Staff animation concept.
As a Backer, I'd like Camelot Unchained to have ability-based sound effects. - Integration - First Pass
- First Sound Pass: Water wave ability with 1sec build-up - 24 variations
- First Sound Pass: Flame abilities cast start sound v1 - 2part sound 6 & 7 variations
- First Sound Pass: Flame abilities cast start sound v2 - 2part sound 5 & 3 variations
- First Sound Pass: Healing abilities cast start sound v1 - 5 variations
- First Sound Pass: Melee abilities cast start sound v1 - 2part sound 3 & 3 variations
- First Sound Pass: Water abilities cast start sound v1 - 4 varitions
- First Sound Pass: Flame Projectile explosions v1 - 14 variations
- First Sound Pass: Stone Projectile explosions v1 - 15 variations
- First Sound Pass: Water Projectile explosions v2 - 10 variations
- First Sound Pass: Water Projectile explosions v3 - 24 variations
- First Sound Pass: Generic projectile whoosh sound as projectile passes by.
- First Sound Pass: Water ability sustains.
- First Sound Pass: Fire ability sustains.
- First Sound Pass: Earth ability sustains.
- First Sound Pass: Healing ability sustains.
- First Sound Pass: For new 5-part ability event hooks: Lifedrain Build: 11 variations
- First Sound Pass: 5-part ability event hooks: Ability start Lifedrain: 5 variations
- First Sound Pass: Additional wooden and melee weapon impact sounds.
As a Backer, I'd like to see improvements in server stability, speed, and robustness.
- Improve autoscaling of proxies.
- Create new state for debugging proxies that exhibit weird behavior.
- Improve speed of logging in.
- Speed up logging to our logging backend by making it async.
- Send the UserProxy the player's position so we can modify update priority by distance from player.
- Modify load tester to behave more like a player to improve testing results.
- Reduce metric sampling to only sample long actions.
- Improve server cluster scaling.
- Improve performance when cleaning up particles from active effects.
- Improve character loading flow to be more performant and threading friendly.
- Streamline network code to provide a foundation for serious bandwidth improvements on the proxy to client connection.
- Improve security so users can't spoof each other's connections.
- Big optimization to network encoding, improving number of users per proxy.
- Add an "echo proxy" to clients that can log all of a connection's data for analysis in support of chronic disconnects.
- Tone down spamming logging for large tests.
- Improve network priorities to support even more players.
- Reduced potential for "very laggy" conditions.
- Flatten/simplify networking on server side.
- Add configurable timeouts for proxies.
- Simplify communication between Game Server and User Proxys, which allows for faster iteration.
- Restructure server DLLs to load correctly.
- Fix broken loading/setup of control points so server doesn't crash.
- Make loadtesters hard close and restart every few hours to mitigate the effects of crashing bots over time.
- Improvements to server functionality to reduce need for unique solutions.
- Separate the physics network state from the gameplay network state.
- Add detailed stats for bandwidth tracking.
- Optimizations in positional updates.
- Lower the rate at which we poll proxies.
- Memory pooling improvements to reduce lag spikes.
- Reduce latency on server to client message queueing.
- Improve player login and respawning to be less disruptive.
- Server memory allocator takes advantage of more memory and cpu cores if available.
- Add additional logging and metric to identify, track, and solve bugs and performance issues.
- Improve scaling of proxies when adding and removing players.
- Improve auto-restarts - make noisy message on the console and make it easier to configure intervals.
- Split out hard launches and soft launches from each other to prevent interference between the two.
- Implement exponential backoff to space out repeated transmissions.
- Check addresses when checking proxies.
- Upgrade from OpenSSL to LibreSSL.
- Implement FastEntityReader to transfer entity data across servers
- Integrate ElasticSearch to log on database instead of file system.
- Incorporate proxy metrics.
- Replace abstract delegates on WorldSender with methods.
- Make FastEntityReaderCommandProcessor work with any Entity.
- Send client commands from proxy to game server using FastEntityWriter.
- Increase the socket send buffer size to 5MB to avoid blocking when sending physics states to proxies.
- Write our own ConcurrentBatch container to do minimal allocations.
- Update SingleThreadedUpdater to not lose completions when passed in from the WorldUpdater and not attached to an action.
As a Developer and Backer, I'd like to see improvements in memory usage and threading.
- General improvements to memory management, resulting in different CPU cores being less likely to stall when waiting for each other, improving client performance and server scalability.
- Add "ContextSTLAllocator" to make our memory management code more usable to other programmers.
- Chopped 500MB off the client memory usage in heavy scenes.
- Integrate ParLL threading library into CSE code.
- Rewrote ParLL interface to support modern coding conventions, lambdas and universal function references. (Similar to std::async)
- Moved Async destruction to ParLL.
- Added new ParLL features to support our existing threading patterns.
- * Create a way for long-running tasks to run in the background without stalling the main game.
- * Suspending and resuming serial context execution.
- * Added atomic guardians to make the thread safety of a given system provable.
- * Ported ParLL to 64bit.
- Rewrote Timed Action Queue with new threading system
- Rethreaded physics to use ParLL and be lock-free. (good performance increase)
- Rewrite delayed destruction to run on ParLL
- Re-thread scene updates using ParLL
- Re-thread terrain (re)generation using ParLL
- Re-prioritize terrain generation and mesh simplification to run in the background, using multiple frames.
- Make renderable/animation updates run in parallel.
- Get PhysX scene lock onto the correct thread.
- Fix hitching and lockup on slower machines with threading system caused by running out of memory.
- Fix threading stability problem with physics. (hangs/crashes)
- Fix threading handle leak. (hang)
- Fix threading orphaned context problem (hitch)
- Removed hitching by better synchronization. - Improved general performance.
- Improve performance when running more than one client or heavy background applications.
- Fix hitching caused by memory subsystem thrashing.
- All around memory reduction in client and C.U.B.E. - 600mb - 800mb reduction in game, to 1.5gb in worst case C.U.B.E. maps.
- First pass compression of building vertices to reduce memory.
- First pass compression of building vertices to reduce memory.
- Second pass compression of building vertices post curved blocks integration.
- Improve performance when placing very large blueprints.
- Global reduction in instances of hitching by moving several async threading cases to ParLL.
- Server fix for building and ParLL changes
- Improve load times and terrain generation by moving async threading cases to ParLL.
- Create a tool to track and find possible threading issues in the client. Add to HUD.
- Improve ParLL library based on team usage and crash debugging.
- Improve speed of terrain generation.
- Improve ParLL library for developer usage, based on terrain generation work.
- ParLL - Make it possible that simple jobs can be done immediately in place if there are no conflicts.
- RunOrSplit (in ParLL) now has firmer order guarantee.
- ParLL guarded data will now get caught and logged.
- Add ability to check if readonly access to a context is safe in assert
- Locally save blueprints when connected to a server for improved performance
- Allow safe pointer to be copied around via move semantics and pass ownership.
- Terrain rethreading changes to use pooledContexts.
- Change how we raycast gizmos to not hold the scene lock as long.
- Make EquipmentBuilder always Split, to account for a BlockingWait it contains.
- Make RegenSegment use a ParLL task instead of FireAndForget.
- ParLL::Join will directly take and work on a needed context immediately.
- Fix for possible deadlocks arising out of outside threads trying to join even though they aren't registered workers.
- Prevent runorsplit from running high priority tasks from low.
- ParLL::Add multi-split to send one job to all context threads simultaneously.
- ParLL::Add ability for JoinAll to run independently.
- ModelFactory uses more then one context from its context pool.
- Get rid of spinlocks on ParticleRenderable and just handle changes in its context.
- Shut down the particle tree and its raw pointers to our particleResource before we reset and throw our old particleResource away.
- Reorganize the CharacterManager code so we never join on the main thread.
- Perf improvements for terrain regeneration.
- Fix ParLL crash by supporting cloning and moving arguments.
- Custom CLR profiler specifically set up for diagnosing large object heap garbage collection issues.
- Fix rare deadlock caused by semaphore finalizing race with suspend.
- ParLL fix for occasional asserts on jumping and startup.
- Remove support for anchored contexts.
- Integrate Telemetry hooks for RenderContext lock.
- Split ClipPlayer to start/stop events if, and only if, they run on another context.
- Remove need for multicontext threading from placeable objects.
- Add multithreaded logging system for ParLL.
- Run UI deferred message update on all scene contexts.
- Further combination of ParLL internal context state into a single unified non-locking state machine.
- Protect against semaphore order contention.
- Prevent ParLL multi-context split from sometimes losing one or more of the contexts split on an earlier job.
As a Backer in Beta 1, I'd like to see improvements in visual performance, particularly frame rate and memory usage.
- Adapt geometry reduction algorithm from buildings to characters.
- Ensure proper bone LODing.
- Reduce memory usage of characters by keeping around the minimum set of needed assets.
- Better generation of heightfields to support occlusion culling.
- First Pass occlusion culling system.
- Generate occlusion culling from player-made structures.
- Occlude things such as mines (and later, The Depths)
- Improve forest performance: Intelligently impostor and cull assets based on distance and an aggregate of occlusion assets.
- Occlusion system for proxies - determine which entities we tell clients about.
- Characters properly LOD at distance, using an improved algorithm.
- Setting local player flag for character lod purposes
- Add some PerfHUD counts for characters and dropped items based on their max LOD
- Update renderables to separately track the last frame rendered in any view.
- Rate of update of renderables is throttled based on distance and relative priority.
- Improve shadow look to account for draw-distance increase.
- Make sure the player-character and surrounding 15m is always in the highest cascade.
- Back the cascade off to 1km view distance, tripling the resolution.
As a Backer in Beta 1, I'd like to have a sampling of generic clothing to wear in game.
- Determine spatial relationships and plan of attack for swappable shoes, boots, high boots, greaves, and variations in pant models necessary for different configurations.
- Teach additional artist armor weighting pipeline - Lower body equipment.
- Teach additional artist armor weighting pipeline - Upper body equipment.
- Note on items listed: Includes high and low modeling pass, initial material pass, weighting, and integration based on human body types.
- Update editor with correct slot list based on design.
- Generic shoe.
- Generic boot.
- Generic high boot v1.
- Generic high boot v2.
- Generic pants with length versions to accomodate footwear height.
- Generic greaves - nude and underlayer versions.
- Generic light belt.
- Generic medium belt.
- Generic heavy belt.
- Determine spatial relationships and plan of attack for swappable shirts, skirts, sleeves, vambraces, and gloves.
- Generic low glove.
- Generic mid glove.
- Generic high glove.
- Implement first pass character masking to support armor system.
- Generic vambrace - nude and underlayer versions.
- Santa Hat for Xmas - Male human.
- Generic shirt - vest, short sleeves, long sleeves, with variations to accommodate different hand and forearm equipment. Additional long shirt variation that overlaps pelvis.
- Generic tabard solution.
- First Pass: Tinting system for testing.
- Bots can swap armor parts to stress test client and server.
- Bots now randomize the gear selection they are wearing.
- Generic pants variations fit Human female model.
- Fix seam issue between neck and head on base body geo and shirts - all races.
- Add additional Realm variations of generic shirts.
- Put equipment switching on a buildvar.
- Add config value to allow us to control the max number of unique Bots.
- Iterate through colors assigned to unique ARCs (Bots), rather than picking randomly.
- ARCs (Bots) log build numbers.
As a Backer in Beta 1, I'd like to have a sampling of Arthurian light, medium, and heavy armor to wear in game.
- Select armor to create from sampling of previous concept art.
- Collate selections into spec sheet for artists to work from.
- Light Armor - High and low poly sculpt complete.
- Light Armor - Weight and integrate assets into editor.
- Light Armor - Material references provided.
- Light Armor - B1 version of mats created.
- Light Armor - Adjust armor to fit female humanoid form.
- Light Armor - Adjust armor to fit male and female Luchorpán models.
- Medium Armor - High and low poly sculpt complete.
- Medium Armor - Weight and integrate assets into editor.
- Medium Armor - Material references provided.
- Medium Armor - B1 version of mats created.
- Medium Armor - Adjust armor to fit female humanoid form.
- Medium Armor - Adjust armor to fit male and female Luchorpán models.
- Heavy Armor - High and low poly sculpt complete.
- Heavy Armor - Weight and integrate assets into editor.
- Heavy Armor - Material references provided.
- Heavy Armor - B1 version of mats created.
- Heavy Armor - Adjust armor to fit female humanoid form.
- Heavy Armor - Adjust armor to fit male and female Luchorpán models.
- Update work sheets to reflect silhouette and low poly improvements.
- Light Armor - Beta 1 version of mats created.
- Create material ID sheet for light, medium, and heavy armor, for ease of updating textures.
- Update generic cloak material to use Realm-specific styling.
- Create additional heavy to medium helmets for B1. - Rigging and game integration.
- Second pass helmet materials.
As a Backer in Beta 1, I'd like to have a sampling of Viking light, medium, and heavy armor to wear in game.
- Select armor to create from sampling of previous concept art.
- Collate selections into spec sheet for artists to work from.
- Light Armor - High and low poly sculpt complete.
- Light Armor - Weight and integrate assets into editor.
- Light Armor - Material references provided.
- Light Armor - B1 version of mats created.
- Light Armor - Adjust armor to fit female humanoid form.
- Medium Armor - High and low poly sculpt complete.
- Medium Armor - Weight and integrate assets into editor.
- Medium Armor - Material references provided.
- Medium Armor - B1 version of mats created.
- Medium Armor - Adjust armor to fit female humanoid form.
- Heavy Armor - High and low poly sculpt complete.
- Heavy Armor - Weight and integrate assets into editor.
- Heavy Armor - Material references provided.
- Heavy Armor - B1 version of mats created.
- Heavy Armor - Adjust armor to fit female humanoid form.
- Update work sheets to reflect silhouette and low poly improvements.
- Create material ID sheet for light, medium, and heavy armor, for ease of updating textures.
- Light Armor - Second pass fur and feathers geo/mats.
- Light Armor - Beta 1 version of mats created.
- Update generic cloak material to use Realm-specific styling.
- Create additional heavy to medium helmets for B1. - Modeling and Mats.
- Create additional heavy to medium helmets for B1. - Rigging and game integration.
As a Backer in Beta 1, I'd like to play as a Crafter with basic gathering and crafting mechanics for testing.
- Crafting Vision document first pass
- Gather feedback from Backers and update design if needed.
- Gather more feedback from Backers and update design if needed.
- Gathering nodes for resources exist in world for testing.
- Simple, generic, "gather" animation when interacting with a node.
- First pass concept: Vox Magus UI
- Second pass concept: Vox Magus UI
- Implement crafting UI in game.
- First pass UI art - gathered resource icons.
- First pass concept art - Vox Magus physical model.
- Vox Magus model high.
- Vox Magus model low.
- Vox Magus textures.
- Vox Magus VFX model and UI.
- Vox Magus SFX model and UI.
- First pass Crafter concept art.
- First pass Crafter tools concept art.
- Vox Magus can be interacted with to craft Beta 1 test items.
- Crafter is selectable in game.
- Simple, generic, "gather" animation - v2
- First Design Pass: Purifying (Refining) process.
- Second Design Pass: Purifying (Refining) process.
- Final first pass refining.
- Final first pass shaping.
- Final first pass making.
- First pass Vox breakdown and repair.
- First pass Purely Outrageous Gem System for Vox.
- Simple, generic, "gather" animation - v2
- Resources exist in inventory and are saved to player character.
- First Pass Beta 1 craftable items design using simplified mechanics.
- Additional Vox interface/tool art concepting.
- Player able to purify materials at the vox.
- Player able to alloy at the vox.
- Player is able to make items.
- Rough Pass: Items in game, around vox, will be consumed and new items appear.
- Create temporary objects to represent materials in world.
- Create texture decals for material containers in world to identify item type.
- Create additional boxes to represent alloys.
- Create texture decals for alloy materials on boxes.
- Crafting resources and items have mass.
- Players can cancel jobs at the vox.
- Add helpful crafting commands - split quantity, list what can be made, etc.
- Placing a Vox actually places the Vox model art asset.
- Replace the stand-in vox model with an actual vox model.
- Create lods for vox model.
- Resource Nodes:
- ResourceNodeDef
- RNSubstanceDef
- ResourceNodeComponent
- Harvest Command
- Resource Node DB work.
- JSONify ResourceNode XML
- Create PlaceableType that supports JSON file paths
- Vox can be defined within the new data format for items
- RNs Save to the DB when updated, so they will correctly startup after a server reboot.
- Resource nodes can take damage and track health.
- Add slash commands for quickly testing node functionality.
- Ability to override resource IDs on spawned terrain.
- CSV driven data defines quality values.
- Check inventory limits before collecting items from a completed Vox job.
- Add factionBonus fields, new resistances, min/max quality, unitmass, and tags to designer data sheet
- Update Vox functionality to support new substance code: Grind, purify, refine, shape, and make.
- Optimizing Resource Node network communication to only send over the list of possible resource IDs and the index of the current one.
- Lock system to constrict which recipes and nodes are available to which players.
- Alloys
- Defines how to take substances and make alloys
- Setup recipes as a list of ingredient rules which can constrain ingredient types, quality and amounts.
- Track percent remaining for the alloy
- Setup Alloys code-side to have an entry as an ItemDef
- Allow alloys to be crafted from data sheets
- Alphabetize inventory displayed in UI
- Items built from an alloy keep track of the important aspects of said alloy
- Alloys use alloy sheet and multiply values by the quality of the alloy
- Repair functionality for Vox.
- Add job for building blocks in Vox.
- Craft multiple items at once.
- Apply position offsets only to the initial position.
- Globally scale refining and purifying process for testing.
- Adding new slash command that takes itemInstanceID.
- Add error messaging to Vox commands.
- Adding template/custom name field and for job status printouts.
- Swapping our current csv parser for microsoft's TextFieldParser.
- Track when a crafting job is going to end on the database.
- Hook up Realm bonuses to effect crafting time.
- Serialize VoxComponent's contained items, rather than loading them from the database.
- Locking down what items can go into a Vox contextually based on the state of the Vox.
- Added optional requirementScript that can be specified for item restrictions.
- Items made from substances or alloys can be broken down into said parts.
- Expose item salvaging functionality via slash command.
- Track changes to inventory and fire notification event once in subsequent action.
- Rework the result code for HarvestResourceNode to play nicer with the needs of the API server.
- Updating crafting API returns to include extra information about the vox for the UI to use.
- Avoid negative mass value in alloy "percent remaining" calculations when alloy has already been split.
- Add protection against putting a container/Vox inside itself.
- SFX: Foley recording and processing for mining, axes, etc.
- Support for Make action and MakeJobs
- Add a config value to be able to turn off resource node damage.
- Modifying the GQL name on the makeRecipe output item to match other recipes.
- Add support for ‘random crafting events’ to modify Vox output.
- Add new slash commands to modify health/repair points of items in inventory given their ID.
- Allow Vox to take health damage when it is used to craft items.
- Update random crafting table to support modifying the health damage done to a Vox.
- Create repair job, allowing an item to be repaired if it has a single repair point remaining.
- Create salvage job that salvages a damaged item and degrades the quality of the returned alloys/substances.
- Save quality for a substance as ItemQuality instead of a float.
- Add new crafting query to return all items that are compatible with one of the Vox job slots, while listing slot compatibility per item.
- Add unit counts to alloys.
- Adding cloth and leather alloys to utilize recipe updates.
- Make resource nodes disabled by jsonconfig.
- De-duplicate the multiple un-acknowledged copies of resource nodes we have made based on the same server/proxy object.
- Update support for disabling resource nodes when we first try to load resource spawners/nodes.
- Update support for disabling resource nodes where the actual resource nodes are made.
- Improve performance when sending large numbers of Vox ingredients through GraphQL crafting queries.
- Add slash command to list all alloys in game.
- Add CSV test to ensure alloy loadouts are not specified on non-alloy items.
- Add re-combine logic for alloy item stacks.
As a Backer in Beta 1, I'd like to be able to choose from a list of classes to play.
- Add Beta 1 classes to server.
- First Pass Class abilities listed based on dependencies.
As a Developer in Beta 1, I'd like to see improvements in the ability system's stability and robustness, as well as make it easier for developers to work with.
- Replace the old text templates with a new Roslyn based one.
- Create new generator for updaters, which provide the new API and the old API.
- Rewrite abilities to use the new API.
- Update Systems.Collections.Immutable from 1.1.20.0 to 1.1.37.0
- Ongoing: bring abilities up to date as we work with them.
- Replace data structure in AbilityEffect.
- Automatic reloading of gameplay config file changes
- Split SkillComponent into SkillsKnownComponent and SkillQueueComponent.
- Skill prediction via creating a MockUpdater instance and running each phase event.
- Avoid running the skill event as part of pre-flighting when you don't meet the requirements for a skill.
As a Developer, I'd like to have a selection of weapons that visually represent each Realm's identity. - Arthurians
- First pass concept Art: One-handed swords.
- One-handed swords: First Pass planning mix and match parts system.
- One-handed sword - V1: Modeling pass.
- One-handed sword - v1: Materials.
- One-handed sword - v1: Integration.
- First pass concept Art: One-handed axes.
- One-handed axe - v1: First Pass planning mix and match parts system.
- One-handed axe - v1: Modeling pass.
- One-handed axe - v1: Materials.
- One-handed axe - v1: Integration.
- One-handed maces: First Pass planning mix and match parts system.
- One-handed mace - V1: Modeling pass.
- One-handed mace - v1: Materials.
- One-handed mace - v1: Integration.
- Dagger - v1: First Pass planning mix and match parts system.
- Dagger - v1: Modeling pass.
- Dagger - v1: Materials.
- Dagger - v1: Integration.
- One-handed spears: First Pass planning mix and match parts system.
- One-handed spears - V1: Modeling pass.
- One-handed spears - v1: Materials.
- One-handed spears - v1: Integration.
- Two-handed staff - v1: Integration - Melee
- Two-handed swords - V1: Modeling pass.
- Two-handed swords - v1: Materials.
- Two-handed swords - v1: Integration.
- Two-handed axes: First Pass planning mix and match parts system.
- Two-handed axes - V1: Modeling pass.
- Two-handed axes - v1: Materials.
- Two-handed axes - v1: Integration.
- Two-handed spears: First Pass planning mix and match parts system.
- Two-handed spear - V1: Modeling pass.
- Two-handed spear - v1: Materials.
- Two-handed spear - v1: Integration.
- Two-handed staffs: First Pass planning mix and match parts system.
- Two-handed staff - v1: Modeling pass - Magic themed.
- Two-handed staff - v1: Materials - Magic themed.
- Two-handed staff - v1: Integration - Magic themed.
- Small shields: First Pass planning mix and match parts system.
- Small shield - V1: Modeling pass.
- Small shield - v1: Materials.
- Small shield - v1: Integration.
- Large shields: First Pass planning mix and match parts system.
- Large shield - V1: Modeling pass.
- Large shield - v1: Materials.
- Large shield - v1: Integration.
- Shortbows: First Pass planning mix and match parts system.
- Shortbow - v1: Modeling pass.
- Shortbow - v1: Materials.
- Shortbow - v1: Integration.
- Longbows: First Pass planning mix and match parts system.
- Longbow - V1: Modeling pass.
- Longbow - v1: Materials.
- Longbow - v1: Integration.
- Books: First Pass planning mix and match parts system.
- Book - V1: Modeling pass.
- Book - v1: Materials.
- Book - v1: Integration.
- Potion/Elixir Bottles: First Pass planning mix and match parts system.
- Bottles: Modeling pass x 9
- Bottles: Materials. x 9
- Bottles: Integration x 9
- Horns: First Pass planning mix and match parts system.
- Potion/Elixir Bottles: First Pass planning mix and match parts system.
- First Pass Concept Art: One-handed high quality "epic" swords.
- One-handed sword - V2 - High Quality "epic": Modeling pass.
- First pass concept Art: One-handed maces.
- First pass concept Art: Spears.
- First Pass Concept Art: One-handed high quality "epic" axes.
- First Pass Concept Art: Small shields.
- First Pass Concept Art: Large shields.
- Additional shields concept pass on materials, decals, emblems, and parts for pipeline audit.
- First pass concept Art: Staffs, melee and magic.
- First pass concept Art: Long bows
- First pass concept Art: Arrows
- Arrows: First Pass planning mix and match parts system.
- Arrows - V1: Modeling pass.
- Two-handed staff - V2: Modeling pass.
- Halberd: First Pass planning mix and match parts system.
- Halberd - V1: Modeling pass.
- Halberd - v1: Materials.
- Dagger - v2: Modeling pass.
- Dagger - v2: Materials.
- Dagger - v2: Integration.
- Dagger - v3: Modeling pass.
- Dagger - v3: Materials.
- Dagger - v3: Integration.
- One-handed sword - V1 - High Quality "epic": Modeling pass.
- One-handed sword - V1 - High Quality "epic": Materials.
- One-handed sword - V1 - High Quality "epic": Integration.
- Halberd - v1: Integration.
- Two-handed swords - v2: Modeling pass.
- One-handed sword - V1 - High Quality "epic": Improvements on materials.
- One-handed sword - V1 - High Quality "epic": Integration.
- One-handed spears - v2: Modeling pass.
- One-handed spears - v2: Materials.
- One-handed spears - v2: Integration.
- Two-handed staff - v1: Modeling - Melee
- Two-handed staff - v1: Materials - Melee
- Two-handed swords: First Pass planning mix and match parts system.
- Large shield - v2: Modeling pass.
- Large shield - v2: Materials.
- Large shield - v2: Integration.
- Large shield - v3: Modeling pass.
- Large shield - v3: Integration.
- Large shield - v3: Materials.
- Arrows - v1: Materials.
- Arrows - v1: Integration.
- Arrows - v2: Modeling pass.
- Arrows - v2: Materials.
- Arrows - v2: Integration.
- Arrows - v3: Modeling pass.
- Arrows - v3: Materials.
- Arrows - v3: Integration.
- One-handed axe - v2: Modeling pass.
- One-handed axe - v2: Materials.
- One-handed axe - v2: Integration.
- One-handed axe - v3: Modeling pass.
- One-handed axe - v3: Materials.
- One-handed axe - v3: Integration.
- Two-handed spear - v2: Modeling pass.
- Two-handed spear - v2: Materials.
- Two-handed spear - v2: Integration.
- One-handed sword - V1 - High Quality "epic": VFX.
- One-handed sword - V2 - High Quality "epic": Materials.
- One-handed sword - V2 - High Quality "epic": Improvements on materials.
- One-handed sword - V2 - High Quality "epic": Integration.
- Polearm v1: Complete.
- Additional polearm concept art.
- Polearm v2: Complete.
- Update completed weapons scale to better convey weight and fit better in hands.
- Second pass - weapons scale audit.
- Spear v2: Complete.
- Polearm v2: Additional material work.
- Realm specific torch modeling and mats.
- Realm specific torch vfx and integration.
- Horn - V1: Modeling pass.
- Horn - v1: Materials.
- Horn - v1: Integration.
- Arrows - v4: Modeling pass.
- Arrows - v4: Materials.
- Arrows - v4: Integration.
- One-handed mace - v2: Modeling pass.
- One-handed mace - v2: Materials.
- One-handed mace - v2: Integration.
- One-handed mace - v4: Modeling pass.
- One-handed mace - v4: Materials.
- One-handed mace - v4: Integration.
- One-handed mace - v5: Modeling pass.
- One-handed mace - v5: Materials.
- One-handed mace - v5: Integration.
- Quivers: First pass generic concepts.
- Quivers: Second pass concepts with Realm variations.
- Quiver: modeling and materials.
- Longbow - v2: Modeling, materials, integration.
- Shortbow - v2: Modeling, materials, integration.
- Book - v2: Modeling pass.
- Book - v2: Materials.
- Book - v2: Integration.
As a Developer, I'd like to have a selection of weapons that visually represent each Realm's identity. - TDD
- First pass concept Art: One-handed swords.
- One-handed swords: First Pass planning mix and match parts system.
- One-handed sword - V1: Modeling pass.
- One-handed sword - v1: Materials.
- One-handed sword - v1: Integration.
- First pass concept Art: One-handed axes.
- One-handed axe - v1: First Pass planning mix and match parts system.
- One-handed axe - v1: Modeling pass.
- One-handed axe - v1: Materials.
- One-handed axe - v1: Integration.
- One-handed maces: First Pass planning mix and match parts system.
- One-handed mace - V1: Modeling pass.
- One-handed mace - v1: Materials.
- One-handed mace - v1: Integration.
- Dagger - v1: First Pass planning mix and match parts system.
- Dagger - v1: Modeling pass.
- Dagger - v1: Materials.
- Dagger - v1: Integration.
- One-handed spears: First Pass planning mix and match parts system.
- One-handed spears - V1: Modeling pass.
- One-handed spears - v1: Materials.
- One-handed spears - v1: Integration.
- Two-handed swords: First Pass planning mix and match parts system.
- Two-handed swords - V1: Modeling pass.
- Two-handed swords - v1: Materials.
- Two-handed swords - v1: Integration.
- Two-handed axes: First Pass planning mix and match parts system.
- Two-handed axes - V1: Modeling pass.
- Two-handed axes - v1: Materials.
- Two-handed axes - v1: Integration.
- Two-handed spears: First Pass planning mix and match parts system.
- Two-handed spear - V1: Modeling pass.
- Two-handed spear - v1: Materials.
- Two-handed spear - v1: Integration.
- Two-handed staffs: First Pass planning mix and match parts system.
- Two-handed staff - V1: Modeling pass. - Magic themed
- Two-handed staff - v1: Materials. - Magic themed
- Two-handed staff - v1: Integration.- Magic themed
- Small shields: First Pass planning mix and match parts system.
- Small shield - V1: Modeling pass.
- Small shield - v1: Materials.
- Small shield - v1: Integration.
- Large shields: First Pass planning mix and match parts system.
- Large shield - V1: Modeling pass.
- Large shield - v1: Materials.
- Large shield - v1: Integration.
- Shortbows: First Pass planning mix and match parts system.
- Shortbow - v1: Modeling pass.
- Shortbow - v1: Materials.
- Shortbow - v1: Integration.
- Books: First Pass planning mix and match parts system.
- Book - V1: Modeling pass.
- Book - v1: Materials.
- Book - v1: Integration.
- First Pass Concept Art: One-handed high quality "epic" swords.
- First Pass Concept Art: One-handed high quality "epic" axes.
- First Pass Concept Art: Small shields.
- First Pass Concept Art: Large shields.
- One-handed axe - V2 - High Quality "epic": Modeling pass.
- First Pass Concept Art: TDD spears.
- First pass concept Art: Arrows
- Arrows: First Pass planning mix and match parts system.
- Arrows - V1: Modeling pass.
- First pass concept Art: Staffs, melee and magic.
- First pass concept Art: Short bows.
- Two-handed staff - V2: Modeling pass.
- One-handed maces: Second pass TDD specific maces concept art.
- Two-handed great swords: First Pass planning mix and match parts system.
- Two-handed greatsword - V1: Modeling pass.
- Two-handed greatsword - V1: Materials.
- Two-handed greatsword - V1: Integration.
- One-handed mace - v2: Modeling pass.
- One-handed mace - v2: Materials.
- One-handed mace - v2: Integration.
- One-handed mace - v3: Modeling pass.
- One-handed mace - v3: Materials.
- One-handed mace - v3: Integration.
- Dagger - v2: Modeling pass.
- Dagger - v2: Materials.
- Dagger - v2: Integration.
- Dagger - v3: Modeling pass.
- Dagger - v3: Materials.
- Dagger - v3: Integration.
- Two-handed staff - v1: Improvements on materials. - Magic themed
- One-handed sword - V1 - High Quality "epic": Modeling pass.
- One-handed sword - V1 - High Quality "epic": Materials.
- One-handed sword - V1 - High Quality "epic": Integration.
- One-handed sword - v2: Modeling pass.
- One-handed sword - v2: Materials.
- One-handed sword - v2: Integration.
- One-handed sword - v3: Modeling pass.
- One-handed sword - v3: Materials.
- One-handed sword - v3: Integration.
- One-handed spears - v2: Modeling pass.
- One-handed spears - v2: Materials.
- One-handed spears - v2: Integration.
- One-handed spears - v3: Modeling pass.
- One-handed spears - v3: Materials.
- One-handed spears - v3: Integration.
- Two-handed staff - v2: Modeling pass. - Melee
- Two-handed staff - v2: Materials. - Melee
- Two-handed staff - v2: Integration. - Melee
- Large shield - v2: Modeling pass.
- Large shield - v2: Materials.
- Large shield - v2: Integration.
- Large shield - v3: Modeling pass.
- Large shield - v3: Materials.
- Large shield - v3: Integration.
- One-handed sword - V1 - High Quality "epic": Modeling pass.
- One-handed sword - V1 - High Quality "epic": Materials.
- One-handed sword - V1 - High Quality "epic": Integration.
- One-handed mace - v4: Modeling pass.
- One-handed mace - v4: Materials.
- One-handed mace - v4: Integration.
- One-handed mace - v5: Modeling pass.
- One-handed mace - v5: Materials.
- One-handed mace - v5: Integration.
- First pass concept Art: Longbows
- Longbows: First Pass planning mix and match parts system.
- Longbow - v1: Modeling pass.
- Longbow - v1: Materials.
- First pass concept Art: Shortbows.
- Arrows - v1: Materials.
- Arrows - v1: Integration.
- Arrows - v2: Modeling pass.
- Arrows - v2: Materials.
- Arrows - v2: Integration.
- Arrows - v3: Modeling pass.
- Arrows - v3: Materials.
- Arrows - v3: Integration.
- Arrows - v4: Modeling pass.
- Arrows - v4: Materials.
- Arrows - v4: Integration.
- One-handed axe - v2: Modeling pass.
- One-handed axe - v2: Materials.
- One-handed axe - v2: Integration.
- One-handed axe - v3: Modeling pass.
- One-handed axe - v3: Materials.
- One-handed axe - v3: Integration.
- One-handed axe - v4: Modeling pass.
- One-handed axe - v4: Materials.
- One-handed axe - v4: Integration.
- Two-handed spear - v2: Materials.
- Two-handed spear - v2: Integration.
- Two-handed spear - v3: Materials.
- Two-handed spear - v3: Integration.
- Two-handed spear - v4: Modeling pass.
- Two-handed spear - v3: Modeling pass.
- Two-handed spear - v4: Materials.
- Two-handed spear - v4: Integration.
- First Pass Concept Art: TDD polearms.
- Polearm v1: Complete.
- Polearm v2: Complete.
- Polearm v3: Complete.
- Update completed weapons scale to better convey weight and fit better in hands.
- Realm specific torch modeling and mats.
- Realm specific torch vfx and integration.
- Focuses: First Pass planning mix and match parts system.
- Focus - V1: Modeling pass.
- Focus - v1: Materials.
- Focus - v1: Integration.
- Quivers: First pass generic concepts.
- Quivers: Second pass concepts with Realm variations.
- Quiver: modeling and materials.
- Longbow - v2: Modeling, materials, integration.
- Shortbow - v2: Modeling, materials, integration.
- Book - v2: Modeling pass.
- Book - v2: Materials.
- Book - v2: Integration.
As a Developer, I'd like to have a selection of weapons that visually represent each Realm's identity. - Viking
- First pass concept Art: One-handed swords.
- One-handed swords: First Pass planning mix and match parts system.
- One-handed sword - V1: Modeling pass.
- One-handed sword - v1: Materials.
- One-handed sword - v1: Integration.
- First pass concept Art: One-handed axes.
- One-handed axe - v1: First Pass planning mix and match parts system.
- One-handed axe - v1: Modeling pass.
- One-handed axe - v1: Materials.
- One-handed axe - v1: Integration.
- One-handed maces: First Pass planning mix and match parts system.
- One-handed mace - V1: Modeling pass.
- One-handed mace - v1: Materials.
- One-handed mace - v1: Integration.
- Dagger - v1: First Pass planning mix and match parts system.
- Dagger - v1: Modeling pass.
- Dagger - v1: Materials.
- Dagger - v1: Integration.
- One-handed spears: First Pass planning mix and match parts system.
- One-handed spears - V1: Modeling pass.
- One-handed spears - v1: Materials.
- One-handed spears - v1: Integration.
- Two-handed swords: First Pass planning mix and match parts system.
- Two-handed swords - V1: Modeling pass.
- Two-handed swords - v1: Materials.
- Two-handed swords - v1: Integration.
- Two-handed axes: First Pass planning mix and match parts system.
- Two-handed axes - V1: Modeling pass.
- Two-handed axes - v1: Materials.
- Two-handed axes - v1: Integration.
- Two-handed spears: First Pass planning mix and match parts system.
- Two-handed spear - V1: Modeling pass.
- Two-handed spear - v1: Materials.
- Two-handed spear - v1: Integration.
- Two-handed staffs: First Pass planning mix and match parts system.
- Two-handed staff - V1: Modeling pass - Magic themed.
- Two-handed staff - v1: Materials - Magic themed.
- Two-handed staff - v1: Integration - Magic themed.
- Small shields: First Pass planning mix and match parts system.
- Small shield - V1: Modeling pass.
- Small shield - v1: Materials.
- Small shield - v1: Integration.
- Large shields: First Pass planning mix and match parts system.
- Large shield - V1: Modeling pass.
- Large shield - v1: Materials.
- Large shield - v1: Integration.
- Short bows: First Pass planning mix and match parts system.
- Short bow - V1: Modeling pass.
- Short bow - v1: Materials.
- Short bow - v1: Integration.
- Long bows: First Pass planning mix and match parts system.
- Long bow - V1: Modeling pass.
- Long bow - v1: Materials.
- Long bow - v1: Integration.
- Books: First Pass planning mix and match parts system.
- Book - V1: Modeling pass.
- Book - v1: Materials.
- Book - v1: Integration.
- Focus - V1: Modeling pass.
- Focus - v1: Materials.
- Focus - v1: Integration.
- Potion/Elixir Bottles: First Pass planning mix and match parts system.
- Bottle - V1: Modeling pass.
- Bottle - v1: Materials.
- Bottle - v1: Integration.
- First Pass Concept Art: One-handed high quality "epic" swords.
- First Pass Concept Art: One-handed high quality "epic" axes.
- First Pass Concept Art: One handed Viking hammers.
- One-handed hammers: First Pass planning mix and match parts system.
- One-handed hammer - V1: Modeling pass.
- First Pass Concept Art: Two-handed Viking hammers.
- Two-handed hammers: First Pass planning mix and match parts system.
- Two-handed hammers - V1: Modeling pass.
- Two-handed hammers - v1: Materials.
- Two-handed hammers - v1: Integration.
- First Pass Concept Art: Small shields.
- First Pass Concept Art: Large shields.
- One-handed axe - V2 - High Quality "epic": Modeling pass.
- First pass concept Art: Arrows
- Arrows: First Pass planning mix and match parts system.
- Arrows - V1: Modeling pass.
- First pass concept Art: Short bows.
- First pass concept Art: Staffs, melee and magic.
- Two-handed staff - V2: Modeling pass - Melee.
- One-handed "epic" ice sword v1 - Modeling pass.
- One-handed "epic" ice sword v2 - Modeling pass.
- One-handed "epic" ice sword v3 - Modeling pass.
- Stonehealer rocks: Modeling pass.
- Stonehealer rocks: Materials.
- Stonehealer rocks: Integration.
- Dagger - v2: Modeling pass.
- Dagger - v2: Materials.
- Dagger - v2: Integration.
- Dagger - v3: Modeling pass.
- Dagger - v3: Materials.
- Dagger - v3: Integration.
- Two-handed staff - v1: Improvements on materials - Magic themed.
- One-handed "epic" ice sword v1: Materials
- One-handed "epic" ice sword v1: Integration
- One-handed sword - V1 - High Quality "epic": Modeling pass.
- One-handed sword - V1 - High Quality "epic": Materials.
- One-handed sword - V1 - High Quality "epic": Integration.
- One-handed hammer - v1: Materials.
- One-handed hammer - v1: Integration.
- One-handed spears - v2: Modeling pass.
- One-handed spears - v2: Materials.
- One-handed spears - v2: Integration.
- One-handed spears - v3: Modeling pass.
- One-handed spears - v3: Materials.
- One-handed spears - v3: Integration.
- Two-handed axes - v1: Modeling pass.
- Two-handed staff - V2: Materials pass - Melee.
- Two-handed staff - V2: Integration pass - Melee.
- Large shield - v2: Modeling pass.
- Large shield - v2: Materials.
- Large shield - v2: Integration.
- Focuses: Concept x3 with shape/geo variations using same material concept.
- One-handed "epic" ice sword v2 - Materials.
- One-handed "epic" ice sword v2 - Integration.
- Polearm: First Pass planning mix and match parts system.
- Polearm - v1: Materials.
- Polearm - v1: Integration.
- Polearm - v2: Modeling pass.
- Polearm - v2: Materials.
- Polearm - v2: Integration.
- First pass concept Art: Shortbows.
- Shortbow - V1: Modeling pass.
- Shortbow - v1: Materials.
- Arrows - v1: Materials.
- Arrows - v1: Integration.
- Arrows - v2: Modeling pass.
- Arrows - v2: Materials.
- Arrows - v2: Integration.
- Arrows - v3: Modeling pass.
- Arrows - v3: Materials.
- Arrows - v3: Integration.
- One-handed axe - v2: Modeling pass.
- One-handed axe - v2: Materials.
- One-handed axe - v2: Integration.
- Two-handed axes - v2: Materials.
- Two-handed axes - v2: Modeling pass.
- Two-handed axes - v2: Integration.
- One-handed "epic" ice sword v1: VFX.
- One-handed "epic" ice sword v2 - VFX.
- Polearm - v3.
- One-handed "epic valentines" axe concept.
- "Epic valentines" axe model created.
- Update completed weapons scale to better convey weight and fit better in hands.
- Realm specific torch modeling and mats.
- Realm specific torch vfx and integration.
- Two-handed spear - v2: Integration.
- Two-handed spear - v2: Materials.
- Two-handed spear - v3: Modeling pass.
- Two-handed spear - v3: Materials.
- Two-handed spear - v3: Integration.
- Horns: First Pass planning mix and match parts system.
- Horn - v1: Modeling pass.
- Horn - v1: Materials.
- Horn - v1: Integration.
- Horns: First Pass planning mix and match parts system.
- Horn - v1: Modeling pass.
- Horn - v1: Materials.
- Horn - v1: Integration.
- Odin Stones: First Pass planning mix and match parts system.
- Odin Stone - v1: Modeling pass.
- Odin Stone - v1: Materials.
- Odin Stone - v1: Integration.
- Two-handed spear - v2: Modeling pass.
- Two-handed spear - v2: Materials.
- Two-handed spear - v2: Integration.
- Two-handed spear - v3: Modeling pass.
- Two-handed spear - v3: Materials.
- Two-handed spear - v3: Integration.
- Quivers: First pass generic concepts.
- Quivers: Second pass concepts with Realm variations.
- Quiver: modeling and materials.
- Longbow - v2: Modeling, materials, integration.
- Shortbow - v2: Modeling, materials, integration.
- Book - v2: Modeling pass.
- Book - v2: Materials.
- Book - v2: Integration.
As a Backer in Beta 1, I'd like to be able to pick an item up off the ground, put it in my inventory, and if applicable, equip it.
- Items and Equipment:
- Allow items to check requirements before being equipped.
- Allow items to adjust player stats when equipped.
- Put equipment in slot. - Need to set up weapon slots to coincide with equip and unequip animations.
- Equipment tags - Allow Tags (Flags) on equipment for requirement system.
- Equipment weight - Have weight on items that count toward weight limits and encumbrance.
- Equipment Stats Based on Location - Be able to get stats from a specific location, e.g. defense for a specific body part based on armor.
- Inventory UI - second pass - Design.
- Inventory UI - second pass - Art
- Inventory UI - second pass - UI implementation
- Add other item slot selections in editor - rings, earrings, necklace, containers (backpack, hip container, quiver)
- Weapons dictate correct stance and animations
- Expose/write function to combine component stats into existing ability.
- Add weapon types and let that be a field set by the primary component.
- When CraftedAbility is triggered, see if we need to combine a weapon into the ability before executing.
- Add function to player to grab stats from equipped weapon. First pass: provide some static stats to be replaced once we get equippable weapons with their own stats.
- Add BodyPart.None to query for global resistances, etc.
- Define stub to query for armor class, queryable by body part.
- Get damage types done from ability/weapons, including fallback from non-penetrating blows.
- PenetrationDamageEffect - AbilityEffect to deal with weapon penetration system. Both Editor and Server versions.
- Return DamageType resistances on Combatant. Override in Player.
- Mitigate damage done via Hurt().
- New torch model, vfx, and light.
- Torch is an item that is equipped by the character and exists in hand.
- Items can be dropped on the ground and picked up.
- Items placed in world persist.
- Items can be placed on ground.
- Retrofit existing items to utilize component model.
- Equipment stats based on weapon.
- Armor: Sub in temporary data as specified by Ben for pre-Beta testing.
- Weapons: Sub in temporary data as specified by Ben for pre-Beta testing.
- Add EncumbranceReduction player stat.
- Get measure of weight being carried.
- Get encumbrance based on max carry.
- Mitigate encumbrance based on Dexterity stat.
- Add effects of encumbrance: movement and ability speeds reduced.
- Add DBVars to allow value adjustment.
- Simple items tool tips in inventory.
- Items now display their actual model.
- Items now drop slightly above ground and in front of character.
- Allow items to occupy multiple itemSlots. Items cannot occupy inner and outer layers at the same time.
- Update equipment slots to match model regions.
- Weapons: Add B1 temp art weapon stats.
- Weapons: Weapons can be assigned different damage types.
- Weapons: Improve UI handling when dropping and picking up items.
- Weapons: Drastically reduce network traffic for items.
- Weapons: Speed up server handling of items when player logs in.
- Weapons: Weapons can be assigned left or right hands.
- Armor: Add B1 armor stats.
- Armor: Armor calculates damage reduction per body part.
- First pass solution: Items spawned within world (dropping an item) now supports sound events.
- Improve how we send sound events for spawned items.
- Create generic chain, metal, and leather drop sounds for armor.
- Create generic wood, metal, arrow, bow, etc. weapon drop sounds.
- Create generic item sound.
- Create item drop variations for grass and dirt/gravel.
- Assign all pre-existing droppable items drop sounds.
- SFX: Torch loop.
- Art - Three generic loot bags for possible grouping of dropped assets for performance.
- Set up items code-side to recognize multiple possible slots to which they can equip.
- Optimize the packed network data for gear
- Break down gear slots into more granular armor slots.
- Break down pre-existing armor assets to make use of added slots.
- Update art to be consistent with design vision of slots and layers.
- Design: Update all armor item values to work with updated slots and layers.
- Update data structures to support single entry for races that share the same body type
- Set up two-handed weapons not to deflect for each hand.
- Update art to be consistent with design vision of slots and layers.
- Design: Update all armor item values to work with updated slots and layers.
- Support for race and gender fields
- Update armor art assets to make use of layering/masking tech.
- Update data structures to support single entry for races that share the same body type.
- Account for the future addition of upper and lower layers.
- Update UI to reflect recent gearslot changes.
- Optimizing gear slot information sent by packed/fast entity writers.
- Update ItemMessage to be able to notify the client on change.
- Creating a new item archive for deleted items and clear out item log and archive when wiping items
- Updating player loading to load in equipment safer
- Vials use their static data to know their resource type
- Make loader/s to load items in from the GameplayDefs content
- Item components which have no saved instance data do not save an empty component out to the database.
- Store used repair points and durability points in item durability component.
- Container support for items.
- Delete ammo right when it is used, but keep the item within the projectile object to maintain stats knowledge.
- Swap ItemDef data to be stored in a directory instead of a specific file.
- Increase performance of armor stat calculations by running off itemContexts.
- Determine and implement division between Item and GearPiece.
- Sub items are stored in the DB as a full Item dbmodel under the item.
- Bust item cache on load and modify.
- Create persisted StackHash for items that can be fetched through the API server queries.
- Support for loading of equipment whose equip slots have changed due to item versioning.
- Allow items to be placed in/removed from containers which are in containers.
- Optimize 'refill ammo' by cloning similar items instead of making a new identical itemDBModel.
- Make items which comprise other items take up generic item sub slots.
- Implement Item movement API for moving items and item stacks throughout inventory.
- Adding ItemSubSlot information to allow Vox jobs to hold multiple items associated with the same recipe slot.
- Adding Effects tags support for items.
- Add an item tag check function for use in skill scripts.
- Modify footstep sound effects depending on current equipment.
- Updating the global item reset code to gather item batches to cut down on memory use.
- Prevent insertion of items into inventory when you don't have any.
- Update the character query in the global item reset to only look for characters from the server's shard.
- Only update components that need to be updated onSearch for Inventory UI.
- Ensure that two items are not equipped to the same gearslot.
- Updating the nested item lookup to look at equipment component.
- Rename Current/Max Durability to Current/Max Health.
- Add stat for tracking health loss per item use.
- Adding item location change sound effects.
- Snap dropped items and siege engines to buildings instead of always to the terrain.
- Fall back to client commands when equip/unequip/drop API request fail.
- Update the item move API to allow for trashing items.
- Secure item trading API and game support.
- Disallow the firing of broken ammo.
- Secure trading creates a DB entry for each trade, tracking who, when, and what items are being transferred.
- Item swap for secure trade occurs on gameServer (instead of the API server).
- On player load, only secure trade items which are not in the transferral state are loaded.
- Items can be protected against becoming a part of a secure trade.
- Modify item tags to footType mapping.
- Upgrading CharacterLoadout data format.
- Added new ownership component for items.
- Created the class ItemCreatorParameter to provide information about whom an item is being made for.
- Add nine new columns (one per player stat) to item sheet.
- Check all nine stats when checking if a player meets item requirements.
- Check equipment on character load and move items to inventory when they don't meet requirements.
- Check item stat requirements when equipping items, and move items to inventory when they don't meet requirements.
- Hook up trash sound effects when an item is destroyed.
- Early move operations when the item is being asked to move to the exact spot it is already in.
- Adding armor stat calculation type information to the item context, which computes armor stats.
- Updating the GQL field name for item debug names.
- Optimizing sendToServer for item location fields.
- Fixing a bug with playing audio on item location which failed to associate the sound with a character if the new location didn't have a character but the old one did.
- Item cache is now rebuilt whenever either gear slot or gear layer lists change.
- Modify the GQL query result for accessing armor stats per body part from a dictionary to a list.
- Added custom delta receive code to rebuild the armor stat info.
- Drag and drop supported in inventory.
- Updated tooltips with inventory items.
As a Backer and Developer, I'd like to play a game that looks like it is from 2016, by implementing a new lighting and material system.
- Capture cube maps from game world.
- Convolving cube maps to use as light probes.
- Physically based shading: Shaders
- Normalized level of detail settings for lighting - Low, Medium, High.
- Point Lights
- Spot Lights
- All types of renderables done.
- Tone Mapping HDR and Bloom:
- FP16 version.
- Low shader detail version. rgb 10 bit or rgbe.
- Bloom and desaturation pass 1
- Ambient light influence commands for testing/debugging
- Tone mapping inputs/commands - editor/debugging
- PostEffectHandler - Place to put post effect specific settings, render targets, constant buffers, and seperate dx10 and dx11 implementation.
- Eye adjustment.
- Add controls for artist tuning per HDR updates.
- Dx11 Exposure, compute fast Histogram.
- Dx10 Exposure, downsample and median.
- Reduce eye adjustment influence in shadowed areas.
- BRDF for main light.
As a Backer in Beta 1, I'd like a progression system that allows me to upgrade my abilities, stats, and items
- Log data for progression.
- Progression batch processing.
- Track progression for ability components.
- Unlock new ability components based on mastery of others.
- Feedback to players about progression.
- Feedback to players about new abilities.
- Ability components gain power from progression.
- Progression batch processing: Schedule calculation at regular interval.
- Progression batch processing: Read progression records from database.
- Progression batch processing: Calculate total points based on time online.
- Progression batch processing: Calculate all usages and distribute points proportionally.
- Progression batch processing: Record and save ability proficiency changes.
- Progression batch processing: Record and save stat advancement.
- Progression batch processing: Update logged-on characters with new stat/component changes.
- Second Pass feedback to players: Improve UI solution.
- Post Re-ab
- Add stable string IDs to skill parts.
- Implement progression loop: track events, process a game day, award rewards.
- Adding configuration for a new progression database in mongo.
- Create progression events on game server when they occur.
- Take snapshot of player in the world state on a timer.
- Handle player progression day logs.
- Removing old progression database collection from world state.
- Basic data structure for putting progression info into SkillPart xml definitions.
- Create skill part level table to specify a skill part max level, XP per level, and XP granted on use.
- Create skill part reward definition to define what rewards are granted when a level is reached.
- Tracked XP for skill part leveling.
- Create stat bonus points for rewards when leveling a skill part.
- Calculate character adjustments with progression app while running end-of-day calculations.
- Skill part related tracking done with uints instead of ints.
- Add progression slash commands for testing.
- Restructure skill part requirements to allow more specific subclasses.
- Wire up Black Knight skill part leveling.
- Add server config setting for just unlocking all parts to avoid removing them for everyone just yet.
- Apply effects to character as a reward for a skill part level.
- Apply skill nodes to the character during the acceptance of their daily log.
- Add progression events for creating and destroying blocks.
- Credit placer of the blueprint with creation of blocks.
- Track event data for the plotID and position of the plot.
- Track total blocks created and destroyed by character in their logs.
- Have shards track the sum of all blocks created and destroyed across the shard in their log.
- Hook up skill progression dev UI.
- Enable progression tracking for damage, healing, and death.
- Apply progression bonuses from player stats to the actual player.
- Factor progression bonuses into stat calculations.
- Recompute player stats when progression components are updated.
- Convert progression app to state machine.
- Split DB and shard information out at the start of the application.
- Setup option config settings for controlling application flow.
- Enable configurable length of day.
- Adding server command for globally resetting progression.
- Allow player stats to have XP and gain XP through skill part use.
- Track a list of stat requirements and current player stat values for each part and use them in the progression app to figure out how much XP to grant.
- Store current progression points per stat in player data.
- While processing the events for a character, if a useSkillParts event shows up, examine the new stat data.
- Add a config option to be able to turn on/off progression tracking of damage/healing over time.
- Update rules for distance moved calculations on progression summaries to help detect events such as teleports.
- From the progression app, while deciding if a processed day should be published, the option is now given to export the character adjustments to a CSV document.
- Update tracking of damage/healing dealt through progression system to track for multiple types of entities.
- Revamp skill requirements to have sufficient metadata to power progression and client UI.
- Create SessionStats component to track only player session information.
- Add admin tools for modifying XP/levels of skillparts/stats.
- Record damage/healting as the amount that the character's health actually changes.
- Remove the damage type field from damage events.
As a Backer, I would like to be able to give to my friends and family the extra tiers that come with my pledge.
- Create data structures for gift codes.
- Create API action for querying gift codes.
- Create API action for consuming gift codes.
- Create an implementation of the gift codes for pledges.
- Log all the things.
- Make gifted pledges reduce the value of "parent" pledges.
- Retrofit existing pledges to use a better data model for transactions.
- Retrofit existing pledges to have gift codes.
- Make new pledges produce gift codes (where appropriate).
- Fix pledges with missing transaction IDs.
- Implement upgrade credits.
- Sync with Charles for Store implementation.
- Gifting Data Fixup.
- Start migrating Ecosystem to DBCon (and refactor DBCon to split out account and asset bits)
- Update jsonconfigs for every application.
- Make sure that granting a tier also grants permissions and backer level
- Handle logic for overflowing devaluation from paid to credits.
- Update account editor to work with new changes.
- Write code to split off overspend.
- Determine whether removing a pledge via the editor invalidates gift codes.
- Carve shipping expenses out of amountCents and into shippingCents (rolled into data fixup).
- Add RefundValue to editor which is the sum of amountCents and shippingCents
- Add Redeemable Editor
- Implement interface on test version of the CU store.
- Do all the CSS on the store.
- Solve edge case issues/possible problems.
- Solutions to additional edge case and security issues.
- More solutions to additional edge case and security issues.
- More testing and useability feedback tweaks.
- Update tier art to reflect additional, giftable, tiers included.
- Additional testing to search for any security risks as well as to verify system working as intended.
- Push first wave of gifting to Backers.
- Push second wave of gifting to Backers.
- Push third, and final wave of gifting to Backers.
As a Developer, I'd like a better instrument library to build interactive music.
- Albion III - Small Taiko
- Albion III - Horns Short
- Albion III - Med Taiko
- Small Horns Short
- Albion Darwin Large Perc Ens
- Small Ensemble - Albion Perc
- Easter Island Sub Hits
- Small Ensemble - Shaker
- Small Horns long with swell
- Albion III - Horns Long Nasty
- Small Horns long nasty
- Albion III - Strings Short
- Small strings short
- Albion III - Strings Long
- Small strings long
- Albion III - Strings Long
- Albion Spiccato
- Lute
- Solo ERA Short
- Low plucked bass
- Voice - War Chants
- Voice - VIK Voice Phrases
- Voice - VIK Voice Sustains
- Voice - TDD Voice Phrases
- Voice - TDD Voice Sustains
- Voice - ARTH Voice Phrases
- FX - Symphobian
- FX - Ether Mood
- FX - Moody String
- FX - Moody String 2
- FX - Moody Flute
- FX - Bowed Mood
- Keyed fiddle ambience.
- Bowed cymbals.
- Wwise better supports smooth sound transitions between parameter changes.
- Sample instrument - accents for percussion. Variable and scalable based on SizeOfBattle
- Create Instrument - Vertically and horizontally scaling drum instrument with taikos, toms, accents, booms, cymbals, and rolls.
- Audit and improve drum samples.
- 16 additional drum samples added to library.
- Create church bell instrument.
As a Backer in Beta 1, I'd like to be able to choose from a selection of classes for each Realm.
- Design:
- Finalize data import format for ability component stats.
- First Pass: Design ability component stats
- Construct ability component logic in editor.
- Assign Particle Effects, Sound Effects, and Animations to ability component combinations.
- Beta class balance first pass.
- Ability import:
- Update all ability components to use trees.
- Test ability components after change to ability effect trees on Hatchery.
- Remove ability to create anything but ability effect trees inside ability components
- Update editor for ability components using ability effect trees.
- Create fallback/rollback for system for botched imports.
- Create ability component import structures for Excel.
- Compare to existing ability components and update where different.
- Test import system.
- Determine whether to create export system for ability data/spreadsheet.
- Add console system to editor.
- Triggers: Perform an ability when a specific event happens.
- Create classes in editor to allow abilities to register listeners.
- Add ability to add and remove listeners from Combatants.
- Send AbilityUse trigger when ability used.
- Send AbilityHit trigger when affected by an ability.
- Have projectiles and physics colliders send AbilityHit trigger.
- Send Damage trigger when damaged.
- Send Wound trigger when wounded.
- Send Death trigger when dead.
- Send Collision trigger when colliding.
- Expose tags through IAbility.
- Have ability system return status messages if caster, enemy, friend were affected.
- Class Component Icons - Art
- Fianna - Create art for ability component icons.
- Mjölnir - Create art for ability component icons.
- Blackguard - Create art for ability component icons.
- Forest Stalker - Create art for ability component icons.
- Winter's Shadow - Create art for ability component icons.
- Physician - Create art for ability component icons.
- Empath - Create art for ability component icons.
- Stonehealer - Create art for ability component icons.
- Body part component icons.
- Create additional body part component types beyond torso.
- Body part targeting:
- Outside effects can adjust the power of an ability.
- Client Ability Spec - Phase 01
- Client plays abilities using only CAS.
- Pull the game->proxy connection off of arithmetic coding.
- Handle generation of CASes on the game server from ability crafting.
- Rough Pass ability VFX for testing:
- Fianna
- Mjölnir
- Blackguard
- Forest Stalker
- Winter's Shadow
- Physician
- Empath
- Stonehealer
- Import ability component stats into editor.
- Improve ability effect editor usability.
- Create ability component icon mockups for presentations and later web usage.
- Add a way for an admin to get ability components for testing.
- Add effect trees to primary components with new effect to stitch effect trees into the secondary on the server.
- Rough Pass ability SFX for testing:
- Black Knight
- Fianna
- Mjölnir
- Blackguard
- Forest Stalker
- Winter's Shadow
- Physician
- Empath
- Stonehealer
- Additional Functionality:
- Add a TagEffect to add specific tags to a target. - Used for requirements of some abilities as well.
- Abilities can consume and produce items, including ammo.
- Power from nearby players - if in a cluster, abilities can be more or less powerful.
- Ability buffs and debuffs are a thing we can do!
- Additional art for placed Stone Healer assets.
- New, basic, standing idle animation.
- Set-up classes in sound system.
- First pass Banes and Boons of existing Beta 1 races based off refactor of ability system.
- Audit class design based on Beta 1 tech scope.
- Make ability components use ability effect trees instead of custom trees.
- Add additional fields to ability importer to support class abilities as they are further defined from design.
- Define structure to listen for specified conditions.
- Black Knight - Create art for ability component icons.
- Integrate body part targeting into ability builder UI.
- Outside effects can adjust the power of an ability.
- Update animation/ability data to pick from specific vfx, animations, etc, which allows us to mix and match animations with different vfx/sfx.
- Black Knight
As a Developer, I'd like the tools necessary to audit and isolate any memory-related issues in the Unchained Engine or server code.
- Track all allocations that occur.
- Generate callstacks for all allocations.
- Send information to server, which can display all changes that have occurred over time.
- Performance pass.
As a Backer in Beta 1, I'd like to interact with the first pass of a Place of Power in Camelot Unchained.
- First pass design layout and integrate into world.
- First pass art concept pass
- Additional concept art for secondary rocks, dais, etc.
- Create high poly rock assets. - Arches and walls.
- Create low poly rock assets. - Arches and walls.
- Rough texture pass arches and walls.
- Create high poly secondary rock assets - wall, bridge, enviro pieces.
- Create low poly secondary rock assets - wall, bridge, enviro pieces.
- Rough texture pass secondary assets.
- Create "rune rocks."
- Rock intersection models.
- Concept place of power dais design.
- Create in-game dais element based on approved concept.
- Concept additional secondary structural elements.
- Create secondary in-game elements.
- Integrate additional rocks and rock sets into scene for use.
- Create additional concept art for new assets.
- Create concept of bridges that raise and lower to facilitate future game design needs.
- First pass VFX concept art.
- Model with rough UV's, Realm-themed statues.
- First pass white box model complete for testing.
- Second pass layout and art rough update.
- VFX:
- Central Beam.
- Pit wispy smoky effects.
- Fire pits.
- Entrance braziers.
- Ash/miasma vapor effect.
- Soft gradient VFX for crystals.
- First pass materials.
- Second pass crystal material and geo layout.
- Second pass repeating rock materials.
- Second pass statue materials.
- Assemble POP model.
- Integrate asset into map with art pass on surrounding terrain.
- First pass Place of Power ambient music.
- First pass Place of Power SFX.
As a Backer in Beta 1, I'd like to see the pre-existing textures in Camelot Unchained make use of the new rendering and lighting systems.
- First Pass Overhaul:
- Update male and female Human body materials.
- Update male and female Human head material variations.
- Update male and female Valk materials.
- Update male and female Luchorpán.
- Update Picts.
- Update TDD Med armor.
- Update TDD Heavy armor.
- Update Arthurian Med armor.
- Update Arthurian Heavy armor.
- Update Viking Med armor.
- Update Viking Heavy armor.
- Update generic shirts.
- Update generic pants.
- Update generic gloves.
- Update generic shoes and boots.
- Update cloak.
- Update Neutral grassland materials.
- Update Viking grassland materials.
- Update Arthurian grassland materials.
- Update TDD grassland materials.
- Update Neutral pine forest materials.
- Update Viking pine forest materials.
- Update Arthurian pine forest materials.
- Update TDD pine forest materials.
- Update the old alpha forest materials.
- Update all the materials used in C.U.B.E.
- Update the plot marker materials.
- Create some fun materials to C.U.B.E. that take advantage of the new rendering and lighting.
- Update beach/sand materials that were hiding under a rock and were missed during first pass.
- Update materials on storage items used in first pass crafting resources.
- Update generic torch material.
- Update material on generic wood and metal lamp posts.
- Second pass shirt and pants material updates after PBR values fixed.
- Second pass hair material audits where applicable after PBR values fixed.
As a Backer, I'd like to play in new biomes that change according to Realm ownership. - Biome 03
- Concept pass biome #3 - Coastline and beaches.
- Concept pass biome #3 - Coastline and beaches Realm variations.
- Concept ambient SFX pass biome 1 - "Neutral" and "Owned" by each Realm.
- High cliffs along shore ambient SFX.
- Concept pass VFX 1 - "Neutral" and "Owned" by each Realm.
- Biome 3 - Integrate ambient SFX that change with Realm ownership.
- Biome 3 - First pass VFX
- Biome 3 - Determine neutral asset list from concept.
- Biome 3 - Determine TDD ownership asset list from concept.
- Biome 3 - Determine Arthurian ownership asset list from concept.
- Biome 3 - Determine Viking ownership asset list from concept.
- Biome 3 Neutral - Create ground texture sets.
- Biome 3 Neutral - Create grass and ground cover assets.
- Biome 3 Neutral - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 3 Neutral - Create large assets. (Trees, rocks, etc.)
- Biome 3 Neutral - Create terrain mods and integrate into world for testing.
- Biome 3 Neutral - Optimization pass.
- Biome 3 Arthurian - Create ground texture sets.
- Biome 3 Arthurian - Create grass and ground cover assets.
- Biome 3 Arthurian - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 3 Arthurian - Create large assets. (Trees, rocks, etc.)
- Biome 3 Arthurian - Create terrain mods and integrate into world for testing.
- Biome 3 Viking - Create ground texture sets.
- Biome 3 Viking - Create grass and ground cover assets.
- Biome 3 Viking - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 3 Viking - Create large assets. (Trees, rocks, etc.)
- Biome 3 Viking - Create terrain mods and integrate into world for testing.
- Biome 3 TDD - Create ground texture sets.
- Biome 3 TDD - Create grass and ground cover assets.
- Biome 3 TDD - Create small to medium assets. (Bushes, rocks, etc.)
- Biome 3 TDD - Create large assets. (Trees, rocks, etc.)
- Biome 3 TDD - Create terrain mods and integrate into world for testing.
As a Developer, I'd like to improve integration of plots into existing building code to improve performance, reduce development time, and reduce bugs.
- ManagedBuildingPlot - Simplify how c++ and c# talk to each other to reduce surface for future bugs.
- Exists!
- Is aligned properly, and stays aligned
- Accepts deltas
- Has bounds and heightmap built in
- Internalized bounds / ground checking
- Internalized heightmap
- Internalized cell limit
- Matches the minimum needs of Building.cs
- Is the entry point for stability
- Does all the relevant IO
- Cache off niceties like cell count / bounds?
- Proper conversion of plot bounds into grid bounds
- ManagedBuildingDelta - Simplify the way we update changes to buildings to reduce surface for future bugs.
- Exists!
- Supports Trees
- Supports Lists
- Supports single cells
- Supports range
- Matches the minimum needs of Building.cs
- Accepts deltas
- Internalizes ClearChanges
- ManagedCellData - Substance stats are communicated between c++ and c# from a database.
- Broken out into its own file
- Doesn't use hard coded mapping to look up cells
- ManagedBuildingRoot - Refactor how plot data is attached to the root building cell structure.
- All static methods gone
- Merge code duplicated in ManagedBuildingPlot
- Minimized as much as possible
- ManagedBuildingHeightfield - Simplify and automate the way heightfields are generated.
- No longer exists
- Internalized bounds/ground checking
- Cache off niceties like cell count/bounds
- No longer exists.
- Editor - For creation of new block shapes, with improved performance.
- BuildingShapeData resource + collection: Improved information storage.
- BuildingShapeBuilder - shape translation from editor to client.
- BuildingShapeCog - How the editor represents building shapes. "It makes me cry a little bit in my sleep." - Rob.
- BuildingSubstanceData resource + collection: Improved information storage.
- BuildingSubstanceBuilder - substance translation from editor to client.
- BuildingSubstanceCog - How the editor represents substances.
- Editor:
- Shape editor complete
- Substance editor complete.
- Changes to shape and substance integrated into the client.
- Changes to shape and substance integrated into the server.
- Changes to shape and substance integrated into C.U.B.E.
As a Developer, I'd like to have a first pass Camelot Unchained UI style sheet for visual consistency.
- Mock up neutral style sheet with references to Realm-based variations.
- Create CSS page of neutral style sheet.
- Create CSS page of TDD style sheet.
- Create CSS page of Viking style sheet.
- Create CSS page of Arthurian style sheet.
As a Backer, I want to learn more about ley lines, places of power, and ? - in Camelot Unchained.
- First pass design.
- Second pass design.
As a Developer and Backer in B1, I'd like better logging and feedback on abilities to support finding and fixing bugs.
- Additional features to core updater to support ability system refactor.
- First pass prototype of new base ability functionality. - Movement, damage, and death!
- Second pass prototype of new base ability functionality.
- Preliminary completion of all core updater features.
- Add first active effect "guard" as prototype for re-abilitated active effect system.
- Data-driven abilities loaded and assigned to users.
- Prototype per ability cooldowns.
- Create new ability type that transfers damage - "Guard."
- Add ability to modify stats - ex: snare and sprint.
- Add ability to damage buildings.
- Prototype projectiles.
- Ability Delivery:
- Bring old system back from the dead.
- Get skills within the new system passing down to the client.
- Have each skill have its own unique effects.
- Active effects work within the new system.
- Bugs related to the first ability rehab push fixed.
- Design and implement solution to handle targeting moving forward.
- Design and implement a solution for looping stacking sounds.
- Using chain lightning as a test case - figure out how ability info should be passed through, and potentially add smarter target preditions to the client so this looks good!
- Editor:
- Ability spec editor, first pass - Retrieve data from database and convert to data on server in order to send it to the client.
- Damage converted into an arithmetic expression to facilitate stacking buffs, debuffs, and modifiers.
- Damage modifier buff/debuff added.
- First Pass: block.
- First Pass: counter attack.
- First Pass: knockback.
- First Pass: working equipment resistances.
- Convert all prototypes to craftable skill nodes (except block/counter and projectile/wall)
- First Pass: Ability builder UI functional.
- First Pass: Character transitions between animation sets when applicable. (different weapon types, running, swimming, etc.)
- First Pass: Hook up animations to draw and sheathe weapons.
- First Pass skillnode design and implementation - Gives user the ability to build abilities.
- First Pass skill queueing system to support multi-stage skills and channeling of skills.
- New entity component model:
- Componentize physics entities projectiles and trigger volumes.
- Improve entity lookup and targeting for abilities.
- Hook up physics events to ability system.
- Remove TargetDummy entity.
- Remove Combatant entity.
- Player entity 90% componetized.
- Last 10% player entity componetized.
- First Pass implementation of spatial volumes that track players within, entering, and exiting.
- System now supports doing abilities in tandem, as well as sequentially.
- Re-add skill timing - with more flexibility than previous iteration.
- First Pass: Ability Builder UI - now data driven instead of hard coded.
- First implementation of actual beta skills working.
- Improve projectile support - Arrows can now do anything, when previously it was only straight damage.
- Extract data structures from game logic so it`s easier to re-use the data structures. - This makes it faster to create new abilities.
- Add ability to log any data from our server - going to be extremely helpful as we move forward with the refactor, both so Design can see if things are working as intended, and for playtest tuning!
- Add ability to buff and debuff the timing of abilities.
- Block and Counter-attack can be crafted into abilities with animations.
- Equipment slots can be independently buffed and debuffed.
- Ability logic now supports variables which can be edited later - Speeds creation of new abilities.
- Variables support expressions.
- Player entity 90% componetized.
- Last 10% player entity componetized.
- System to calculate skill timing costs:
- Create a Skill Node that creates a Timing Component (SNWeaponStats)
- Wire up SNWeaponStats to skills.
- Check for timing component on Phase 0 and pull times.
- Combine Weapon time from component, Phase times (sum of times from Skill Nodes) and any modifiers from effects.
- Create Event Handler to modify times when timing component is found. So buffs/debuffs can change skill times.
- Added the ability to log any data from our server easily - can be searched, graphed, quantified!
- Additional logging added to better provide feedback to design and audit code.
- Additional logging added to better provide feedback to design and audit code.
- Additional logging added to better provide feedback to design and audit code.
- Added the ability to log any data from our server easily - can be searched, graphed, quantified!
- Additional logging added to better provide feedback to design and audit code.
- Block and Counter-attack are now be crafted into abilities.
- Equipment slots can now be independently buffed and debuffed.
- Refactor of immutables to be faster and cleaner!
- Auto generate our communication between our game server and our proxies. - Greatly improves speed and reliability of the server/proxy communication layer. - Allows us to create new abilities much faster!
- Refactor of CAS into Client Spec.
- Create Event Handler to modify times when timing component is found, so buffs/debuffs can change skill times.
- Create Event Handler to modify times when timing component is found, so buffs/debuffs can change skill times.
- Create Event Handler to modify times when timing component is found, so buffs/debuffs can change skill times.
- Create Event Handler to modify times when timing component is found, so buffs/debuffs can change skill times.
- Create Event Handler to modify times when timing component is found, so buffs/debuffs can change skill times.
- Clean up timing modifier component, event handler, and support code.
- Disruption Damage:
- Disruption properties on ActiveSkill.
- Event components and handlers for sending/receiving disruption.
- Add skillnode for disruption.
- Event components and handlers for stability.
- Verify skills that are currently in use can be interrupted via disruption damage.
- Disruption from Movement:
- Determine how physics events are observed by entities.
- Player observes Movement Events from the PhysicsScene.
- Set up smarter registration for Physics Events so that a Player who isn`t using any skills will not be spammed with movement events.
- Ability Builder Update:
- Initial testing of old system with new abilities.
- Debug JavaScript skill building.
- Patch ability builder JavaScript so we can build complex skills.
- Skill creation - Create Costing Modifier Event Handler.
- Skill creation - Create Decrease Stamina Node.
- Skill creation - Create Increase Recovery Time Node.
- Flatten node graph from UI into flat list server side.
- Bots and testing:
- Fix loadtester pipeline to get basic bot functionality working again.
- Update Jenkins build to push builds to Wyrmling.
- Resolve issues in moving Internal Builds to Beta builds on the Server/Client.
- Update UserProxy instances with new settings to enable tests.
- Add a fix to a category of bugs causing crashes on the server.
- Create a tool to directly audit connected players experiencing issues.
- Fix to multiple assert or crash points when starting the client.
- UI manager threading rewrite to use ParLL threading library.
- Payloads now support different types at the same time. Ex: shoot a fire arrow and an electrical arrow at the same time.
- Set up smarter registration for Physics Events so that a player who isn't using any skills will not be spammed with movement events.
- Apply Disruption based on movement distance.
- Code Review Fixes, and refactored code to better fit our event pattern.
- Abilities describe themselves in spellbook and UI to better assist with auditing bugs.
- Resurrect old bot code so they now run around.
- Bots now randomly stop and fire arrow abilities for testing.
- Improve arrow spamming issues for better feedback.
- Fix deadlock on loading.
- Fix multiple points of lock ups after loading, in client.
- Improve scene rendering by removing locks to fix suspected crashes.
- Create a tool to monitor, live, possible threading issues.
- Fix issue where client tends to hang upon quitting.
- Add new types of arrow abilities for testing.
- Fix and improve issues with the crash reporter for ease of use.
- Damage tracking:
- Add Event Handlers to Events.
- Forward EH`s when child Events are created.
- Total damage done across multiple targets.
- Apply healing at the end of send/receive damage chain.
- Track Event with a GUID, so different sources are not counted in the heal.
- Determine if we should have EH create a new component that applies effect.
- HealOnDamageDone now applies to HealthComponent and uses sub-parts.
- Body Sub-part health:
- Change health component to have sub-parts.
- Create skill node for targeting specific part.
- Send sub-parts to client so health bars can update correctly.
- Figure out how wounds relate to sub-parts, if at all.
- Get Physics query to return subparts again.
- Logic to determine what parts to apply affect to when combining physics results and user selected parts.
- Server side info relayed.
- Hook up wound support.
- Wounds correctly sent to UI layer.
- Projectiles properly collide and persist for correct amount of time.
- Projectiles support AOEs.
- Add more and better logging to skills which may be used for additional combat logging.
- Add aim and target nodes to archery ability network.
- Add periodic effects. Damage/heals over time, etc.
- Make it so triggers can`t trigger themselves.
- Physics actors use proper lifetimes.
- Buildings can take damage from abilities.
- Refactor subparts to be cleaner and allow armor per sub part to work.
- Add resist mod active effect - Raise or lower resistances on whole body or subpart.
- Improve encoding of timed resources - reduces bandwidth for things like stamina, health, blood.
- Add tags to skill nodes - "if this is tagged as fire, do this to them."
- Quality of life improvements to creating abilities. Fewer lines of code, fewer errors.
- Modify resource - adds or subtracts from a resource pool
- Stability for ability disruption works.
- Improvements to skill timing.
- Scripts can pull stats from weapons.
- Simplify LAEs to reduce bugs and code overhead.
- Values in abilities can be affected by active effect.
- Can shoot where aiming or at a target.
- Expose more things to scripting "distance between entities, if wounded, check active effects, etc"
- Add the ability for skills to create immobile entities in the world.
- Add stacking groups to trigger nodes.
- Body part targetting is scriptable. Added the ability for skills to lookup the most wounded body part.
- Add the ability for skills to create immobile entities in the world.
- Add the ability for skills to set an arbitrary state on entities.
- Add the ability for skills to destroy entities.
- Add the ability for skills to teleport entities.
- Add Drop Stone which leveraged existing tech (stone cast with a MUCH lower velocity).
- Add the ability for skills to execute arbitrary subskills.
- Add Alteration Of Life (heal and short duration healing buff)
- Add the ability for skills to buff healing on entities
- Add the ability for skills to lookup the most damaged body part
- Add Creeping Petrification (slow movement, slow ability prep, and slow ability recovery)
- Resources now regenerate over time and are conveyed on the UI.
- Separate stone abilities of the Stonehealer from the usual magic network, removing the ability to create dud abilities by mixing invalid parts for them.
- Create a "Cure Wound" ability for testing wounds.
- Several threading improvements in areas that were causing crashes for a small percentage of users.
- Improve effeciency and reduce bandwidth of ability metrics.
- Fixes to possible memory leak points.
- Logic to determine what parts to apply affect to when combining physics results and user selected parts.
- Resources regenerate and are shown on UI.
- Unify EntityID and BodyPartId into SubpartId
- Conditionals and Requirements:
- Research Payloads
- Research scriptables
- Create framework for conditionals
- Design and initial testing:
- Finalize first pass skill part lists.
- Revis ability skill part names and descriptions for consistency.
- Standard skill part implementation and testing.
- Black Knight skill part implementation and testing
- Fianna skill part implementation and testing.
- Mjolnir skill part implementation and testing.
- Blackguard skill part implementation and testing.
- Forest Stalker skill part implementation and testing.
- Winter Shadow skill part implementation and testing.
- Physician skill part implementation and testing.
- Empath skill part implementation and testing.
- Stonehealer skill part implementation and testing.
- Add cooldowns to server-side skills.
- Skills can be restricted by particular archetypes.
- Fix server lag when attempting to spam multiple abilities.
- Buffable mitigation: subtracts a flat amount from damage rather than a percent.
- Improvements to subject group.
- Hook up Stonehealer art assets for healer stones.
- Missing/killed/deleted entities don't break skills (bug fixing)
- Temporary solution to exhausted state for testing.
- Add shielding stone for Stonehealer to mitigate a flat amount of damage.
- Add logging and debugging features to capture and inspect a player's entire state at runtime.
- Research Payloads.
- Create framework for conditionals.
- Weapon-based abilities will now require the correct weapon type.
- Client Spec:
- Automatically create code allowing the game server and the proxy to communicate.
- Other types of server can automatically get data from the game server.
- General bandwidth improvements all around.
- Client can now represent skill tracks, allowing players to execute multiple skills at the same time.
- Network layer supports new entity component model.
- Players can use skills they have not crafted, such as with siege engines.
- Can run an arbitrary skill node when a skill does damage - Empath now hurts itself equal to the amount they healed properly.
- Added more skill networks that don`t have part targeting - you no longer can put a target component into a skill if it doesnt use one.
- Kinematics can be offset from the ground properly - most static entities are no longer sunk halfway into the ground
- Active effect "names" - active effects are all given the name of the file they came from.
- DistanceBetween helper function - mostly used for doing range checks.
- System skill nodes - Drown and exhaustion are driven from XML skill nodes rather than being hard coded.
- Player stats are pull from database - previously were hardcoded, now the values you see during character creation are actually loaded onto the server.
- Stat requirements - Skills can have a requirement that checks your stats (includes checks for meeting the stat reqs of weapons).
- Subject sort/max targets - We can do a spatial query for a melee swing, then if your target is in it, hit them, otherwise hit the person closest to the center of it (and a whole variety of similar things).
- Stones have health - Stonehealer stones have health, can be damaged, and die when they run out of health.
- Skills can be tagged for being disrupted by movement.
- Check if a gear slot has anything in it from a script - Used by Open Hand component requirements.
- Stats are now bounded - Your move speed never can go above 10 regardless of buffs.
- New weapon stats - Values on weapons have been balanced, and weapons have stat requirements based on quality - Starter weapons have stat requirements of 20.
- Add ability to filter subjects based on if they are in your group - Used by healer AoEs to only heal your group.
- Traumas - When you take a wound, you get a temporary trauma active effect applied to you based on part wounded.
- Armor penetration.
- TargetFocus part affects all subskills - Fixed a bug preventing the part component from properly working with periodics and other delayed execution.
- SetRobOnFire node - Can be included into skills to set Rob on fire.
- Stonehealer stones show up again post client skills.
- Autogen the notes section of a skill - Puts the parts used to make it in, shows up in tooltip and spellbook.
- Removed some slots from skill networks because they are never used.
- Skill results bug fixing - some skills were reporting incorrect values.
- Deflection updated and working.
- First pass logging iteration server side.
- Client logging defined in UI - Chat combat tab.
- First pass performance improvments
- Second pass performance with scoping of relevant information sent.
- Revisit ability skill part names and descriptions for consistency.
- Standard skill part implementation and testing.
- Black Knight skill part implementation and testing.
- Fianna skill part implementation and testing.
- Mjölnir skill part implementation and testing.
- Blackguard skill part implementation and testing.
- Forest Stalker skill part implementation and testing.
- Winter Shadow skill part implementation and testing.
- Physician skill part implementation and testing.
- Empath skill part implementation and testing.
- Stonehealer skill part implementation and testing.
- Combat stat feedback:
- Ability stat feedback hooked up to system tab in chat window.
- Ability stat feedback Add colored text to combat log to help classify feedback values. up to system tab in chat window.
- Optimization pass of ability feedback in chat window.
- Stats on skill part tooltips.
- Stonehealer skill part implementation and testing.
- Add CSV support for weapon stats with slash commands to update.
- Make script compilation more robust by always logging warnings
- Remove local-only skills from the client's skill queue when they get cancelled
- Health bar heal/damage events are based off of combat events passed from the server.
- Revisit cooldown post re-abilitation.
- Server-side implementation of 'cancel all skills'.
- Load skills on API server.
- Target dummies wear random armor.
- Make creation of multiple target dummies happen in parallel.
- Use IWorldState in ServerEntities instead of WorldState.
- Widget/Gizmo system:
- Client side shape system to construct both geometry and hit tests for a set of basic shapes.
- Create arbitrary shapes from the math::shapes library.
- Render both transparent and opaque types of gizmos.
- Add shape drawing slash commands (sphere, cylinder, cone, capsule, box).
- Support combining shapes to make new ones.
- Support adding a vertex offset for index buffer creation.
- Add the ability to add semi-permanent debug gizmos directly to renderer.
- Player stat changes and physics constants are driven by XML.
- MockUpdater now keeps track of changes while it is in scope.
- Send preflighted skill data from server-to-server rather than redoing it on the receiving side.
- Player waits for PhysicsEntity to be added before creating skills.
- Revamp starting skills defined in xml by simplifying SkillDef.
- Add starting skills during player login if they don't have any skills.
- Assign unique IDs to skilldefs.
- When sending SkillsKnownComponent to another server, also send the blocked and allowed categories.
- Fix subject group logic to have two groups; targets and recievers (and make it so that not all event components have subjectGroupLookup as a field).
- Support target track that checks friend first and falls back to enemies.
- Change OwnerHistoryComponent to store an EntityID instead of an IEntity.
- Projectile Entities remember the skill that spawned them on the server, and send it down to the client.
- Update skill XML so ClientProjectileEffects correctly target Self.
- Creation of clientside Effects now gets an ActiveSkill for use by the Effect.
- Send projectile physics predictions to everyone instead of just the person using the skill, so they can inform client predictions.
- Add an IgnoreInitialContacts physics flag that can be used for projectiles to escape from their source's geometry.
- Add AttachProjectileEffect that will attach the Renderable from a predicted projectile (on an ActiveSkill) to an Entity as part of its animation.
- Store ActiveSkill in constants collection.
- Fall back on the skill entity's model rather than trying to get a parent that doesn't exist.
- ActiveEffectsController supports ActiveEffects that do not have time durations.
- Add options for projectile effects and active effects to skill detail command.
- Hide weapons anim event for equip/unequip weapons.
- When firing local projectiles, use the gravityFactor from ClientProjectileDef.
- Make ability builder component-selection-modal scrollbar thicker.
- Simplify how the client and server negotiate phase advancement for held skills.
- Use local variables when there's only one layer, and a scratch Array of structs intead of multiple layers to improve LAE evaluations.
- Filter out entities without damageable components from abilities.
- Sort starting skill by their ID to provide control over the layout.
- Fix prebuilt skill IDs to be unique.
As a Developer, I'd like to improve the visual fidelity and speed of creation of our art assets through the investigation, and possible use of, the Allegorithmic software suite.
- Investigate the use of 3rd party program in the creation of materials.
- Integrate our material shader into third party program to test viability in pipeline.
- Audit third party programs in use for art asset creation and correct format output.
- Audit union between programs for material ID assignments to speed up development time.
- Procedural material creation and pipeline documentation:
- Replicate IOR -> SpecMask helper inside editor.
- Example files: Hybrid materials which use PSD resources.
- Example files: Heightmap graphs.
- Example files: Decorative patterning masks.
- Example files: Surface distress techniques.
- Example files: Brick and stone shape generation.
- Example files: Surface coloring techniques.
- Explore using Substance Designer to make VFX materials
- Create a Pixel Processor node using functions
- Material Creation improvements for characters, armor, and weapons.
- Procedural solution to push highs and lows in a material to better convey folds, plates, etc.
- Individually colored stitching solution that saves time.
- Example files: Wood surfaces.
- Example files: Surface coloring techniques V2.
- Old materials updated to procedural:
- stone_cobble_001
- marble_tiles_001
- stone_cobble_008
- marble_tiles_007
- stone_cobble_004
- wood_planks_010
- stone_blocks_014
- stone_blocks_003
- Solve issues with really dark metals.
As a Backer and Developer, I'd like the rubble from building destruction to be awesome and performant.
- Client can make rubble without server.
- Client can remove rubble without server.
- Plots on server track their rubble.
- First pass: Netcode tracks rubble.
- Netcode properly handles conflicts.
- Netcode handles multiple rubble events.
- Client handles multiple rubble events.
- Rubble breakdown is not per block.
- The correct IDs are hooked up to rubble.
- Rubble deltas are sent.
- Server/proxy/client can initialize as a delta off of another entity.
- First Pass: Rubble renders!
- Player can traverse rubble without getting randomly "stuck" on it.
As a Backer, I'd like to play in new biomes that change according to Realm ownership. - Biome 04
- Concept pass biome #4 - Deciduous fantasy forest #2
- Concept pass biome #4 - Deciduous fantasy forest #2 - define Realm variation scope and asset changes.
- Concept ambient SFX.
- Integrate ambient SFX for models.
- Integrate ambient SFX for biome mod.
- Determine neutral asset list from concept.
- Determine TDD ownership asset list from concept.
- Determine Arthurian ownership asset list from concept.
- Determine Viking ownership asset list from concept.
- First pass Tree and Sapling textures and geo - determine visual language.
- Neutral - Create ground texture sets.
- Neutral - Create grass and ground cover assets.
- Neutral - Create small to medium assets. (Bushes, rocks, etc.)
- Neutral - Create large assets. (Trees, rocks, etc.)
- Neutral - Create terrain mods and integrate into world for testing.
- Arthurian - Create ground texture sets.
- Arthurian - Create grass and ground cover assets.
- Arthurian - Create small to medium assets. (Bushes, rocks, etc.)
- Arthurian - Create large assets. (Trees, rocks, etc.)
- Arthurian - Create terrain mods and integrate into world for testing.
- Arthurian - Optimization pass and nitpicking.
- Viking - Create ground texture sets.
- Viking - Create grass and ground cover assets.
- Viking - Create small to medium assets. (Bushes, rocks, etc.)
- Viking - Create large assets. (Trees, rocks, etc.)
- Viking - Create terrain mods and integrate into world for testing.
- Viking - Optimization pass and nitpicking.
- TDD - Create ground texture sets.
- TDD - Create grass and ground cover assets.
- TDD - Create small to medium assets. (Bushes, rocks, etc.)
- TDD - Create large assets. (Trees, rocks, etc.)
- TDD - Create terrain mods and integrate into world for testing.
- TDD - Optimization pass and nitpicking.
- Neutral - Unique assets
- Ambient SFX - Generic deciduous fantasy forest.
- Ambient SFX - swaying trinkets in the wind.
- Ambient SFX - Subtle ambient hum - v1
- Neutral - Additional medium assets - fern sets x2
- Concept Pass: Neutral unique assets.
- Second Concept Pass: Neutral unique assets.
- Ambient SFX - Subtle ambient hum - v2
- Neutral Prefab model: Standing wood lamp with VFX - v1
- Neutral Prefab model: Standing wood lamp with VFX- v2
- Neutral Prefab model: Rock group small.
- Neutral Prefab model: Rock group medium.
- Neutral Prefab model: Rock group large.
- Neutral Prefab model: Sapling cluster.
- Second pass saplings to reduce poly count.
- Second pass large saplings to improve poly count and improve for gameplay.
- Update tree textures to work with PBR system, as well as convey collideable objects.
- Neutral - Create secondary grassland mod to accompany forest.
- Neutral - Create additional variations of trees for more color variation.
- Neutral - Create fern and trinket tree variations with white foliage.
- Neutral - Optimization pass on trees with accompanying thicker trunks and scale audits.
- Neutral - Optimization pass on fern assets.
- Neutral - Optimization pass on all trinket trees.
- Neutral - Additional sapling variations.
- Neutral - Audit and improve terrain blending and mod settings for "clover area."
- Additional leaf overlay textures for general use.
- Dark forest plant VFX.
- Optimization pass fantasy fern assets.
- Falling leaf VFX - various colors
- Horizontal wind swept leaves vfx for ground
- Second optimization pass on fantasy fern assets.
As a Backer in Beta 1, I'd like to play in a Party, or Guild.
- First pass Vision and Design doc.
- First pass group UI design.
- Party Hub
- Guild Hub
- Party State Management
- Guild State Management
- On unexpected shutdown & reboot, pull States from API servers
- Groups Client
- Player Status info push to group server on set update interval (the stats we need for groups).
- Party State mirror for only Party containing players on that game server instance server.
- Party state mirror for all servers & shards
- RPC Endpoints as defined below
- Party Hub
- Guild Hub
- Push data in real-time to correct clients over server when receiving a Party state update from the GroupServer.
- Push data real-time when data changes
- Party RPC Endpoints:
- Create Party
- Join Party
- Update user permissions Party
- Name Party
- Leave Party
- Abandon Party
- Get Party members
- Kick member from Party
- Order REST Endpoints:
- Join Guild
- Send invitation Guild
- Quit Guild
- Set user role
- Create role
- Update role permissions
- Get members
- Kick member
- Update invitation
- Get Order information
- Disband
- Create Guild
- First Pass: Group invites via Web API.
- First Pass: Party roles and permissions.
- First Pass: Party Invites and Status through SignalR.
- Second pass group UI design.
- Prepare CSS styles for implementation.
- Auto-generate TypeScript from C# for WebAPI.
As a Backer, I'd like to build with curved surfaces in C.U.B.E. and Camelot Unchained.
- Integrate previous rendering and memory optimizations changes and mainline into CylinderMorph branch
- Fix Phantom Block location.
- Fix Gizmos to use morph.
- Fix Gridlines to use morph.
- Blocks place according to grid lines.
- Fix GhostRenderer - Ghost blocks will warp around the circle based upon your selection in Cylinder Morph.
- Improve gridline visuals.
- Update other locations where morph should be applied.
- Fix GhostRenderer - Ghost blocks will warp around the circle based upon your selection in Cylinder Morph.
- Merge main into branch.
- Improve grid line visuals.
- Fix deleting existing blocks.
- Figure out why raycast fails sometimes.
- Code cleanup/preparation for collapse into main.
- Merge to main:
- Mesh simplification, geometry issues addressed.
- Find and fix small issues with grid lines.
- Find and fix issue with square morph off by one.
- Increase size of gizmo count UI.
- Release:
- Address mesh simplification geometry issues.
- Determine how to create square versus cylinder plots.
- Determine a way to select and visualize a morph.
- Determine a way to move morphs around.
- Determine a way to parent morphs.
- Morphs in which multiple locations correspond to the same physical space.
- Additional Stretch Goals:
- Improve math for transforming selected range, min corner.
- Change how sector roots are created, so they use a Morph Iterator (more efficient, less duplicated code.)
- Make CreateVertices function generic, so rendering and physics can share logic.
- Improve code in BuildingUIContext. Future proofing, less merge conflicts, easier to iterate without breaking, etc.
- Refactor for data structures.
As a Developer, I'd like all of our existing character models and armor to use a cheaper rendering solution for double sided geo.
- Armor Adjustments:
- Human M/F Arthurian Light
- Human M/F Arthurian Medium
- Human M/F Arthurian Heavy
- Human M/F Viking Light
- Human M/F Viking Medium
- Human M/F Viking Heavy
- Human M/F TDD Light
- Human M/F TDD Medium
- Human M/F TDD Heavy
- Luchorpan M/F TDD Light
- Luchorpan M/F TDD Medium
- Luchorpan M/F TDD Heavy
- Character Model Adjustments:
- Human Arthurian Female Hair
- Human Viking Female Hair
- Valkyrie Viking M/F Hair
- Human Tuatha Female Hair
- Luchorpan M/F hair
As a Backer in Beta 1, I'd like to be able to play and build on a home island of each Realm, as well as a main contested island.
- Arthurian:
- First pass layout Arthurian home island: rough pass procedural mods.
- Second pass layout Arthurian home island: large terrain landmarks. (Mountains, ridges, lakes, etc.)
- Third pass layout Arthurian home island: Art pass pre-existing mods.
- Fourth pass layout Arthurian home island: Art pass polish.
- Add building plots.
- Unique assets added, time allowing.
- Viking:
- First pass layout Viking home island: rough pass procedural mods.
- Second pass layout Viking home island: large terrain landmarks. (Mountains, ridges, lakes, etc.)
- Third pass layout Viking home island: Art pass pre-existing mods.
- Fourth pass layout Viking home island: Art pass polish.
- Unique assets added, time allowing.
- Add building plots.
- TDD:
- First pass layout TDD home island: rough pass procedural mods.
- Second pass layout TDD home island: large terrain landmarks. (Mountains, ridges, lakes, etc.)
- Third pass layout TDD home island: Art pass pre-existing mods.
- Fourth pass layout TDD home island: Art pass polish.
- Unique assets added, time allowing.
- Add building plots.
- Contested V1:
- First pass layout: rough pass procedural mods.
- Second pass layout: large terrain landmarks. (Mountains, ridges, lakes, etc.)
- Third pass layout: Art pass pre-existing mods.
- Fourth pass layout: Art pass polish.
- Add building plots.
- Place of power integrated.
- Unique assets added, time allowing.
- Contested V2:
- First pass layout: rough pass procedural mods.)
- Second pass layout: large terrain landmarks. (Mountains, ridges, lakes, etc.)
- Third pass layout: Art pass on pre-existing mods.
- Fourth pass layout: Art pass polish.
- Add building plots.
- Place of power integrated.
- Unique assets added, time allowing.
- 32km Test Island:
- First pass rough layout for testing.
As a Backer in Beta 1, I'd like the new classes, weapons, and abilities to be supported by their animations.
- Right-handed dagger throw animation.
- Left-handed dagger throw animation.
- Right hand to right shoulder weapon draw and sheath animation.
- Left hand to left shoulder weapon draw and sheath animation.
- Right-handed spear throw animation.
- Right hand dagger throw with shield.
- Right hand dagger throw with left hand weapon.
- Left hand dagger throw with right hand weapon.
- Left hand dagger throw with right hand spear.
- Left hand dagger throw with right hand focus.
- Right hand dagger throw with left hand focus.
- Right hand focus throw with left hand weapon.
- Right hand focus throw with left hand shield.
- Right hand focus throw with left hand focus.
- Left hand focus throw with right hand weapon.
- Left hand focus throw with right hand spear.
- Left hand focus throw with right hand focus.
- Archery arrow grab from back.
- Right hand dagger attacks with left hand focus.
- Left hand dagger attacks with right hand focus.
- Right hand weapon attacks and blocks with left hand focus.
- Weapon throw - dagger with axe, right and left hand.
- Additional weapon draw animations from back of player.
- Additional animation sets of rock throwing one hand, and with off hand weapons.
- Archery arrow grab from back.
- Combat Locomotion:
- Right hand weapon with left hand weapon.
- Right hand weapon with left hand shield.
- Right hand weapon with left hand focus.
- Right hand spear with left hand empty.
- Right hand spear with left hand weapon.
- Right hand spear with left hand shield.
- Right hand spear with left hand focus.
- Right hand focus with left hand empty.
- Right hand focus with left hand weapon.
- Right hand focus with left hand shield.
- Right hand focus with left hand focus.
- Right and left hand holding two-handed longsword.
- Right and left hand holding two-handed spear/polearm/staff.
- Right hand weapon with left hand weapon.
- Archery Secondary:
- Right and left hand bow holding downwards.
- Right and left hand bow holding downwards nocked.
- Right and left hand bow holding downwards flinch.
- Right and left hand bow holding downwards nocked flinch.
- Right and left hand bow holding downwards death.
- Right and left hand bow holding downwards nocked death.
- Right and left hand bow holding downwards jump.
- Right and left hand bow holding downwards nocked jump.
- Swim Primary:
- Treading water idle.
- Swim Forward.
- Falling/sinking (with transitions) death.
- Swim Secondary:
- Female Human.
- Giant Male.
- Giant Female.
- Combat Flinch:
- Right hand weapon with left hand weapon.
- Right hand weapon with left hand dagger.
- Right hand weapon with left hand shield.
- Right hand weapon with left hand focus.
- Right hand focus with left hand empty.
- Right hand focus with left hand weapon.
- Right hand focus with left hand dagger.
- Right hand focus with left hand shield.
- Right hand focus with left hand focus.
- Left hand weapons with right hand spear.
- Left hand weapons with right hand focus.
- Right and left hand on two-handed sword.
- Right and left hand on two-handed staff/polearm/spear.
- Unequipped.
- Combat Death:
- Right hand weapon with left hand weapon.
- Right hand weapon with left hand dagger.
- Right hand weapon with left hand shield.
- Right hand weapon with left hand focus.
- Right hand focus with left hand weapon.
- Right hand focus with left hand dagger.
- Right hand focus with left hand shield.
- Right hand focus with left hand focus.
- Left hand weapons with right hand spear.
- Left hand weapons with right hand focus.
- Right and left hand on two-handed sword.
- Right and left hand on two-handed staff/polearm/spear.
- Unequipped.
- Right and left hand holding two-handed longsword - offensive stance.
- Right and left hand holding two-handed longsword - defensive stance.
- Swim Secondary:
- Swim movement - 45
- Swim movement - 90
- Swim movement - 135
- Swim movement - 180
- Swim movement - 225
- Swim movement - 270
- Swim movement - 315
- Right hand spear with left hand empty.
- Right hand spear with left hand focus.
- Right hand spear with left hand shield.
- Right and left hand sword, offensive stance.
- Right and left hand sword, defensive stance.
- Right hand spear with left hand empty.
- Right hand spear with left hand focus.
- Right hand spear with left hand shield.
- Right and left hand sword, offensive stance.
- Right and left hand sword, defensive stance.
- Right and Left hands holding longsword, offensive stance - upper body locomotion.
- Right and Left hands holding longsword, defensive stance - upper body locomotion.
- Update pre-existing animations for rig corrections to support new CSE created Realm weapons.
As a Developer, I'd like the Camelot Unchained store to be consistent with the identity and design of the updated website.
- Design
- Mock up concepts for new layout of store. 2-4 samples
- Define our identity as the CSE store or CU store.
- Design the look of the store after wireframe of the site is decided
- Mock up final example of the site for review.
- Second pass review.
- Visual and text pass on existing email confirmations.
- Implementation:
- TBD based on design.
- Mock up concepts for new layout of store. 2-4 samples.
- Define our identity as the CSE store or CU store.
- Design the look of the store after wireframe of the site is decided.
- Mock up final example of the site for review.
As a Backer in Beta 1, I'd like to play in a Party, or Guild - UI.
- Health & Status UI Components:
- Health & Status UI Components:
- 6 body parts health
- Blood
- Stamina
- Panic bar
- Temperature bar
- Active effects (buffs / debufs)
- Class icon
- Portrait
- HUD:
- Draggable elements
- Resizeable elements
- Snapping ? maybe
- Save out & reload element settings between sessions
- z-sorting controls (bring elements forward or behind other elements)
- Player Health Widget:
- Full Size
- Mini Size
- Hookup real-time data through client
- Target Health Widget:
- Full Size
- Mini Size
- Hookup real-time data through client
- Party Widget:
- Mini size party health components
- Full Size party health components
- SignalR Client - For live real-time data:
- SignalR Client connection
- SignalR Server:
- Party Hub
- Party Options/Settings panel.
- Individual elements within party-regional dragging/re-arranging support/resizing.
- Horizontal/vertical switch.
- Hookup real-time data over SignalR
- SignalR Session established connection to party Hub.
- Handle member left.
- Handle member joined.
- Handle member permissions changed.
- Handle member logged in.
- Handle member logged out.
- Handle member role changed.
- Handle member rank changed.
- Handle party name change.
- Handle party disbanded.
- Re-connect
- Error handling & recovery.
- Party Hub.
- Send member data.
- Member left.
- Member joined.
- Member permissions changed.
- Member logged in.
- Member logged out.
- Member role changed.
- Member rank changed.
- Party name changed.
- Party disbanded.
- Hookup real-time data through client.
- Hookup real-time data through client.
- Additional UI work:
- Enabled HUD movement & scaling on the in-game UI.
- Respawn UI moved to the HUD module and can be moved & resized.
- Convert CU`s XMPP chat library to a standalone package to allow for inclusion in any web package.
- Re-arrange some UI elements & set default HUD layout.
- Add race/gender icons to health bars.
- Update build process for all UI modules, patcher, chat, and other UI/web projects in Camelot-Unchained repo to use the latest versions of typings & typescript, as well as work seamlessly across both Windows & Mac/Unix systems.
- Added support for UI reloading using /reloadui command from in-game chat.
- Remove any need for globally installed npm packages.
- Set up and use private NPM registry for Camelot Unchained private modules and overrides of existing npm packages.
- Update player and target HUD to use correct race image.
- Update player and target hud to use correct gender image.
- Ability to create Order, invite others, create and edit ranks, accept invites.
- Build generic components for UI front-end for future re-use.
- Add member count as field for groups in graphql queries.
As a Developer, I'd like an automated system that can find data related bugs before they become a problem.
- Pick a name for the new system. - "Roboduck!"
- Create a library to contain the validation items
- Roboduck runs a "sting operation" that catches bad materials being assigned to terrain.
- Roboduck runs a query that returns all of the materials used in a zone.
- Rework DocumentBase to use a delegate function for Validate.
- Roboduck runs every few minutes, and checks the pre-existing quick Validation() function.
- Roboduck runs every few minutes, and checks the pre-existing quick Validation() function.
- Catalog available automated tests using reflection.
- Add config to select and run tests with frequency.
- Add email support, notifying users of relevant issues.
- Create server application.
- Add a document caching system (common library).
- Refactor existing tests to use document caching system.
- Checks animsets for animation classifications that are incorrect.
- Fix texture reference test to tell us if space is being wasted.
- Add a check to ensure textures have the right usage when assigned to a material.
- Roboduck tests for broken sound packages.
- Add Roboduck test to detect duplicate files being uploaded to the file system under different object IDs.
As a Backer, I want to seamlessly move between islands and zones without being aware that I'm moving between different game servers.
- Audit NetworkWindow:
- Move netClient and worldState from NetworkWindow to NetworkedWorld.
- Clean up NetClient references in various classes (e.g. BuildingController).
- Change netClient to a collection and handle, connecting to multiple servers.
- Handle loading zones
- Clean up code in NetworkWindow that directly accesses NetClient.
- Client can sync from more than one proxy and/or more than one zone on a proxy:
- Add support for loading and unloading multiple zones.
- Create and delete player Entities as they transition so they only exist in one zone at a time.
- Add portal Entity to trigger transitioning between proxies.
- Send player position to all servers to support update distance priority.
- Determine how the client will transition between proxies.
- Handle entities that should only be synced from one proxy at a time, like the sky.
- Figure out how client will know which proxies to sync from.
- Determine solution to chat.
- Change client to share a single terrain subdivider between all zones.
- Client can seamlessly transition between proxies.
- Unique EntityIDs across servers within a shard:
- Create PresenceServer project that uses AsyncRPC library.
- Add PresenceServer AsyncRPCProvider for allocating a range of IDs.
- Add system to PresenceServer for allocating ranges of IDs.
- Store allocated EntityIDs in database.
- Change ServerMain to request ranges of IDs and only use those.
- Get game server connecting to PresenceServer.
- Synchronize time.
- Run multiple game servers within a shard, each hosting different zones:
- Move AttackKeys out of NetClient.
- Review and fix and change requests.
- Physics Subzones:
- Bring in some changes from Rob`s old branch.
- Change character actors to use the new system.
- Change static actors to use the new system.
- Change dynamic actors to use the new system.
- Create multiple physics subzones and add actors to the correct one.
- Determine where the coordinate translation will happen.
- Apply a world position offset when loading zones.
- Review and fix change requests.
- Change static actors to use the new system.
- Change dynamic actors to use the new system.
- Create multiple physics subzones and add actors to the correct one.
- Make Raycast and Overlap methods use the correct subzones.
- Apply a world position offset when loading zones.
- Handle actors moving between subzones.
- Handle collisions during subzone transitions.
- Handle triggers that span multiple subzones.
- Apply a world position offset when loading zones.
- Handle changing subzones when teleporting.
- Handle ability interactions that span multiple subzones.
- Handle kinematic actors in multiple subzones
- Remove hacks and hard-coded numbers
- Patcher:
- WebAPI server capable of receiving multiple addresses for the same server group (Multi-Zone)
- Allow client to connect to multiple game servers automatically:
- Serialize connection process in NetworkedWorld
- Connect to a list of game servers specified by command arg
- Connect to a list of proxy servers specified by command arg
- Fix issue with client not receiving LoadZone message
- Handle connection failures
- Fix client disconnect bug
- Spawn player in correct zone according to the database
- Retrieve a list of servers from a master server specified by command arg
- Clean up code and finish minor changes
- Delay setting activeNetClient until a starting zone is determined
- Fix code that assumes build::serverhostname is a single host name
- Pass server host name to UI layer
- Zone server relays webAPI host to the client
- Only send Hatchery shutdown info once, even if multiple zone servers are up
- MasterServer sends down a list of addresses for each server, rather than a single one.
- Update network HUD to show stats from all connected servers.
- Server controller no longer requires separate server messages to change access levels.
- Balance bandwidth across proxies:
- Add client->proxy network message to scale bandwidth usage.
- Add priority value to the end of Entity update messages.
- Make client adjust bandwidth scale based on priorities.
- Avoid adjusting bandwidth too quickly, causing it to fluctuate.
- Add bandwidth scaling info to network stats UI.
- Use Presence server to spawn players:
- Send zone info to Presence server from game server.
- Send player [dis]connect messages to Presence server from game server.
- Send player spawn message to game server from Presence server.
- Handle spawning for zone transitions.
- Handle game servers disconnecting from Presence server.
- Reconnect if game server gets disconnected from Presence server.
- Teleportation stone for testing - Art:
- Create model, materials, and VFX
- Ensure that spawning still works without a Presence server.
- Handle game servers disconnecting from Presence server.
- Fix bug where players sometimes remain after the user disconnects.
- Handle transitioning to zones that the client is not connected to.
- Reconnect if game server gets disconnected from Presence server.
- Use Presence server to get a list of relevant game servers:
- Add web API for retrieving relevant server list.
- Retrieve relevant server list on client startup.
- Make sure there are no issues when running local clients and servers.
- Use zones` world bounds to determine zones of interest.
- Send updated server list to client after transitioning zones.
- Avoid showing loading screen when client is loading distant zones.
- Send updated server list to clients when it changes.
- Connect and disconnect from servers as player moves through the world.
- Update webapi server for presence controller.
- Added world space offsets for zones, buildings, doors, and items.
- Improved OnGroundLocation to help ensure that the zone world offset gets accounted for.
- Increase physics world size from 10km to 40km, and subzone count from 2x2 to 5x5.
- "When changing zones on the client, avoid disconnecting from the destination zone."
- Use world time to determine which server owns an Entity.
- Store buffer until we spawn the player.
- Added new audio events for loading and transitions.
- Play zone transition audio as a local player sound.
- Load sound banks before loading zone to prevent models with attached sound events.
- Fix initialization order issue that was causing the game server to send an empty address to the presence server.
- Reset ModeComponent when sending between servers.
- Clear active proxies when we dispose the proxy manager.
- Fix zone loading when zoneIndex is not 0; making it easier to test multiple local servers
- Send all servers in the shard to presence server rather than filtering by distance
- Improve debugging by adding WebAPI routes and more info to log messages
- Add zone name to UI.
- Portal teleports directly to linked portal.
- Persist position across zone.
- Show ID for zone in HUD.
- Add zone name in server lifetime messages.
- Send CUCharacter when transferring player between servers.
- Adjust world time on the presence server to use UTC.
- Teleportation stone for testing - Art.
- Create model, materials, and VFX.
- Use Presence server to get a list of relevant game servers.
- Added PortalComponent, and SpawnPointComponent to ZonePortalEntity.
- Seamless zone transitions:
- Keep Entities around during ownership transfer.
- Prevent proxy from sending Entity deletions too soon.
- Don't show loading screen during zone transitions.
- Preserve player's world position when transferring ownership.
- Users can control players through zone transitions.
- Update teleporting zone transitions to still be supported with new updates.
- Serialize VoxComponent's contained items rather than loading them from the database.
- Implement custom serialization for ContainerComponent.
- Add task to game server that checks world time and logs any discrepancies.
- When DynamicEntity gets moved too far by a network update, remove the physics actor before setting its position.
- "Periodically request world time from presence server, then update physics server and RemotePhysicsScene with the new time."
- Don't wait for character save to complete when changing zones.
- Increase max player AnimSets to avoid client/server desync.
- Preserve player velocity and desired movement direction.
- Write the player using FastEntityWriter before waiting for the async call to RemovePlayer has finished.
- Update physics subzone barrier size to prevent client from extrapolating player movement using a large delta.
- Generate terrain border segments using control points at a specified subdivision level.
- Send border segments from physics to game server, from game to presence server, then from presence to all game servers in the shard.
- Intersect the border of the local zone with the borders of the other zones in the shard.
- Generate border segments that form a loop and are in clockwise order, then merge border segments that share an edge.
- Draw borders and intersections when generating heightmap image.
- "Send the shard ID in ClientConnectResponse rather than PlayerIdentityMessage, ensuring clients have the ID by the time they set it in the UI."
- Avoid deleting PhysX actors when removing ActorProxy from a physics subzone.
- Reference zones in shard by ZoneInstanceID.
- Add support for Realm resrictions on zones.
- Add support for starting zones.
- Add support for hidden zones, which can overlap with other zones.
- Add support for main zones, allow the ResourceID to be used for linking portals and spawning players from saved data.
- Mark zones as starting zones by default.
As a Backer, I'd like the selection of races in Beta 1 to have shared and unique idle and fidget animations.
- Race/Gender Fidgets
- Human_Male_Arthurian_Fidget_01
- Human_Male_Arthurian_Fidget_02
- Human_Female_Arthurian_Fidget_01
- Human_Male_Viking_Fidget_01
- Human_Male_Viking_Fidget_02
- Human_Female_Viking_Fidget_01
- Human_Female_Viking_Fidget_02
- Valkyrie_Male_Viking_Fidget_01
- Valkyrie_Male_Viking_Fidget_02
- Valkyrie_Female_Viking_Fidget_01
- Valkyrie_Female_Viking_Fidget_02
- Human_Male_Tuatha_Fidget_01
- Human_Male_Tuatha_Fidget_02
- Human_Female_Tuatha_Fidget_01
- Human_Female_Tuatha_Fidget_02
- Luchorpan_Female_Tuatha_Fidget_01
- Luchorpan_Female_Tuatha_Fidget_02
- Luchorpan_Male_Tuatha_Fidget_01
- Luchorpan_Male_Tuatha_Fidget_02
- Generic Fidgets:
- Humanoid generic fidget 01
- Humanoid generic fidget 02
- Male Humanoid generic fidget 01
- Female Humanoid generic fidget 02
- First Pass: Realm idle look and feel poses to inform direction.
- First Pass Realm look and feel idle animation - Arthurian.
- Second Pass: Realm idle look and feel poses to inform direction.
- Third Pass: Realm idle look and feel poses to inform direction.
- First Pass Realm look and feel idle animation - TDD.
- First Pass Realm look and feel idle animation - Viking.
- Unique Fidgets:
- Arthurian_Male_Fidget_Look
- Arthurian_Male_Fidget_Feet
- Arthurian_Male_Fidget_Extra
- Tuatha_Male_Fidget_Look
- Tuatha_Male_Fidget_Feet
- Tuatha_Male_Fidget_Extra
- Viking_Male_Fidget_Look
- Viking_Male_Fidget_Feet
- Viking_Male_Fidget_Extra
- Showcase Idles:
- Viking male armed axe/shield idle with fidget
- Viking male idle with staff
- TDD female idle with staff
- Arthurian female idle variation.
- TDD female idle variation.
- Viking female idle variation.
- Human_Female_Arthurian_Fidget_02
- TDD female with greatsword
As a Backer, I'd like abilities to play sounds.
- Add banks to sound resource.
- Load banks in client.
- Add support for DB for debugging individual banks.
- Lump together sound events as sound packages.
- Write sound packages to sound collection resource and index by ID.
- Rework all cogs that use sound events to use sound packages instead.
- Rework all places in client where sound events are being used to use sound packages.
- Remove references to hard coded sound events in client.
- Remove wwiseids.h.
- Improve sound import so it generates sound packages too.
- Remove references to hard-coded sound events in client.
- Sounds can be played based off ability activation:
- Extract sound info from ClientSkillDef on Server.
- Interpret Sound Info on Client and Pass to WWise Engine.
- Audit work to improve usability.
- Get some test sounds working on abilities.
- Unpackable sound resource:
- Expose functionality to preview sounds in editor.
As a Developer, I'd like to improve the visuals of our current characters and armor, and note lessons learned to move forward into our next iterations.
- Luchorpan Male and Female - Update skin, hair, and underwear rough and spec values.
- Arthurian Male and Female - Update skin, hair, and underwear rough and spec values.
- Tuatha Male and Female - Update skin, hair, and underwear rough and spec values.
- Viking Male and Female - Update skin, hair, and underwear rough and spec values.
- Audit Arthurian male and female light armor.
- Audit Arthurian male and female medium armor.
- Audit Tuatha male and female light armor.
- Audit Tuatha male and female medium armor.
- Audit Tuatha male and female heavy armor.
- Audit Viking male and female light armor.
- Audit Viking male and female medium armor.
- Audit Viking male and female heavy armor.
- Audit generic hand geometry, improve, re-weight, and add to test Arthurian.
- Audit Arthurian male and female heavy armor.
- Improve Arthurian heavy armor materials.
- Audit and improve character skin specular and roughness values.
- Audit and improve character armor, where applicable, to improve specular and roughness values.
- Improve female Luchorpan hair textures to test later new hair update.
- Audit skin rough and spec values to improve look of skin. - Update male Arthurian and male Viking as tests.
- Update male Arthurian default hair model and material.
- Update male Valkyrie and Pict nude model hands with better geometry.
As a Developer and Backer, I'd like to see improved visual fidelity in how our existing terrain materials blend together.
- Add blend maps to generic deciduous forest 001.
- Add blend maps to generic deciduous forest 002.
- Add blend maps to pine forest neutral 001.
- Add blend maps to pine forest Realm control variations.
- Add blend maps to grassland 001.
- Add blend maps to grassland 001 Realm control variations.
- Add blend maps to generic beach 001.
As a Developer, I'd like to improve, and add to, the SFX for re-abilitation.
- Create events for all current prototype abilities in wwise.
- Increase movement speed.
- Reduce movement speed.
- Generic increase to incoming damage.
- Generic decrease to incoming damage.
- Generic increase to outgoing damage.
- Generic decrease to incoming damage.
- Reduce stamina.
- Increase health regeneration.
- Decrease health regeneration.
- Increase ability prep/recovery time.
- Decrease ability prep/recovery time.
- Small blade swipe.
- Sword blade swipe x9.
- Dagger blade swipe.
- Axe blade swipe x2.
- Ice arrow.
- First pass resources for "magic type" abilities - 152 source sounds created.
- Additional ice arrow launch sounds.
- Generic freezing sound for ability effects.
- Ice arrow impacts.
- Ice AoE explosion.
- Additional generic use material for "magic" abilities.
- Melee swing sounds for crushing damage.
- Melee swing sounds for slashing damage.
- Melee swing sounds for piercing damage.
- Create loop for active bleeding effect.
- Arduous exertion shout sounds.
- Lighting damage over time assets and events created.
- Lighting damage AoE sounds.
- Arrow impact sounds for crushing damage.
- Arrow impact sounds for slashing damage.
- Arrow impact sounds for piercing damage.
- Arrow impact sounds for acidic or oozy type impacts.
- Arrow impact sounds for arrows with cords, vines, or ropes for grabbing and slowing type sounds.
- Arrow impact - flame burst.
- Generic fire loops.
- Arrow impacts for cloud-like "poof" explosions.
- Generic heal over time loops.
- Fountaining bottle ability SFX - 4 variations.
- Create library of grunts, yells, death screams, etc., for both male and female.
- Create first pass class voice sets.
- Beating heart loop SFX for blood loss.
- Generic item break sound for item durability.
- Generic block activation.
As a Developer, I'd like to have a smaller executable that loads faster, enables shader debugging again, and have more shader permutations.
- Speed up shader compilation.
- Move shaders into resource system, and load via the patcher.
As a Backer, I'd like to play in new biomes that change according to Realm ownership. - (Mini) Biome 05
- Concept Art pass - Mini biome - grassland with rock spheres.
- Concept Art pass - Grass and stone Realm variations.
- Determine asset list.
- Neutral - Create ground texture sets.
- Neutral - Create grass and ground cover assets.
- Neutral - Create small to medium assets. (Bushes, rocks, etc.)
- Viking - Create ground texture sets.
- Viking - Create grass and ground cover assets.
- Viking - Create small to medium assets. (Bushes, rocks, etc.)
- TDD - Create ground texture sets.
- TDD - Create grass and ground cover assets.
- TDD - Create small to medium assets. (Bushes, rocks, etc.)
- Arthurian - Create ground texture sets.
- Arthurian - Create grass and ground cover assets.
- Arthurian - Create small to medium assets. (Bushes, rocks, etc.)
- Neutral - Clean up and optimizations.
- Viking- Clean up and optimizations.
- TDD - Clean up and optimizations.
As a French Backer, I'd like to visit the French version of the updated Camelot Unchained website.
- Language selection added to site header.
- Find a group of awesome French-speaking Backers to assist us!
- Primary artwork containing text translated and added.
- Secondary artwork containing text translated and added.
- Site navigation text translated.
- Foundational Principles translated.
- Primary game information translated - About, Realms, Races, Classes, BSC docs.
- All lore translated.
- Recent news articles translated.
- Stretch Goals translated.
- Stretch Goal images containing text - translated images.
- All newsletters translated.
- C.U.B.E. page translated.
- Alpha Manual translated
- Class Reveals translated.
- Thank you Mod Squad translated.
- First pass review of updated site.
- Forum FAQ translated.
- All additional updates translated to March 25th
- All additional newsletters translated to #15.
- First pass prep new website.
- Class Reveal Audits:
- Arthurian:
- Abbot
- Blackguard
- Black Knight
- Dread Caller
- Flame Warden
- Minstrel
- Physician
- Specter
- Veilstalker
- Vikings:
- Arisen
- Child of Loki
- HelBound