Cocos2d для iPhone против Cocos2d-x

Я работал с Cocos2d для iPhone и нахожу его восхитительным. Я начинаю другой проект и наткнулся на Cocos2d-x, порт C++. Меня соблазняет мысль о возможности (с учетом) сборки для нескольких платформ одновременно. Мне одинаково удобно работать с Obj-C и C++, и я не ищу сравнения между двумя языками, если только это не связано с работой с Cocos2d.

Кто-нибудь работал с обеими версиями движка, и можете ли вы прокомментировать конкретные плюсы и минусы этих двух? Cocos2d-x "закончен"? Надежный?


person WiseOldDuck    schedule 18.06.2011    source источник
comment
Я думаю, что эта ссылка может быть вам интересна, своего рода руководство по cocos2d-x: заголовок stackoverflow.com/questions/10711047/   -  person Jav_Rock    schedule 28.05.2012
comment
Начиная с версии 2.0, Cocos2d-X стал достаточно надежным, чтобы писать игры профессионального уровня. Я работал как с Cocos2d, так и с Cocos2d-X. Я могу честно сказать, что, возможно, никогда больше не вернусь к Cocos2d, теперь, когда я знаю, какое это прекрасное чувство — иметь возможность компилировать практически для любой платформы.   -  person Nathanael Weiss    schedule 21.09.2012
comment
Считал бы эти комментарии наиболее близкими к ответу здесь.   -  person j03m    schedule 08.01.2013
comment
Apportable выглядит так, как будто это может быть хорошим вариантом, как только они разберутся со всеми своими перегибами, и в этом случае cocos2d-iPhone полностью!   -  person jjxtra    schedule 18.02.2014
comment
Это не мое личное мнение, но я живу и работаю в Токио, и вы слышали, что если вы программируете в Cocos2D-x, существует большой риск того, что, поскольку Cocos2dX очень успешен в Китае, существует большой риск того, что компании в Китай просто скопирует и вставит ваш код и запустит бессовестные копии. В этом утверждении, безусловно, есть некоторая предвзятость, но, тем не менее, в нем может быть риск. О, и не забывайте о Zynga. ;-) Тем не менее, я никогда лично не использовал Cocos2d-x (только -iPhone/-Swift/-SpriteBuilder), но есть вероятность, что я попробую Cocos2d-x в ближайшее время.   -  person Jonny    schedule 13.04.2015


Ответы (7)


Соблазн мультиплатформенных сборок — это скрытый кошмар. Любой веб-дизайнер расскажет вам ужасные истории о попытках жонглировать IE, Firefox, Chrome и чем угодно одновременно. Вы не увеличите объем продаж, потому что смогли запустить Android/iOS/и т. д. в первый же день. Более чем вероятно, что ваши попытки мультиплатформенности ограничат ваше приложение таким образом, что оно убьет его на всех платформах. Лучше всего начать с одной платформы, закончить ее, а затем построить для других. Ваш конечный продукт будет вам благодарен.

У Cocos2d-x нет плюсов и минусов, если только вам не нравится C++ больше, чем Obj-C.

person Community    schedule 16.08.2011
comment
Именно то, что я бы сказал. Если вы никогда раньше не занимались кроссплатформенной разработкой, вам не следует начинать рассматривать ее, пока вы не добьетесь успеха на своей основной платформе. Инди-примеры широко распространены, т.е. World of Goo был портирован только после того, как стал успешным. То же самое с Angry Birds и многими другими инди-играми. - person LearnCocos2D; 13.10.2011
comment
Это не означает, что вы не можете создать приложение таким образом, чтобы его было легче портировать, если это необходимо/оправдано с финансовой точки зрения. - person Stephen Eilert; 13.12.2011
comment
Если это ваша первая игра, в первую очередь побеспокойтесь о качестве продукта. Если вы зарабатываете деньги на ранее успешных предприятиях, то можете побеспокоиться о расширении своих возможностей. В противном случае вы тратите впустую свое время и те (вероятно) небольшие деньги, которые у вас есть на руках. - person ; 14.12.2011
comment
Где ОП задал философский вопрос о том, лучше ли кросс-платформенные или одноплатформенные методологии? - person arithma; 06.11.2012
comment
Этот ответ устарел. Cocos2d-x значительно улучшился. Кроме того, выбор таргетинга на несколько платформ одновременно зависит от типа игры, которую вы создаете. Это также зависит от количества усилий/денег, которые вы или ваш клиент хотите вложить. Это не лучший ответ (больше, если когда-либо). - person Joris Weimar; 30.09.2013
comment
Вы делаете ложный вывод на основе (полу)верной предпосылки. Имеет смысл использовать такие движки, как cocos2d-x, даже если вы будете выпускать только для одной платформы (конечно, для игр, для которых эти движки были разработаны). Часть вашего ответа просто нелогична: [[Вы не заработаете больше продаж на двух платформах]]. Это не анализы - как это принято. - person defhlt; 03.11.2013
comment
Мой комментарий никогда не был атакой на саму 2d-x. Только идея разработки для нескольких платформ одновременно, прежде чем создавать продукт MVP. Даже Blizzard, разработавшая Hearthstone с использованием движка Unity, сначала позаботилась о том, чтобы он работал на настольных компьютерах, прежде чем перейти на версию для iPad, а когда-нибудь и на Android. - person ; 31.05.2014
comment
По своему опыту могу сказать, что использование Cocos2d-x для запуска в первый день на Android, iOS и Windows Phone значительно увеличивает мой доход. А с Cocos2d-x 3.x дополнительные усилия по разработке и тестированию для дополнительных платформ незначительны по сравнению со временем, затрачиваемым на создание MVP игры. Сборка и упаковка для нескольких платформ довольно проста, если вы знаете несколько необходимых вещей. Я бы согласился с этим ответом в 2011 году, но в 2015 году я думаю, что стоит попробовать Cocos2d-x, если вы хотите сделать мобильную игру для iOS, Android и Windows Phone. - person Jim Range; 27.10.2015

Я согласен с тем, что вам следует сосредоточиться на разработке для одной платформы, пока у вас не появится хороший надежный продукт. Однако многие разработчики, которые делают это постфактум, понимают, сколько усилий и дополнительных затрат потребуется, чтобы полностью переписать игру на новой платформе. Хотелось бы немного заранее подумать, что вы можете свести к минимуму необходимость переделки и, таким образом, минимизировать свои расходы, когда вы будете готовы портировать свою игру. Android занимает слишком большую долю рынка, чтобы полностью его игнорировать; на мой взгляд, Cocos2d-x — это то, что вам нужно, если вам нравится Cocos2d.

person bigtunacan    schedule 28.01.2012

Я не знаю насчет cocos2d-iphone, но знаю насчет cocos2d-x.

Плюсы:

  • cocos2d-x использует C++ (ну, не совсем профи для некоторых, но это про для меня)
  • Вы можете легко развернуть его на разных платформах, при условии, что вы правильно его настроили (см. ниже).
  • Он поддерживает Lua и JavaScript для еще более простого кодирования.

Минусы:

  • cocos2d-x практически не имеет документации. Вы полагаетесь на тестовые проекты и справочник по API. Слава богу, есть такие люди, как Nat Weiss, которые сделали обучение доступным для пользователей. (http://paralaxer.com/cocos2d-x-book/)
  • Настройка вашего проекта для работы на любой платформе — непростая задача. Вы должны хорошо разбираться в нескольких IDE, а также в командах командной строки/терминала.
  • Большинство скриптов, идущих в комплекте с библиотекой для создания новых проектов, не являются мультиплатформенными, то есть вам все равно придется настраивать их индивидуально для всех платформ.
  • Интеграция сторонних SDK, таких как Facebook, реклама и другие вещи, занимает много времени, поскольку вам придется внедрять их для каждой платформы, на которую вы ориентируетесь.
person alxcyl    schedule 13.06.2013

Я разрабатываю cocos2d-x для iphone, и он отлично работает для меня. Единственная проблема, которую вы можете обнаружить, заключается в том, что API всегда немного отстает от версии cocos2d для iphone. Однако сам api надежен и во многих отношениях является факсимиле оригинала.

Если вы серьезно относитесь к переносу на другую платформу, даже если вы попытаетесь сначала добиться успеха на одной платформе, cocos2d-x — это то, что вам нужно, потому что вам не нужно будет позже переписывать суть вашего кода на каком-то другом языке ( т.е. порт с c++ на objc или с objc на c++).

person andrewz    schedule 05.06.2013

Я работал с Cocos2d и Cocos2d-X только для разработки iPhone (пока). Я работал с Cocos2d около 1,5 лет и перешел на Cocos2d-x за последние шесть месяцев или около того. Поначалу я не хотел переходить на Cocos2d-x, потому что, по моему мнению, он еще только созревал. Coco2d 2.0 вышел с множеством изменений, и я знал, что он хорошо развернут и протестирован. Coco2d-x казалось, что он все еще находится в движении. Это изменилось, и я решил использовать Cocos2d-x на время, пока он продолжает поддерживаться.

Обе платформы в целом работают так, как рекламируется, и обеспечивают хорошую производительность для того, над чем я работаю (вы можете увидеть несколько примеров здесь< /а>).

Мне удобно работать как в мире Object-C, так и в мире C++. Я не знаю, буду ли я когда-нибудь портировать свои «материалы» на Android, но приятно иметь возможность.

Однако БОЛЬШИМ решающим фактором для меня была возможность повторного использования. Я создаю множество компонентов и виджетов, которые повторно использую в других проектах. Если бы я разрабатывал только для iOS, мне бы подошёл Objective-C. Но я работаю в основном на C++ и не хочу перекодировать все идеи с одного языка на другой каждый раз, когда хочу достать проверенный инструмент из ящика с инструментами.

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

person FuzzyBunnySlippers    schedule 06.10.2013

В настоящее время я работаю над cocos2d-x, и я очень доволен этим. Я бы посоветовал начать проект на одной платформе (я предпочитаю IOS). И когда вы успешно запустились на одной платформе, начните на другой.

Если ваша игра станет успешной, в конце концов вам придется запустить ее и на другой платформе. Так что лучше планировать заранее.

person user739711    schedule 07.10.2013
comment
Я согласен с тем, что мы должны планировать заранее и учитывать нашу стратегию, если мы хотим в какой-то момент ориентироваться на несколько платформ. Но я не согласен с тем, что нужно подождать с тестированием на других вероятных целевых платформах, если они серьезно относятся к публикации на них. Настройка для iOS, Android и Windows Phone намного проще, чем я изначально думал. И что интересно, некоторые игры, которые я опубликовал, успешны на Android, но не на iOS, или наоборот. Чем больше игроков вы сможете показать свою игру, тем лучше! - person Jim Range; 27.10.2015

Я бы остановился на Cocos2D-iphone. Сосредоточьтесь на продукте от более крупного сообщества с гораздо большими ресурсами. Когда вы будете готовы к переносу, используйте apportable для компиляции вашего приложения для Android, когда это будет сделано.

person Zac Bowling    schedule 30.05.2013