💦 CREATE AND FUCK YOUR OWN AI CUMSLUT 🔥 TRY NOW ♥
Create AI Cumsluts 💦
148A.gif
148Ab.gif
148C.gif
148C2.gif
June 23, 2022

Dev Diary: Bugs, Explained!

Hi everyone, Anna here!

Today’s post is about something that represents a lot of our everyday “background” work on Paralives. Let’s talk about a hidden part of the game development iceberg: bugs! 🐛 Note that this Patreon post is for Patrons only so please don’t share it, thank you!

Let me reassure you right away: even if bugs might seem scary, they’re a normal part of the development process, especially at this stage, since we’re making core systems and adding features one by one. When we do our planning, whether it is for a two-weeks sprint or a year's worth of development, we always account for testing and debugging the features we will add during that time. When we add something to the code, even if we carefully think about it ahead (in the form of a design document), it is really hard (or should I say impossible) to have thought of every possible problem in advance and run it bug free the first time.

Bugs can be frustrating. Sometimes, supposed minor bugs take a lot of development time, but they can be satisfying to catch and fix too, like a puzzle! It makes me think a bit about being a physician looking for a diagnosis. Sometimes the symptoms you see are enough to make a diagnosis and start a successful treatment, but sometimes you might not have enough information and need to design the right exams to find the disease. Other times the treatment might actually cause more damage to the patient because of secondary effects and you have to also fix that or find another ! (It’s very common in programming that fixing one bug leads to more bugs…) In any case, the vast majority of our code usually doesn’t get sick, but curing the small portion of the ones who do can take a little while. (The metaphor is now over, sorry about that).

Some of you who are on the Ancient, Legend and Hero Tiers on our Patreon might have already had the chance to see some quite cursed snapshot of bugs or other oddities on our #developer-posts Discord channel. We also shared a few of the ones from our latest Paramaker focused marathon here.

Today, I wanted to share in-depth  explanations behind some more bugs we encountered recently, in collaboration with Alex and Jérémie.


Procedural Animation Bug

Marvin sprained his back by flushing the toilets… But he seems better now!

This bug happened while I was testing a procedural adaptation of the “Flush toilet” animation. As you may already know, the slider that enables players to customize their character’s height is quite a challenge animation wise. We need some little help from the code to adjust Alice’s animation for the character to reach the objects or Para they’re interacting with (if you want to know more about that, I wrote about it in my “week with a dev” thread that you can read here).


Marvin proceeding to flush the toilet without any side effects

As procedural adaptations are animation-specific (i.e. the code needed is different on a case-by-case basis, so reaching the flush on a toilet doesn't need the same adaptations as reaching the chair when sitting for example), the right ones have to be loaded every time the character plays a new animation. In that case, the part of the code that made the previous procedural adaptations disappear didn’t work! Before the bug in the first animated GIF above happened, Marvin was actually flushing the toilet, so his hands needed a little help to reach the correct position of the flush since he is taller than our average Para. However, this stayed activated afterwards when I ordered him to walk, but since there was no flush, he tried to reach a position at the origin of the character, on the floor!


Skin Texture Bug

No skin? No problem! (Some problems)

Jérémie here! This bug was due to the way we calculate which skin texture to use on a  character based on their fat and muscle sliders - if your Para is very fat or very muscular, their skin will have different lines and details. It was the kind of bug that is easy to pinpoint, but pretty tricky to fix. Because we have a bunch of different skins with specific rules, Étienne actually needed to create a small tool to visualize what texture was visible at specific values of fat/muscle.

The X-Axis is the muscle slider and the Y-Axis is the fat slider, all colors represent the different skin textures that can be used for your characters depending on the fat and muscle slider values. Thanks Étienne!

Using this, we could figure out that certain ranges weren’t covered by any of our skins and we tweaked our data to properly address that issue. There was a little bit of extra code to add, but this was mostly detective work 🕵️


Body Deformation Bug

When the music is so good that your body can’t handle it anymore.

Hi! Alex here to explain this bug. When a character is animated, in this case, playing the dance animation, every bone of its body is placed at a specific position, scale and rotation depending on the current play time of the animation. However, some bones are also moved, scaled or rotated depending on how the player customizes their character in the Paramaker. For instance, when you broaden the shoulders in the Paramaker, the shoulder bones are moved away from the body by a few centimeters:

Changing the shoulder’s width in the Paramaker offsets the shoulder bones.

At any given time, when playing an animation on a character, the animation system sets the position, scale and rotation of every bone but then, the system that changes the size of the different body parts applies an offset, like moving the shoulder bone a bit for instance. But if an animation stops playing for any reason and no other character animation takes it place, the shoulder bone offset will be applied at every moment, accumulating and becoming bigger and bigger. That’s why you can see Sebastian’s shoulder quickly moving away from his body in the bug! A similar thing happens to every other part of the body as well.

The solution to this bug is to make sure that under no circumstances a character should be left without playing an animation. Usually, after the character is done performing an interaction like dancing for instance, we play the standing idle animation so everything goes well!


Of course, before releasing in early access (more info on early access here!), the game will be thoroughly tested so that you players encounter as few bugs as possible when playing the game!

I hope you enjoyed today’s journey into the dark side of programming!

I hope you have a great weekend!

Cheers,

🌞🍹

Anna

Comments (49)

P
Panthro Samah · May 6, 2023

When I code is very hard to predict how it will be my day: Sometimes everything works smoothly, but sometimes nothing works and I takes me one entire day just trying to understand a bug. I imagine how hard is to make a schedule so much time before launching a game or a program with so much more complexity.

A
Ariel O'gwin · August 26, 2022

the dancing bug was such a jumpscare lol

S
SketalDaz · August 25, 2022

This was very informative. --- I felt really bad for Marvin <3. --- Not gonna lie, that deformation bug scared the **** out of me the first time looking. XD (Sebastian and Maggie were dancing into beast mode)

F
Francis McDonald · June 26, 2022

I've danced like that in my youth lol. By the way I wish to thank all of you for that beautiful card and signed as well. Other than bills I have not received a letter in ove 30 years. This will be cherished

M
Megan Santucci · June 24, 2022

Marvin's glitch reminded me of the prevalence of "chess arm" in TS2 - my poor Sims would wander around half the day sometimes with one of their arms curled up like they got a cramp from too much chess!

M
Megan Santucci · June 24, 2022

Oh wow I'm super excited to see all the different skin textures in action! 😍

M
Max · June 24, 2022

Marvin walking like a noodle literally cracked me up

l
ladyteruki · June 24, 2022

I know I say it basically in every comment under a Dev Diary post, but... I'm so thankful for how you take the time to explain how the game is made (...and fixed, in this case !).

B
Brandon-Lee Ensing · June 24, 2022

I literally gasped at the animation of Maggie and Sebastian :O

S
Sabine B · June 24, 2022

Once Marvin's bug was explained it was actually pretty cool to see how the animations and para's height affect each other. Obviously it looked ridiculous but it's cool that the reaching animation was technically still working even at an extreme (and while he's walking). (Side note: anyone know how to get gifs to play in the patreon app? Very annoying to have to open in a browser)

S
Stefanía Torrealba D · June 23, 2022

Amazing post, I definitely learnt something new today! XD I gotta ask, though... Has there been any bug that caused any jump-scare effect on the team when it happened?? There are some really crazy bugs among the ones you've shared! X'D

A
Alani Mason-Callaway · June 23, 2022

The dance bug was as horrifying as it was hilarious!

A
Alex Massé · June 23, 2022

Agreed!

L
Lane Brettschneider · June 23, 2022

This update is full of so many wonderful bits and pieces! My favorite has to be how Marvin's hand dangles LOL

A
Alex Massé · June 23, 2022

Hehe! I rarely see someone walk with their arm like that in real life

Z
Zedef · June 23, 2022

Love reading about "behind the scenes"-stuff like this, very interesting and amusing to see some of the bugs. Hopefully it'll also help create some understanding about how tricky your work can be for those unfamiliar with game development. A question out of pure curiosity: do you all test new features after they've been implemented or only the programmers (you don't have a dedicated tester, right?) and do you do this per feature, per [x] features, at the end of a sprint...?

A
Alex Massé · June 23, 2022

Thank you! After a programmer added a new feature, they have to test it thoroughly but sometimes, something can slip. A lot of people on the team try the new features so we report bugs when we encounter them. Our testing process is not super defined yet but we plan to hire a full time quality assurance specialist when we get a bit closer to the release to catch and fix as many bugs as we can.

S
Sarah · June 23, 2022

I absolutely love seeing everything that goes wrong behind the scenes :) Both for the laughs (the dancing one may be one of my favorite bugs ever) and to see how hard everyone is working to make "simple" interactions happen.

A
Alex Massé · June 23, 2022

Thank you!

R
Roe B. · June 23, 2022

When people complain about the time it takes to develop a game, they often don't take into account things like bugs, or how complex they can get. This was fascinating to read, and I thought my appreciation of the team couldn't get any higher. Awesome job!

A
Alex Massé · June 23, 2022

Thank you! It's true that a lot of the different aspects of the development are not usually visible to the players and are a lot of work

a
aza · June 23, 2022

"he game will be thoroughly tested so that you players encounter as few bugs as possible" Absolutely devastating, I want the most bug ridden horror show possible

A
Alex Massé · June 23, 2022

Would be fun to have a cheat to activate all kinds of bugs haha!

T
Timelines · June 23, 2022

Reading this was a fun ride. You guys do a lot of work! Thank you for the insight 😊

A
Alex Massé · June 23, 2022

Thank you :D

B
Bre Indigo is on HIATUS · June 23, 2022

Omg the dancing gif made me laugh way harder than I expected. Then reading the reasoning behind it... Wow. Can you imagine your bodily integrity relies on one thing, and its that you keep moving, or else it's all over. Amazing haha

A
Alex Massé · June 23, 2022

Haha, yes, it's quite something! Reminds me of a movie where a bus had to keep moving at 50mph or more or else a bomb would be triggered (I don't remember the title of that movie)

L
Lyyo_ · June 23, 2022

I might have jumped a little when Sebastian and Maggie exploded, definitely wasn't expecting that! It was hilarious tho!!

A
Alex Massé · June 23, 2022

One of my favorite bug among all the ones we had since the start of the development!

F
Fran Smith · June 23, 2022

Fascinating. :-)

A
Alex Massé · June 23, 2022

Thank you!

M
Minakie · June 23, 2022

Posts about bugs are my favorite, it's sort of like the bloopers of TV shows.

A
Alex Massé · June 23, 2022

True!

P
Pedro Lima · June 23, 2022

I have nothing to comment besides applauding your hard work. Keep it up guys!

A
Alex Massé · June 23, 2022

Thank you!!

A
Adina · June 23, 2022

I have studied one year out of a three year bachelors degree in system development, and have learned to program a bit. I can say that I really enjoyed Anna's metaphor haha. Some bugs I've encountered really rely on such a small amount of code! Have a great weekend :)

A
Alex Massé · June 23, 2022

Hehe, I really liked Anna's metaphor as well, it really feels like that

A
Ace of Hearts · June 23, 2022

Maggie and Sebastian turning into eldritch horrors is absolutely hilarious. Thanks for that. Hope you guys are having a good week.

A
Alex Massé · June 23, 2022

Hehe, it is! Thank you, have a great week and weekend as well!

s
shimonade · June 23, 2022

What is UseMasculine in relationship with the toilet? Is it a technical term for "Have a Tinkle"? I have questions 😊🤣

H
Haylee H · June 23, 2022

Probably "use standing"

M
Marilee · June 23, 2022

Really interesting post. Bonne Saint-Jean! 🎉⚜️

A
Alex Massé · June 23, 2022

Merci!!

S
Sims All Around · June 23, 2022

Poor Sebastian and Maggie just exploding xDDDD and hope Marvin's back is okay xDDD

A
Alex Massé · June 23, 2022

Hehehe :P

N
Nick Orgel · June 23, 2022

How much time is usually spent on bug fixes? Sometimes they can be fun to solve and hilarity ensues, but if there's many it can be too much at times.

A
Alex Massé · June 23, 2022

I'd say a few hours a week is usually dedicated to bug fixing so not too much!

M
Michael Aguero · June 23, 2022

A post a day early! Is June 24th a Canadian holiday? If so, enjoy the long weekend!

A
Alex Massé · June 23, 2022

Yes! June 24th is Saint-Jean-Baptiste Day here in Quebec, Canada