Periodically very slow execution of simplest queries
Probably... Some other transaction hit that table in some locking way.  And it took 15+ seconds for it to finish.  Meanwhile, all of your 'users' were running this SP, but being held up until the lock was released.

If you can catch it when it happens, do SHOW PROCESSLIST, and look for the queries other than CALL get_games.  One of them is likely to be the villain.

Once you have found it, there may be several actionss to consider...


Not grabbing the table so forcefully; that is, moving it outside its transaction, or otherwise changing the SQL.  (This seems like the likely answer.)
Not having every user always call get_games.
Other


SHOW ENGINE INNODB STATUS is likely to show the villain, also, but you have to run it during or very soon after the problem.

I dislike using autocommit=0 because I might forget to eventually do COMMIT.  That is a hard-to-find bug.  I prefer to explicitly say BEGIN as a reminder that I need to place the COMMIT some time really soon.  I even insist  (for my code) of putting both in the same subroutine.

Simply moving the CALL to before the BEGIN may solve it (unless you are also modifying the table in the transaction).