Игра "Abc Matches"
Дата публикации: 05/07/2011Написал небольшую детскую игру для iPhone/iPod touch. Собственно говоря, это достаточно известная игра на тренировку памяти, когда требуется открывать парные картинки за минимально возможное время. Только я использовал вместо картинок буквы, которые выбираются случайным образом.
Игру я написал в процессе изучения фреймворка Cocos2D, предназначенного для написания двумерных игр. Фреймворк очень неплох и содержит базовые классы для работы со сценами, спрайтами, текстом, эффектами трансформации, обеспечивают поддержку звука и прочего, что обычно востребовано в играх. Сам фреймворк построен на базе графического языка OpenGL и, кроме уже упомянутых базовых возможностей, включает в себя также и два физических движка, что позволяет писать игрушки класса "Angry Birds" или "Tiki Totems".
По сути, программирование с использованием фреймворка cocos2d кардинально отличается от классического программирования для iPhone с использованием CocoaTouch и, пожалуй, несколько проще. Если у вас есть небольшой опыт программирования на Objective-C, то этого вполне достаточно, чтобы начать писать свои собственные игры. Да, здесь нужно сказать, что сам фреймворк, за исключением физических движков, ориентирован на работу с объектами в стиле CocoaTouch. Использование готового игрового движка позволяет сэкономить массу времени на написании и оптимизации базовых функций, которые на 80% совпадают в большинстве игр. Что, в свою очередь, позволяет сосредоточиться непосредственно на написании самой игры.
Но вот что вам обязательно понадобится, так это хорошая книжка. Я очень рекомендую книгу Pablo Ruiz "Cocos2D for iPhone 0.99", в которой подробно разбираются все возможности фреймворка на примере написания трех типичных игрушек. Кроме этого, Ray Wanderlich поддерживает замечательный блог, посвященный программированию для iPhone/iPad, в том числе и с использованием Cocos2d. Ну и наконец, есть документация непосредственно на официальном сайте cocos2d, хотя ее там, к сожалению, не так много, как хотелось бы.
"Abc Matches" - игра на самом деле простая, но мне такая и была нужна, чтобы разобраться с фреймворком. Другой задачей было довести игру до завершенного состояния и опубликовать в AppStore. Ну и чтобы продукт был законченным, я также создал для этого приложения небольшой сайт поддержки.