Parakoos / sgt-cp

Circuit Python code for various microcontroller projects for the Shared Game Timer.
0 stars 0 forks source link

Quick Games Function #5

Open danstsx opened 1 month ago

danstsx commented 1 month ago

For this function, I thought of reducing the table functions to have something quick to execute without needing any setup. Just activate the seats of the players who are playing.

I thought that during comet mode, by double-pressing and holding (the same pause shortcut), we enter quick game mode. The arcade buttons flash, and if pressed once, they activate; if pressed again, they deactivate that seat. To start the game, press and hold after the correct seats are activated. To exit the mode, double-press and hold to return to comet view. In this mode, we don't need player names or specific colors. We can use a predefined different color for each seat, and if their button is pressed once, it passes the turn to the next active button in a clockwise direction, changing to their respective color. And that's it!

I'm not sure if this is feasible or possible, but my initial idea here was to make this function "offline" to speed up the visualization, reduce animations in general (I also thought of having just a quick fade as animation to differentiate from our bounce animation that will be for more strategic/heavy games), and be able to finish and restart a game without worrying about adjusting anything on the device that's running SGT. But if it's possible to have all this and still have game logs in SGT, that would be amazing! It would be great to know how much time we spent on that specific game or how many times we played that game in one night. Usually, when we're playing card games, people tend to join and leave games quickly. They leave the table for one game and come back for another, so we end up not using all the SGT power for these quicker games anyway. I understand if it's not possible to implement this because it's too specific for the table and won't benefit the other projects you're working on.

Parakoos commented 1 month ago

My suggestion here would be that:

Thoughts?

danstsx commented 1 month ago

I liked everything except the last idea. The problem I see is that someone might accidentally press and hold the button with their elbow, and then everyone would have to press the button again to reconfigure. I would leave the "press and hold" shortcut empty (only working if multiple people press simultaneously) and set the "double press and hold" to revert to the rainbow. It makes sense? Still on that, i would also switch the:

if another player presses their button, that takes the turn to them

to something like, "if another player presses their button twice..." Just focusing on usabilty and avoid possible little accidents at the table.

but yeah, i like your overall vision to that, more straitght foward.

Parakoos commented 1 month ago

I've been trying to figure out a good way to do this, but it adds a lot of complexity to the code. It's not impossible, but it... it gets messier, and I am wondering if it is worth it. If a game is too small or 'ad-hoc' to warrant setting it up in SGT, then maybe it is also too small or 'ad-hoc' to require players to keep pressing buttons to end their turns etc. Perhaps for quick card games and the like, the better option would be to unplug the table and play... unplugged... leavin the fancy LED enabled show-and-dance to bigger games where the functionality adds more value.

What do you think?

danstsx commented 1 month ago

I get it and I agree!

It would only be worth doing if it’s not too complex and doesn’t take a lot of time and effort. Like I said, we already play this kind of game without the table anyway, with rainbow view or turned off, so it’s just a "plus," not a big deal. Also if people fell the need to press some buttons even in the small games too, all we need to do is just setup on the SGT and its done, ready to go.

Parakoos commented 1 month ago

OK. I will leave it open for now. If I get a ton of free time, I might come back to it. But let's evaluate the hex table for a while without this feature and if you feel it massively would improve the use of it, we can look into it again.