The Battle for Ball Physics


Well, it's been a long two weeks.

Most of my updates are on reddit at r/binkgolf if you guys want to check that out, just as a reminder. Feel free to join up and start some chatter going. Doesn't even have to be about the game. Trying to start some community building and it's a long road growing from grass roots.

On with the show

So for the last two weeks I've been hammering away at just the physics engine. I've probably been through 10 iterations at this point because it needs to be right.

Why?

Part of the core concept of my game idea is the ability to play with/against friendly AI players in game. Stroke for stroke. That means that I need to be able to accurately predict what the golf ball is going to do on a perfect swing to a very high degree of accuracy.

To get the initial versions (up to 0.3) out quickly, I simply used the default physics engine that rolls out with Godot 4.0 but lately it's shortcomings for this application have become increasingly apparent. I'm still using their "move and collide" functionality but all cases of "move and slide" are gone now.

This has meant the last 2 weeks I've been playing with vector math that I haven't touched since college about 20 years ago. I mean any 3d game needs some rotation transforms and such but the built in features work well enough. Once you start calculating cross products it's a whole new ballgame.

While some mathy devs will probably smirk at that, I haven't been actively involved in game dev since the 386 days, and even then I was just a kid making simple arcade games mostly for myself and friends.

Anyway, the ball physics is working now, and while it isn't 100% perfect it should grant me some interesting ways to modify the game on command such as setting the greenspeeds different for different tournament levels and allowing me to accurately predict ball roll so that the AI characters can actually take shots that make sense.

Prior to the physics update I was also rebuilding the node tree in godot and while that is coming along nicely, it's not quite built back up to the 0.3 level. So I still need to finish the regular single-round play and probably create a new driving range program to get everything back to normal. At that point I can probably do a release candidate even if the computer AI isn't fully online yet, as it will make the game more functional.

Still to do. I need to integrate hazards so that a ball out of bounds or in the water doesn't totally kill gameplay. I also would like to get started on a pro-shop and update the save files to account for that, as well as putting the "job" feature in that lets a player earn in-game money weekly. Jobs will be the likes of "ball kid," "cart kid," etc. Basic golf jobs up to golf-pro and and Professional Golfer (sponsorship for playing tournaments). Advancement will have an eligibility requirement based on handicap and probably some sort of qualifier where you have to play a match and get a certain score or a tournament and finish in the top so many, etc.

As you can tell, there's a LOT of stuff that I want to put in this game and it's going to take a while to get there. I thank you all for the patronage so far. You are wonderful. Hopefully the game will exceed your expectations as we move into and through Beta.

Get BINK Golf

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.