I want to write a simple 2d arcade-like game. For this I need a way of drawing layered sprites and animations. It will have a small tiled (grid) arena, with figures sliding along different paths, firing at each other and exploding.

As of now I see three solutions:

1) Writing a simple game engine by hand based on UIView (decending classes from UIView, creating an interface to cause x/y pixel movements, etc)

2) Utilizing Core Animation? Am I wrong that Core Animation is only for ordinary UI managing, not useful in a game-animation scenario? Like x/y movements, disappearing elements, explosions?

3) Use OpenGL ES. (overkill)

I guess recreating a flash-type game developement would be best: where there's sprites, keyframes, framerate and "OnEnterFrame" events that fire as needed.
Is there an easier way? Perhaps some well-known approach I'm missing? I don't want to invent a wheel (game engine) if one exists.