SlideShare a Scribd company logo
Всеволод Шмыров @vsesh
Разработчик интерфейсов API карт
Как я вышел на
рынок мобильных
игр, постоял и
ушёл
2
Hello, world!
3
Подготовка
5
Pixelnoid
6
Почему?
• Игорь тонет! (особенно арканоиды);
• Опыт разработки игр;
• Знакомая среда разработки (Visual Studio,
.NET, XNA).
7
XNA
• XNA - XNA's Not Acronymed;
• Набор инструментов для разработки игр под
.NET;
• Активно используется для разработки инди (и
не только) игр для Windows и Xbox;
• Включает в себя framework и бесплатную
среду разработки (XNA Game Studio edition).
8
Проекты на XNA
9
Структура Microsoft
10
Mono Game
• Свободная реализация XNA;
• Практически никаких различий в интерфейсе –
подключил другую библиотеку и все работает;
• Анонсирована поддержка Win, WP8, Android, iOS,
MacOS, Linux, QUYA, PlayStation.
11
12
Выход на Windows Phone Store
• Годовая подписка разработчика
стоит 99$ (сейчас 19$);
• Проверка приложений перед
публикацией;
• Проверяют от 4 до 7 рабочих дней.
13
Lifehack
• Доступ к продуктам Microsoft;
• Возможность публикации в
магазины;
• Действует год.
14
ИНТУИТ
15
Плюшки Dreamspark
• Возможность год публиковать
приложения в Windows Phone Store (в
другие магазины не публиковал);
• Бесплатное или со скидками ПО;
• “Обновился” до Windows 8 Pro за 2200
рублей (вместо 9900).
16
Windows Phone Dev Center
17
Разблокировка телефона
Разработка
19
Pixelnoid
http://www.youtube.com/watch?v=83UuXPST-dw
http://www.youtube.com/watch?v=hgjSuJyLR10
20
Роли
Программист Геймдизайнер Дизайнер
21
22
Списки
23
Геймплей
24
Геймплей
25
Геймплей
26
Немного про архитектуру игры
• Не использовал паттерн MVC (кажется,
самый популярный паттерн при разработке
игр);
• XNA предоставляет механизм «тика». Методы
Update и Draw в базовом классе;
• XNA не предоставляет сущность «игровой
элемент», а только инструменты для работы с
графикой, звуком, текстом и т.д.
27
Движение игровых элементов
+ speed * timeDelta
+ shift
28
Направление, скорость и вектор движения
Position.X += Direction.X * Speed;
Position.Y += Direction.Y * Speed;
…
double ballDirection = Math.Atan2(ball.Direction.Y, ball.Direction.X);
newBall.Direction.X = Math.Cos(ballDirection + Math.PI / 8);
newBall.Direction.Y = Math.Sin(ballDirection + Math.PI / 8);
newBall.Position.X = ball.Position.X;
newBall.Position.Y = ball.Position.Y;
29
Внешний вид игры
30
Дизайн уровней
31
Дизайн уровней
32
Создание уровня (изображение)
33
Создание уровня (xml)
<?xml version="1.0"?>
<level>
<!-- мячики -->
<balls>
<ball>0,1</ball>
<ball>0,3</ball>
</balls>
<!-- Бонусы на уровне -->
<bonuses>
<dynamic>
<bonus type="ball_plus" amount="14"/>
<bonus type="ballSpeed_plus" amount="5" />
<bonus type="platformSpeed_plus" amount="5" />
<bonus type="platformSpeed_minus" amount="5"/>
</dynamic>
<static>
<bonus type=“red_ball" x="11" y="9" />
</static>
</bonuses>
</level>
34
Цвет блока
35
Создание случайного цвета
r1 = g1 = b1 = 170;
r2 = g2 = b2 = 255;
…
public static Color GetColor(byte r1, byte r2, byte g1, byte g2, byte b1, byte b2)
{
if (rand == null)
rand = new Random((int)DateTime.Now.Ticks);
float fRand = (float)rand.NextDouble();
Color result = new Color();
result.R = (byte)(r1 + ((r2 - r1) * fRand));
result.G = (byte)(g1 + ((g2 - g1) * fRand));
result.B = (byte)(b1 + ((b2 - b1) * fRand));
return result;
}
36
Случайные цвета блоков
http://www.youtube.com/watch?v=oPofE1phQm0
37
Разрешение экрана
• 800x480 (wvga)
• 1280x720 (720p)
• 1280x768 (wxga)
38
Поддержка разных разрешений экрана
39
Звук в игре
Публикация
41
Публикация игры в WP Store
42
Публикация игры (1)
43
Публикация игры (1)
44
PEGI
45
Получение PEGI
https://wp-rating.pegi.eu/
46
Публикация игры (3)
47
Публикация приложения (2)
48
Публикация приложения (2)
49
Публикация приложения (4)
После публикации
51
День публикации
52
Пути продвижения
• Группа на facebook. https://www.facebook.com/pixelnoid;
• И добавил ссылку на группу прямо в игру;
• Ролики на youtube http://clck.ru/8ohVS ;
• Написал на паре тематических форумах
http://wpcental.com и http://4pda.ru об игре;
• Обратился к нескольким тематическим сайтам, которые
были на первой странице Яндекса;
• Сменил иконку;
• Сменил название c Pixelnoid на Pixel Arkanoid (Pixelnoid)
(Потом вернул обратно);
• Сделал триал-версию с 2, а потом и с 5 бесплатными
уровнями.
53
Иконка игры в магазине
54
Специальная версия
http://clck.ru/8oxsy
55
Pixelnoid lite
56
Немного про Windows Phone Store
57
«Игры» в Windows Phone
58
Feedback
59
Какие-то левые сайты
60
Рекомендуемые игры
61
Рекомендуемые игры
62
Установки Pixelnoid
63
64
Покупки Pixelnoid
65
Результат на текущий день (05.09.2013)
Ожидание Реальность
66
Планы на будущее
67
Спасибо!
68
Вопросы ?
vsesh@yandex-team.ru
http://vk.com/vsesh
https://www.facebook.com/pixelnoid
http://clck.ru/8oxuZ
http://clck.ru/8oxsy
Pixelnoid
Pixelnoid lite

More Related Content

PPTX
лабораторная работа №5 GUI
Natasha Lysakova
 
PPT
«Путь от инди-разработчика до гейм-дизайнера в студии»
Stfalcon Meetups
 
PPTX
Windows 10 для пользователей и разработчиков
GetDev.NET
 
PDF
Bigyan Tatha Prabidhi Niti 2061
bishal406
 
PPT
First Baptist Church, Belmont Weekly Announcements for June 8, 2014
wburks
 
PPT
FBC, Belmont Announcements 2 23-14
wburks
 
PPTX
Making Effective Presentations
ssslawton
 
PPT
Weekly Announcements for First Baptist Church Belmont, MS April 27, 2014
wburks
 
лабораторная работа №5 GUI
Natasha Lysakova
 
«Путь от инди-разработчика до гейм-дизайнера в студии»
Stfalcon Meetups
 
Windows 10 для пользователей и разработчиков
GetDev.NET
 
Bigyan Tatha Prabidhi Niti 2061
bishal406
 
First Baptist Church, Belmont Weekly Announcements for June 8, 2014
wburks
 
FBC, Belmont Announcements 2 23-14
wburks
 
Making Effective Presentations
ssslawton
 
Weekly Announcements for First Baptist Church Belmont, MS April 27, 2014
wburks
 

Viewers also liked (18)

PPTX
Welcome to First Baptist Church, Belmont, MS
wburks
 
PDF
Technical Analysis
Andrew Goddard
 
PPT
First Baptist Church, Belmont, MS Weekly Announcements for April 20, 2014
wburks
 
PPT
Weekly Announcements for First Baptist Church, Belmont, MS May 4, 2014
wburks
 
PPT
FBC, Belmont Announcements 3-2-14
wburks
 
PPTX
Factsheet
Bambang Hadi
 
PPTX
How Can I Make Money From Home
multivenues
 
PDF
Building a Recommendation System for EverQuest Landmark's Marketplace
Ben Weber
 
PDF
Assessment of Soil Petrophysical Parameters Using Electrical Resistivity Tomo...
David Oyeyemi
 
PPTX
the seven deadly sins of twitter marketing
Twitter Marketing
 
PPT
Announcements for FBC, Belmont for 2-9-14
wburks
 
PPTX
Entertainment+ GEneral quiz
Priya Chandra
 
PPTX
Bartkowiak balcerza prezentacja
Balcerzak Sebastian
 
PPTX
Study Strategies I
ssslawton
 
PPT
FLUIDA
ririnislami9
 
PPT
Weekly Announcements of First Baptist Church, Belmont, MS for June 15. 2014
wburks
 
PPT
Five Travels
patysweet
 
PPTX
Power point on big data: the Cameroonian Story
mirabel sirri
 
Welcome to First Baptist Church, Belmont, MS
wburks
 
Technical Analysis
Andrew Goddard
 
First Baptist Church, Belmont, MS Weekly Announcements for April 20, 2014
wburks
 
Weekly Announcements for First Baptist Church, Belmont, MS May 4, 2014
wburks
 
FBC, Belmont Announcements 3-2-14
wburks
 
Factsheet
Bambang Hadi
 
How Can I Make Money From Home
multivenues
 
Building a Recommendation System for EverQuest Landmark's Marketplace
Ben Weber
 
Assessment of Soil Petrophysical Parameters Using Electrical Resistivity Tomo...
David Oyeyemi
 
the seven deadly sins of twitter marketing
Twitter Marketing
 
Announcements for FBC, Belmont for 2-9-14
wburks
 
Entertainment+ GEneral quiz
Priya Chandra
 
Bartkowiak balcerza prezentacja
Balcerzak Sebastian
 
Study Strategies I
ssslawton
 
FLUIDA
ririnislami9
 
Weekly Announcements of First Baptist Church, Belmont, MS for June 15. 2014
wburks
 
Five Travels
patysweet
 
Power point on big data: the Cameroonian Story
mirabel sirri
 
Ad

Similar to Pixelnoid (20)

PPTX
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
CodeFest
 
PPTX
Windows Phone 7 Game Development
Sergii Lutai
 
PPTX
«Разработка игр на Windows — возможности и перспективы» Ромуальд Здебский, Mi...
DataArt
 
PPTX
Владимир Колесников «Windows Phone 7: самое главное для разработчика»
e-Legion
 
PPTX
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest
 
ODP
3D в браузерных играх, социальных сетях и на мобильных платформах
Anton Volkov
 
PDF
Introduction to 2D Game Development on Nokia Series 40 Asha (Russian)
Microsoft Mobile Developer
 
PPTX
Go Mobile! Windows Phone 7 for all
SoftServe
 
PPTX
Windows Phone 7: возможности для бизнеса с новой платформой разработки
Mik Chernomordikov
 
PPTX
Разработка мобильных игр на HTML5 и JavaScript
Tatiana Smetanina
 
PPTX
New features of Windows Phone 7.5
Alex Tumanoff
 
PDF
SCINO: Summer practice. GameDev.
SCINO
 
PPTX
Казуальные мобильные игры на Unreal Engine 4 / Владимир Алямкин (Pushkin Studio)
DevGAMM Conference
 
PPTX
Игровые приложения для мобильных платформ
Tatiana Aulachynskaya
 
PDF
Scino: Developing for Windows Phone [part-1]
SCINO
 
ODP
Tanki Online — multiplayer 3D-action in browser
Anton Volkov
 
PPTX
METRO. Дизайн для Windows Phone
Nikita Lukianets
 
PDF
Pipeline developments of UX-flow and UI for mobile casual games. Launch of a ...
DevGAMM Conference
 
PDF
Мобильная разработка для олдскульных программистов
Anton Karpenko (KARPOLAN)
 
POT
Martine Spaans (Spil Games) - “Mobile Browser Gaming – New opportunities for ...
DevGAMM Conference
 
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
CodeFest
 
Windows Phone 7 Game Development
Sergii Lutai
 
«Разработка игр на Windows — возможности и перспективы» Ромуальд Здебский, Mi...
DataArt
 
Владимир Колесников «Windows Phone 7: самое главное для разработчика»
e-Legion
 
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest
 
3D в браузерных играх, социальных сетях и на мобильных платформах
Anton Volkov
 
Introduction to 2D Game Development on Nokia Series 40 Asha (Russian)
Microsoft Mobile Developer
 
Go Mobile! Windows Phone 7 for all
SoftServe
 
Windows Phone 7: возможности для бизнеса с новой платформой разработки
Mik Chernomordikov
 
Разработка мобильных игр на HTML5 и JavaScript
Tatiana Smetanina
 
New features of Windows Phone 7.5
Alex Tumanoff
 
SCINO: Summer practice. GameDev.
SCINO
 
Казуальные мобильные игры на Unreal Engine 4 / Владимир Алямкин (Pushkin Studio)
DevGAMM Conference
 
Игровые приложения для мобильных платформ
Tatiana Aulachynskaya
 
Scino: Developing for Windows Phone [part-1]
SCINO
 
Tanki Online — multiplayer 3D-action in browser
Anton Volkov
 
METRO. Дизайн для Windows Phone
Nikita Lukianets
 
Pipeline developments of UX-flow and UI for mobile casual games. Launch of a ...
DevGAMM Conference
 
Мобильная разработка для олдскульных программистов
Anton Karpenko (KARPOLAN)
 
Martine Spaans (Spil Games) - “Mobile Browser Gaming – New opportunities for ...
DevGAMM Conference
 
Ad

Pixelnoid

Editor's Notes

  • #3: Всем привет! Меня зовут Всеволод. Я разработчик API Яндекс.Карт. На этой техновстрече я расскажу о своем хобби – о разработке игр. А именно о процессе разработки и публикации одной игры под Windows Phone.
  • #4: Сразу хочу предупредить, что в рассказе будет много личного мнения и эмоций. Особенно по отношению к компании Microsoft. Возможно некоторые мои решения покажутся знатокам заведомо неверными. Скорей всего многие проблемы я сам себе создал. А еще будет очень много пиксельной графики. И так поехали!
  • #6: Pixelnoid - это всем знакомая классическая игра-арканоид с необычной пиксельной графикой. Как и в других играх подобного жанра, вам необходимо управлять платформой и отбивать мячики. Мячики, в свою очередь, разбивает блоки. Цель игры - уничтожить все доступные блоки на уровне. Правда, в этой игре вместо мячиков пиксели, а вместо блоков пиксели побольше. Игра доступна для платформ Windows Phone старше версии 7.5. Стоимость игры – 1 доллар. Хотя сейчас есть триал версия и специальная lite версия. Но обо всем это чуть позже. Разработка игры велась с апреля по июль 2013 года в свободное от работы время. Большая часть работы была сделала в июле во время моего отпуска.
  • #7: Идея создать игру под Windows Phone возникла в марте этого (2013) года после покупки телефона на базе Windows Phone. Очень уж надоело мерится с багами Android’а, которым я пользовался полтора года до этого. У Windows Phone Store такая же проблема, что и Google Play. Приложений вроде бы много, но основная масса просто дикий трэш. Я сразу заметил, что «арканоидов» не очень много. Некоторые проекты явно были портированы с Windows Mobile. На это нельзя был смотреть без слез. Сама по себе разработка игр не является для меня чем-то новым. На предыдущей работе я два года разрабатывал игры для социальных сетей. Да и если совсем честно, я когда-то начал интересоваться программированием из-за возможности создавать свои игры. Из-за того, что я по учебе уже был знаком c .NET, вопрос выбора технологии решился очень быстро. Я решил использовать технологию XNA. Основный язык разработки – C#.
  • #10: Но очень быстро я выяснил, что Microsoft по какой-то причине прекратила поддержку XNA для Windows 8 и оставила поддержку XNA в режиме совместимости для Windows Phone 8. Это очень странное решение, так как времени с релиза Windows Phone 7 прошло очень мало. Примерно один год.
  • #11: Но для Windows Phone 8 было решение – Mono Game. Еще был есть проект Mono XNA. Но я им не интересовался.
  • #12: XNA добавляла возможность разрабатывать под Windows 7 и Visual Studio 2010. Но чтобы собрать пакет под Windows Phone 8 нужна Visual Studio 2012 и Windows 8. Я сначала поставил 90-дневную тестовую версию на свой старый ноутбук (естественно без сенсорного экрана), а потом купил дешевое обновление до Windows 8 Pro. К этому я вернусь чуть позже. Возможности собирать проект в эмуляторе под Window 7 не было из-за того, что мой домашний компьютер не поддерживал виртуализацию Hyper-V, которая обязательно требовалась. В общем, разрабатывал я все в Visual Studio 2010 под Windows 7 с эмулятором Windows Phone 7, а тестировал на своем телефоне.
  • #13: Еще нужно было подумать про доступ в магазин приложений. Единственный легальный способ получения приложений под Windows Phone является Windows Phone Store. По сравнению с Android достаточно дорого. Но я нашел лазейку.
  • #14: И эта лазейка – программа Dreamspark. В рамках этой программы Microsoft предоставляет студентам скидки на свои продукты и бесплатный доступ в магазины приложений Windows 8 Store, Windows Phone Store и XBOX. Была небольшая проблема – я уже не студент. Но и здесь я нашел лазейку.
  • #15: У это программы есть множество способов верификации студентов. Я не буду подробно пересказывать все. А сразу перейду к сути. Я получил ключ к программе dreamspark при помощи сайта ИНТУИТ. Этот сайт позиционирует себя как национальный открытый университет. Формально я студент =). Я раньше уже был зарегистрирован на этом сайте. На нем есть действительно интересные статьи по различным технологиям. В общем, чтобы вступить в программу Dreamspark, нужно было пройти несколько тестов. Я прошел пару тестов по HTML5 и один по C Sharp и получил заветный ключ.
  • #16: Не знаю работает ли предложение сейчас. Я обновил Windows 8 в мае.
  • #17: Я опущу процесс заполнения всех форм в Windows Phone Dev Center. Для публикации платных приложений было необходимо было заполнить анкеты Contact Info и Payment Info. В процессе заполнения них нет ничего интересного. Просто куча форм и еще больше реквизитов.
  • #18: Этот этап я тоже пропущу, так как просто забыл как разблокировал телефон. Помню процедура была очень простая. Еще помню был один казус. После разблокировки телефона появляется возможность устанавливать XAP файлы с SD карты. Но в моем HTC 8X не было слота для SD карты! Поэтому я устанавливал XAP файлы через специальную утилиту, которая шла вместе с Windows Phone SDK. Итак, все для создания игры было готово.
  • #19: Как я уже сказал, разработка шла 4 месяца. Преимущественно в выходные, праздники и в отпуск. Я не буду подробно рассказывать про все этапы разработки, а выделю некоторые интересные решения в планировании и в разработке игры.
  • #21: Так как я все делал сам. Было необходимо распределять рабочее время. Я использовал роли. Лучше приведу пример. Я решал, что сегодня буду геймдизайнером. Я создавал новый уровень и вдруг замечал не очень серьезный баг. Я не правил его, а записывал в TODO Севе-программисту. Аналогично и с другими ролями. Если, к примеру, баг серьезный и мешает работе геймдизайнера, то я сразу «переключался в режим программиста».
  • #23: Я просто фанат списков. Я постоянно планировал, что буду делать и фиксировал, что сделал. Я приходил с работы и делал несколько пунктов, которые запланировал заранее. Задачи были очень простыми – я старался формулировать задачи таким образом, чтобы исполнение занимало примерно 20-40 минут. В начале я занимался планированием. Но в следствии начал отмечать, что сегодня сделал. Когда сделал меньше, чем планировал возникает нежелательное чувство вины.
  • #24: У Pixelnoid классический геймплей для арканоида. Управляешь платформой, отбиваешь мячик. Мячик в свою очередь разбивает блоки. Из блоков при уничтожении выпадают бонусы. Бонусы могут влиять на скорость мячей или платформы, добавлять новые мячи и менять поведение мячей. Некоторые блоки при своем уничтожении могут влиять на соседние. А некоторые блоки могут быть уничтожены только после нескольких ударов.
  • #25: Хотя одна особенность, как выяснилось, все же есть. Мяч от платформы отскакивает не как от стен или блоков. Не по отраженному углу падения. Чем ближе к центру платформы происходит удар, тем прямее угол отскока. Это позволяет игроку задавать направление полета мячика. Я сделал такую механику не задумываюсь. Когда-то я играл в арканоид, в котором была такая же реализация. Чуть позже я выяснил, что очень часто делают другую механику. Отраженный угол с небольшим рандомом. Но это как то не очень интересно.
  • #26: За уничтожение блоков игрок получает очки. Один уничтоженный блок – одно очко. Если без касания платформы мячом было уничтожено число блоков кратное 5, то это число добавляется к очкам. То есть 5й уничтоженный блок кроме своего очка добавляет еще 5 очков. Десятый – 10 очков. И так далее. Очки я добавил, так как это классический элемент в арканоидах. Сами по себе очки ни на что не влияют. Прохождение всей игры линейное. Проходишь один уровень и открывается следующий. Может быть следовало открытие последующий уровней завязать на очки или «на звезды», но я этого не сделал. Возможно зря.
  • #27: В архитектуре приложения нет ничего необычного – никаких инноваций. Я не придерживался паттерна Модель-Контроллер-Представление. Так как решил, что не буду кастомизировать внешний вид игры. В смысле не буду вместо огромных пикселей подставлять какие-нибудь спрайты. У меня есть одна сущность, которую можно назвать представлением. Эта сущность управляет анимацией объетов. В каждом тике возвращает необходимый цвет. XNA определяет базовый класс, которые предоставляет методы Update и Draw. В Update поступает информация о времени, а в Draw объект при помощи, которого можно отрисовать элементы.
  • #28: Есть одна тонкость, которую многие при создании игр не учитывают хоть это и кажется очевидным. За один тик игровые элементы должны двигаться не на фиксированное расстояние, а на дельту. В играх очень важно чтобы производительность игры не влияла на геймплей. Чтобы игроки с 10, 30 и 55 ftp получили одни и те же результаты. При фиксированном сдвиге даже небольшое проседание fps может не дать рыцарю добежать до принцессы.
  • #29: Движения мячика реализовано очень просто. Когда происходит столкновение со стенами, блоками или платформой, то просто меняется Direction. Если необходимо создать частички или «клонировать» мячик, то на направление переводится в радианы, добавляет offset и происходит обратный перевод.
  • #30: Игрок уничтожает пиксели. Всего есть несколько цветов пикселей. Каждый цвет означает «прочность» блока. Белый – один удар. Зеленый – два. Синий – три. И так далее. Черный блок невозможно уничтожить. Есть специальные «пиксели», которые после своего уничтожения влияют на другие блоки. Такие блоки обладают простой анимацией. Красно-желтый блок уничтожает все соседние блоки. Желто-фиолетовый уничтожает все блоки по горизонтали и вертикали. Сине-голубой делает все соседние блоки белыми. И т.д.
  • #31: При создании уровней я себя не ограничивал. Создавал уровни по мотивам популярных омпьютерных игр.
  • #32: И интернет мемов.
  • #33: Все уровни я просто рисовал в Paint.NET. Каждый уровень состоит из PNG изображения размером 20 на 20 пикселей. Изображение непосредственно включается в проект и при первом создании уровня парсится.
  • #34: И XML файла, который описывает начальное положение мячиков на платформе, статические и динамические бонусы. Статические всегда располагаются в одних и тех же позициях, а динамические случайно раскидываются между разрушаемыми блоками.
  • #35: В Pixelnoid я не использовал спрайты. Точнее есть одно полностью белое изображение размером 1 на 1 пиксель. Это изображение я растягиваю по необходимости и использую для отображения всех игровых элементов. Изменение цвета происходит средствами программно. Блоки «одинаково цвета» (с одинаковой прочностью) имеют немного разные оттенки. Особенно сильный «разброс» у белого блока. Что порой он становится вовсе и не белым.
  • #36: Функция создания случайного цвета достаточно простая.
  • #37: Каждый раз конечная картинка получается немного разной.
  • #38: Игра поддерживается на Windows Phone 7 и 8. Включает три значения. Было необходимо поддерживать все разрешения. Как видно, не все разрешения поддерживают одинаковые соотношения сторон. Это было необходимо учесть.
  • #39: Я решил проблему разных соотношений сторон следующим образом. Изображение пропорционально растягивает по ширине экрана. А по высоте снизу обрезается. Под платформой располагается пустое пространство для пальца, которое не жалко. Если я буду портировать игру под Android, то скорей всего столкнусь с тем, что есть устройства, у которых чуть ли не квадратный экран. Да и у планшетов соотношение сторон чаще всего 4:3. Но будем решать проблемы по мере их поступления.
  • #40: Игре в отсутствует музыка, так как у меня не дошли руки до нее. Но звуки в Pixelnoid есть. Я нашел бесплатный пакет семплов от консоли SNES. Перейдем к следующему разделу.
  • #41: Время шло. В конце июля я решил, что необходимо опубликовать игру. Еще не все было готово. Но я не хотел больше тянуть, так как боялся, что так и не выпушу игру. Все кто сами что-то разрабатывают знают, как сложно остановиться при доведении проекта до «идеала» или как легко потерять интерес.
  • #42: Я уже раньше слайдах показывал интерфейс Windows Phone Dev Center. Публикация игры разделена на 4 пункта. Два из которых необязательны. На слайде отображена форма редактирования приложения, но она мало чем отличается от первой публикации.
  • #43: В первом пункте нужно просто заполнить информацию об игре. Название, категорию, цену и прочие общие данные.
  • #44: Хотя есть и один интересный пункт. Это возрастное ограничение. Как видно рейтинговых систем очень много. Я заполнил только два пункта. Первый – это CSRR. Computer Software Rating Regulation – рейтинговая система Тайвани. Я просто из выпадающего списка выбрал значение General и не заморавился.
  • #45: Вторая рейтинговая система, которую я выбрал наверняка всем известна, так как используется в нашей стране. Это – PEGI. Pan European Game Information. Система PEGI используется почти во всех европейских странах, в России, в США и во многих других странах.
  • #46: Получить рейтинг PEGI оказалось очень просто. Я нашел сайт PEGI Express. Все что нужно сделать – это заполнить одну форму. И все, ты скачиваешь архив с иконкой PEGI и PDF файлом. Этот архив и я загрузил в форму.
  • #47: Другие рейтинги я не пытался получить, так как не был уверен, что страны, которые их используют мне принесут много денег. На слайде, кстати, третий пункт формы загрузки приложения. Можно выбрать страны и индивидуальную стоимость. Меньше 1 доллара или 34 рублей нельзя указать.
  • #48: Во втором пункте происходит загрузка архива/ов приложения в формате XAP.
  • #49: Указывается название, описание и ключевые слова приложения. Кстати, название используется только в Dev Center и не видно пользователю. Название в магазине и в «живых тайлах» определяется в настройках проекта. Аналогично в настройках проекта указываются поддерживаемые языки. Для каждого поддерживаемого языка необходимо заполнить все данные на соответствующем языке. Еще на этом пункте загружается иконка приложения, которая используется только в магазине. Иконка на телефоне тоже определяется в свойствам проекта. Все эти тонкости я понял после нескольких обновлений игры. Еще предлагается загрузить большое изображение на тему приложения/игры, которое будет использоваться в рекламных целях (об этом чуть позже). И скриншоты для каждого поддерживаемого разрешения экрана. Так как у меня не было устройства с разрешением WXGA, я просто подправил скрины под другое разрешение в редакторе. И это прокатило.
  • #50: Четвертый пункт анкеты – это получение ключа для использования сервисов карт от Nokia, но мне это не было нужно. Хоту еще отменить, что форма периодически глючила. То кнопка публикации приложения не работала, то вся форма была недоступна. Тогда мне на помощь приходила консоль Яндекс.Браузера и IE10 (в котором все идеально работало).
  • #51: И так, я отправил приложение на проверку. Как я уже говорил, проверка превентивная. Период проверки около недели. Странно, что необходимо проходить полную проверку даже если не меняешь ключевые слова или меняешь только название приложения в dev center.
  • #52: Где-то примерно через неделю я нашел в почте заветное письмо о том, что мое приложение было вчера опубликовано. Я не снял дефолтную галочку автоматической публикации. Но ничего. Это ни на что не повлияло. Мое приложение все равно никто не покупал.
  • #53: Я стал искать пути бесплатного продвижения. Я точно не помню в какой последовательности все делал, но всего было сделано примерно 3-4 обновления (с недельным ожиданием каждого). Группу на facebook залайкали только мои френды. На форумах с большим подъемом отнеслись к тому, что я разместил информацию о своей игре у них. Тематические сайты отнеслись скептически. Два сайта не ответили, а с одного сайта пришло сообщение о том, не будут публиковать приложение, так как оно «платное, слишком простое и наши пользователи любят халяву. Но так уж и быть, мы не будем выкладывать пиратку». Смена названия приложения вообще не повлияла. Я написал не на очень большое кол-во сайтов… но буду наверстывать. Все эти действия привели к тому, что приложение начали устанавливать (триал версию) 3-4 человека в день. Но было (и есть на момент написания доклада) всего несколько покупок.
  • #54: Действительно помогла смена иконки с красивой и непонятной на вполне шаблонную. Сейчас страшная иконка осталась в магазине, но после установки используется старая.
  • #55: Кроме trial-версии я еще сделал специальную полностью бесплатную версию. Эту версию я сделал чтобы: - на сайтах с варезом могли написать про халяву; Чтобы попасть в раздел «Новые». Я не понимаю как этот раздел работает. Ни платная, ни бесплатная версия Pixelnoid так и не попали в этот раздел. Хотя может быть попали, но я об этом не узнал; - Чтобы в поисковых выдача игра Pixelnoid встечалась два раза. Эта версия содержала 15 уникальных уровней. И красную кнопку “More Levels”, по которой открывается страница Pixelnoid в магазине приложений.
  • #56: Pixelnoid lite устанавливают более охотно. Буквально с первого дня публикации (22 августа) примерно 15-20 человек в день скачивают приложение. Халява же. Фиолетовая линия – дневное значение, а черная линия общее.
  • #57: У каждой страны собственная выдача в магазине. Совершенно не понятно как все это отслеживать. Хотя наверное это проблема всех подобных магазинов. Я надеялся, что Pixelnoid будет часто попадать по запросам «Arkanoid» или «Breakout». Проверить какое количество пользователей приходит из поиска не могу, так как я не нашел этого в документации. Магазины для России, США, Великобритании и Австралии. Я заметил, что после обновления приложения оно на некоторое время поднимается по поисковой выдаче. Даже если просто меняешь название в Dev Center или иконку приложения. Еще кажется наиболее популярные приложения удерживаются в верхних позициях.
  • #58: Все игры в Windows Phone находятся в специальном списке «Игры» (хотя можно выносить тайл на рабочий стол). Игры без подключенного xbox всегда будут находится ниже. Мелочь, но неприятно.
  • #59: Фидбека от пользователе мало, но все отзывы положительные. Надеюсь, что пользователи с ником “User” разные ).
  • #60: Игра уже появилась и на левых сайтах.
  • #61: Когда я только начал писать этот доклад, мне пришло письмо о том, что моя игра попадет в «Рекомендуемые» 29 августа в Китае. А на следующий день пришло такое же сообщение про Великобритания и Австралию. На слайде как раз второе письмо. В обоих письмах говорилось именно о платной версии Pixelnoid.
  • #62: Игра некоторое время или будет висеть в одном из тайлов в разделе «игры» в магазине, или будет занимать целый столбик. Во втором случае задний фон раздела будет посвящен игре. Для этого и нужно было загружать большое изображение при публикации.
  • #63: Данные на 4 часа дня 04.09.2013
  • #65: Данные на 4 часа дня 04.09.2013
  • #66: Я не заработал миллионов и даже сотни долларов. Даже не окупил покупку Windows 8. У меня всего несколько платных установок и пара положительных комментариев. Но я не жалею о потраченном времени, так как мне нравится делать игры. Я получил много «фана» только от процесса разработки.
  • #67: В названии техновстречи я слукавил. Я все-таки пока не ушёл. По крайней мере, до конца марта 2014 года точно (тогда кончается подписка Windows Dev Center). Я еще буду обращаться к порталам, посвященным играм под Windows Phone. Может быть еще выпушу дополнительные уровни. Или выложу версию для iOS или Android, но только после переработки. Сделаю уровни меньше, а пиксели больше. Увеличу общее количество уровней. Добавлю всякие модные штучки типа «звезд» и достижений.