At long last, we have sweeping!
Sweeping presented a few challenges. The first was trying to figure out some way to visually represent that sweeping was taking place. I have a serious shortage on objects to use at this point, so I had to get a little creative.
In this screenshot, you can see the new sweeping gauge in the bottom-left section of the ice.
Well, actually you can see the letters "Sw" down there. The actual gauge is empty right now because nobody is sweeping. Catching that in action for a screenshot is really hard, so I didn't bother trying, but trust me, it's there!
The rings are constructed from the four player objects, and I noticed that players 0 and 3, the two outer sections of the rings, had more empty space at the bottom than the other two did. I was able to move those two players to create the sweeping display.
Sweeping is performed by wiggling the joystick up and down. You could cheat the hell out of this with a digital controller, I imagine, since the code uses the distance the stick moves to calculate the sweeping effect. This doesn't particularly bother me, I'm fine coding for the stock joysticks and if people want to use a digital stick for super-sweeping, so be it. Such a stick wouldn't be able to shoot properly, so you'd have to just pop it in when it came time to sweep.
The sweeping effect is pretty good right now too, but I still need to tweak it a bit. Sweeping causes the ice in front of the rock to melt slightly, reducing friction. The causes the rock to travel farther and to curl less. Right now, I think the distance extension might be too great, but the curl reduction feels really good. Time and testing will settle these values eventually.
There are also some implementation bugs I need to correct. Right now, sweeping impacts all of the rocks in motion, when it should only affect the rock that was thrown. This is a simple oversight and there are some others bugs in this area that I can fix at the same time.
The only remaining gameplay element that needs to be done is the free-guard zone rule. I have a vague idea of how I want to do this, but I need to actually sit down and work it out. Once that's in place, it's time to start working on features and bug fixes.
- Arenafoot likes this