pixelnoid

68
Всеволод Шмыров @vsesh Разработчик интерфейсов API карт Как я вышел на рынок мобильных игр, постоял и ушёл

Upload: vadim-nikitin

Post on 13-Jul-2015

30.809 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Pixelnoid

Всеволод Шмыров @vsesh

Разработчик интерфейсов API карт

Как я вышел на рынок мобильных игр, постоял и ушёл

Page 2: Pixelnoid

2

Hello, world!

Page 3: Pixelnoid

3

Page 4: Pixelnoid

Подготовка

Page 5: Pixelnoid

5

Pixelnoid

Page 6: Pixelnoid

6

Почему?

• Игорь тонет! (особенно арканоиды);

• Опыт разработки игр;

• Знакомая среда разработки (Visual Studio,

.NET, XNA).

Page 7: Pixelnoid

7

XNA

• XNA - XNA's Not Acronymed;

• Набор инструментов для разработки игр под

.NET;

• Активно используется для разработки инди (и

не только) игр для Windows и Xbox;

• Включает в себя framework и бесплатную

среду разработки (XNA Game Studio edition).

Page 8: Pixelnoid

8

Проекты на XNA

Page 9: Pixelnoid

9

Структура Microsoft

Page 10: Pixelnoid

10

Mono Game

• Свободная реализация XNA;

• Практически никаких различий в интерфейсе –

подключил другую библиотеку и все работает;

• Анонсирована поддержка Win, WP8, Android, iOS,

MacOS, Linux, QUYA, PlayStation.

Page 11: Pixelnoid

11

Page 12: Pixelnoid

12

Выход на Windows Phone Store

• Годовая подписка разработчика

стоит 99$ (сейчас 19$);

• Проверка приложений перед

публикацией;

• Проверяют от 4 до 7 рабочих дней.

Page 13: Pixelnoid

13

Lifehack

• Доступ к продуктам Microsoft;

• Возможность публикации в

магазины;

• Действует год.

Page 14: Pixelnoid

14

ИНТУИТ

Page 15: Pixelnoid

15

Плюшки Dreamspark

• Возможность год публиковать

приложения в Windows Phone Store (в

другие магазины не публиковал);

• Бесплатное или со скидками ПО;

• “Обновился” до Windows 8 Pro за 2200

рублей (вместо 9900).

Page 16: Pixelnoid

16

Windows Phone Dev Center

Page 17: Pixelnoid

17

Разблокировка телефона

Page 18: Pixelnoid

Разработка

Page 19: Pixelnoid

19

Pixelnoid

http://www.youtube.com/watch?v=83UuXPST-dw

http://www.youtube.com/watch?v=hgjSuJyLR10

Page 20: Pixelnoid

20

Роли

Программист Геймдизайнер Дизайнер

Page 21: Pixelnoid

21

Page 22: Pixelnoid

22

Списки

Page 23: Pixelnoid

23

Геймплей

Page 24: Pixelnoid

24

Геймплей

Page 25: Pixelnoid

25

Геймплей

Page 26: Pixelnoid

26

Немного про архитектуру игры

• Не использовал паттерн MVC (кажется,

самый популярный паттерн при разработке

игр);

• XNA предоставляет механизм «тика». Методы

Update и Draw в базовом классе;

• XNA не предоставляет сущность «игровой

элемент», а только инструменты для работы с

графикой, звуком, текстом и т.д.

Page 27: Pixelnoid

27

Движение игровых элементов

+ speed * timeDelta

+ shift

Page 28: Pixelnoid

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;

Page 29: Pixelnoid

29

Внешний вид игры

Page 30: Pixelnoid

30

Дизайн уровней

Page 31: Pixelnoid

31

Дизайн уровней

Page 32: Pixelnoid

32

Создание уровня (изображение)

Page 33: Pixelnoid

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>

Page 34: Pixelnoid

34

Цвет блока

Page 35: Pixelnoid

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;

}

Page 36: Pixelnoid

36

Случайные цвета блоков

http://www.youtube.com/watch?v=oPofE1phQm0

Page 37: Pixelnoid

37

Разрешение экрана

• 800x480 (wvga)

• 1280x720 (720p)

• 1280x768 (wxga)

Page 38: Pixelnoid

38

Поддержка разных разрешений экрана

Page 39: Pixelnoid

39

Звук в игре

Page 40: Pixelnoid

Публикация

Page 41: Pixelnoid

41

Публикация игры в WP Store

Page 42: Pixelnoid

42

Публикация игры (1)

Page 43: Pixelnoid

43

Публикация игры (1)

Page 44: Pixelnoid

44

PEGI

Page 45: Pixelnoid

45

Получение PEGI

https://wp-rating.pegi.eu/

Page 46: Pixelnoid

46

Публикация игры (3)

Page 47: Pixelnoid

47

Публикация приложения (2)

Page 48: Pixelnoid

48

Публикация приложения (2)

Page 49: Pixelnoid

49

Публикация приложения (4)

Page 50: Pixelnoid

После публикации

Page 51: Pixelnoid

51

День публикации

Page 52: Pixelnoid

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 бесплатными

уровнями.

Page 53: Pixelnoid

53

Иконка игры в магазине

Page 54: Pixelnoid

54

Специальная версия

http://clck.ru/8oxsy

Page 55: Pixelnoid

55

Pixelnoid lite

Page 56: Pixelnoid

56

Немного про Windows Phone Store

Page 57: Pixelnoid

57

«Игры» в Windows Phone

Page 58: Pixelnoid

58

Feedback

Page 59: Pixelnoid

59

Какие-то левые сайты

Page 60: Pixelnoid

60

Рекомендуемые игры

Page 61: Pixelnoid

61

Рекомендуемые игры

Page 62: Pixelnoid

62

Установки Pixelnoid

Page 63: Pixelnoid

63

Page 64: Pixelnoid

64

Покупки Pixelnoid

Page 65: Pixelnoid

65

Результат на текущий день (05.09.2013)

Ожидание Реальность

Page 66: Pixelnoid

66

Планы на будущее

Page 67: Pixelnoid

67

Спасибо!

Page 68: Pixelnoid

68

Вопросы ?

[email protected]

http://vk.com/vsesh

https://www.facebook.com/pixelnoid

http://clck.ru/8oxuZ

http://clck.ru/8oxsy

Pixelnoid

Pixelnoid lite