Я думаю, все зависит от того, насколько глубоко вы хотите получить. Создание 2D-игры - это широкое утверждение. Например, чтобы сделать то, что вы просите. Вы просто сделали бы серию изображений PNG для анимации волны на основе ячеек. wave1.png, wave2.png, waveN.png ...
Затем загрузите изображения в формате PNG и затем воспроизведите их последовательно. Вы можете сделать это с помощью классов UIImageView, Core Animations или вручную с помощью UIImages и UIViews.
Есть много отличных игровых движков, которые вы тоже можете проверить. Вот ссылка на пример того, что доступно. Игровые движки
Для достижения максимальной производительности большинство компаний / разработчиков используют OpenGL для игр в 2D и 3D стиле. Вы можете использовать множество трюков для текстур, используемых в ваших играх.