Halfway Through August!


This month, so far, has seen a serious focus on both the re-abilitation front and on client stability. I’d like to call the last two weeks “the re-sta’bilitation push”! This effort is focused on getting us a good foundation for testing all the work going into Camelot Unchained as we fly toward Beta. The team here has continued working very hard, not only on the two aforementioned issues, but also on many other tasks related to Beta, so we can land a good, strong, yet old-school Beta build. I’ve got lots of progress to cover in this update, so let’s get that rolling!

We’re trucking along at a great pace with this week’s update, and I couldn’t be prouder of the team I have the privilege of working with.

Let’s start with the “Top Tenish” List, which encompasses some of the highlights of this week:

  1. Client Stability – We fixed several deadlocks, which include the stalling issue when loading the game a few people were experiencing. (Including myself, at home 🙁 –but it’s fixed! 🙂 )
  2. We’ve fixed several other points where crashes were occurring in the client!
  3. Bots – Our good ol’ bots continue to be improved, and now run around spamming arrow abilities. This has been a big boon in testing client and server stability.
  4. Server – Still running like a champ through the last two weeks of testing, even with testers spamming arrows! Remember, as we’ve mentioned, these arrows are all 100% interactive physics objects that run through our server and are sent to every client!
  5. We’ve pushed new archery-related ability components to Hatchery for testing. This will give players more “pew pew” mechanics to play with when helping us test.
  6. Added a way to set up abilities that fire off “subskills” based on tags. An example of this would be an ability that shoots a fireball with “fire, projectile” tags, and an iceball with “ice, projectile” tags. We can have these do different things, but more importantly, we can really easily make a buff that adds knockback to all of your projectiles, and another one that adds explosions to all of your fire abilities! – So that’s neat!
  7. Work continues on physics sub-zones. As we’ve mentioned before, this work will allow us to expand our island size, and is part of the road map to a large, multi-zoned, world.
  8. Abilities can now target body parts using the new ability system. If you’d like to test this out, you can use the Broad Cleave ability (from the Black Knight, although for testing purposes, anyone can use it right now) to take out your opponent’s legs. This is also shown on the updated player health UI.
  9. Player and target health UI widget – JB has been quietly knocking off all kinds of tasks. One of which is a first pass at a working player health widget that uses the newly returned body part health system.
  10. You know all those cool CU weapons you’ve seen Jon modeling on stream? We’re now laying out the material pipeline to maintain their awesome visual fidelity. This work will begin appearing in game next week, for testing.
  11. During testing, Tyler did some auditing of the forest we densely populated for testing previously. He’s currently making some large audits to the assets, and we should see an improvement in framerate there. This work will also dictate how we build assets moving forward, to maintain good framerates.
  12. Finished high poly modeling pass on Arthurian and Viking maces, Arthurian Physician bottles, and the Viking Stonehealer’s rune-covered rocks for chucking at players.
  13. We’ve pushed the second wave of gifting to applicable Backers, so they can hand out the tiers included in their Pledges. Really excited to see lots of new faces in game, as gifted tiers are handed out.

For even more info on progress made, I present for you, the User Stories… TA-DA!

17 old cards with 117 completes.
4 New cards with 13 completes.

As a Developer, I’d like a way to be able to edit gameplay variables on the server, live.
Updated slash commands – build vars can be set with just /command, rather than /var command (previously were shift+enter commands). – Complete

As a Backer, I’d like to know about smaller changes that don’t have their own user story.
First pass C.U.B.E. video. – Complete
Create an arrow-firing turret model for testing arrow spam that can be placed on the ground. – Complete
Fix auto run when alt-tabbed. – Complete
Set game client window to start on top of other windows, instead of starting up behind other windows occasionally. – Complete
Updated character creation to calculate character health on creation, rather than starting a new character with 1 hp. – Complete
Organize GitHub repositories – Complete

As a Backer, I’d like to know about all the smaller enhancements the MOD Squad makes to Camelot Unchained.
Set correct Sass importer package for game/HUD and patcher. – Complete
Hide selected server in the server list on the patcher. – Complete
Building UI pass 3 – moveable/resizeable building widgets. – Complete
Style server select on patcher to match the rest of the sidebar. – Complete
Covert crafting module to a widget within the HUD module. – Complete
Fix input ownership bug with reload UI command. – Complete
Write Pull Request guidelines for CU Github Wiki. – Complete
Modifications & Bug fixes for hud movement & scaling. – Complete
Fix character auto-select on patcher. – Complete
Getting started points – Github setup, Trello setup, chat setup. – Complete
New chat design concept. – Complete
Simple temporary help window for HUD editor. – Complete

As a French Backer, I’d like to visit the French version of the updated Camelot Unchained website.
C.U.B.E. page translated. – Complete

As a Developer and Backer, I’d like to see improvements in memory usage and threading.
Create a tool to track and find possible threading issues in the client. Add to HUD. – 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!
Use new chat library within the patcher & game client. – Complete
Bug fixes to Patcher UI. – Complete
Update patch build process for easier debugging of the patcher with npm run debug command to launch a patcher using the currently compiled source. – Complete

As a Backer in Beta 1, I’d like to play in a Party, or Guild – UI.
Player Health Widget:
Hookup real-time data through client. – Complete
Target Health Widget:
Hookup real-time data through client. – Complete
Additional UI work:
Enabled HUD movement & scaling on the in-game UI. – Complete
Respawn UI moved to the HUD module and can be moved & resized. – Complete
Convert CU’s XMPP chat library to a standalone package to allow for inclusion in any web package. – Complete
Re-arrange some UI elements & set default HUD layout. – Complete
Update animation component for UI modules. – Complete
Get CSS Animation working for in-game UI on health bars. – Complete
Add race/gender icons to health bars. – Complete
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. – Complete
Added support for UI reloading using /reloadui command from in-game chat. `/reloadui` alone will reload the entire UI, `/reloadui hud` will reload just the HUD module; works with any module name to reload that specific module. – Complete
Remove any need for globally installed npm packages. Now all you need is NodeJS installed to install and build projects in the Camelot-Unchained repo. – Complete
Set up and use private NPM registry for Camelot Unchained private modules and overrides of existing npm packages. – Complete

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 – Complete
Human_Male_Arthurian_Fidget_02 – Complete
Human_Male_Viking_Fidget_01 – Complete
Unique Fidgets:
Arthurian_Male_Fidget_Look – Complete
Tuatha_Male_Fidget_Look – Complete
Viking_Male_Fidget_Look – Complete
Viking_Male_Fidget_Feet – Complete
Showcase Idles:
Viking male armed axe/shield idle with fidget – Complete
Viking male idle with staff – Complete
TDD female idle with staff – Complete

As a Developer, I’d like to have a selection of weapons that visually represent each Realm’s identity. – Arthurians
One-handed mace – V1: Modeling pass. – Complete
Potion/Elixir Bottles: First Pass planning mix and match parts system. – Complete
Bottle – V1: Modeling pass. – Complete
Halberd – V1: Modeling pass. – Complete

As a Developer, I’d like to have a selection of weapons that visually represent each Realm’s identity. – TDD
One-handed maces: Second pass TDD specific maces concept art. – Complete
Two-handed great swords: First Pass planning mix and match parts system. – Complete
Two-handed greatsword – V1: Modeling pass. – Complete

As a Developer, I’d like to have a selection of weapons that visually represent each Realm’s identity. – Viking
One-handed mace – V1: Modeling pass. – Complete
Two-handed hammers – V1: Modeling pass. – Complete
Stonehealer rocks: Modeling pass. – Complete

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.
Add variables for artists to audit lighting contributions. – Complete
Add variables for artists to audit shadow hardness and shadow offset. – Complete

As a Developer, I’d like the Camelot Unchained ability system to fully support the design scope of the game for B1.
Payloads now support different types at the same time. Ex: shoot a fire arrow and an electrical arrow at the same time. – Complete
Disruption from Movement:
Set up smarter registration for Physics Events so that a player who isn’t using any skills will not be spammed with movement events. – Complete
Apply Disruption based on movement distance. – Complete
Code Review Fixes, and refactored code to better fit our event pattern. – Complete
Ability Builder Update:
Abilities describe themselves in spellbook and UI to better assist with auditing bugs. – Complete
Bots and testing:
Resurrect old bot code so they now run around. – Complete
Bots now randomly stop and fire arrow abilities for testing. – Complete
Improve arrow spamming issues for better feedback. – Complete
Fix deadlock on loading. – Complete
Fix multiple points of lock ups after loading, in client. – Complete
Improve scene rendering by removing locks to fix suspected crashes. – Complete
Create a tool to monitor, live, possible threading issues. – Complete
Fix issue where client tends to hang upon quitting. – Complete
Add new types of arrow abilities for testing. – Complete
Fix and improve issues with the crash reporter for ease of use. – Complete
Damage tracking:
Add Event Handlers to Events. – Complete
Forward EH’s when child Events are created. – Complete
Total damage done across multiple targets. – Complete
Apply healing at the end of send/receive damage chain. – Complete
HealOnDamageDone now applies to HealthComponent and uses sub-parts. – Complete
Body Sub-part health:
Change health component to have sub-parts. – Complete
Create skill node for targeting specific part. – Complete
Send sub-parts to client so health bars can update correctly. – Complete
Server side info relayed. – Complete

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. 
Procedural material creation and pipeline documentation:
Example files: Surface coloring techniques V2. – Complete
Old materials updated to procedural:
stone_cobble_001 – Complete
marble_tiles_001 – Complete
stone_cobble_008 – Complete
marble_tiles_007 – Complete
wood_planks_010 – Complete

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:

Review and fix change requests. – Complete
Physics Subzones:
Change static actors to use the new system. – Complete
Change dynamic actors to use the new system. – Complete
Create multiple physics subzones and add actors to the correct one. – Complete
Make Raycast and Overlap methods use the correct subzones. – Complete
Apply a world position offset when loading zones. – Complete
Handle actors moving between subzones. – Complete
Handle collisions during subzone transitions. – Complete
Handle triggers that span multiple subzones. – Complete

As a Developer, I’d like to improve, and add to, the SFX for re-abilitation.
Ice arrow. – Complete
First pass resources for “magic type” abilities – 152 source sounds created. – Complete

As a Designer of Camelot Unchained, I’d like to have the tools necessary to create abilities using the re-abilitated ability system code.
Assist with XML autogen. – Complete
Determine plan for subject in the SNCtx. – Complete
EventAccumulator to glom nodes for sending – block blocks the entire ability now. – Complete
Damage type in DamageFromWeaopn – no more sending “Do 0 crushing damage”. – Complete
Update naming in skill nodes. – Complete
Make payloads work – “pew pews” now work. – Complete
Reload nodes can be run from server console. – Complete
More logging on XML parsing, and fix pre-existing issues. – Complete
Hack client spec into projectiles for more variety in testing. – Complete
Additional scriptable points. – Complete
XML cleanup. – Complete
Triggers can target the person they are on. – Complete
Tagged payloads – now we can have multiple payloads in one ability! Shoot a fire and electrical arrow at one time! – Complete
Wildcards for payload tags. – Complete
Bug fixes. – Complete
Triggers use payloads now. – Complete
Archery 1.0 merged into master. – Complete

New Cards:

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. – Complete
Add a button to the editor to support skeleton cloning.  – Complete

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. – Complete
Audit placeables. – Complete
SpawnArea Placeable: place, store, load SpawnArea. – Complete
Server loads spawn areas by zone ID and places dummies using spawn areas. If no spawn areas exist, fall back on global config. – Complete
Add view in world editor for entity placeables. – Complete

As a Backer and Developer, I’d like to see increased visual fidelity and improved performance in the dense test forest.
Audit poly count of tall tree and reduce. – Complete
Change mushroom texture layout to use tris and update material to PBR. – Complete
New branch material for trees that looks better and is cheaper. – Complete

As a Developer, I’d like to have a clear visual design for the UI of Camelot Unchained.
Preliminary research and discussion of past and current trends. – Complete
Mood boards. – Complete
First pass audit and discussion of boards to determine direction. – Complete
First pass UI examples. – Complete

A great two weeks of work there, from a dedicated team! Let’s move on to images of new art assets, starting with the beginnings of most game assets: concept art!

First up, some concepts of Arthurian maces:

These concepts then take life as high poly sculpts by Jon:

Last week, Jon was also able to get to a couple of TDD great swords, a Viking two-handed hammer, and an Arthurian polearm!

Here’s a close up shot on one of the TDD greatswords, showing one very unhappy fairy:

One thing we’ve been talking about in past updates is our idle animations. Because this game will support massive, 500-player battles, a big concern is visual readability. One of the first things we did with the idles was work on a variety of poses that were not only cool and expressive, but also were different enough between Realms that you could tell the difference at a glance. While this is only the start of Realm, gender, and race-specific animations (and will change and be added to), we’d thought we’d give you a look at that first step:

I’m going to end this little art show on one shot I took while running around during some in-office testing this week. To preface this, I have to explain that we artists are generally never happy with our finished products. And as is usual, I had just finished generating a list of fixes and improvements I wanted to make to the old forest, when I got up on this big hill in the game, and just said, “Wow. I sometimes forget this game already looks pretty damn good.” (And we have so much more room to improve it!)

Have a great weekend all,
– tyler