Yes, you need invisible walls to keep the ball on the playing field. There are a couple of options for preventing sparks and sound effects from collsions with the invisible blocks. For a start, you make them entities, that way you be able to check if they were collided with (the collsion system uses its own collision system, which is a bit inconvenient). If you are more ambitious, you can base your sound effects and sparks on the force of the collision, which I think you will need to calculate youself as event_friction doesn't tell you.