11. Саммари от котэ
Cocos2d-x.org +http://drmtm.us/cocoswiki
http://drmtm.us/wincampdemo
?Cocos+samples
?Cocos+tutorial
http://commonly.cc
@AlexSorokoletov специально
для #WinCamp
Editor's Notes
Добрый день!Я Александр Сороколетов из компании DreamTeam Mobile. Мы занимаемся созданием игр и приложений для Windows 8 и Windows Phone. Иногда мы экспериментируем с другими платформами, чтобы не вариться в собственном соку.Когда есть время, делаем инструменты для разработчиков.
Что же мы такого сделали, а?gMaps, приложение, которое помогает вам ориентироваться в незнакомом городе. UTrailMe – приложение, с помощью которого вы можете поделиться самыми необычными моментами в своей жизни в режиме здесь и сейчас. Кстати, мы разработали его с нашим партнерами, у него есть версия для iPhone.Lock Screen Mosaic позволяет вам наслаждаться свежими инстаграмами на экране вашего телефона.А наши инструменты для разрабОтчиков помогут вам быть в курсе отзывов и рейтингов вАших приложений, а также увеличить доходность рекламы в ваших продуктах.
Прежде чем начать, я хочу узнать побольше о людях в зале. Поднимите, пожалуйста, руку те, кто хотя бы однажды занимался созданием или разработкой игр?---------Pause—Спасибо! Для трансляции – подняло примерно Н человек или Х часть залаА теперь, поднимите пожалуйста руку те, кому хоть раз приходила в голову мысль сделать игру?Спасибо. Вот видите, желающих делать игры на самом деле больше.Я отношусь к тем, кому приходила в голову мысль сделать игру.Так почему речь пойдет именно о разработке игр?-------------------------------------Загибаем пальцы-------------Тому есть 3 причины:Я всегда считал, что разработка игр это сложно. Это, оказывается, не так. Нужно лишь знать правильные удобные инструменты. И я как раз об этом и расскажу.Плюс Обычно про разработку приложений рассказывают много и везде. И третью причину вы видите на слайдах. Игры приносят больше денег, и рынок игр на Windows 8 очень и очень разрежен.Игроки тратят больши, у игр больше инсталляций, с играми у людей более тесная связь за счет эмоций.У вас есть реальный и очень хороший шанс взять большую часть игровой аудитории, написав качественную игру.К тому же, так или иначе, Windows Store будет на большинстве компьютеров с Windows. И игроков будет в десятки раз больше.http://www.serkantoto.com/2013/07/29/gungho-puzzle-dragons-report/http://www.insidemobileapps.com/2013/01/10/supercell-generating-1m-a-day/
Как же сделать игру?Обязательно нужно решить, с помощью какого тула вы будете создавать игру?Написать игру для Windows 8 можно с помощью разных технологий.Кроме того, есть готовые фреймворки, которые ускоряют и упрощают разработку.Самые популярные языки и фреймворки есть на слайде.Как же сделать выбор?Различаются они по 1) цене лицензии 2) своему уровню (monogameнизкоуровневый по сравнению с unity) 3) языку – в основном выбор между c# и c++ 4) простоте вхождения и понимания 5) и списку платформ, которые поддерживаются (кроме windows 8)Скорее всего, если вы собираетесь сделать свою игру, вы выберете что-то бесплатное и легкое для понимания, пусть даже с ограниченым списком поддерживаемых платформ.Мое мнение – для 2д игр кокос (второй логотип слева) идеально вписывается в эти требования.Но он тесно связан с #monogame, поэтому сначала о моногейме.
Краткий экскурс в историю. Игры для Windows Phone 7 можно было писать с помощью такого инструмента как XNA.Но вот незадача. А) XNA приказал долго жить. Б) писать игру с расчетом на одну платформу в современном мире никто не хочет. XNA поддерживал только Xbox 360 и WP7. Вот разработчики уже популярных на то время игр и сделали свой XNA с барышнями и поддержкой всяческих платформ. И так хорошо сделали, что сейчас кроме Microsoft платформ поддерживается iOS, Android, Mac OS, Linux, PlayStation Mobile, OUYA, Raspberri PI. Впечатляет? Неплохо. Открытый код. И очень популярный язык C#.
Так вот. Теперь когда у нас есть одинаковая технология для разных платформ (XNA/Monogame), пора подумать о няшках.Дело в том, что XNA довольно непривычен для сознания среднестатистического сишарпера.В первый раз кажется, что там все как-то неправильно сделано. Но это лишь кажется. Для тех, кто не хочет проникать в суть XNA или не может в силу обстоятельств – есть прекрасный фреймворкcocos2d-x.Это зрелыйвысокоуровневый фреймворк для 2д игр, наиболее популярен он среди айфонщиков. Существует давно, еще до рождения Windows Phone.Фреймворк кокоса хорошо структурирован и позволяет работать с 2д графикой, звуком, физикой, анимацией и картами уровней (супер-марио помните – вот когда все из квадратиков сделано). Многие редакторы карт, эффектов и текстур поддерживают экспорт данных для кокоса. Есть свой редактор сцен – CocosBuider, позволяющий задавать анимации, чем-то отдаленно похожий на ExpressionBlend.У кокоса большое и доброе сообщество, много примеров и ему посвящено много книг. То, что кокос был портирован на множество языков – лишь подтверждает его популярность, удобство и простоту.Мы рассмотрим сегодня версию кокоса на C#, которая использует XNA/Monogame.Сначала эта версия была сделана для Windows Phone 7, но после выпуска моногейма она стал необычайно популярна – так как обзавелась поддержкой целого списка платформ.//Одна из самых известных игр – Farmville (ферма) от Zynga.//одним из популярных примеров является реализация angry birds space на кокосе.
Для начала, давайте посмотрим на игру, написанную на XNA и кокосе для Windows Phone 7.Наша игра уже установлена, давайте ее запустим. Ctrl+F5 и вуаля – мы видим первый экран игры с меню.Жмем играть и видем игровое поле. Нужно набрать как можно больше очков за ограниченное время. Чем больше кристаллов я уберу, тем лучше. За последовательности дают отдельные бонусы.Ничего экстрасуперопуппенного нету, игра как игра Я сделал свое домашнее задание и портировал игру на Android, да! Давайте посмотрим, что такое андроид и можно ли на нем вообще устанавливать игры.Для этого мне нужно закрыть эмулятор WP и запустить эмулятор Андроида.Андроид даже на уровне эмулятора плохо дружит с WP Так и живут. Это займет некоторое время, я пока вам пару фактов про кокос расскажуИгра Farmville - Ферма от крупного издателя Zynga написана на кокосе. А знаете, что в последнее время очень популярным стал кокосовый пример Angry Birds Space? Физика, облачка на фоне, все дела. Воот!
Итак, наконец-то запустился наш андрюша. Жмем Ctrl+F5, и скоро мы узнаем, играют ли андроиды в игры?Смотрите, что-то запускается!А ну да, триальная версия Xamarin. Считайте, что это их ответ Visual Studio Express.Баннер моногейма, пока все по плану.И ура, наша игра Жмем играть и видем, что все как и в WP7 версии.Мне кажется это УСПЕХ или даже ПРОФИТ Вот в зале сидит сейчас человек и я прямо вижу у него улыбку на лице. Он думает, «небось сидел неделю еще портировал потом на андроид».Вы знаете, это не так. И мое следующее демо вам это докажет.
БелыйКрасныйСинийЗеленыйСерыйОранжевый
Значится так. Мы собрались на Windows Camp и обсуждаем тут Windows 8. Давайте-ка портируем эту игру на Windows 8.Нам придется снова переключиться в Visual Studio.Для начала создадим новый проект для Windows 8. Выберем шаблон Monogame Windows Store project. Это в принципе обычный проект, просто к нему подключены библиотеки моногейма. Теперь добавим библиотеки кокоса, их 2. Теперь мы подключим код нашей игры в новый проект. Сделаем папку logic (безобразно, но однообразно) и добавим туда уже существующие файлы.Обратите внимание, я добавляю файлы из проекта Windows Phone 7.Добавим их как ссылки. Это значит, что если я поменяю что-то в файле в проекте Windows 8, он изменится и в проекте Windows Phone.Иногда это удобно.Так. Теперь нам нужно сказать моногейму, что мы подключили кокос и надобно с ним работать. Для этого я вставлю 2 строчки кода.Они стандартные и есть в WP7 и в Андроиде. Теперь вроде бы сделано, но это не так.Нам нужно добавить ресурсы игровые – картинки, шрифты и так далее. Положить их нужно в папку контент. Вот они у меня есть, копирую их в эту папку.Еще нужно сказать, чтобы студия их копировала в папку рядом с собранным приложением. Файликов много, и если я буду делать это руками, мы застрянем надолго.С вашего молчаливого согласия я сделаю хитрость. Я просто отредактирую файл проекта.Так, и вставлю сюда небольшой сниппет.Он рекурсивно подключит все файлы в папке и заставит их копироваться.Отлично, сохраняем и перегружаем проект. Видим все наши файлы на месте. Давайте запустим и посмотрим что у нас получилось.Вроде бы все работает.Вы знаете, у нас еще есть время, давайте попробуем улучшить эту игру.Давайте добавим выбор размера поля. Сделаем кнопку в основном меню, потом добавим переход на экран выбора и сделаем там выбор.Для начала откроем MainSceneLayerкласс.
Давайте подведем итоги:Вы узнали, что написать игру под Windows 8 с правильным инструментом легко.Сделать ее кроссплатформенной – еще проще.Хочу напомнить, что:У кокоса есть множество примеров и обучалок, достаточно лишь поискать.И еще одна распространённая проблема для начинающих – где взять графическое наполнение игры?Мой совет - для начала можно воспользоваться бесплатной доступной графикой, прекрасные наборы есть в интернете – вот последня ссылка на слайде как раз об этом. Там же есть и звуки.