Падение замертво: OpenGL ES v1.x
В настоящее время Cocos2D перестраивается для выпуска v2.0. Это только поддержит OpenGL ES 2.x, и таким образом игры, сделанные с Cocos2D v2.x, не будут бежать на 1-ых & 2-ых устройствах поколения (iPhone, iPhone 3 г, iPod Touch 1 & 2).
Две нити развития на форуме Cocos2D здесь и здесь полны пользователей, выражающих их разочарование (среди других эмоций/критики), чтобы не поддержать ядро предоставления, которое поддерживает и ГЛОССАРИЙ ES 1.x и 2.x. Даже при том, что было сказано, что, если Вы все еще должны поддержать все устройства, Вы можете просто продолжить использовать Cocos2D v1.x отделение.
Я управлял некоторыми числами и пришел к следующему заключению: если Ваша игра только поддержит OpenGL ES 2.x и выйдет в 2012 Q1, то Вы потеряете меньше чем 10 % клиентов!
Вот то, почему я думаю, что OpenGL ES v1.x в настоящее время находится в процессе падения замертво, и близко к удару земли в пределах прибытия ~6 месяцев.
Статистика iPhone продаж Q1 2011
У Википедии есть хороший список статистики iPhone продаж (общие количества), поскольку о них сообщила Apple каждая четверть. Эти статистические данные колеблются с 2007 Q3 до 2011 Q1. К сожалению, о продажах Apple не сообщает устройство, таким образом, некоторые ежеквартальные продажи - объединенные продажи iPhone 3 г + iPhone 3GS соответственно iPhone 3GS + iPhone 4. Unfortunately, sales by Apple are not reported by device, so some quarterly sales are combined sales of iPhone 3G + iPhone 3GS respectively iPhone 3GS + iPhone 4.
Я попытался экстраполировать отдельные продажи устройства, делая предположение, что в течение долгого времени периоды, где два различных устройства iPhone продавались, более новый, вероятно, продадут больше. Так как мы говорим о Apple, я выбираю раскол 70/30, подразумевая, что я предполагал, что 70 % продаж были для более нового устройства. Это кажется о прямо, так как более новые устройства всегда продавали лучше чем предыдущее поколение, но также и согласно небольшому количеству статистики разработчика. This seems about right since newer devices have always sold better than the previous generation, but also according to some developer statistics.
Например разработчики Удара, сообщающие об ИОСЕ 4 уровня принятия 90 % в январе 2011 через все устройства ИОСА (1-ые устройства поколения не могут установить ИОС 4). Или Surgeworks ИОС 4 отчета о Принятии, которые содержат статистику использования 1-ых пользователей устройства поколения только 2.5 % для одного приложения, и 5%-ых пользователей 3 г iPhone для другого приложения.
Левая сторона следующих диаграмм пирога показывает общее количество устройств iPhone, проданных той дате с периодами продаж двух объединенных устройств. Диаграммы пирога на праве показывают экстраполируемую статистику продаж для отдельных поколений устройства iPhone, и который OpenGL версия ES они поддерживают.
Загрузите лист Excel, я имел обыкновение составлять эти таблицы:
Заметьте, как в 2010 Q1 приблизительно две трети всех устройств iPhone поддерживали только OpenGL ES 1.x, но в течение года картина поворачивала только другой путь. В 2011 Q1 две трети проданных устройств iPhone были способны к управлению OpenGL ES 2.x кодекс!
Это имеет непосредственное отношение к двум факторам: iPhone 4 проданный как сумасшедший, тогда как последний OpenGL ES 1.1 продаваемые iPhone (iPhone 3 G) был прекращен в июне 2010. Значение, так как Apple Q3 2010 года больше не продает OpenGL ES 1.1 устройства iPhone. И OpenGL ES 1.1 iPod Touches прекратил продавать в 2010 Q4 также. Meaning since Q3 2010 Apple does no longer sell OpenGL ES 1.1 iPhone devices. And OpenGL ES 1.1 iPod Touches stopped selling in Q4 2010 as well.
Весь ИОС Девайс Сэйлс Стэтистикс Q2 2011
Согласно Незашитому, Apple сообщила, чтобы продать 200 миллионов Устройств ИОСА во время ИОСА 5 объявлений. 25 миллионов из тех были iPads. Они - самые современные продажи stats, который я принимаю, чтобы быть Q2 2011 статистических данных. These are the most up to date sales stats, which I assume to be the Q2 2011 statistics.
Основанный на числах Википедии, который заявляет 83 устройства iPhone Mio, проданные против более чем 60 проданных устройств iPod Touch Mio, оставление 175 Mio должно быть 42%-ым iPod Touch (74 Mio) и 58%-ый iPhone (102 Mio).
Процент OpenGL ES 2.x способные устройства iPhone к те единственная поддержка OpenGL ES 1.1 составлял 31 % в 2010 Q1 и подскочил к 64 % в 2011 Q1. Принимая 1.1 к 2.x отношение - то же самое для iPod Touch, который дает нам 137 Mio устройства ИОСА (iPhone, iPod Touch, iPad) с OpenGL ES 2.x способность против 63 устройств Mio (1-ый & 2-ой iPhone поколения / iPod Touch), который не поддерживает 2.x.
Эта диаграмма пирога включает все Устройства ИОСА и который OpenGL версия ES они поддерживают:
Это означает, что 70 % всех устройств ИОСА, проданных дате, поддерживают OpenGL ES 2.x. Это оставляет нас только с 30 % устройств ИОСА не способными к управлению OpenGL ES 2.x кодекс.
Я не хочу терять 30 % своих клиентов!
Вы не будете!
Имейте в виду, что эти статистические данные только о проданных устройствах. Они не отражают то, что произошло с этими устройствами с тех пор, или как они используются сегодня.
Я могу также утверждать, что более старые устройства исчезают быстро из рынка. Даже при том, что 30 % устройств продали поддержке только OpenGL ES 1.1, Вашей базой потенциальных клиентов будут значительно меньше чем число проданных устройств. Это для множества причин: This is for a variety of reasons:
- устройство было потеряно или было украдено
- устройство, сломанное вне использования/ремонта
- устройство просто больше в использовании
- устройство, принадлежавшее человеку, который вряд ли купит новые приложения
Особенно последний пункт нужно рассмотреть: пользователь устройства. Снова, пользователь - Ваш потенциальный клиент, не устройство. И вообще все эти пункты, более вероятно, произойдут более старое, которое устройство. Again, the user is your potential customer, not the device. And in general all of these items are more likely to happen the older the device is.
Один commenter в одном из двух ГЛОССАРИЕВ ES, о котором сообщили 2.0 нити на форуме Cocos2D, как счастливые пользователи должны были видеть, что игра бежала гладко на их 1-ых устройствах поколения. Для меня, который не является доказательством, что поддержка более старых устройств выгодна. Наоборот, я думаю, что это ясно показывает нам, что старые пользователи устройства поколения являются намного более отборными о своих покупках, уже бросают свою любовь к их устройствам, и могут рассматривать модернизацию, потому что они, возможно, прекратили наслаждаться своими устройствами. Это способствует “менее вероятно, чтобы купить новые приложения” фактор. To the contrary, I think it clearly shows us that old generation device users are much more selective about their purchases, are already giving up their love for their devices, and may be considering an upgrade because they may have stopped enjoying their devices. This contributes to the “less likely to buy new apps” factor.
Вы можете также предположить, что пользователи более старых устройств имеют меньше потребляемого дохода, или удовлетворены устройством, как это. Если пользователь фактически доволен старым устройством ИОСА, вероятно, что человек предпочитает использовать приложения и играет в немного (er) игр или только продолжает использовать приложения & игры, уже принадлежавшие.
Число потенциальных клиентов, которых Вы потеряли бы – если бы Вы освобождали OpenGL ES 2.0 игры прямо сейчас – возможно приблизительно 10 % к 20 % самое большее. Гораздо меньше, если бы Ваша игра сложна и визуально богата, и перенесла бы некоторую работу или визуальную деградацию на более старых устройствах так или иначе.
Что относительно ближайшего будущего?
(Q1 2012)Полагая, что 6 месяцев с этого времени, в 2012 Q1, мы будем видеть выпуск новых устройств iPhone (iPhone 5, возможно iPod 5) и таким образом другой бум в продажах, это - лучшее соглашение начать делать некоторые прохладные визуальные эффекты с shaders, которые выглядят большими на iPhone 4 и 5 вместо того, чтобы пытаться все еще поддержать 1-ые и 2-ые устройства поколения.
В особенности, если Вы должны вставить некоторых (или много из) усилие поддержать более старые устройства, например если Вы должны оптимизировать работу, уменьшить набор признаков (eg никакая или ограниченная поддержка Центра Игры), или (бог запрещают), Вы должны гарантировать совместимость ИОСОМ 3.0.1 или ниже (недоступный CADisplayLink!). То время и усилие лучше проведены на создание лучшего OpenGL на ES 2.x игра! That time and effort are better spent on making a better OpenGL ES 2.x game!
Очевидно, решение также зависит от того, как визуально богатый Ваша игра собирается быть и можете ли Вы ожидать сталкиваться с работой и другими проблемами о более старых устройствах во всяком случае.
Резюме
Я полностью ожидаю долю на рынке OpenGL ES 1.1 устройства, проданные, чтобы спасть приблизительно до 20 % к 2012 Q1. Это помещает число потенциальных клиентов (для разработчиков игры) все еще использующий те устройства и покупающий игры, конечно, намного меньше чем 10 %. Тогда полагайте, что iPhone 5 может даже уже составлять до 5 % (~10 Mio) всех устройств ИОСА, проданных к 2012 Q1. Then consider that the iPhone 5 may even already account for up to 5% (~10 Mio) of all iOS devices sold by Q1 2012.
К концу 2012 база потенциальных клиентов (для разработчиков игры) все еще использование 1-ых и 2-ых устройств поколения станет полностью незначительным.
Это означает, если Вы начнете развивать OpenGL ES 2.x игра в течение следующих 3 месяцев, и Ваша игра берет 3 + месяцы, чтобы закончить, то Вы потеряете очень немного клиентов, только поддерживая 3-ье поколение и более новые устройства. И Вы можете фактически быть в состоянии выиграть больше клиентов, умно поддерживая новые устройства!
Я думаю, что мудро начать использовать Cocos2D v2.0, как только это готово к производству, который может быть приблизительно через 3-6 месяцев согласно комментариям и текущему продвижению.
Игра На, Cocos2D 2.x!
Kobold2D: Шаблон Проекта Cocos3D
Сегодня я закончил первый проект главы Kobold2D, которая будет во втором выпуске Изучения книги Cocos2D. В той главе я также даю Вам введение в cocos3d, официальную трехмерную дополнительную библиотеку для cocos2d. Я перенес cocos3d’s шаблон проекта Xcode к Kobold2D и пряный это немного с некоторыми cocos2d узлами в спине - и передний план: I ported cocos3d’s Xcode project template to Kobold2D and spiced it up a little with some cocos2d nodes in the back- and foreground:
Заметьте “поступающее предупреждение” связи сети. Это вызвано iSimulate библиотекой, которая распределена с Kobold2D и активизирована по умолчанию для Тренажера, строит. Вы все еще должны купить iSimulate Приложение, чтобы извлечь выгоду из этого все же. Если Вы не делаете Вы можете также хотеть игнорировать диалог или просто повреждать iSimulate, комментируя линию в файле проекта BuildSettings-iOS.xcconfig. You still need to buy the iSimulate App to benefit from it though. If you don’t you can also choose to ignore the dialog or simply disable iSimulate by commenting out a line in the project’s BuildSettings-iOS.xcconfig file.
У меня также была большая забава с увеличенной возможностью действительности, которую предоставляет cocos3d класс CCNodeController. И устанавливание этого является одной линией кодекса. Вот “камера как живой второстепенный” демонстрационный пример в действии: Here’s the “camera as live background” demo in action:
Так как картина действительно не воздает этому должное, вот видео:
По общему признанию это могло управлять немного быстрее на моем iPhone 3 г. Это довольно обложено налогом и средние числа приблизительно 20 fps с представлением фона камеры и предоставлением трехмерной модели. Мои средние числа iPod Touch 4 в пределах 40 fps и это чувствует себя намного более гладким. My iPod Touch 4 averages at around 40 fps and it feels a lot smoother.
Kobold2D Todo Список
Один из самых больших пунктов в моем списке todo для Kobold2D должен проектировать веб-сайт и скоро избавиться от “прибытия” страница. Это включает устанавливание wiki и заполнение этого с содержанием, документация по большей части. И, ну, в общем, платя 150$ каждый месяц, потому что я не вижу альтернативы использованию Слияния. Я хочу любить работать над документацией, и я хочу, чтобы Вы любили просматривать и читать ее. And, well, paying $150 each month because I don’t see any alternative to using Confluence. I want to enjoy working on documentation, and I want you to enjoy browsing and reading it.
Я также хочу создать больше проектов шаблона. В настоящее время, как Вы можете видеть в первом скриншоте, есть Привет Kobold2D (iOS & Mac), Привет Cocos3D (ИОС) и Привет Cocos2D-X (ИОС). Я хочу добавить еще два шаблона, один для Бурундука с SpaceManager (iOS & Mac) и один для Box2D (iOS & Mac). Я также хочу добавить проекты из своей книги как проектные шаблоны, а именно, Снижение Болвана, Стрелять их игра, Ортогональное и Изометрические проекты Tilemap, и Cocos2D С проектом UIKit (весь ИОС). I want to add two more templates, one for Chipmunk with SpaceManager (iOS & Mac) and one for Box2D (iOS & Mac). I also want to add the projects from my book as project templates, namely Doodle Drop, the Shoot ‘em Up game, the Orthogonal and the Isometric Tilemap projects, and the Cocos2D With UIKit project (all iOS).
Даже при том, что у Kobold2D не будет Xcode 4 Проектными Шаблонами, я все еще хочу дать Вам быстрый и легкий способ начало новый проект, основанный на одном из проектов шаблона. Заметьте различие между “проектным шаблоном” (те в Новом Проектном диалоге Кскоуда) и “проектом шаблона” (постоянный клиент, уже существующий проект). Я начал писать инструмент, который позволяет, Вы, чтобы создать копию существующего шаблона Kobold2D проектируете и переименовываете его, так, чтобы технологический процесс был столь же удобен как выполнение его в пределах Xcode. Это работает на определенный шаблон, с которым я проверил это, но я все еще должен проектировать пользовательский интерфейс и сделать кодекс предохранительным. I started writing a tool that allows you to create a copy of an existing Kobold2D template project and rename it, so that the workflow is just as convenient as doing it within Xcode. It works for the specific template I tested it with, but I still have to design the user interface and make the code fail-safe.
В случае, если Вы задаетесь вопросом, почему у Kobold2D не будет Шаблонов Проекта Xcode: они не почти столь же сильны, как они должны были бы быть. И они - боль сзади, чтобы создать и поддержать без некоторой поддержки инструмента. Но худший из всех, у Вас нет никакого способа включать файлы в Xcode 4 проектных шаблона, которые не должны быть добавлены к Проектному Навигатору. Как, например.xcodeproj файлы. And they’re a pain in the rear to create and maintain without some tool support. But worst of all, you have no way of including files in an Xcode 4 project template that must not be added to the Project Navigator. Like, for example, .xcodeproj files.
Kobold2D хорошо и жив. Фактически так так, чтобы я думал: “Эй, это является сумасшедшим, но возможно не … я буду давать этому выстрел и видеть, как далеко я добираюсь.” “Hey, it’s crazy, but maybe not … I’ll give it a shot and see how far I get.”
Мысль должна была попытаться добавить cocos2d-x двигатель (cocos2d в C ++) вместе с Привет Мировым проектом в качестве примера к рабочему пространству Kobold2D. Результат: потребовалось приблизительно 90 минут, большая часть того выяснения правильного строят пути поиска заголовка и параметры настройки. И это только работало. it took about 90 minutes, most of that figuring out the correct build settings and header search paths. And it just worked.
Удивление!
Прямо сейчас это - только версия ИОСА. cocos2d-x проект Mac будет добавлен, как только платформа Mac официально поддержана cocos2d-x (или это уже и я пропустил это?). Тогда у разработчиков был бы выбор между использованием или Целью-C или C ++ как основной язык для того, чтобы развить их iOS & Mac OS X игр. ). Then developers would have the choice between using either Objective-C or C++ as the primary language for developing their iOS & Mac OS X games.
Это также заставило меня думать: “Эй, есть этот другой общедоступный 2-ой двигатель игры … hmmm ….”
”
Календарь Linkvent, День 18: Исполнительное Сравнение iDevice
Этот для "техников" среди Вас, кто хотел бы знать об исполнительных спекуляциях низкого уровня устройств ИОСА. Возможно Вы услышали о Майке Эше прежде? Он - программист Mac, который пишет о его профессии еженедельно, и блог развития Майка хорошо стоит рассматривать для очень интересного материала. Назад в марте 2008 он издал одно из первого исполнительного сравнения iPhone для общих операций. He’s a Mac programmer who writes about his profession on a weekly basis and Mike’s development blog is well worth browsing for highly interesting material. Back in March 2008 he published one of the first iPhone performance comparison for common operations.
Стюарт Карни тогда взял это исполнительное сравнение и обновил его с результатами для iPhone 4 и iPad, и издал их в его сообщении в блоге Микросопоставительного анализа наряду с исходным кодом. Если Вам интересно изучать, сколько времени это берет, чтобы выполнить подразделение с плавающей запятой или 1 MB memcopy через несколько устройств ИОСА, они - тесты, которые Вы искали.











