#How can I make a scoring system for my bowling game
176 messages · Page 1 of 1 (latest)
I already have a way of telling whether a pin is standing or not using a trigger volume but I don't have any idea how to save the data of previous frames, nor how to add the values of strikes and spares
Kinda the Same problem here for me
Strike and spares are so hard
Like it saves bonus for 1/2 throw and shit
Well, for actually hitting the pins, its a little complicated
What I would do is this:
When the ball enters a trigger volume a few meters down the lane, start a delay and dont allow any more balls in
When the delay is over, iterate for each pin in that lane
If the up vector of the pin dotted by (0,1,0) is less than a certain threshold, add 1 to the score variable
I did that kinda but used a trigger on the top of the pin instead
When they fall they're no longer in
I dont like trigger volumes
💀
they work most the times
List of objects work tho
but when they stop working, it sucks
true
Now the only part that's too hard is the spare/strike part
I'm also kinda struggling
Give each pin the tag like, p0l0, which means "Pin 0, Lane 0"
or p6l7 which means "Pin 6, Lane 7"
Oh it's 1 lane for me
But the OP asked for the score system, pretty sure he already did the pin system
it might be better to have 2 different tags
p6l7, and l7 "Pin 6, Lane 7" and "Lane 7"
This way you can grab a single pin in a single lane, or just every pin in a single lane
Could you just help for the strike/spare system, that's where we're both kinda confused
Having a bonus for 2 rounds etc
Should we have a variable for each throw
Or each "round"
Not sure if that would be better
0/0 means you have played 1 round and scored 0 points
0/0\0,10 means you played 2 games of 2 rounds, you got 0 points, then points, and 0 points, then a spare
Wut...
Well, what do you need as the score system, a way of tracking score, or a way of detecting how many pins you knocked down?
The problem is strike and spare
Basically it gives a bonus for the 2 next rounds
Also meaning that de scoreboard updates 2 round late
i dont know enough about bowling to know this
Yeah
Quick explanation
Spare=bonus for the next throws
Strike for the 2 next throws
So if you strike then score 7 and 2
You will have 19
oh and jok's thread about finding Y
Just 1 point for 1 pin
Can you help with what I told you for the rules
Those are all the rules
The other ones are just the ones that everyone already knows
i think this explains the scoring for spares and strikes pretty well
i think implementing it in an actual programming language could help with figuring out how to implement it in rec room
because youve already solved the problem of actually making it but you just now have to figure out the correct chips to use
I'm fairly good with scoring systems, I just need a bowling room that works with cv2
Could you maybe explain how to do the strike/spare system?
I can give a Bowling Score chip a shot later tonight. Initial thoughts: bowling scoring can have some logical complexity that may spike CPU heat 15-20% for a single CV2 tick, but only when you log a new turn. Questions for you: Is this spike too much? Complex optimization may help, but dealing with this spike (which will only occur when you log a new turn) on your end will be easier. If this spike is too much, would it be acceptable to spread out the processing to multiple CV2 ticks (by using delays to transfer execution to another tick, relieving some CPU heat). My thinking is that the chip will have very few input ports: Log Turn (Exec), Pins Knocked This Turn (Int), Reset Game (exec). The output pins would be all the data you need to make a bowling scoreboard. So you will have the data, but building your own scoreboard is still on you. This chip would purely be for tracking a game of bowling. cc: @fallow roost @dusty yarrow
We just need spare and strike system
I’ll be doing a Bowling Score tracker in general. Initial thought is that the chip will export all of the data you need to build your scoreboards and such. It’s not a bowling chip, just a score chip.
I’ll throw in a utility chip where you can plug in the frame output in and it’ll tell you if you had a spare or strike that turn as well.
So do you just use a lot of variables
Cause i thought about that but also thought it would be too annoying
A lot of variables or a smaller number of lists. Maybe some event sender/receiver to store some calculated values for final output that aren’t required for the inner-circuit logic. (Frame X Total Score - INT output) for example.
But the annoying part is on every throw you need to have a system to check if: the current throw is the first or second throw of the frame. If it’s the second, check if last frame was strike. If it’s first, check if last frame was strike or spare. If it’s strike AND current frame is on first throw, check two frames back to see if it’s a strike.
Modify the scores as you go
I’ll try to finish it tonight. It’ll be some effort.
What if I had a if value in a if value checking if it's spare or bowling
If it's spare then it will take the next throw
If strike the 2 next ones
Also having to save every throw instead
Wait why did I say if value
Just if
Mb
Yeah, something like that. I like splitting up the work into chunks
@hollow sedge just making sure
Variable are different in Each board right
So copying board would make able to gain time by not renaming
Yeah. Not synced. You can theoretically use a single board for separate users if everyone runs the chip locally
I leave the networking ambiguous so you can control that outside of this chip.
You just did all of that?
Man if this really work
Mind maybe helping me out
Like putting it in my room
You can always maybe get a % we'll see
I’ll probably publish for free so any others can modify and improve if they want. I’m not going for hard optimization right now. Some, but not a lot.
Just need to work on some frame 10 stuff. Frame 10 can have a second play which is another weird random rule of bowling
3 throws
Yep
But only if throws 1 + 2 = 10 pins
True
But it can also be a normal frame if no strike or spare happened
Bowling has some goofy rules
Yeah kinda
Do you think you could help
The room we making is reallyyy hugr
Huge
Got a 5k+ people event
Even geckovr coming
Idk any players by name like that. I’m fairly new still
What’s the room for? Let me finish this chip and see if it works for you first
Oh
Gecko vr is certified
On rr
He got like 60k subs i think
And 90k on youtube
So @hollow sedge ?
We can talk when I finish chip later. Need to work on 10th frame issues
K
Give this a shot: https://rec.net/invention/4434112255505330038 cc: @fallow roost @dusty yarrow
Input is simple. You just execute with the INT set to the last number of pins knocked. Chip will track frame and scores and all the data needed to make a scoreboard that you would see in bowling alley
So the lists are every throw of the frame
Not sure but i think it would be good to have something for each throw...
Cause if you get a strike bonus
And it lasts for 2 throws
All bonuses are calculated within the chip
You tell the chip how many pins are knocked, this chip tracks the entire game for you
Can I see the circuits
Don’t have a clear picture and I have Use Only for now. I might need to make minor adjustments if you find any flaws
Stretches beyond the frame of this picture
How many variables ?
A lot
Not quite
Either way, test it out. It should work
I use some lists which holds more data than individual INT. But I also use individual INT cars too
I think 23 vars
Is the frame total frame 1+2 for the 2nd frame?
Can reduce more with lists but didn’t want to
Yea
Yes
Like bowling alley
How each frame shows the current score at that point in the game
All data is there to make scoreboard and track bowling game
Try it
Now last hard thing would be to update the scoreboard depending of the spare/bowling
Could you have a bool output knowing if there's currently a strike active
And one for spare
Last Throw Strike (Bool)
Last Throw Spare (Bool)
Makes sense
But that can be calculated from frame output at well technically
There can also be multiple strike at the same time right?
If Frame 3 Score Equals 10 And Frame 3 Throws list count 1 means strike and 2 means spare
So spare and strike can be derived from chip output
The bonus for 1 throw (spare) and 2 (strike) works 100%?
From my tests it did. Tried out a few different variations
Well ok then
Have you tried it out yet?
I dm you a few days ago
