DuckBall is back with new features!
New Textures for Ducks, Ball and Background: A couple weeks ago I made these textures mainly to squeeze the ducks into a more circular shape, they just needed to be re-animated which turned out to be a pretty painless process. Adding the background scenery to work was a bit more tricky, but I learned a lot about grids and layers, so it’s all for the best. Layers are definitely fun: The ducks sit behind the grass, which is pretty cool, now I just gotta decide how deep to make it.
Orbiting the Ball: While a duck holds the ball, the player can change the position of the ball relative to the duck by moving the Right Thumbstick. At first I tried to accomplish this by taking advantage of the Parent-Child relationship that attached objects (such as the ball) have. Changing a Parent object’s position will make all attached Children change position relative to the parent. So to have the attached ball “orbit” it’s parent duck, all I’d have to do is rotate the duck and the ball would follow, right?
Well it’s not so simple: My Duck Entity typically has two “Children” which are attached to it already: 1. The Texture, what you see, and 2. The Collision Circle, which is used to determine what the duck collides with (walls, floors, the ball). The Ball is attached as a third Child to the Duck, so to use the rotation method mentioned above, I’d have to rotate the entire Duck, which means the visible texture would rotate as well. I tried this, it looked dumb.
So instead, I used trigonometry to determine the position of the ball (had to look up definitions for sine and cosine, sorry Mr. Lomenzo). As I was writing this post though, I came up with another possible solution: If I add a “HeldObject” Child to the duck, and attached the ball to that as instead (making the ball a grandchild to the duck) then I could make the ball orbit the duck by rotating the HeldObject.

I’ll have to try this out, but it’s possible this could solve some problems, specifically with the next new feature.
Throwing the Ball: This feature was technically working last week, but the ThrowStrength variable I had set up was so low that the behavior was difficult to detect, and I was more concerned with getting Grabbing to work. After a couple other adjustments, Throwing is operational but still has some problems. For one thing, the speed at which the ball is thrown is not consistent, the ball is either tossed gently or launched like a rocket. I’m still not sure what causes this yet, but it may have to do with the ball changing position from one side of the duck to the other without traversing the space between. Hopefully changing how the ball orbits the duck will help solve this problem.
Keep a lookout next week for more Duckball updates!











I tried, I tried. I tried to concoct a more clever headline. I tossed around wordplay with the number 5, because this is our fifth major iteration of Game Grump. I also tried punning off of “WordPress,” because that’s what’s powering this freight train of game-related content. Eventually, I recalled the conversation Dan and I had over the re-launch itself – we did lots of spitballing about how to do the launch, and in the end, the answer was, “just put it live.”
New Grump
DuckBall Devlog 007: Taking Off