18

Размещение игры в социальной сети

В этом посте я хочу рассказать о заключительном этапе разработки игры для социальной сети. Игра размещается в сети ВКонтактке, соответственно речь пойдет о ней. Это не первая моя попытка попасть в каталок ВК, но пока как-то не заладилось. Игра написана на HTML5 с использованием движка Phaser.


Хостинг или VPS?


IFrame приложения, как их называет сама ВК - это обычная страница, расположенная где-то в интернете, которую сайт ВК просто подгружает во фрейм на своей странице. Вопрос хостинга, то есть размещения игры не стоял бы так остро, если бы ВК не ввели правило, что все IFrame приложения должны быть доступны по защищенному протоколу HTTPS. Это накладывает ряд ограничений на использование дешевых или бесплатных хостингов, так как большинство из них не предоставляет HTTPS. Связано это с реализацией самого протокола, который требует наличие отдельного IP. Да, я знаю про возможность использовать Google Docs или Github для бесплатного размещения своих страниц, но этот метод не всем подходит, особенно если в игре есть серверная часть, которая работает с базами данных и т.д.

Для себя я эту проблему решил заказав недорогой VPS у одной из российских компаний за 280 рублей в месяц. Вы получаете в свое распоряжение свой собственный виртуальный компьютер с системой Linux и отдельным IP. Главная проблема заключается в установке необходимого софта, такого как веб-сервер Apache, интерпретатор PHP, СУБД MySQL и другие. Но при помощи мануалов из сети настройка рабочего веб-сервера займет не более часа. В итоге мы получаем свою собственную машину с которой можем творить все что вздумается.


Сертификат SSL


SSL нам необходим для настройки HTTPS на нашем сейте. Для разработки и отладки можно использовать самоподписанный сертификат, но для общего использование нужен доверенный издатель. Раньше я использовал бесплатные сертификаты от StartSSL. Но с осени прошлого года компания Google добавила этого издателя в список "недоверенных". Позже этому примеру последовала и Mozila. Соответственно сейчас использовать эти сертификаты не представляется возможным - браузер пользователя выдает предупреждение и предлагает закрыть такой сайт. Поискав немного в сети других бесплатных издателей, и не найдя вменяемых, которые выдавали бы сертификат в течении нескольких минут без особых заморочек, я решил заказать платный сертификат у Comodo.com. Не сочтите за рекламу, просто недорогие сертификаты за 300 рублей/год для нищебродов вроде меня )))


Интеграция социальных функций


Скажу честно - самый нелюбимый мой этап. Дело в том что для того чтобы работать с VK API игра должна запускаться обязательно с сайта vk.com. То есть после каждого изменения файлы нужно загружать на веб-сервер, либо переадресовать ссылку таким образом чтобы вконтакте загружали файлы непосредственно с вашего компьютера. До недавних пор это можно было сделать довольно легко - в поле "Адрес IFrame" можно было записать https://localhost/. Главное чтоб у вас был установлен самоподписанный сертификат SSL на компьютере. После недавних нововведений vk не позволяет вводить локальные адреса. Это решается довольно просто. Нужно отредакировать файл hosts на компьютере и перенаправить адрес на свой компьютер. Можно добавить строчк "127.0.0.1 site.com" и в поле "Адрес IFrame" вписать HTTPS://site.com. Повторю наличие сертификата все равно обязательно.

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

Еще нужно обратить внимание, что если ваша игра использует внутри-игровые покупки - на странице "Настройки платежей" нужно указать адрес PHP скрипта который будет обрабатывать эту покупку.

Про работу с самим VK API здесь говорить не буду, так как это весьма обширный вопрос и если надо будет - напишу об этом отдельный пост.


Развертка готовой игры


Если вы пишите игру на HTML5 то нужно позаботится о безопасности исходных файлов. Прежде чем заливать на сервер файлы JavaScript рекомендуется произвести над ними действие, называемое "обфускация". Это "закодирует" исходный код вашей игры. Серьезных программистов это конечно не остановит, а вот любителей покопаться в чужом коде отпугнет.


А теперь хотел бы попросить у сообщества немного помощи


Буквально сегодня закончил свою игру и решил потестировать немного прежде чем размещать ее в каталоге. Буду признателен если найдутся желающие ее потестить. Естественно необходим аккаунт в сети ВК.

Что собой представляет игра? Это классическая игра "Кейворд", либо как её называют на русский манер "Ключворд" (так же иногда их называют числовыми кроссвордами, но это не совсем верно). Внешне игра похожа на обычный кроссворд, но без определений к словам. В каждую клетку кейворда вписаны числа. К каждому числу однозначно соотносится одна из букв русского алфавита. Требуется восстановить все исходные слова, подстанавливая буквы в клетки.

Вся графика для игры использовалась из бесплатного арта. По этому если среди читателей есть дизайнеры желающие помочь отрисовать весь GUI за не очень большое вознаграждение - буду рад сотрудничать. Так же приветствуются ваши замечания и пожелания по самой игре.

Покупка подсказок пока не работает, так как игра не находится в каталоге. Так что не переживайте )))

Ссылка на игру в ВК: https://vk.com/app6143842


P.S. Если вы хотите получить больше подсказок, напишите мне в личку ваш ID вконтакте либо ссылку на страницу и я начислю их вам в ручном режиме.

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

1
Автор поста оценил этот комментарий

Буква "Б" не нажимается. А я хотел позалипать. В первом задании (остальные не проверял) букв всего 27. Боюсь догадаться почему.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

в каждом кейворде разное количество букв. только те что используются.


"Буква "Б" не нажимается" - а остальные работают?

2
Автор поста оценил этот комментарий

Ну если совсем минимизировать затраты можно сертификат получить через  какой-нить https://letsencrypt.org/ бесплатно. Вроде у него и аналоги есть другие бесплатные, но сходу не вспомню названия. Там есть небольшие заморочки с необходимостью его часто обновлять, но куча скриптов для автоматизации в инете.

p.s. IMHO, обфускацию стоит делать ради оптимизации размера js, а не ради скрытия от чужих глаз. Клиентская часть все равно 100% уязвима. Да и для взлома JS побольшому счету и не особо нужен. Проще посмотреть самое интересное - обмен данных с бекендом и уже от этого плясать.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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

на счет обфускации в посте я так и сказал - это просто защита от дурака.

0
Автор поста оценил этот комментарий
Жаль что с телефона нельзя, я бы потестил
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

просто хотелось отработать алгоритм сначала. мобильная версия будет позже, она не сильно отличается от этой. только наличием кнопочек с буквами вместо клавиатуры

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества