No, it won't work.
This is the MOST common question asked on this forum. What you have to remember is that using "group by" means that mysql throws away every other column in the table -- and just tallies the results of the aggregate function you requested, like MAX, COUNT, etc.
That means that you CANNOT get back any other columns at the same time... you'll need another query. The human brain does this in two steps as well, you just don't notice: you find the max value by looking at every row ONCE, and THEN you find the matching username by looking at every row AGAIN to find that one with the max value.
So:
SELECT t1.game_id, t1.score, t1.username
FROM arcade_stores AS t1
INNER JOIN
( SELECT game_id, MAX(score) AS score
FROM arcade_scores GROUP BY game_id ) AS t2 USING ( game_id, score )