I am really impressed with how well this game worked! Almost wouldn’t believe it was for a jam!
Full playthrough/review here:
Criteria | Rank | Score* | Raw Score |
Polish | #2 | 3.333 | 3.333 |
Audio | #2 | 4.667 | 4.667 |
Narrative/Mood | #3 | 3.667 | 3.667 |
Overall | #3 | 3.667 | 3.667 |
Game Design | #3 | 3.333 | 3.333 |
Art | #4 | 3.667 | 3.667 |
Ranked from 3 ratings. Score is adjusted from raw score by the median number of ratings per game in the jam.
Are you part of the Game Dev Field Guide Community?
Yes!
I am really impressed with how well this game worked! Almost wouldn’t believe it was for a jam!
Full playthrough/review here:
That was really a nice game. I really liked the music, but also the visuals. There are also 3 levels of difficulty. That was really great.
From time to time I had some problems with the camera. My mouse pointer was at the edge of the screen and I couldn't rotate the camera any further. And that you did all this with your smartphone is really very impressive.
Good work!
The music had a really nice vibe to it that was fitting. The clicks from collisions were really nice as well.
Visuals were nice! I like how you used the blackboard to display the score rather than a UI.
I was a bit confused by the gameplay and the controls. It took me a while to figure out that I needed to just start hitting the ball - I was waiting to my turn but the AI kept going. A tutorial of some sort would be helpful, especially since it defies the conventional rules of pool?
I'm curious how you did the AI? Interesting how you made the different difficulty settings.
Thank you, MurphysDad!
At first I didn't think I needed to display the score, but I couldn't find anything better to put on that wall that I had time to model before the month was over. I'm happy it ended up that way though.
You're probably right, there are really no instructions at all.
The AI was fun to implement, but I had to google quite a bit to get the maths right. When the opponents shot timer is up (ready to shoot again) the AI iterates over all the target balls (the yellow ones for the AI). For each ball the AI calculates where the ball must be hit to sink into each one of the holes. If the angle isn't possible without bouncing off the wall that hole is rejected for that target ball. Then based on the angle, distance to the cue ball and distance to that hole that shot is given a score and stored in an array (with all other needed data about that shot). That array is then sorted according to scores. Then the AI raycasts 4 times for each shot (from each of the cue ball to the each side of where the cueball would be when the contact occurs), then again from each side of the target ball to where it will be when it reaches the hole. If the ray hits another ball the shot is rejected. When a shot has returned 4 successful raycasts without hitting another ball that shot is selected. The AI then calculates the time for the cue ball to reach the target ball, and where the target ball will be after that time and adjusts the shot angle according to that location of the target ball.
The last part doesn't really work 100%, and I tried to fix it but realized that the AI doesn't have to sink each shot right away so I could spend a bunch of time to fix it then manually add some randomness to make the opponent miss or I could just leave that bug in.
For the difficulty settings:
The player shot timer (the delay) is 1 second at easy mode and the opponents is 6 (I think from the top of my head), leaving the player at a clear advantage. Then for each difficulty the player's shot timer is increased and the opponent's decreased. Additionally at the highest difficulty the guide line for aiming is removed.
Leave a comment
Log in with itch.io to leave a comment.