Thanks, the issue was indeed not using explicitly the thinking model or they changed something over the weekend -- it's at least on par with Claude now.
EDIT: clearly better than Claude or any other model that I tried before.
I had a bonus benchmark -- add a narrow triangle on the head of the snake that indicates the direction of movement, after a single iteration GPT-5 fixed it whereas Claude could never get the rotation of the triangle right, nor could o3 the last time I tried.
Game: https://chatgpt.com/canvas/shared/6895f722f2708191ac4a6d1645...
Conversation: https://chatgpt.com/share/6895f74a-0c5c-8004-b349-69da096531...
The controls are inverted for some reason and it could be a bit faster, but I fixed both of these easily with one prompt and here's the corrected version: https://chatgpt.com/canvas/shared/6895f82759f88191ba41c9fcd5...