It’s aBot Time – Friday, August 4, 2017

Folks,

Oh boy, have we had a cool week! And no, I really don’t mean the weather. If you missed our Impromptu Tests this week, or our end of the week update, you may not be aware of the Big Bot Battle tests we completed this week, assisted by a bunch of Backers. These tests encompass so much hard work from the team to get us to the massive battles we’ve been promising. We’ve added plenty of details to our number one item on our Top Tenish for the week, so read on for more info on these tests!

We’ve also got a special addition from JB that breaks down some of the work he, James, and Ben have been doing for the ability buttons. All this, plus some great shots of our Bots in action, are in today’s update, so you know it’s going to be a good one!

Top Tenish:

1. WIP – Tech – Bots: This week, we had two Impromptu Tests focused on Big Bot Battles. In those tests, we brought in 250 Bots and went up to over 1200 Bots, which ran around LIVE with our Alpha and IT Backers. The majority of these headless clients were “melee” and the rest were “archery” Bots. In some tests, we were able to handle about 2K Bots total (most of the Bots were fighters, the rest were archers), which is twice the number we set out as a goal during the Kickstarter. While we have hit 2K before, these were the first LIVE tests with our Backers using the new animation system and the heavily modified VFX system. Over the next few weeks, we will be tweaking/fixing/making improvements based on the data from these tests, including further improvements to our rendering time, as well as to the number of Bots/players that we can successfully handle. For our Beta 1 Backers: You will be able to join in these tests next week! If all goes as well as we hope, we should be able to check some very important items off of our Beta 1 list.

2. WIP – Tech – Continued Client Stability: For the last few weeks, we have been focusing on stabilizing the client. Last week really showed the fruits of our labors! At this point, the majority of the people who were driving these updates have moved on to other tasks. Meanwhile, Dave and a few others have stuck around to address smaller issues that have cropped up after the large changes. This week, Dave made some updates to model loading, updating existing code to better work with latest scene updates. We’re continuing to add asserts throughout the code to help us track down potential issues before they occur. Dave and Bull have both been addressing stability issues in the various editors following our client stability push, to ensure the team continues to work as productively as possible.

3. WIP – Tech – Siege Engines: Matt has continued to chug along on siege engine tech. Characters now move with the siege engine as they aim it, as opposed to just the siege engine animating. With JB’s help, Matt is also in the middle of giving siege engines their own health UI, as siege engines don’t have some of the stats that players have (like blood or stamina).

4. WIP – Tech – Item Damage: Christina updated our items to have both health and repair points. This allows abilities to be able to factor in how much health an item should lose when the item is attacked/attacking/etc., and for items to be repaired with a Vox (should they have enough repair points). This functionality is also extended to the Vox, which takes damage when it crafts something.

5. WIP – Tech – Skill Pre-flighting: Pre-flighting skills is the process of predicting the outcome of skills before the information is sent to the client. Gabe has been diligently working on this area, and now skill prediction is accomplished by creating a mock updater and running each phase. Aside from this prediction, everything else with skill phases works as it did before. This tech allows us to send more information to the client, where we can use it for communicating information to the player, like through the UI.

6. WIP – Tech/Art – Ability Icon Prototyping: JB and James have been working on designing the next iteration of our ability bar, starting with updating the ability icons. We want to add a lot of visuals to these, in order to communicate as much information as possible about a player’s abilities. You can watch JB’s stream about this HERE. (https://www.twitch.tv/videos/164182227). In addition, JB has provided additional information, and a link to an interactive presentation, and the source code, seen in his stream, below!

7. WIP – Art – Big Bot Battles: Mike, Scott, and Ben have been busy working on the various aspects of the abilities our Bots use to improve their look and feel. This work has helped inform how we approach or improve abilities in general as we move forward.

8. WIP – Art – VFX: While waiting for Gabe’s work on ability effects timing on a target to get through review (a result of the pre-flighting work), Mike has been busy creating more creative visuals for different effects. With a small library of starting points, he’ll be able to make a quick pass of the generic effects when the tech finishes landing.

9. Bow Ability SFX: dB completed a pass of the bow ability sounds with permutations added in from the previous pass.

10. WIP – Art – One handed Melee Weapons: Sandra completed a death animation that she started last week, with skirt and cloak polish. Additionally, with Ben’s pantomiming help, she completed a new right-hand mace attack, and is now beginning the matching deflect, flinch, and death.

11. WIP – Art – Mines: Dionne began the arduous process of creating not only new mine materials for more visual variations, but also breaking up all the individual hall and room pieces into separate models for import. This will allow us to use these later as a building set for other mines.

12. Art – Environment: Jon finished his model and materials for the Depths-inspired shrine. He has now moved on to investigating improvements in the character skin materials. His work is already paying off as we tweak our values for better fidelity.

13. Art – Watchtower Concept: Michelle completed the first-pass concept art for the Watchtowers. These were a Backer reward from back during the Kickstarter. We want to make sure these are awesome-looking and showcase Realm pride.

14. Art – Additional Environment Art: Tyler has worked on a new testing zone this week, as well as some new terrain materials for the world.

15. Design – The 30-day Beta 1 document: Mark continued his work on redacting and expanding the document for Backers. At the same time, Max has begun doing his usual editing work on the text.

As you can see, we’ve gone full steam ahead this week. Typically, I like to start the art segment off with a video of some new work-in-progress animations from Scott or Sandra. As it was a particularly busy week, I had Scott work on making some updates to the characters (in particular, the male Arthurian is getting an improved haircut and a bit of an eyeball geo reduction). Instead, I have an image from Sandra that shows off the work she is completing on the left hand sword, right hand mace animations!

Next up, We’ve got an out-of-game render of the Depths-inspired shrine Jon has been working on, now fully textured and ready for import into the mines! (Note the scale of the human skull!) You can catch Jon’s streams working on this asset HEREHERE, and HERE.

Next up, we have some concept art from Michelle. There’s nothing this girl can’t do, or at least won’t learn to do, which makes her a joy to work with as an artist! This week, as mentioned above, we have some ideas for the Stormwatch towers of Camelot Unchained. I always like the ideas she comes up with because they typically pose interesting problems, such as: How do you take a 2D painting and turn it into a game asset players can run around in? You can catch her stream from earlier this week HERE.

We’ve shown a few images of the work Dionne has been doing on the mine assets over the past several weeks. She’s now beginning on material and model variations for those pieces, so not only can we have mines that are visually distinct from one another, but also have subtle visual shifts as you traverse any one mine in particular. This is a fairly fun part of the process, as the artist begins creating a family of materials that can rapidly change the look of the same asset. You can catch her relevant stream HERE. First, we have two rock wall materials, followed by a rotting wood material.


Partly out of need for more variations, but truly in a fit of jealousy, I (Tyler) have been adding in new materials. Below is a work-in-progress of dirt material which will be later mixed with dead grass cards.

As this material is a little bit flatter, and includes no lighting information, here is a render of that material in Megascans Studio. You can see all the layers that make up the material mixed together.

And that’s not all! We’ve got a special last-minute addition from JB this afternoon, so I’ll let him take it from here…

Hi, JB here! For those who watched my stream yesterday on Twitch or YouTube, you may have seen me working on concepts for skill button effects and animations. You can catch the stream HERE(https://www.youtube.com/watch?v=6JyVYCxCQ2E). If you did not see it on the stream, a screenshot of the current Work-In-Progress version can be found below. Read more after the image for an explanation and a link to the source code for these buttons!

Brief
Each skill button has many states it goes through to represent not only activation of the button, but the stages of a skill as well. The current working design is to also use the same skill button style, only slightly larger and displayed in a more convenient location, in place of a traditional skill bar. A traditional style single-cast bar is problematic for CU, as a player can cast multiple skills at the same time across what we call “skill tracks,” and having to display each of the states of each of these tracks all the same time would result in much more clutter. This design aims to keep this as compact as possible and easy to identify.

Button States from the WIP image:

  • Ready: The skill is just ready and waiting to cast.
  • Unavailable/Out of Ammo/Wrong Weapon: There are many different reasons why you might not be able to use a skill at a particular moment in time. In the image above, the Unavailable button shows a “generic” reason for the skill being disabled, and there are two examples of specific reasons the skill could be Unavailable.
  • Queued: A skill can be queued if another skill on the same track is currently in progress.
  • Modal On: Some skill buttons turn something on or off, or they may toggle a specific state. An example would be a skill button that sets your stance.
  • Preparation: The first stage in a skill is preparation. This is the time before the skill’s effects actually happen, or before a channel starts. During this phase, your skill can take disruption damage. If the disruption damage (magenta colored, for now) reaches the full circle before preparation, hold, or channeling are completed, then the skill is interrupted at that time.
  • Hit: This is a simple animation on the button to show you that your skill effects have triggered. This could be: a projectile was fired, your sword swung, or a channel started, among other things.
  • Channel: Similar to what you know as channeling in other MMOs. Your channel timer is displayed for however long you can hold the channel. Disruption damage can occur during this stage.
  • Hold: Hold is used as a stage at which the skill is waiting on more input from the player, which is typically right after preparation time. An example would be with our Archery system in manual aim mode: In aim mode Archery, your character will draw the bow when you activate a skill, which will be handled as preparation time. Then you are given an aiming interface until you activate the skill again to release the arrow and fire.
  • Recovery: This stage occurs after Hit/Channel. It is skipped if you are interrupted during prep only. This is a stage between effects being applied and cooldown. During this time, you are not able to use skills on the same skill track.
  • Cooldown: Standard cooldown based on the longest cooldown of any component in that skill.

Check it out yourself!
If you’d like to play around with these buttons and/or have any suggestions, you can view and/or fork our source code on CodePen. Check it out HERE (https://codepen.io/codecorsair/pen/jLVXmQ).

Pretty cool, huh?! But that’s not all! As promised, here’s some in-engine shots of our Bots in action this week. These shots were taken on my computer using a GTX Titan Black, which is comparable to a GTX 970. First off, let’s start with some shots of 510 Bots, with lots of particles from their bow abilities (we’ve gone with fireworks as a stress test–they’re also just plain pretty)!

Pretty good, pretty good. Next we pull the camera out of the fray to see how our particle performance is doing above the battlefield.

Well that’s going pretty well too. But c’mon, we said Big Bot Battles! Let’s throw some more in there. How about 750!

And just to show you we’re not hiding anything in the evening shadows, let’s bring up the sun for a moment.

And then let’s back the camera out to see all those Bots running around. Look at that draw distance! Imagine players wayyy out there fighting, and you’re lusting to join the fray! And this is still with particles going off!

But you know what? We didn’t stop there. Now we’re moving to 1005 Bots, all running around. Remember that all these tests use server-side physics, even on the projectiles (arrows in this case), with our PBR lighting, grass cards, procedural terrain, and inventory being updated as arrows are firing. It actually became hard to get them all in a good shot (sorry for all the exclamation points, but this is big stuff we’re working on, here)! Plus, you can freely walk around between the Bots as they move about!


We’re fairly proud of this great performance–and there are more improvements to come. This alone is a big deal, and a big accomplishment: We’re showing progress on two of our more difficult needs for Beta 1, specifically big battles and solid VFX performance. With all that said, it’s getting late here, and it’s been a good week, so thanks as always for your support, and…

CU next time!

-t