A Look Into The Inner Workings Of The Sims 4
Recently, the tragic clown was introduced as an NPC in the world of The Sims 4. On the Sims subreddit on Reddit, a discussion was going down as to the code behind the game packs and the future for the game. Soon, two of the best SimGurus ever were explaining everything to us!
Thanks to our reader Stvicho, we were pointed to a discussion on The Sims subredditwhere SimGuruMegs and SimGuruSparks gave an in-depth explanation about the testing procedures for The Sims 4.
A couple of days ago, a Reddit poster noticed that the juggling interaction was called “sp07_tragic_clown_apple” and stated that perhaps the tragic clown was meant to come with the upcoming kids stuff pack. SimGuruMegs replied, giving some clarity that the code doesn’t necessarily reflect the content’s final release.
The explanation is actually a lot less interesting than it might seem (also rather technical.) The Sims 4 has a huge code base, and because we develop multiple packs simultaneously, we all work in different branches of the same code base at the same time. Which means that someone working in the GP03 branch can be making modifications to the same file as someone working in the SP07 branch. Every day, our engineers will integrate changes across all these different branches to make sure all the files stay in sync and there aren’t any conflicts.
It’s actually a ton of work to maintain all these separate branches. So, when we plan to add free updates to the game (like the Tragic Clown or the dishwasher,) these updates are almost always developed in one of the branches that we use for pack development, because we don’t want to have the additional complications of a patch branch. But for some people who are working on the content, there isn’t really a separation of which one is a free update and which one is part of the pack, since they’re working on them at the same time. So the names of the files might not actually match how the players see the content.
Megs also added in their post that the update with the Tragic clown had been planned for a while (or at least for two months before release when a modder found the outfit in the game’s files).
The discussion spurred into questions expressing concern about the ability to test with that method. “How do you test in this madness?” one person asked, in which SimGuruSparks popped in with a list of answers:
- We try to be smart about how we make changes to reduce conflicts between the different development lines, the less conflicts between lines the less chance of features breaking because of the integrations.
- We are constantly testing in all lines, both automated and manual testing.
- The products that are closer to shipping get more testing than the things farther away.
- Once a product is close to the end of production, its line is locked down to minimize change. The testing department tracks what new changes are being introduced into the build so they know where to focus their testing.
SimGuruMegs assured players that they have a large Quality Assurance team that does both manual and automated testing. With the different branches being set up like a conveyor belt, the content closest to being shipped has priority in testing. Future content is tested with the existing and unreleased content to ensure that everything works well together.
It also goes to note that on the same day, SimGuruRusskii gave a shout out on Twitter to welcome two new gurus also involved in QA.
It’s always interesting to peek behind the curtain of The Sims team and see all the cogs whirring. What do you think about the increase in technical discussion with fans?