Game
Spamocalypse: Aftermath
9 years ago

Spamocalypse 0.7.2: How not to handle sound detection


File this one under “Aceade is an eejit”. I broke the spammers’ sound detection, and I’m not sure when I did that! I didn’t realise that until today, when I started trying to make them react to misses from the SQL injector.

The root cause of this bug is that I had converted their sound detection to use a Coroutine with a 0.2-second interval, rather than OnTriggerStay. OnTriggerStay runs on the physics timestmp, which by default is 50 times a second - which is a bit more intensive than I wanted. However, when converting it, I forgot to actually make it run more than once (hint: use a while loop)! So, the spammers were effectively deaf, which pretty much defeated the point of the game.

Another thing that was broken was their Sockpuppet detection. This was a physics issue - I had set the Spammer layer to ignore collisions with the Decoy layer. However, that’s the layer which is supposed to contain the Sockpuppets!

I think these were introduced while trying to improve performance a month ago. Those performance issues I ran into were ultimately caused by using MeshColliders as trigger areas for sound and line of sight detection, which is generally a bad idea. However, when I got those fixed, I didn’t think to check if I had broken anything else. I really need to find a way to test more thoroughly…



0 comments

Loading...

Next up

Demo for version 0.4

This Satuday we invite to watch another #speedpainting of our artist Daniel Faiad.

How great is this scene of #Pecaminosa?

#ScreenShotSaturday | #IndieDev | #DigitalArt

Shoobies leave a sticky trail of mucus in their wake, which can impede movement for any creature that steps in it.

"Thanks guys for endless hours of fun." 👍

(My first fan art. Read the article, please.)

#sonic #mario #photoshop

Runestones: from concept to in-game model🗿

"Our work is never over" they said.

Family band complete!

Demonstration of the spells and their effects :)!

I worked so hard to get all four of them to the end safely, but then...