воскресенье, 25 марта 2012 г.

Fruit-O-Rama, или как я писал свою первую игру для iOS

Как мне вообще пришла в голову такая идея

Я уже давно являюсь пользователем техники Apple, собственно как и программистом C/C++.
После быстрого обзора языка Objective-C я и решил попробовать себя в сфере игр.
Идея для игры пришла почти сразу.
Я решил сделать простенький пазл с фруктовой тематикой, так как сам частенько увлекаюсь подобными играми.


Дизайн

Когда идея была придумана, нужно было садиться за разработку дизайна.
После нескольких эскизов в Gimp я в очередной раз убедился, что из программиста хороший дизайнер не выйдет. И мной было принято решение искать нормального дизайнера.
Как ни странно, дизайнера мне удалось найти очень быстро. 
Им оказался мой друг и он за пару дней накидал мне пару эскизов, которые показались довольно интересными и я решил приступить к написанию кода.

image

Выбор среды разработки

Сначала у меня была идея вести разработку в среде xCode без каких-либо сторонних библиотек (даже без OpenGL). Но эта идея пропала сразу же после того, как я ещё раз посмотрел на те ресурсы, которые были присланы моим дизайнером и после огромного количества прочитанных сообщений на различных форумах.

После этого мною было проведено тщательное исследование фреймворков для разработки игр под iOS, и мой взгляд остановился на трёх:

Cocos2D — крутая и навороченная библиотека для создания 2D игр со встроенными физическими движками (написана на Objective C).
Sparrow framework — простенькая библиотека, написанная на Obj-C c возможностью добавления дополнительного функционала в виде плагинов. 
Gideros Mobile (Gideros Studio) — межплатформенное решение, позволяющее делать приложения сразу для iOS и Android, для написания кода используется скриптовый язык Lua, а в качестве среды разработки используется свой редактор.

Gideros Mobile я решил откинуть сразу, так как в Lua я не силён, да и кроссплатформенное решение мне было не нужно.
Аналогичная история вышла и с библиотекой Cocos2D. Он оказался слишком «навороченным» с кучей не нужных мне модулей и функционала.
В общем, было принято решение писать на Sparrow, поскольку он оказался не только самым простым, но и самым быстродейсвенным решением из всех остальных библиотек.

Написание и всевозможные оптимизации

Я решил писать игру для iPad, в первую очередь потому, что графика для iPad была уже готова, да и айфона у меня тогда ещё не было.

Скажу сразу — это было ужасно. 
Мне казалось, что создание простенькой игры займет пару недель, а всё вылилось в пару месяцев. После осознания того, что мой iPad не может обрабатывать такое количество графики и анимаций одновременно, пришлось потратить кучу времени на всевозможные оптимизации как кода, так и ресурсов. Теперь я понимаю, что нужно создавать «атласы» из картинок, стараться удалять все ненужные обьекты.

Про паблишинг приложения я рассказывать не буду, так как это уже совсем другая история.

Вывод

После проделанной мною работы я могу сказать, что писать игры для iOS «с нуля» сложнее, чем кажется на первый взгляд. Однако после тщательного изучения возможностей и проблем платформы всё становится намного проще.

Так что все, кто хочет попробовать себя в роли создателя игр для iOS — дерзайте!

Комментариев нет:

Отправить комментарий