Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Kell11101

5
Posts
2
Followers
2
Following
A member registered Mar 11, 2022 · View creator page →

Creator of

Recent community posts

ohhhh boy, figuring out how to have the ball decide which path to take took me so long. Between bugs, faulty assumptions and non-deterministic physics, there where a lot of headaches involved. The final implementation uses checkpoints to gauge which direction is desirable at any given point and the balls physics isn't actually simulated when the ball actually takes its shot, it just follows the path of the shot it decided to take.

The most obvious place the checkpoint system has issues is the level with two possible paths. There's actually only 1 checkpoint stretched between the two paths, so if you block the bottom path from the right side the ball will reach the checkpoint via the bottom path and wont want to go around.

The ideal solution would probably be to use a path finding algorithm to determine the shortest path to the hole (taking the size of the ball into account), it would also have draw backs, but would probably be a big improvement. Anyway, hindsight is 20/20. I'm glad you enjoyed it!

The funny thing about the ball trajectories, originally I was going to do some ray tracing to figure out the best shot to take. But it was fairly inaccurate after just 1 or 2 bounces, so eventually I said screw it and decided to just simulate a bunch of shot instead. The only reason I showed the simulated balls was because it would be awkward if the game appeared to freeze for 20-30 seconds before each shot. It was just a happy accident that it also looked cooled!

Oh, I totally agree! There's a lot that could be improved if given the time.

Me when I saw the name of your game

Thanks, I'm glad you liked it! TBH I was starting to doubt myself towards the end, so I'm happy to hear my work paid off.

Object placement was something I wanted to fix, but by the end of the jam, my code was a bit too spaghettified, lol.