Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
A jam submission

Stop touching my ball!View game page

Billiards for people who don't want to wait for their turn.
Submitted by bastisbastis — 9 hours, 23 minutes before the deadline
Add to collection

Play game

Stop touching my ball!'s itch.io page

Results

CriteriaRankScore*Raw Score
Polish#23.3333.333
Audio#24.6674.667
Narrative/Mood#33.6673.667
Overall#33.6673.667
Game Design#33.3333.333
Art#43.6673.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!

Leave a comment

Log in with itch.io to leave a comment.

Comments

Submitted

I am really impressed with how well this game worked! Almost wouldn’t believe it was for a jam!

Full playthrough/review here:

https://youtu.be/60FbZc5lR5Y

Developer

Thanks so much Yanni for all the good points you made in the video!

(+1)

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!

Developer

Thanks, Bolrik!


I understand what is happening with the mouse, I'll have to do some googling to find a solution if there is one. Not 100% sure you can lock the mouse position through JavaScript. I hope it's doable though. Good catch!

Submitted

I liked the funky music... it felt like a cheesy bar vibe and if you gave it a dingy and smoky environment I think it would nail it. 
Love the difficulty settings. How did you do ai with the difficulty? 

I too had a hard time figuring out the controls. Maybe a short tut play level?

Developer

Thank you!

Good idea about the smoke, that could give it a more publike atmosphere.

What aspect of the controls did you have a hard time figuring out?

About the AI you can read my reply to MurphysDad. I go over it pretty thoroughly.

Submitted

They weren't difficult controls just not intuitive. I would not change them, just a very tiny tut level or something. 
Maybe it was me, but I wasn't sure at first that the AI had taken over for it's turn for a bit, meaning I could have used a stronger visual signal... I'm going to play again today

Submitted

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.

Developer(+2)

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.

Submitted(+1)

Very cool, thanks for the detailed summary! Haha it's cool when a bug becomes a feature :) yeah you don't want the AI to be too perfect