After deciding on the game I wanted to develop, the first major decision was: do I use OpenGL or not?
I have absolutely no experience in OpenGL, but was prepared to slog through learning it. I really did not want to use it if I did not have to, though.
My requirements for the game were:
- Drag a square from a "tray" area to the game board and double-tap to place it
- Rotate the square in 90 degree increments
- Animate tokens along a pre-calculated path made of lines, arcs, and curves
So, I looked through the view and animation APIs, and I bought the 3 available books on iPhone programming. It looked like I would not have to learn OpenGL. The trickiest part would be doing the animation along a path, since rotating a view is fairly straightforward. From the docs, it looked like the CGAnimation class had what I needed, and it turned out that it works great for me.
So, one major design decision down, and a sigh of relief from me, because I would not have to learn OpenGL for this game.