Unveiled: Camelot Unchained Newsletter #59 - City State Entertainment View this email in your browser Share Tweet Team Tidings -by Max Porter Hey folks,



We had a good September! Things have been busy indeed, as they always are around here, but especially as some significant forward progress was made. We Got Stuff Done, and are eagerly moving forward into next month to keep up the pace.



The weather here in beautiful downtown Fairfax, VA. has been trying to make up its mind. We’ve gotten some fall days, and then reverted back to muggy summer afternoons. The thing about Virginia is it always has to take some test runs at the new season before it really settles in.



Speaking of test runs, we’ve been doing lots of testing this month! We got the Arthurian Minstrel into the build, and our IT, Alpha, and Beta 1 Backers have been putting that class through its paces. They have a lot of fun mechanics--I’ve enjoyed helping my allies and causing consternation for my enemies! If you’re interested in hearing some from Ben about the class and putting new classes into MMORPG systems, check out the Dose of Design below! We also have a piece from Community Manager Brian, a classic CMSphere with Community updates!



Michelle tossed over some art for me to show you all, in case you didn’t see it in the weekly updates! In these images, we have concept art for instruments for the new support classes. and the fully modeled and textured pieces that were then created from those concepts this month!



First up, the Arthurian Minstrel’s Harpolyre concept: And the Harpolyre model: Plus, here’s an image from Scott of a Minstrel pose! Next, the Viking Skald’s Harmonic Frost Axe concept: And the harmonic frost axe model created using the concept: And of course, the Tuatha Dé Danann Dark Fool’s Bone-reed Pipe concept! And last but not least, the Bone-Reed pipe model (plus figure for animating)! We continue to be true to our principles of openness, honesty, and staying upfront about our progress. We published news posts, ran tests, and continued to put up raw, unedited, and unrehearsed streams this month! The streams are fun for us, but they are also very important, as we always want to be as informative as possible for our Backers and fans. Thanks for your support and patience as we move through Beta 1! If you want to catch up on any missed streams, they can always be found on our Twitch and YouTube channels. For a good read of our news, as well as our weekly Top Tenish updates, check out the News section of our website.



Let’s not delay the meat of the newsletter any further! Thanks for reading up, and as usual, please bear with my reminder to click the “view this email in your browser” link in the top right to see the whole newsletter. Continue reading for updates, articles, thoughts, news, and more, and please enjoy this, the fifty-ninth issue of Unveiled. Hot Topics



We're looking for feedback! If you're a Backer, join the discussion on our Forums via our website and chime in.



Hot topics on the forums right now include caravans, cartography, and of course, the Minstrel class in testing! Come join the discussion and participate in our thriving Community! Dose of Design -by Ben Pielstick Creating Classes

Adding a new class to a MMORPG is never an easy task. There are many considerations to take into account, and things often do not work out as expected.



One major thing to avoid when adding a new class is creating too much overlap with existing classes. If you have two classes that essentially fulfill the same role, players can end up polarizing the differences, leading to a consensus that one class is clearly superior, and the other practically useless. When this happens, tweaks and balance adjustments tend to simply shift the favored class from one to the other, seldom leading to a situation where both classes are considered perfectly balanced and equally viable.



This is why it is important to ensure that there are differences, such as utility features. These set classes apart from one another, creating situational usefulness, so that there are circumstances under which the advantages and disadvantages of each class do not entirely overlap. This lets each class perform better than the other under the right conditions, making it much harder for either class to universally be considered superior.



This is one of the reasons we use Archetypes for Camelot Unchained. While each Archetype has its own advantages and disadvantages, we can have significant overlap in role within an archetype because each class is available to only one Realm. This means players never have to worry about which class within an archetype is the best when forming their groups, as they can only choose the one that is available to their Realm.



Due to the complexity of classes in MMORPGs, there are always some unforeseen results when introducing a new class. Even though a lot of testing and iteration goes into each class as it is initially built, players in aggregate will spend far more time than developers ever could, exploring every characteristic of each class and how it can be used to maximum benefit. This often leads to developers making changes soon after a new class is introduced, in order to account for the surprises as players first discover what a class is really capable of.



One way to mitigate these surprises is by introducing classes early on a test server. In the case of Camelot Unchained, we’re letting our early Backers test our classes as they are finished, so we can get the most significant changes out of the way before the game is officially launched.



As some of you may know, we recently added the Arthurian Minstrel class to the game. This is just one of three classes for the Support archetype we have been working on. All three of these classes were initially designed some time ago, but have been waiting on systems support from programming, and sufficient time for the necessary art assets to get them into the game. Now that we’ve got the Minstrel into testing, we will also soon have the other support classes ready, which means more testing with new classes coming soon.



Once all three Support archetype classes are being tested, we will take a close look at how well the role of the Support archetype is working out, and how well each class is performing relative to the others. We look forward to finding out what you all think of our Support classes, and continuing on to add more classes as this stage of Beta testing continues. Developer Quote “We will definitely be releasing more info after we do the October State of the Game. I/we have every intention of rewarding the folks who have been so patient with us. We know how long this is taking and are deeply appreciative of our Backer’s support. That will never change as long as I’m running the studio.” -- Mark Jacobs CMsphere -by Brian Ward Live from NPR News in Washington, I’m Jack Spe… wait a second; that’s not right! Just Brian here, reporting from Seattle for your Community update. This will be a quick one. Testing was alive and well, particularly this past week; we’ve got your Community question; and we’ll be looking at an awesome CUBE creation from Scott Florence of the Builders’ Brigade.



Playtesting

Last week, leading up to yesterday’s playtest (which we opened to Beta 2) on NuadaPrep, we focused on the first of three support classes: the Minstrel. We hit no unexpected issues, turnout during the test was good, and it’s fair to say that everyone seemed to have a good time. For this one, we ran our usual stack of zones: Contested Island, Point Capture, and Castle Siege. We’ll keep moving the build along for further testing and we’ll keep you apprised of new tests as we schedule them.



Please note: The game client now requires the Microsoft Visual C++ Runtime Redistributable for 2019, which you can download from this direct link.



Community Question

This section is where we gather unique questions from the Community and answer them for you.



This recent exchange between Backer Druez and MJ came from the Forums, and I thought it was worth highlighting here, as Linuxification is still very topical:



QUESTION (FROM DRUEZ)



I'm confused on why the switch to linux servers now. Why didn't you just start with Linux to begin with if you knew [that] cost was going to be an issue. I'm just generally curious.



ANSWER (FROM MJ)



1) Andrew believed that writing a server in C# was preferable to C++ or C because it was going to end up being less prone to memory/pointer issues that other servers he had worked on. As our server stack has proven, he was right.



2) Back in 2013, the full C# standard/.Net wasn't fully running on Linux.



So, if we wanted to use the latest and greatest version of C#, we had no other choice at the time. Once MS made the decision to open source .Net, it could be ported over to Linux. Now that it is, Linuxification became an option. We could have stayed on Windows, of course, but the 30% surcharge for a Windows license per instance vs. no surcharge for Linux is a big deal.



Piazza della Repubblica³

Get it? It’s been Cubed!



Backer Scott Florence of the Builders’ Brigade has stunned us all again with another amazing build created in CUBE. This time, he’s re-created the famous real-world Piazza della Repubblica in Florence, Italy with only very minor changes. Take a look: And if you thought that was cool, check out this beautiful Day/Night Cycle animation he put together of the build.







We’re thrilled at the craftsmanship put into this creation and the priceless injection of culture he put into the CU universe. Excellent work, Scott!



And that’s it for CMSphere this month! Thanks to all our Backers for your continued enthusiasm and support. State of the Build -by Max Porter Hey folks, in this section I pull some of the highlights from our Top Tenish lists in the past month. The highlights of the highlights, if you will! This should give you a summary of some of the biggest pieces of work that we have focused on in the month of September, and a sense of where we’re at!



Gameplay: (9/13/2019) WIP – Tech – Support classes: This week, Anthony thought some music would do the world good, and reinvigorated the Minstrel class. It is mostly ready to go mechanically, and will be undergoing internal testing before it is ready for primetime. Also, the Dark Fool and the Skald are also in progress but a bit farther out.

This week, Anthony thought some music would do the world good, and reinvigorated the Minstrel class. It is mostly ready to go mechanically, and will be undergoing internal testing before it is ready for primetime. Also, the Dark Fool and the Skald are also in progress but a bit farther out. (9/13/2019) Tech – Scenario Scripting: Spidey delivered new objective scripting tech for enabling objectives on a scenario and additional improvements for the scenario dev UI for debugging and tracking scripts and objectives in the scenario. This will allow designers to script enabling/disabling of objectives that are placed in the world for a scenario.

Spidey delivered new objective scripting tech for enabling objectives on a scenario and additional improvements for the scenario dev UI for debugging and tracking scripts and objectives in the scenario. This will allow designers to script enabling/disabling of objectives that are placed in the world for a scenario. (9/20/2019) Tech – NPC Behavior: Spidey was knee-deep in NPC behavior this week. Based on Ben’s testing, he was able to fix a few bugs. NPCs should no longer target and loiter around dead players. While in groups, NPCs will not clump together as easily. They can still get “stuck” when in large groups, but their pathing requests will time out, allowing them to pick a new destination, which allows the clumped group to disperse, given enough time.

Spidey was knee-deep in NPC behavior this week. Based on Ben’s testing, he was able to fix a few bugs. NPCs should no longer target and loiter around dead players. While in groups, NPCs will not clump together as easily. They can still get “stuck” when in large groups, but their pathing requests will time out, allowing them to pick a new destination, which allows the clumped group to disperse, given enough time. (9/20/2019) WIP – Tech – Dark Fool: This week, Anthony added the Panic stat, and with it, the base set of Dark Fool components. Panic is a stat that functions a lot like Stamina. Stamina locks at 0 for a bit when you’re exhausted, and Panic will lock at your MaxPanic stat for a bit when it reaches that threshold. Several support components exploit enemies with a maxed-out panic resource, locking up movement or preventing certain kinds of abilities from being used. At the moment, only support classes can increase it, but eventually there might be other ways to influence it.

This week, Anthony added the Panic stat, and with it, the base set of Dark Fool components. Panic is a stat that functions a lot like Stamina. Stamina locks at 0 for a bit when you’re exhausted, and Panic will lock at your MaxPanic stat for a bit when it reaches that threshold. Several support components exploit enemies with a maxed-out panic resource, locking up movement or preventing certain kinds of abilities from being used. At the moment, only support classes can increase it, but eventually there might be other ways to influence it. (9/20/2019) WIP – Design – Minstrel: Ben completed an initial testing and balance pass on the Minstrel class. He also provided initial testing feedback on the capture point scenario, with changes to the NPC behaviors. Improving Tech: (9/6/2019) WIP – Tech – NavMesh: This week, Lee spent time debugging the 3D-ification of the navmesh. Unfortunately, there are still a few problems with how it’s being updated internally when new obstacles are added to the navmesh, so there’s a bit of fix-up work to still be done there. The path-planning itself will need to be updated to use the new 3D info appropriately. Lots to do, but we are seeing the light at the end of the tunnel!

This week, Lee spent time debugging the 3D-ification of the navmesh. Unfortunately, there are still a few problems with how it’s being updated internally when new obstacles are added to the navmesh, so there’s a bit of fix-up work to still be done there. The path-planning itself will need to be updated to use the new 3D info appropriately. Lots to do, but we are seeing the light at the end of the tunnel! (9/13/2019) Tech – Unified Build Scripts: We had a couple different scripts that were used to turn code into clients, editors, and servers. Each of the scripts did similar, but very slightly different, things. This manner of organization has been a thorn in our side, because any time we add a new server, or upgrade visual studio, or change the build process in any way, we had to do it to all the scripts. We’ve unified them all into a single script, so that we can change them once and be done.

We had a couple different scripts that were used to turn code into clients, editors, and servers. Each of the scripts did similar, but very slightly different, things. This manner of organization has been a thorn in our side, because any time we add a new server, or upgrade visual studio, or change the build process in any way, we had to do it to all the scripts. We’ve unified them all into a single script, so that we can change them once and be done. (9/13/2019) Tech – Database hardware upgrades: We’ve been dealing with some database errors and lag happening behind the scenes recently. It turns out that some of our oldest hardware just wasn’t able to keep up with CSE & CU’s growth anymore. So, we’ve upgraded and deployed new hardware for several database members.

We’ve been dealing with some database errors and lag happening behind the scenes recently. It turns out that some of our oldest hardware just wasn’t able to keep up with CSE & CU’s growth anymore. So, we’ve upgraded and deployed new hardware for several database members. (9/20/2019) WIP – Tech – Linuxification: As we continue down the cost-saving path of Linuxification, Colin tested all of the .NET Core servers except the game server on Linux (the game server relies on the native code Linuxification). They all work, aside from a couple of minor issues. Colin also worked on reimplementing our .NET Runtime metrics (for tracking things like garbage collection) so they work on .Net Core and Linux. Feature and Tools Work: (9/6/2019) WIP – Tech – Tools: Rob finished his first pass on the transformer gizmo for the editor, and it is now available for use by our devs. The 3D math has been defeated, the colors have been adjusted, and the code has been pushed. This gizmo will greatly speed up placing and editing assets in a zone.

Rob finished his first pass on the transformer gizmo for the editor, and it is now available for use by our devs. The 3D math has been defeated, the colors have been adjusted, and the code has been pushed. This gizmo will greatly speed up placing and editing assets in a zone. (9/6/2019) Tech – Trigger Volumes: Caleb has landed trigger volumes! They include a fair bit of interesting support bits: Changes to Entity Destruction, Event forwarding, and stronger guarantees about the ordering of entity/physics life cycle events. This will unlock the ability for us to have traps and more interesting scripting in the world, and paves the way toward auras, which we want to use for the Support archetype.

Caleb has landed trigger volumes! They include a fair bit of interesting support bits: Changes to Entity Destruction, Event forwarding, and stronger guarantees about the ordering of entity/physics life cycle events. This will unlock the ability for us to have traps and more interesting scripting in the world, and paves the way toward auras, which we want to use for the Support archetype. (9/6/2019) Tech – NPC/Creature Variation: Mike and Matt landed a first pass to add more variation to non-player characters. This includes variable body and gear tinting, as well as variable size and equipped gear. This will obviously give us much more visual variation in things such as NPCs or creatures without requiring additional work from Art.

Mike and Matt landed a first pass to add more variation to non-player characters. This includes variable body and gear tinting, as well as variable size and equipped gear. This will obviously give us much more visual variation in things such as NPCs or creatures without requiring additional work from Art. (9/13/2019) WIP – Tech – Textures: This week, Wylie landed code that lets us easily define new layouts for generated textures. Generated textures allow us to texture map models that are made up of several pieces. For instance, when you equip a new helmet, the helmet’s texture will be baked into the special area of a master texture sheet that is dedicated to helmets. By expanding this system to accept different layouts, we can use piecemeal model generation on things other than player characters, like weapons and creatures.

This week, Wylie landed code that lets us easily define new layouts for generated textures. Generated textures allow us to texture map models that are made up of several pieces. For instance, when you equip a new helmet, the helmet’s texture will be baked into the special area of a master texture sheet that is dedicated to helmets. By expanding this system to accept different layouts, we can use piecemeal model generation on things other than player characters, like weapons and creatures. (9/20/2019) WIP – Tech – UI: AJ spent this week getting the UI ready for the support classes. He added Mage and Support class images to the patcher, added the “Song” ability type to the ability builder and ability book, and started work on getting Panic to show in the UI. All Kinds of Art: (9/6/2019) Tech - NPC/Creature Variation: Mike and Matt landed a first pass to add more variation to non-player characters. This includes variable body and gear tinting, as well as variable size and equipped gear. This will obviously give us much more visual variation in things such as NPCs or creatures without requiring additional work from Art.

Mike and Matt landed a first pass to add more variation to non-player characters. This includes variable body and gear tinting, as well as variable size and equipped gear. This will obviously give us much more visual variation in things such as NPCs or creatures without requiring additional work from Art. (9/6/2019) Art - Weapons: We created a new Arthurian axe based off an older concept. This one was what we call “epic-looking” as it just looks a bit more awesome than what you might consider a basic axe.

We created a new Arthurian axe based off an older concept. This one was what we call “epic-looking” as it just looks a bit more awesome than what you might consider a basic axe. (9/6/2019) Art - Armor: We completed a texture pass on a couple of new helmets as well as some Arthurian heavy armor. This helps audit the assets for later crafting and tinting tech.

We completed a texture pass on a couple of new helmets as well as some Arthurian heavy armor. This helps audit the assets for later crafting and tinting tech. (9/6/2019) Art - Procedural Materials: In our continued use of Substance Designer, we’ve become more adept at creating one-off items, such as locks, chains, rope, handles, etc. Again, once created, the ability to make tweaks after the fact greatly improves our iteration time.

(9/13/2019) WIP - Art - Mage Staves: This week, Sierra, our newest artist, created some mage staves. We’ll add these weapons into the game later, when we finalize the crafting model for weapons and armor.

This week, Sierra, our newest artist, created some mage staves. We’ll add these weapons into the game later, when we finalize the crafting model for weapons and armor. (9/13/2019) Art - Pauldrons: Joe has finished a set of Viking pauldrons for medium armor wearers. These will also be added to the game later.

Joe has finished a set of Viking pauldrons for medium armor wearers. These will also be added to the game later. (9/20/2019) Art - Modeling - Dark Fool Bonereed Pipe: Based off Sandra’s concepts, we created the first instrument. Next week, we’ll knock out the Minstrel’s harpolyre and the Skald’s harmonic frost axe.

(9/20/2019) Art - FX - Minstrel Abilities: Mike and dB focused on getting decent placeholder sounds and visuals on the Minstrel, primarily the default starter abilities for initial testing. This also helped expose some bugs on the VFX side of things, which are currently being addressed. Once fixed, Mike can clean up those issues next week.

Mike and dB focused on getting decent placeholder sounds and visuals on the Minstrel, primarily the default starter abilities for initial testing. This also helped expose some bugs on the VFX side of things, which are currently being addressed. Once fixed, Mike can clean up those issues next week. (9/20/2019) WIP - Art - Music: dB focused on new instrument samples, not only for new music, but also to improve some of the older samples in existing music. Spidey also added an NPC-specific death tag, allowing dB to make unique death sounds for NPCs.

dB focused on new instrument samples, not only for new music, but also to improve some of the older samples in existing music. Spidey also added an NPC-specific death tag, allowing dB to make unique death sounds for NPCs. (9/27/2019) Art - Harmonic Axe: Andy completed work on the Viking Skald harmonic axe. This will be added to the game with the Skald Class, so look forward to that soon.

Andy completed work on the Viking Skald harmonic axe. This will be added to the game with the Skald Class, so look forward to that soon. (9/27/2019) Art - Harpolyre: Sierra has completed work on the harpolyre. The harpolyre will be added to the game as soon as we finish the animations for it, which are being worked on presently. Final Note -by Max Porter Thanks for reading all the way to the end of Unveiled number fifty-nine. It was a pleasure putting this together for your perusal, and I hope you’ve enjoyed the read. Looking forward to next month’s news, progress, and writing pieces! Onward to more awesomeness. Stay cool, and that’s all for now -- Max