You can try something as follows: Create row_idinside each group with Game_ID, and then format row_id, which converts your data to a wide format:
import pandas as pd
df['row_id'] = df.groupby('Game_ID').Game_ID.transform(lambda g: pd.Series(range(g.size)))
df.set_index(['row_id', 'Game_ID']).unstack(level=0).sortlevel(level = 1, axis = 1)

Update:
If it's preferable to drop row_id, you can remove the level from the columns:
df1 = df.set_index(['row_id', 'Game_ID']).unstack(level=0).sortlevel(level = 1, axis = 1)
df1.columns = df1.columns.droplevel(level = 1)
df1
