Mine? Mine? Mine? – Friday, July 14, 2017

Alrighty then! Tim and I just sat back down at our desks after a lengthy End of Week Wrap-Up. As this was a fairly busy week, we covered a lot of topics in our Top Tenish talk. We also took a pile of questions at the end, which made for a lengthy stream, clocking in at one and a half hours! If you missed that, you can catch it HERE.

Last week, we began a focused effort on client stability. This is one of those things that we have to deal with every once in a while as part of maintaining code. The problems born from the state of this code kept us from testing at the end of last week, and, unfortunately, have also kept us from more testing this week. That is the bad news. The good news is that Andrew and George are “burning this code with fire” as we speak, which will not only make the client more stable, but will make it easier for us to use moving forward.

For this week’s development, we’ve had no significant problem in working around this issue, so there’s plenty of work to show off in this week’s Top Tenish.

Top Tenish:

1. WIP – Tech – Siege Engines: We’re getting closer to siege engines that actually look, feel, and play like they need to for the opening of Beta 1! Matt took Scott’s first pass scorpion siege weapon animation and successfully paired it with the ability system this week. The scorpion upper half now animates according to the ability as you aim and fire. Coming up soon: investigations into pairing a character to the scorpion, second-pass scorpion animations, and bolt-based siege abilities.

2. WIP – Animation system improvements to support archery: Late last Friday, Andrew improved the timing of the archery animations with the ability system and also added IK functionality to the aiming of the character. Now, as you aim, the character’s body and arms will aim with you! It looks so much better! As an anecdote: Andrew was deep in thought working on this, then suddenly looked up and said, “I’m doing quaternion math in my head!”

3. WIP – Tech – Scene Updates: Per last week’s Top Tenish item about client instability, we’re focused on Scene updates right now. A Scene contains the objects of your game like cameras, models, effect, etc. The updates in our Scene are spread across as many threads as possible to maximize performance. As more and more things have been added to the Scenes later, we’ve uncovered some issues with Scene stability. We’ve put some of our top programmers on the case to make things more stable now and for future changes. Once we get things sorted, we’ll be back to our regular testing cadence.

4. Tech – Item Updates: Support for item slots went in with the changes to support recipe making (last week’s stuff). We’re now also able to specify items in data sheets (such as character loadouts) so that they can be fully made as if they were crafted items from the start. Also, in an effort to avoid creating rips in space and time, we’ve added protection to avoid putting a container or a Vox inside of itself (we all want to avoid Vox-ception).

5. WIP – Tech – Building Segmentation: Server physics for buildings is now segmented, meaning it builds the physics mesh in smaller segments. This optimization allows us to have even bigger buildings. Rob is currently throwing metrics at these changes, and once things are more stable, we’ll be testing bigger plot sizes.

6. WIP – Tech – Terrain Control Points: Brad is updating and continuing work on the control point code. Ownership of a control point is what supports, among other things, changing the terrain to show that your Realm controls it. In the past, we’ve also used these for our point-based control game. Our current control point code is specific to terrain, and Brad has some ideas on how to extend this code for use with other potential systems in the future. While we’re not committing to that yet, as we still need to discuss the details, we’re hoping for a two-for-one task: If it works out, control points can also take other inputs like lighting, ambient sounds, and other effects we’ll tackle later. This would give us much more variation for showing control of a biome by a specific Realm!

7. WIP – Design/Art/Tech – Ability Bar Visual Design: While JB and AJ finish up the first pass of player inventory UI, they have begun meetings with Art and Design to work out tasking for near and long-term changes to the ability bar visuals and functionality. James has begun the layout phase to stay ahead of engineering.

8. Art – UI – Inventory and Damage type icons: James Koo, or as Mark refers to him, “Mr. Koo!”, has finished up a fairly large task: creating all the icons currently needed. Roughly 150! It’s a worthy accomplishment, especially once you take into account that each one is its own individual piece of vector art and needs to convey a lot of specific information quickly, in a teeny tiny little space. As noted above, he’s begun work on the ability bar layout and styling.

9. Art – TDD Portal Marker Concept: As mentioned last week, we weren’t happy with the TDD version of the portal marker. Included in today’s update is an image that shows where Michelle has taken it, which we all agree is much stronger. Still a few more details to figure out, but we’ll get Jon modeling this on a livestream soon!

10. WIP – Art – Mines: Dionne finished a rough pass last week to figure out some of the basic scale of interior spaces. This week, she has continued to build new pieces with added props. Our first goal is to get an interior in-game for Backers to explore and provide feedback. Then we’ll go wider, creating more Lego-style pieces with variation, from which Designers can build something fun! Mark enthusiastically raised his hand to take on this arduous task.

11. Art – Animation – one-handed club, mace, and sword animations: In this example, we have a club animation going on in the left hand, and a one-handed sword animation in the right. This week, Sandra completed a sword piercing attack, and both weapon-deflect animations. The next step is to reverse the weapons’ hand placements so that players can equip those items in either hand. This will do away with the old rough-pass animations for these weapons.

12. Art – Animation: Scott finished off the two-handed greatsword deflect, flinch, and additional cape and skirt polish this week. As with Sandra’s work, we’ve made more than one deflect animation, so we have several timings to try out when this gets hooked up with the ability and animation systems. We’ll include a video in today’s update.

13. Art VFX – Weapon Trails and Blood Splatters: Well, that’s an item I didn’t expect to be writing! Mike has been working on improved blood splatter resources this week. Every time I look over at his screen, some poor soul is is leaking from somewhere on their body! Additionally, he’s been looking into the settings and details in our VFX system to get “weapon trails” added to abilities. As a side note, Ben is wrapping up the breakdown of VFX and SFX needed for our healer archetypes, which will get more attention soon.

As I said, not only are there plenty of list items, but they represent a solid week for us here. Now let’s get into even more info. We’ve always said we’ll do our best to be one of the most transparent game development teams out there, which leads us to User Stories. If you’re not familiar with these, you can find them on a searchable page on our website. They basically provide a deep dive into all the tasks to complete a feature. We’ve now moved to a once-a-month update cadence for these, so the list below may seem a bit longer than usual. Which is a good thing! We’ve had a solid month of progress, staying slightly above-average for User Story updates. They’re all presented below. Of course, if you just want to get to the pretty pictures, get your scroll wheel finger ready, and scroll till you see some great art from our team!

User Stories: 105 Complete.
24 Old cards with 93 completes
4 New cards with 12 completes.

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.
Optimization and LOD pass on statues 1-7 – Complete

As a Backer, I’d like to know about smaller changes that don’t have their own user story.
Teleport into a random place near a central teleport location. – Complete
Allow compiler to optimize math operations where part of a value is known at compile time. – Complete
assert_cast on reference types, improving build speed of NDEBUG target. – Complete
Shadow Quality options slider goes from 0-4. – Complete
Update health bar for correct resource regen rates. – Complete
Create and run events using an event runner that is created by the event processor. – Complete
Recreate entity-control components when sending an entity to another server. – Complete
Prevent models from reporting they are done building before they are actually done.  – Complete
Audit User Stories for accuracy. Meta much? – Complete
Create VFX and SFX for Fourth Of July holiday, and for fun future VFX and combat tests. – Complete

As a Backer, I’d like to see the world of Camelot Unchained continue to develop through its lore.
Silverhands Becoming – Part 2 Final Draft – Complete
Silverhands Becoming – Part 3 Final Draft – Complete

As a Backer, I’d like to see graphical and networking performance improvements, when building and destroying structures.
Encoding/Decoding creates a record of the segments that changed, which can later be used to update buildings for renderable/physics/whatever. – Complete
Send building updates to the physics server as deltas, to determine which parts of the physics mesh need to be rebuilt. – Complete

As a Developer, I would like easily searchable server logs that are the front line of finding problems.
Break out timing by message type. – Complete
Add the message size to metrics. – Complete

As a Backer, I’d like to see improvements in server stability, speed, and robustness.
Incorporate proxy metrics. – Complete

As a Backer in Beta 1, I’d like to see improvements in visual performance, particularly frame rate and memory usage.
Improve shadow look to account for draw-distance increase. – Complete
Make sure the player-character and surrounding 15m is always in the highest cascade. – Complete
Back the cascade off to 1km view distance, tripling the resolution. – Complete

As a Developer and Backer, I’d like to see improvements in lighting and rendering.
Fix square artifacts in shadows on semi-transparent surfaces. – Complete
Prevent shadows from flickering during any kind of move or rotation. – Complete
Limit the maximum range of shadow maps and keep a similar brightness across cascades. – Complete
QueueForRenderable returns whether or not the Renderable actually rendered anything.  – Complete
Particles will only render into the environment map if they’re in the sky. – Complete
Move SampleMask to a shared header for Prepass and Shadow pixel shaders. – Complete
Shadow performance improvement – don’t draw invisible cascades.  – Complete
Changes to render accumulation so that views keep track of the extents of the visible area where they are rendered. – Complete

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!
Update Discord server bot to accept parameters.  – Complete

As a Developer, I’d like to see improvements in the editor to facilitate my work.
Handle edge case of a skeleton having no animation clips when processing. – Complete
Handle bad DLL distribution at editor startup. – Complete

As a Backer in Beta 1, I’d like to play as a Crafter with basic gathering and crafting mechanics for testing.
Avoid negative mass value in alloy “percent remaining” calculations when alloy has already been split. – Complete
Add protection against putting a container/Vox inside itself. – Complete
SFX: Foley recording and processing for mining, axes, etc. – Complete
Support for Make action and MakeJobs – Complete
Resource Nodes:
Add a config value to be able to turn off resource node damage. – Complete

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.
Sub items are stored in the DB as a full Item dbmodel under the item. – Complete
Bust item cache on load and modify. – Complete
Create persisted StackHash for items that can be fetched through the API server queries. – Complete
Support for loading of equipment whose equip slots have changed due to item versioning. – Complete
Allow items to be placed in/removed from containers which are in containers. – Complete
Optimize ‘refill ammo’ by cloning similar items instead of making a new identical itemDBModel. – Complete
Make items which comprise other items take up generic item sub slots. – Complete
Implement Item movement API for moving items and item stacks throughout inventory. – Complete
Adding ItemSubSlot information to allow Vox jobs to hold multiple items associated with the same recipe slot. – Complete

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.
First pass inventory icons – armor, weapons, crafting, misc. – Complete
Second pass inventory icons – armor, weapons, crafting, misc. – Complete
Compile all of the UI SVG icons into one font. – Complete

As a Developer, I’d like the Camelot Unchained ability system to fully support the design scope of the game for B1.
Make creation of multiple target dummies happen in parallel. – Complete
Use IWorldState in ServerEntities instead of WorldState. – Complete

As a Backer, I want to seamlessly move between islands and zones without being aware that I’m moving between different game servers.
Physics Subzones:
Update physics subzone barrier size to prevent client from extrapolating player movement using a large delta. – Complete

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.
Audit and improve character skin specular and roughness values. – Complete
Audit and improve character armor, where applicable, to improve specular and roughness values. – Complete
Improve female Luchorpan hair textures to test later new hair update. – Complete

As a Developer, I’d like to have a clear visual design for the UI of Camelot Unchained during Beta 1.
Final pass health bar styling. – Complete
First pass menu bar style concept. – Complete
Second pass menu bar style concept. – Complete
First pass damage type icons. – Complete
Second pass damage type icons. – Complete

As a Backer in Beta 1, I’d like to play the Arthurian Blackguard class.
VFX- Break down Archer component needs in phases to facilitate quicker combat testing with polish later. – Complete
VFX – Bow Abilities – Prepare to Projectile Success: First pass shared and generic assets assigned. – Complete
VFX – Arrow type – Projectile Trail: Unique arrow trails per arrow type assigned. – Complete
SFX – Break down Archer component needs in phases to facilitate quicker combat testing with polish later. – Complete
Animation – Break down Archer needs in phases to facilitate quicker combat testing with polish later. – Complete

As a Backer in Beta 1, I’d like to play the TDD Forest Stalker class.
VFX- Breakdown Archer component needs in phases to facilitate quicker combat testing with polish later. – Complete
VFX – Bow Abilities – Prepare to Projectile Success: First pass shared and generic assets assigned. – Complete
VFX – Arrow type – Projectile Trail: Unique arrow trails per arrow type assigned. – Complete
SFX – Break down Archer component needs in phases to facilitate quicker combat testing with polish later. – Complete
Animation – Break down Archer needs in phases to facilitate quicker combat testing with polish later. – Complete

As a Backer in Beta 1, I’d like to play the Viking Winter’s Shadow class.
VFX- Break down Archer component needs in phases to facilitate quicker combat testing with polish later. – Complete
VFX – Bow Abilities – Prepare to Projectile Success: First pass shared and generic assets assigned. – Complete
VFX – Arrow type – Projectile Trail: Unique arrow trails per arrow type assigned. – Complete
SFX – Break down Archer component needs in phases to facilitate quicker combat testing with polish later. – Complete
Animation – Break down Archer needs in phases to facilitate quicker combat testing with polish later. – Complete

As a Backer, I want an animation system that blends multiple animations together, and allows for immersive and fun combat.
New Animation System:
Particles and sounds can be played out of animation clips. – Complete
Animation events are properly hidden when their body region is masked. – Complete
Animation events re-fire when you loop through that section of a clip again. – Complete
Changing the clip will clear all pending effects. – Complete
Calculate BodyRegion of bones earlier in the FBXBuild process and include BodyRegion on AnimEvents – Complete
Give ‘flinch’ a lower priority than jump and run on lower body. – Complete
Attach skill phase -> animation segment mapping to animation effects. – Complete
Properly feed start phase and duration through all ClientSkillEffects. – Complete
Fix PoseGenerator so a BoneMover can add another BoneMover from its UpdatePreVis. – Complete

As a Backer in Beta 1, I’d like the ability to build, spawn, aim, and fire a siege engine at players and buildings.
Post Re-ab Revisit:
Clear out player’s movement server side when they take control of a siege engine. – Complete
Simple siege exit button in UI instead of slash command. – Complete
First pass arthurian scorpion animations. – Complete

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.
Additional prop pass – fish, nets, buckets, statues, etc. – Complete
SFX: Generic, localized, wharf ambience. – Complete
SFX: Creaking wood localized sound for docks.  – Complete
SFX: Brazier fire. – Complete

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.
Second Pass Concept Art. – Complete

New Cards:

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. – Complete
Offensive stance: Upper body combat movement – walk, run, jump, fall. – Complete
Offensive stance: Mid slash attack. – Complete
Offensive stance: Block/Deflect, flinch, death. – Complete

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.

First pass white box of assets to determine scale of tunnels, caverns, etc. – Complete
First pass generic tunnel art: Update purchased models and materials to begin creating parts library.  – Complete
First pass rough propping of assets to create appropriate look and feel. – Complete
First Pass: Water eroded cavern props – modeling and materials. – Complete
SFX/VFX: Smaller variation to generic wall torch, for use in smaller spaces. – Complete

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. – Complete
First pass portal marker 2D concept art for each Realm, with Realm control material variations. – Complete

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. – Complete

For those of you who came for the details, or were curious about a specific feature, hope you found something awesome! If there’s a feature not represented in this update, you can always go to our User Stories page on our website and search for what you’re curious about. For those of you with the tired scroll wheel finger, time to move onto the art for the week!

Let’s start where most ideas first go: concept art! In last week’s update, we showed off the Arthurian and Viking portal marker models. That left the TDD marker, which we weren’t quite happy with. You can see that concept piece HERE. We asked Michelle to come up with a new idea. Boy, did she come up with a new idea! We really liked the new direction, so the images below represent her explorations. First up, the line drawings.

After a quick review, we chose one in particular for further development. The next image represents exploration of different base treatments. I say ‘base’ because once one is approved, we’ll move into how the marker will change when a different Realm controls the territory it resides upon.

If you find this piece particularly enchanting, you can catch Michelle’s stream from earlier this week to watch her skillz in action!

Next up, we have an video clip of new animations for the two-handed greatsword. We’re building off of last week’s animation video by adding in a couple of flinch animations, deflects, as well as a death. Nothing says RvR like a good death animation, right?

Next, we have some in-engine shots of the continued mine work from Dionne. You can catch last week’s livestream where she began working on these assets HERE, and this week’s livestream HERE. This is still very much a work-in-progress. We’re focused right now on the size of the rooms and halls first, before we began really building all the pieces out. This thing has already proven spooky, as I myself got a little freaked out running around in it! Imagine prepping your abilities for a surprise close encounter in here.

And here’s a shot out of Maya, showing the rough layout in progress. We’re looking forward to getting Backers inside this thing! Don’t get your pencil and paper out yet, the layout is sure to change. 🙂

Next, we have some images of additional prop assets for the mine, which Jon focused on this week. You can catch his relevant livestream HERE. Our goal is to not only create interesting landmarks within the mines, to help you tell where you are, but also so we can create wholly different types of mines and caverns. Personally, I love the idea of running around in an underground area with the beautiful rock shapes that come from eons of water erosion. As simple as some of these shapes may seem, they actually take a bit of work to get right. I think Jon really hit these out of the park! Not only can we use them as larger “hero objects” with unique textures, but we can also combine them together to create all sorts of visuals to fill out entire walls, rooms, halls, etc.

Jon likes refers to one of the shapes in the last image as “the pinecone rock.” We’ll be sure to place this as a large landmark in one of the rooms so you know when you’re turned around: “Dangit! We’re back at the pinecone rock!”

Well, that wraps up another productive week here at CSE. We’re still chugging along on an awesome project, backed by awesome and clearly enthusiastic Backers, who are just as excited as we are to play the game. Until next week, have a great weekend all, and we’ll CU next week!