This can be implemented as a post-processing kind of effect. (When using Unity/XNA/Dx/OGL/...)
#Geometry method#
Geometry method
Start by creating a mesh that resembles the distortion effect you are looking to achieve. (e.g. model a half cylinder (or cone, sphere, cube, ...), make sure to set the texture coordinates). Render your 2D game as usual, but render the final result into a texture. Then, render the distortion geometry with the texture you just created. You can use the world/view/projection or modify the actual geometry/texture coordinates to control the strength of the distortion. (image 1 shows the regular 2D game, image 2 shows the same texture projected onto a sphere)

#Distortion method#
Distortion method
Image processing tools often offer distortion effects that could emulate the projection (bit like optical illusions). For example, image 3 was generated using the bulge filter from Paint.Net
.
(You can find an implementation (OpenGL ES 2.0) of this distortion effect from the GPUImage project - see GPUImageBulgeDistortionFilter)
Depending on the implementation, either method might be faster or provide a better match to your desired result. As both implementations are fairly simple, you could try to implement both and see which one works best for you.