ffmpeg -i capture.mp4 -vf "scale=1920:1080:flags=neighbor" -c:v libx264 -crf 18 -pix_fmt yuv420p out.mp4
flags=neighbor is nearest-neighbour scaling, so each game pixel becomes a crisp 6 × 6 block. Use an exact multiple of the game's resolution (320 × 180 times 6 is 1920 × 1080), otherwise some pixels come out bigger than others.
-crf 18 is close to lossless for this kind of content and yuv420p keeps every player happy. For a GIF of a short clip:
ffmpeg -i capture.mp4 -vf "fps=15,scale=640:-1:flags=neighbor" out.gif