Blog Posts (2021)/Article 69

# **Backstage Corporate Clash: The v1.2.5 Update**

Welcome back to a fantastic post-Halloween edition of Backstage: Corporate Clash! As per usual, we’d like to take some time to talk about the development of our latest large update. In stark contrast to what we usually present in Backstage, we’ll be taking a stronger focus on the technical side of development this time around. For an update as large as this, the only team that could really bring it all together would have to be our Technical Team.

There’s several large technical projects that were completed in order to bring this update together, so without further ado, let’s get into it!

# THE UPDATE’S GOAL:

To some, this update might have come as a surprise. It’s no secret that there’s been a bit of an update drought recently. (And indeed, there was a period of team demotivation that shirked development all the way up until July.) But then suddenly, in conjunction with Halloween, a massive content update drops with general improvements all throughout the game, with Patch Notes that are longer than v1.2.0’s?!

*There’s a card limit now, unfortunately*

The truth is, the v1.2.5 update was originally going to be our big v1.3.0 update. But as release drew near, we felt as though the content was not enough to fully represent what we wanted out of a full major update on this scale. We were worried players would come to this update expecting major endgame content like the Overclocked C.L.O.. Regardless, we hope that you enjoy it as much as we enjoyed producing it!

But don’t let that discourage you regarding the state of v1.3.0’s development! The biggest thing holding back v1.3.0 has been the massive quantity of creative assets that it has required to complete. This is why v1.2.5 has features that revolve around vast amounts of technical work to balance it out. We won’t leave you off with nothing, though-- here’s a remarkable sneak-peek of some models for v1.3.0!

*Just some models. No big deal, right?*

Thrilling, right? Anyways, since the Creative Department has been so backlogged with assignments for the future, the best course of action was to get the Technical Team together to implement as much fun stuff as possible. Which, of course, brings us to..

# HALLOWEEN:

Historically speaking, the Halloween event has always been a kind of ‘sandbox’ update for tech. All major Corporate Clash updates have had some sneak-peeks rooted in Halloween. For example, Sads the Skelecog was the first Cog to show off relatively rudimentary cheats in a battle, which would then be presented in more depth for the Witness Stand-In battle. The 2018 Count Erclaim was the first Cog to have animated suit heads, which would be presented to the entire Lawbot cog line in the v1.1.0 update. The 2020 Count Erclaim had the most complicated battle cheats to date, which would only be superseded by the Overclocked C.L.O.

So, a Halloween release was perfect for tech, and became the event to go along with v1.2.5’s release. One of the new big systems we’re presenting this year is the ability for Count Erclaim to spawn on a street, where you could then fight him along with whoever else got to him!

With our prior, rudimentary battle system, this was never something thought to be possible. Any complex battle cheats (including 2020 Count Erclaim) were tied to the battle itself, and not the individual cogs. However, with the introduction of Status Effects and the Battle Listener, nearly any miniboss would work in any context.

*Scapegoat got sacrificed 2 turns later.*

If we wanted to spawn four Stenographers in a single cog battle, and use whatever gag they marked illegal, and then promptly be irrevocably demolished by four hammers and take 200 damage total, it would just work, no questions asked! So, taking Count Erclaim to the street was the logical next step. Of course, it wasn’t just as simple as spawning him on the street.

*They will all sacrifice each other in the same turn, until one is left standing...*

A particularly avid player may have noticed that Count will never leave the street when an invasion starts or ends, will join any battle he comes into contact with (promptly playing his battle music to anybody in that battle at the time), that nearly all cogs will join the battle that he’s in, and more. With Corporate Clash’s strong battle infrastructure, these were all easy changes to do for Count Erclaim. It was entirely possible to make him function entirely normally (and uniquely!) in a street battle. So, we capitalized on it-- to great success.

*“Uh, how do I get out of this GUI??” before the Bat-tle Pass art was finished.*

Halloween on the Creative end has always been a lot of fun. How often do you get to make clothing for Toontown that allows Toons to dress up like some of their favorite characters? (The answer is not often!) Ideas for new clothing items and accessories were flying out from all directions and were eagerly worked upon. Spooky items, thematic items, parody items, it didn’t matter, we were going to create fun items that we hope the players would enjoy just as much as we do! It even allowed us an opportunity to create a very animated top hat accessory (something we’re wanting to do more of as time goes on!)

*Oh yeah, it's all starting to come together.*

The Bat-tle Pass (we fixed the name eventually, as you can tell) was a fun and interesting way to generate a new experience for Clash’s Halloween Events while still keeping a lot of what’s made it fun in past years. At first we thought the idea might be a bit much to pursue, but we then quickly realized that what we wanted to do with Halloween, we had already done very similarly in the past with the Outback update! It didn’t take long for the Creative and Game Design Teams to build off this base, outline and design all there was to the Bat-tle Pass, and get it ready to go for an awesome Halloween event!

# TOONO!

Make no mistake, TOONO was a major inspiration for v1.2.5, but not in the way that you would expect. If you’ve been keeping up with Clash’s media presence lately, you may have gotten the idea that TOONO was a joke that became real in a few weeks, just because it seemed funny. But, we’d really like to emphasize that game development takes a LOT of time, especially for a team consisting of only volunteers who try to balance Corporate Clash with other demands of life. In fact, TOONO was not only entirely completed and in a near-release state when our recent Partner Q&A was released, TOONO had actually started development way back in early July!

*Early QA of v1.2.5, taken from late August. Note the placeholder assets.*

Furthermore, the TOONO comic used for social media didn’t originally feature TOONO whatsoever. In fact, it was Rain and Derrickman playing Go Fish. But, at the last second, it was swapped over to use TOONO cards and dialogue. So, despite TOONO seeming like an ascended community joke, it was something that was already implemented by the time it became popular!

*The original sketch for Derrickman & Rain comic, illustrated by Mailman.*

# Racing

Racing was tough to improve upon.

*Look carefully.*

From an outsider’s perspective, racing has always been one of those things that has been theoretically easy to fix in concept: just increase the player count, or just improve kart handling, or just add more items to the pool, etc. But just beyond the surface-level improvements, a lot of changes had to be made, most of which aren’t visible to the player whatsoever!

One of the notable things about new racing is how karts no longer teleport between positions in a race. This was solved by rewriting the built-in node smoothing of the Panda3D engine, and reprogramming it specifically for use with race karts. It’s not necessarily perfect, but if you compare it to the old system, it’s lightyears ahead.

It also may have been surprising to find out that several longstanding issues with kart collisions have been fixed, or at least have been improved greatly. Getting karts to have less painful collisions was quite challenging to do in the engine, since we had to come up with ways to check kart and wall collisions only when necessary in order to downplay the amount of momentum lost.

*Kart spawns, if there were 64 spawn points instead of 8.*

The tricks that were used to improve collisions to the level that they are at now were fairly clever. First of all, the issue with kart-on-kart collisions came down to how, if you were colliding with another kart, you would collide with them *every single frame* until your speed dropped all the way to zero. So, kart collisions only get polled frequently, instead of constantly. We found that this led to players having greater confidence that even if they were to get blindsided by an approaching kart, they would almost never drop to 0 speed.

Kart-on-wall collisions have the same problem, but we obviously couldn’t apply the same solution there, otherwise players would just be able to drive right through the walls! So now, whenever you collide with a wall, an extra rebound force is applied to the kart, bouncing you back ever-so-slightly away from the wall. This fixes the stickiness of racing walls, and when combined with the improved kart handling, makes flying into a wall far less frustrating.

There’s even smaller changes most players wouldn’t ever notice (cleaning up several memory leaks, increasing acceleration greatly relative to the current speed, balancing item spawns, and so much more). When all was said and done, we felt as though we had finally done a good enough job on racing when we were hanging out one night and then decided on a whim to go race on the test server, just because it was really fun!

That’s not to say all issues have been fixed. There’s plans for fixing some other inconvenient issues that players have fixed, along with ideas for potential extensions to what currently exists down the line. But, it’s safe to say that we’re quite happy with what racing has become now.

# CLOTHING FOR ALL:

The prospect of unifying toon clothing so that any toon could wear any clothing item has been thrown around in the community for years. However, this idea was always shot down, because on a technical level, it was deemed to be too difficult to do.

*Early clothing ui development, before UI assets were completed.*

And— don’t get us wrong— it was really, really difficult to do. But one massive internal refactor of Toon DNA and big database migration later, we’re happy to finally be able to present this option to the community. The first big problem in removing the gender lock is the technical debt that’s built up thus far. In other words, the less gender-gated content, the easier it would be to migrate to a genderless system. However, since we’ve already added tons of new clothing items, there was immediately a lot more work that had to be done.

Additionally, merging the lists of clothes that boy and girl toons could wear resulted in a lot of duplicates that needed to be accounted for. It’s a very precise chore, like counting rice grains. This was perhaps the most difficult part, and certainly the one that warranted the large database migration. If not done properly, your game would crash in a multitude of cases (like if you had owned a now non-existent shirt, or if it was present in your mailbox, or if it was your current daily task reward, the list goes on.)

Once you’ve sorted out the data comes the issue of torso types. Male toon bodies have a torso type that is incompatible with skirts, so we just decided to mitigate the issue altogether by using the female torso models (which look exactly the same, but supports both shorts and skirts). After some cleanup and tweaks of other less-complicated gender-gated content - voila! Gender-gated content is now a thing of the past.

*Very early image of clothing ui development.*

The new Wardrobe UI (User Interface) seems like one of those big projects that certainly would’ve been slated for v1.2.5 fairly early in development, but the truth is that it was never a part of our original plans for the update; it was something we wanted to do for a while, but the timing never seemed to be right. But, with Halloween coming up with its large assortment of outfits, along with Toon gender being removed allowing all toons to get even more clothes, and the fact that we had the below concept already lined up for a wardrobe rework, all there was left to do was implementation.

*Original wardrobe concept by Lemmy. notably, features such as undo/redo, outfits, and searching were not added until later in development. additionally, the individual tabs at the top were scrapped.*

UI work is very tricky. Compared to something like new tasks or a battle pass reward system, you’d think that UI would be straightforward to implement, but that would be untrue. For example, the revamped battle UI for v1.2.0 required an intense amount of concentrated effort to ensure that the most common UI you’d be seeing in the entire game worked smoothly, let alone the hours alone put into positioning everything and implementing support for status effects, information panels, etc. While all of the pieces are there, putting everything together can be incredibly frustrating.

The new Wardrobe, while not being nearly as advanced, definitely had its fair share of moving parts as well. It might not be too surprising to find out that the Wardrobe was perhaps one of the more complicated things to get right for the update. One of the most tedious parts of developing the new Wardrobe was dealing with the lag spikes associated with it.

If you’ve scrolled quickly through Elphabat’s shop, you’ll know about the major lag you’ve experienced as the game tries to load in all the models on the spot. For the Wardrobe, the exact same lag would happen. For an interface that people would be interacting with quite frequently, this really couldn’t be tolerated. With some strong precaching and clever loading of models, we’re happy with the relatively low level of lag that the UI has. Due to the nature of the engine’s performance loading in models, there will always be that little bit of lag using this UI, but even with that lag, you’ll always find the outfit you need faster compared to the old system.

*CAP*

**WRAP-UP:**

Overall, we’re incredibly pleased with how this update has turned out. We hope that the numerous QoL additions will give the community a more holistic experience in-game overall. There’s still a lot more to this update that we’ve barely scratched the surface of in this blogpost, such as the long period of time that the new zap targeting UI was developed in, or how Main lost his mind spending well over 10 hours developing and debugging specifically Race Game, and so much more.

If you’re a programmer with a passion for game development and are reading this, we urge you to apply for Toontown: Corporate Clash! Most of our new trainees are people whose technical background is outside of any Panda3D experience, or those that have never worked on a Toontown server before. We’re always accepting new applications for this position. You can find applications for all of our open positions at this link: https://corporateclash.net/help/apply

As for the Corporate Clash Crew as a whole, we’re still making substantial progress on our next big v1.3.0 update! We absolutely cannot wait to share with you what’s coming up; the specifics of which will have to wait for another time which, of course, will be made more public closer to launch.

As always, thank you for taking the time to read today’s more technical blogpost. We’re excited to be working on this project together, and even more ecstatic for having the player base that enjoys and supports our development. Stay tuned for what’s coming up next!