Let there be lights, lots of lights!
Happy Memorial Day, in advance, to all our Backers in the US! With the one-day break coming up, we have another great update to share with you. Let’s start with Andrew’s return from Seattle after a great week with the team out there: lots of stuff got done, important conversations occurred, etc. The results from that week are already being seen in the game build. Besides that, the last two weeks of work have resulted in a whole heaping helping of User Stories and new stuff for you folks. So, let’s get right to our Top Tenish™ list:
- WIP – Tech – Terrain updates for Realm control: Last week’s terrain update fixed many deadlocks and crashes in the old code, and made use of George’s threading library. This task was a precursor to Brad’s current focus: to resurrect the old control point code. This gets us one step closer the Beta 1 feature, “Terrain updates based on Realm control.” This task will be an audit of performance during those transitions, which will inform how we visualize this moving forward.
- WIP – VFX – Performance Improvements: Per last week’s update, we’ve determined the tasks necessary to improve performance, which has become a three-pronged approach from Dave, Andrew, and George. This week got us to about the halfway point of a significant frame rate improvement on the existing VFX test zone.
- WIP – Tech – Seamless zone transitions: With a proof-of-concept in place last week, this week was spent ironing out bugs. Right now, we’re working on the slight “hitch” some players saw during zone transitions, as well as the possible one-frame loading screen that was happening some of the time. In the background, Colin is working on automatically placed boundary triggers.
- WIP – Tech – UI: With new features being added regularly, such as character stats, inventory, and crafting UIs, we’re improving how we pass data to the client. The API server now knows everything about abilities, items, characters, recipes and crafting info. This will improve workflow around existing and future UI’s.
- WIP – Tech – Wounds and trauma: We’re revisiting the rough first pass of the wounds and trauma code to make use of new code written while we wrapped up encumbrance. At the same time, this pass will also fix several long-standing bugs in the system, like dummies not respawning, and issues with bleeding to death. No one likes issues with bleeding to death, amiright?
- WIP – Tech – Salvaging: After several successful tests of the crafting system using slash commands (in lieu of not-yet-ready Beta 1 UI), this week we’re moving to the next obvious step, breaking things down. An example of this would be: “I make steel from iron and carbon, then a sword from that steel. Salvaging the sword gets you steel back. Salvaging THAT steel gives you the original substances.”
- WIP – Tech – Siege weapons: We can now deploy siege engines with a rough pass of correctly communicating their aiming across the network. In progress this week, Matt is working on setting them up to use abilities that use the ammunition placed inside of them.
- Art – Sound: dB completed an additional ambient track, and with Gabe’s help, is starting work on Realm-specific landing music (music that plays when you first enter the game).
- Art – Animation: Scott completed a polish pass of smaller knockback animations from four different directions. You can see a WIP version of these below. Sandra completed several polearm swings and movement animations, with cape and skirt, using the better-looking four-part and full-body movements.
- Art – Concept: Michelle wrapped up another pass of the health bar UI elements this week, as well as some sketches for Realm-specific torch models with VFX.
- Art – VFX: Mike completed new torch VFX for wall torches in sconces, and is working on Realm-specific VFX for the spawn point statues, with a first pass of the Viking complete. As we’ve changed not only how we render particles, but also added in more functionality, these assets provide a new level of challenge in testing those changes.
- Art – Armor – Helmets: This week, Jon completed several TDD helmets, and has begun working on the Viking helmets. You can catch his work in this week’s stream HERE. The finished assets will make it into the game around animation priorities.
- Art – Environment: This week, Dionne finished a few more assets to fill out the deciduous 001 forest. In order to render not only large viewing distances in an MMO, as well the scale of battles in CU, we took a step back and revisited the pine tree assets, partially in prep for Realm terrain transitions. We discovered an opportunity for some big savings in the tree LOD setups, which Dionne is currently working on.
20 Old cards with 63 Complete.
2 New cards with 7 Complete.
As a Backer and Developer, I’d like to see increased visual fidelity and improved performance in the dense test forest.
Add ground clutter branches, etc. – Complete
Fern Realm variations. – Complete
Additional short stump models with Realm variations. – Complete
Create mid-size logs with Realm variations. – Complete
As a Backer, I’d like to know about smaller changes that don’t have their own user story.
Setup server entities to handle multiple shards. – Complete
Only load gameplay defs from cog DB once. – Complete
Make startup tasks that use loaded gameplay defs actually wait for gameplay defs to be loaded. – Complete
Clean up server startup logging a bit, and add a new console appender for only coloring errors. – Complete
Set camera position and copy location from console. – Complete
Introduce euler3f and facing2f structures to math library. – Complete
As a Backer, I’d like to see the world of Camelot Unchained continue to develop through its lore.
Silverhands Becoming – Part 1 Final Draft – Complete
As a Backer, I want to be able to own a plot of land and build within it.
Add more commands for players – reorder queue, remove queued blueprint. – Complete
As a Developer and Backer, I’d like to see improvements in memory usage and threading.
Terrain rethreading changes to use pooledContexts. – Complete
Change how we raycast gizmos to not hold the scene lock as long. – Complete
As a Developer and Backer, I’d like to see improvements in lighting and rendering.
ParticleResources pre-cache the GPU particle def for every particle on load. – Complete
Particles only update the parameters that are animating. – Complete
Refuse to load particles that appear to have internal data alignment issues. – Complete
Improve particle Draw on Ryzen architecture. – Complete
As a Backer and Developer, I’d like some temporary vfx for testing new combat mechanics and tech.
Second pass wall torch VFX. – Complete
As a Developer, I’d like to see improvements in the editor to facilitate my work.
Async load particle and spawners. – Complete
As a Backer in Beta 1, I’d like to have a sampling of Arthurian light, medium, and heavy armor to wear in game.
Create additional heavy to medium helmets for B1. – Modeling and Mats. – Complete
As a Backer in Beta 1, I’d like to have a sampling of TDD light, medium, and heavy armor to wear in game.
Create additional heavy to medium helmets for B1. – Modeling and Mats. – Complete
As a Backer in Beta 1, I’d like to play as a Crafter with basic gathering and crafting mechanics for testing.
Globally scale refining and purifying process for testing. – Complete
Adding new slash command that takes itemInstanceID. – Complete
Add error messaging to Vox commands. – Complete
Adding template/custom name field and for job status printouts. – Complete
Swapping our current csv parser for microsoft’s TextFieldParser. – Complete
Track when a crafting job is going to end on the database. – Complete
Hook up Realm bonuses to effect crafting time. – Complete
Serialize VoxComponent’s contained items, rather than loading them from the database. – Complete
Locking down what items can go into a Vox contextually based on the state of the Vox. – Complete
Added optional requirementScript that can be specified for item restrictions. – Complete
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.
Split SkillComponent into SkillsKnownComponent and SkillQueueComponent. – 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.
Delete ammo right when it is used, but keep the item within the projectile object to maintain stats knowledge. – 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.
Setup dynamic generation of GraphQL types to easily add any remaining types for items/crafting to the API. – Complete
As a Developer, I’d like to prototype various combat animations to support future system improvements during Beta.
Polearm: High, mid, and low attack, skirt and cape animations. – Complete
Polearm: aternative recover and prep phase skirt and cape animations. – Complete
Polearm jump with fall loop, including skirt and cape re-use. – Complete
First pass: Standing in place greataxe jump. – Complete
First Pass: longer, lifted, knockback – in, out, and loop. – Complete
First Pass: front, back, and both sides, small knockback. – Complete
As a Backer, I want to seamlessly move between islands and zones without being aware that I’m moving between different game servers.
Persist position across zone. – Complete
Show ID for zone in HUD. – Complete
Add zone name in server lifetime messages. – Complete
Use Presence server to spawn players:
Send CUCharacter when transferring player between servers. – Complete
Adjust world time on the presence server to use UTC. – Complete
Added PortalComponent, and SpawnPointComponent to ZonePortalEntity. – Complete
Seamless zone transitions:
Keep Entities around during ownership transfer. – Complete
Prevent proxy from sending Entity deletions too soon. – Complete
Don’t show loading screen during zone transitions. – Complete
Preserve player’s world position when transferring ownership. – Complete
Users can control players through zone transitions. – Complete
Update teleporting zone transitions to still be supported with new updates. – Complete
Serialize VoxComponent’s contained items rather than loading them from the database. – Complete
Implement custom serialization for ContainerComponent. – Complete
Add task to game server that checks world time and logs any discrepancies. – Complete
As a Developer, I’d like to have a clear visual design for the UI of Camelot Unchained.
Beta 1 version:
Third pass health bar styling. – Complete
As a Backer in Beta 1, I’d like the updated encumbrance system to use an item’s weight and compare that to the stat-driven carrying capacity of my character.
Recalculate and reapply encumbrance active effect on relevant actions. – Complete
As a Backer in Beta 1, I’d like to hear ambient Realm-based music during loading island transitions.
Generic ambient track #4 – Complete
As a Backer in Beta 1, I’d like to use a siege weapon.
Create SiegeEngineEntity when dropping an item that represents a siege engine. – Complete
Prevent pickup of in-use siege engines. – Complete
Add basic orientation to OnGroundItemLocation. – Complete
Support sending input to server from either a player or a siege engine entity. – Complete
As a Backer in Beta 1, I’d like to be able to use a torch as a weapon with appropriate travel and combat animations.
Create left arm torch running loop. – Complete
Set up left arm torch running loop to existing movement sets as an override. – Complete
Second pass torch idle and running loop. – Complete
Set up torch as a weapon. – Complete
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. – Complete
First pass: Model and material pass on one male, one female, TDD hair. – Complete
First pass: Model and material pass on one male, one female, Viking hair. – Complete
So, a good haul this week! With all those details finished, and for those of you who may have scrolled down to the pretty pictures, let’s hit up art!
Starting off this week, as we have with our last several updates, we have a new WIP animation video from Scott. For context, last week we showed you a bigger “lifted” knockback animation. As part of our focus right now to improve the animations, we’ve found more variety really adds the spice of life to player movement. This week, we have smaller knockback animations, which can be used as a variation depending on how hard of a knockback a player is hit with. Click the image for the video!
Not to be left out, Sandra has been quietly working on polearm animations in the background. We’re not yet ready to show off the specific clips, but for now, here’s a teaser of a female Viking Valkyrie, in light armor, holding a bone atgeir, or mail-piercer spear.
Next up, we have a selection of WIP TDD helms from Jon this week, shown with and without materials.
For a couple of months now, we’ve been adding more to our VFX performance, and adding in more functionality to the VFX editor. We’ve also found a good use case for some of Andrew’s time-saving animation tech by setting new animations for holding a torch as overrides to existing anim sets. Last week, Michelle and Jon had a conversation about adding in some Realm-specific torches to show better distinction between the Realms. While checking out Michelle’s quick sketches, think about cool ways we could use different types of torches in CU!
Rounding out this week’s update, we have a couple of great images from one of our C.U.B.E. Builders, Swazi. You can catch his most recent livestream HERE.
As to testing this weekend, as I said during today’s stream, and as our User Stories reflect, we’ve added a lot of new code in the last two weeks. I am sorry, but the current build we have is just not stable enough for Alpha testing, but we will leave Hatchery up over the weekend for our IT Backers. The big things for them to look at are in our building systems, so please take control of plots, build, and destroy blocks and let’s see what happens. We’re expecting some growing pains with this build, so don’t be surprised if something bad happens and Hatchery isn’t restarted over the weekend. We should be good for some testing next week, though as always, time will tell. 🙂
As always, we thank you for your support and patience. Great things are coming sooner, rather than later.