Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTF

Что вас ждет после публикации приложения

Так как приложение планировалось изначально без рейтинга, оно было полностью сделано на JavaScript, на клиентской стороне, т.е весь код доступен каждому и каждый «знающий» мог отправить свое число в место заработанного результата.

Основные фильтры на «важных» участках были выставлены. Но контроль входящего результата был слабый и мог прийти настоящий результат, а мог прийти и такой «999999». Причем приходил такой результат от школьников, которые пользовались программами для взлома типа «Charles», как мне радостно они сообщали в личку, со своих реальных аккаунтов и с реальных ip-адресов.

Написал метод который дублировал результат. В одном параметре передавался реальный, в другом шифрованный результат, методом замены символа по ключу. А далее, на сервере оба сравниваются и если что-то не соответствует, то – бан по аккаунту.

И еще, сервер отправляет сгенрированный ключ при первом обращении. Клиент же, должен его вернуть с результатом. Без этого ключа, результат не примется и если все соответствует, и все проходит проверку, то результат записывается в БД, и генерируется новый ключ, который опять отдается клиенту. Это сделано для того, чтобы повторно запрос с результатом не могли отправить, как делается в программе «Charles».

Тут, школьники уже отсеялись. В личку стали писать студенты, которые знают JavaScript.

После внедрения дополнительных проверок, вроде бы уже никто не пишет. Так как всего одна попытка и в случае чего бан аккаунта ВК.

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

Еще будут писать кидалы предлагающие купить у вас приложение от 3000руб и до 3000$, которых если погуглить, то можно будет наткнутся на не совсем лестные отзывы, о них.

Школьники, с разными деловыми предложениями, стать админом группы, или админом приложения. Будут еще спрашивать: «в какой программе ты создал эту игру».

Советчики, которые знают как лучше развивать ваше приложение.Тролли, куда же без них.

Библиотека vk connect

Библиотека VK Connect предоставляет доступ к широким возможностям как самой сети «ВКонтакте», так и к возможностям устройства, если мы работаем из-под мобильного приложения. Для ее подключения нужно установить пакет vkontakte/vk-connect: npm i —save-dev vkontakte/vk-connect.

Среди многочисленных возможностей VK Connect — сканирование QR-кода, получение геопозиции, вызов карточки контактов. Также есть широкие возможности по использованию возможностей соцсети: включение-выключение уведомлений, публикация записей на стене, авторизация сообщества, подписка на сообщения.

Чтобы наше приложение вообще начало работу, нужно сначала выполнить инициализацию:

Выпуск дополнений

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

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

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

#

Змейка изнутри


Напомню, что речь идет о «змейке», далее ее код будет разбираться. Если вы решили сами написать змейку, то можете пропустить этот пункт, а то получится как в известной фразе: «убийца – дворецкий».

В код мало кто полезет, по этому опишу сначала словами алгоритм, а потом уже и код посмотрите.

Сперва генерируется поле из простых div’ов. Координаты указаны в качестве идентификатора div’а, которые позволяют обратится к любой клетке. Далее создаем змейку на этом поле, путем выделения клеток, цветом и заносим координаты тела змейки, в многомерный массив.

Потом создается бонус(еда для змейки). Опять сохраняем в массив координаты бонуса.

После того когда бонус съеден, мы собираем пустые клетки в массив (без клеток на которых находится сама змейка) и из них, выбираем случайным образом другую клетку, и уже ее делаем бонусом. Если пустых клеток не обнаружено то пользователь – победитель.

При движении, в массиве, мы меняем только две клетки, заднюю – удаляем, а переднюю (незанятую змейкой), по направлению движения – красим в цвет змейки. И при каждом ходе проверяем, не столкнулись ли мы с хвостом, или с бонусом.

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

Пример:X=100. Y=200.Змейка движется сторону X , с нулевой позиции. 0,1,2,3..99, [если клетки нет и направление не меняется, то пишем в массив 0 по x]. А с Y, тоже самое.

Теперь разберем небольшую модификацию.

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

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

Еще столкнулся с проблемой, что при движении навстречу друг к другу, бонуса и змейки, не происходит съедение первого. Из-за того что они независимо друг от друга движутся. Когда происходит проверка, бонус уже переместился на другую клетку.

Проблему решил. Вынес в отдельный метод, код проверки столкновения. Далее вставил этот метод к бонусу и к змейке.

И еще чуть-чуть интересного: не для бизнеса, но тоже полезно

Я обещала дать приложения, которые расширят функционал сообщества, продвигающего бизнес? Я их дала, устанавливайте и пользуйтесь на здоровье. Но это далеко не всё, что предлагает ВКонтакте. Есть еще несколько прикольных инструментов, которые не для решения бизнес-задач, но все равно классные, поэтому я вкратце о них расскажу, вдруг вы придумаете, как их применить именно у вас.

  • Пожертвования

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

    Иногда приложениями для пожертвований пользуются некоммерческие проекты, собирающие средства на различные нужны. Это называется донатами. Например, всё тот же мой любимый «ангельский» паблик просит подписчиков по желанию донатить на кофе админам и на билеты на концерт Дженнифер Лопес. :)) Вот как это реализовано в сообществе:

    пример работы приложения для пожертвований

    Приложений для сбора денег несколько, выбирайте любое, какое вам больше нравится:

    приложения для сбора пожертвований

  • Чат

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

    А еще в чатик можно добавлять, например, VIP-клиентов, и раньше всех сообщать им о скидках, новинках и акциях.

  • Тесты

    Небольшое развлечение для аудитории. Тесты очень любят и положительно на них реагируют. Мы вот частенько запускам подобные активности и по себе знаем, что аудитория не прочь узнать, в каком состоянии их бизнес, разбирается ли она в маркетинге и знает ли Инстаграм. :))

  • Вакансии

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

  • Афиша

    Ну и завершаю свою мини-подборку «не совсем для бизнеса» приложением, с помощью которого вы можете анонсировать события, планирующиеся в вашей организации. Это подходит как для движа внутри компании (корпоративы, выезды, обучения и др.), так и для взаимодействия с клиентами, если ваша работа заключается как раз в организации разных крутых событий.

    Вот приложение:

    А вот пример его использования в официальном сообществе группы Би-2:

    Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTF

Как выбрать идею

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

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

Продумайте не только персонажей и сюжет, но также и жанр. От этого напрямую зависит востребованность приложения.  На сегодняшний день популярны головоломки и квесты, а также незатейливые игры, благодаря которым многие «убивают» время.

Чтобы предложить свежую концепцию, попробуйте представить себя на месте игрока и подумать, что бы вы хотели видеть. Чего вы еще не встречали ранее? Если ваша идея будет непохожая на все остальное, то есть вероятность, что вы сможете найти инвесторов.

Как создать игровое приложение в вк

Для добавления подобного контента в социальную сеть сделайте следующее:

  1. Для начала откройте страницу для разработчиков. Перейти на нее можно, авторизовавшись в сети и немного пролистав свою страницу так, чтобы блок с контекстной рекламой оказался наверху, тогда как под ним можно найти кнопку «Разработчикам».Создание игрового приложения
  2. Новое окно содержит в верхнем меню раздел «Мои Приложения», который следует открыть.Создание игрового приложения
  3. Если человек ранее не пользовался такой возможностью, то новое окно будет пустым. Нажмите на кнопку «Создать приложение» для продолжения.Создание игрового приложения
  4. Откроется бланк, в котором необходимо заполнить основные поля. В первую очередь – это название, после выбирается платформа. Учитывая, что необходимо добавить игру, выберите самый последний пункт «Встраиваемое приложение».Создание игрового приложения
  5. Затем откроется еще один перечень, в котором необходимо выбрать тип («Игра»), а также определить категорию. После этого можно перейти к загрузке приложения, нажав соответствующую кнопку.
  6. Прежде чем приступить к загрузочному процессу может понадобиться подтвердить владение страницей путем отправки СМС-сообщения на привязанный телефон. Потребуется ввести полученный код для продолжения.Создание игрового приложения
  7. Затем примите показанный список правил, нажав соответствующую кнопку.Создание игрового приложения
  8. Будет открыта консоль управления новой игрой. В меню справа содержатся основные пункты для контроля и управления.Создание игрового приложения
  9. Перейдите в раздел «Настройки». Там есть кнопка для загрузки файла в формате SWF. Естественно, перед этим необходимо создать игру самостоятельно и уже после подгружать основные файлы и обновления в дальнейшем. Создана она может быть в программе Unity или подобной.Создание игрового приложения
  10. После загрузки можно вернуться в раздел «Информация», содержащий пункты для настройки оформления игры. Там загружаются все виды аватарок и определяется, как игровая иконка будет отображаться на iPhone, устройстве на Andriod и ПК. Указать название и описание.

На этом базовая процедура загрузки и оформления может быть окончена.

Концепция

После осмысления идеи расплывчатые и пока еще не до конца ясные формулировки придется переработать, чтобы получился осмысленный документ (на жаргоне его называют диздоком). На этом этапе нельзя дать ускользнуть ни одной мелочи. Дизайн, интерфейс, игровой процесс, системы взаимодействия и всё прочее – все должно быть задокументировано до того, как создать игру “В Контакте”.

Зачем это делать? В первую очередь на руках уже будут все данные, и дело останется только за воплощением. То есть в силу вступит техническая сторона работ. Во вторую очередь – чтобы не запутаться в своих же мыслях и идеях. И в последнюю – для того, чтобы можно было рассказать о своей идее другим.

Человек сам по себе не может быть мастером на все руки. Кто-то хорошо разбирается в программировании, кто-то – в компоновке уровней, а кто-то – прирожденный рекламодатель. Вполне возможно, проект станет крупным, и в команду придется набрать дополнительный персонал.

Первые проблемы


После добавления приложения во Вконтакт, оно доступно для установки по прямой ссылке, но недоступно в поиске и не выводится в общем каталоге.

На счету нужно иметь 10 голосов(местная валюта ВК, 10 голосов == 70 руб.), для того чтобы отправить приложение на модерацию, если все нормально и оно соответствует правилам, его добавляют в каталог новых приложений, а списанные голоса возвращают обратно.

После того как приложение успешно прошло модерацию, оно попадает на третью позицию в каталоге новых приложений и далее, спускается вниз, а вскоре совсем пропадает. Первые две позиции, в новых приложениях — вроде платные и стоят около 1000 голосов.

Существуют еще негласные правила о которых нигде не написано, их можно узнать только от проверяющего.Отправил игру на модерацию. Ждать ответа долго не пришлось:

И вот тут пришлось изучать их API, писать скрипт рейтинга, который взаимодействует с моей базой данных и дополнительный модуль на JS. Таким образом, мое тестовое приложение из одного файла эволюционировало в не совсем простое. Самим приложением занимался в свободное время. Когда сделал все что нужно было, отправил на повторную проверку, и лег спать.

Читайте также  Как поменять номер телефона ВКонтакте, привязать другой номер

Проснувшись утром увидел пришедшую смс’ку: «ваше приложение одобрено и добавлено в каталог… и еще чего-то там».

Сразу кинулся смотреть. Игру установили 57 человек, спустя минуту обновил страницу — 100 человек, 200, 300, 400. Просидел целый день нажимая F5. К вечеру, людей установивших приложение было около 2000. На следующий день – в два раза больше. Через пару дней азарт уже пропал и участников, воспринимал как простые цифры. Кстати, модератор вернул 10 голосов, спасибо ему больше.

Простой игровой бот для вк, создаем игру для вконтакте исходники! | часть 1 »

Статьи / PHP

Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTF

Данная статья, начало создания игровых механик для своего бота Вконтакте. Многие из вас завадались вопросом: А как создать игрового бота для ВК, давайте начнем создавать классного бота для совместных игр.

1. Подготовка.
Так как мы еще не определились что именно будет в нашем боте, мы будем создавать это ниже, мы подготовим наше сообщество для создания нового бота, а так же подключим сразу базу данных и сделаем регистрацию.
Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTF
Создаем новое сообщество, указываем название, тематику и по желанию свой сайт (если есть).

Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTFСколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTF
Переходим в настройки и включаем сообщения сообщества, а так же создаем новое приветствие для новичков :), тут же в подразделе Настройки для бота не забываем включить их, и разрешить  добавлять его в беседу!

Теперь переходим к настройке скрипта, назовем это основной файл отвечающий за прием событий от вк и их дальнейшей обработки 
Если нет сервера, нужно приобрести, рекомендуем хостинг FirstVDS нам подойдет и обычный хостинг VDS-OVZ-Разминка, цена на время написания статьи всего 90 рублей в месяц. После заказа Вам придет на почту данные для авторизации на сервере. Использовать можете любой хостинг, на ваш вкус и цвет. Главное условие поддержка PHP 5.6 (желательно 7.0 ) и MySQL. Далее переходим на сервер, создаем любое доменное имя куда будем заливать скрипты. Мы будем использовать IP адрес. Если с с настройкой сервера не понятно, то почитайте эту статью на нашем сайте, где мы наглядно показываем как загрузить файлы на сервер.

После того как разобрались с сервером, нужно загрузить как раз необходимые библиотеки и основной файл, скачать ниже:
Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTF
panamera.rar

Для работы с PHP я использую PHPStorm, это платный продукт, но как получить его бесплатно, Вам, наверно, объяснять не нужно :)

Распаковываем архив на сервер и открываем наш файл bot.php и пишем код который останется неизменным и может использоваться при создании новых ботов.

<?php

require_once('simplevk-master/autoload.php'); // БЛИБЛИОТЕКИ
require './vendor/autoload.php';// БЛИБЛИОТЕКИ

use KrugozorDatabaseMysqlMysql as Mysql; // КЛАССЫ ДЛЯ РАБОТЫ С БД
use DigitalStarvk_apivk_api; // Основной класс
use DigitalStarvk_apiMessage; // Конструктор сообщений
use DigitalStarvk_apiVkApiException; // Обработка ошибок

$host = 'localhost'; // По умолчанию localhost или ваш IP адрес сервера
$name = ''; // логин для авторизации к БД
$pass = ''; // Пароль для авторизации к БД
$bdname = ''; // ИМЯ базы данных
$vk_key = ''; // Длинный ключ сообщества, который мы получим чуть позже
$confirm = ''; // СТРОКА которую должен вернуть сервер
$v = '5.103'; // Версия API, последняя на сегодняшнее число, оставлять таким если на новых работать в будущем не будет

$db = Mysql::create($host, $name, $pass)->setDatabaseName($bdname)->setCharset('utf8mb4');
$vk = vk_api::create($vk_key, $v)->setConfirm($confirm);
$my_msg = new Message($vk);
$data = json_decode(file_get_contents('php://input')); //Получает и декодирует JSON пришедший из ВК

$vk->sendOK();



// ТУТ УЖЕ БУДЕМ ПИСАТЬ КОД //

Здесь нам нужно заполнить следующие поля:

$host = ‘localhost’; // По умолчанию localhost или ваш IP адрес сервера
$name = ”; // логин для авторизации к БД
$pass = ”; // Пароль для авторизации к БД
$bdname = ”; // ИМЯ базы данных
$vk_key = ”; // Длинный ключ сообщества, который мы получим чуть позже
$confirm = ”; // СТРОКА которую должен вернуть сервер
$v = ‘5.103’; // Версия API, последняя на сегодняшнее число, оставлять таким если на новых работать в будущем не будет

Получение ключа сообщества:
Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTFСколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTFА так же в разделе Тип событий обязательно включите Входящие сообщения

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

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

2. Регистрация новых пользователей в боте.
Для создания игрового бота понадобится регистрация используя базу данных. Мы будем Использовать для этого обертку на родным MySQLi. Для начала создаем через PhpMyAdmin новую таблицу users с полями:
Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTF

Или используем запрос ниже:

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = " 00:00";

CREATE TABLE `users` (
  `id` int(11) NOT NULL,
  `vk_id` int(11) NOT NULL,
  `nick` varchar(20) NOT NULL,
  `status` int(11) NOT NULL,
  `time` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE `users`
  ADD PRIMARY KEY (`id`);

ALTER TABLE `users`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

Переходим к самому интересному, написанию кода. 

Для начала как всегда, создание переменных которые чаще всего будут использоваться в боте:

// ТУТ УЖЕ БУДЕМ ПИСАТЬ КОД //

// Переменные для удобной работы в будущем
$id = $data->object->message->from_id; // ИД того кто написал
$peer_id = $data->object->message->peer_id; // Только для бесед (ид беседы)

$time = time();
$cmd = explode(" ", mb_strtolower($data->object->message->text)); // Команды
$message = $data->object->message->text; // Сообщение полученное ботом
$new_ids = current($data->object->message->fwd_messages)->from_id ?? $data->object->message->reply_message->from_id; // ИД того чье сообщение переслали 
$userinfo = $vk->userInfo($id);
// Закончили с переменными 

Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTF

Пишем первую проверку, на входящее сообщение, именно туда мы будем вносить весь код

if ($data->type == 'message_new') {
    
    // ТУТ все что будем делать дальше
    
}

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

Обращаемся к базе данных, что бы проверить есть ли такой пользователь в ней:

if ($id < 0){exit();} // ПРОВЕРЯЕМ что сообщение прислал юзер а не сообщество

if ($data->type == 'message_new') {

    $id_reg_check = $db->query('SELECT vk_id FROM users WHERE ids = ?i', $id)->fetch_assoc()['vk_id']; // Пытаемся получить пользователя который написал сообщение боту
    if (!$id_reg_check and $id > 0) { // Если вдруг запрос вернул NULL (0) это FALSE, то используя знак ! перед переменной, все начинаем работать наоборот, FALSE становится TRUE
        // Так же мы проверяем что $id больше нуля, что бы не отвечать другим ботам, но лучше в самом верху добавить такую проверку что бы не делать лишних обращений к БД!
        $db->query("INSERT INTO users (vk_id, nick, status, time) VALUES (?i, '?s', ?i, ?i)", $id, "$userinfo[first_name] $userinfo[last_name]", 0, $time);
        $vk->sendMessage ($peer_id, "Приветствую  тебя, @id$id ($userinfo[first_name] $userinfo[last_name]), ты теперь один из нас, вступай в ряды мощных панамеровцев!");
    }

}

Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTF

Давайте сразу добавим кнопки, ведь это удобно, так как у нас бот называется PANAMERA, давайте сделаем какую-нибудь автомобильную игру, где ваша задача получить Porshe PANAMERA, но не будем ограничиваться этим, а начнем развивать механику в разные направления.

После регистрации у вас ничего нет, нужны деньги, что бы их получить, можно использовать кнопку бонус, давайте ее и добавим в бот.
Пишем следующий код:
К переменным

$bonus = $vk->buttonText('⏰ Бонус!', 'green', ['command' => 'bonus']);

Далее:

if ($data->type == 'message_new') {
    if (isset($data->object->message->payload)) {  //получаем payload
        $payload = json_decode($data->object->message->payload, True); // Декодируем кнопки в массив
    } else {
        $payload = null; // Если пришел пустой массив кнопок, то присваиваем кнопке NULL
    }
    $payload = $payload['command'];

    $id_reg_check = $db->query('SELECT vk_id FROM users WHERE vk_id = ?i', $id)->fetch_assoc()['vk_id']; // Пытаемся получить пользователя который написал сообщение боту
    if (!$id_reg_check and $id > 0) { // Если вдруг запрос вернул NULL (0) это FALSE, то используя знак ! перед переменной, все начинаем работать наоборот, FALSE становится TRUE
        // Так же мы проверяем что $id больше нуля, что бы не отвечать другим ботам, но лучше в самом верху добавить такую проверку что бы не делать лашних обращений к БД!
        $db->query("INSERT INTO users (vk_id, nick, status, time) VALUES (?i, '?s', ?i, ?i)", $id, "$userinfo[first_name] $userinfo[last_name]", 0, $time);


        $vk->sendButton($peer_id, "Приветствую  тебя, @id$id ($userinfo[first_name] $userinfo[last_name]), ты теперь один из нас, вступай в ряды мощных панамеровцев!", [[$bonus]]);
    }

    
    // Давайте для обработки кнопки воспльзуемся SWITCH - CASE
    switch ($payload) // Проще говоря мы загрузили кнопки кнопки в свич, теперь проверяем что за кнопка была нажата и обрабатываем ее
    {
        case 'bonus';
            $vk->sendMessage($peer_id, "Вы взяли бонус, Вам выпало N монет");
        break;
        
    }
    
    
}

Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTF

Давайте протестируем регистрацию и ответ на нажатие кнопки:
Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTF
Ответил не сразу, в коде были допущены следующие ошибки:
ids заменить на vk_id и добавить переменную $userinfo = $vk->userInfo ($id);
Так как статья пишется параллельно созданию  бота, могут быть допущены ошибки, выше в исходных файлах они будут исправлены.

Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTF

Давайте сделаем что бы бонус начислялся на баланс. Добавляем 2 поля к таблице USERS:

ALTER TABLE `users` ADD `balance` INT NOT NULL AFTER `time`, ADD `time_bonus` INT NOT NULL AFTER `balance`;

переходим к коду и пишем следующую проверку и рандом:

 case 'bonus';
        $time_bonus = $id_reg_check = $db->query('SELECT time_bonus FROM users WHERE vk_id = ?i', $id)->fetch_assoc()['time_bonus'];
        if ($time_bonus < $time){
            //    21600 минут = 6 часов
            $next_bonus = $time   21600; // Прибавляем 6 часов для следующего бонуса!
            $rand_money = mt_rand(100, 5000); // Рандомно выбираем число от 100 до 5000, используя встроенную функцию PHP mt_rand
            $db->query('UPDATE users SET time_bonus = ?i, balance = balance   ?i WHERE vk_id = ?i',$next_bonus, $rand_money, $id); // Обновляем данные
            $vk->sendMessage($peer_id, "Вы взяли бонус, Вам выпало $rand_money монет");
        } else { // Иначе сообщим о том что бонус уже взят!

            $next_bonus = date("d.m в H:i:s",$time_bonus);
            $vk->sendMessage($peer_id,"Вы уже брали бонус ранее, следующий будет доступен "$next_bonus"");
        }

        break;

Проверяем:
Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTF
Так это выглядит в базе данных:
Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTF
Отлично у нас есть деньги, пора бы начать их и тратить :) самое распространенное в играх конечно же казино, давайте сделаем что-то подобное, самое простейшее казино. Пока мы еще не придумали игровые механики для нашего игрового бота, сделаем фарм денег.

Как будет работать наше казино:
Казино все, казино 100, казино 1кк и прочие, означающие ставки. Погнали делать команду:

    if ($cmd[0] == 'казино'){ // Первая команда

        if (!$cmd[1]){ // если вторая команда пустая она вернет FALSE
            $vk->sendMessage($peer_id, 'Вы не указали ставку!');
        }elseif ($cmd[1] == 'все' or $cmd[1] == 'всё'){ // Если указано все

            $balance = $db->query('SELECT balance FROM users WHERE vk_id = ?i', $id)->fetch_assoc()['balance']; // вытягиваем весь баланс

            if($balance == 0) {
                $vk->sendMessage($peer_id, 'У Вас нет денег :(');
            } else {
                $result = mt_rand(1, 4); // 1 - проиграл половину, 2 - победа x1.5, 3 - победа x2, 4 - проиграл все
                $win_money = ($result == 1 ? $balance / 2 : ($result == 2 ? $balance * 1.5 : ($result == 3 ? $balance * 2 : 0)));
                $win_nowin = ($result == 1 ? 'проиграли половину' : ($result == 2 ? 'выиграли x1.5' : ($result == 3 ? 'выиграли x2' : 'проиграли все')));
                $vk->sendMessage($peer_id, "Вы $win_nowin, ваш баланс теперь составляет $win_money монет.");
                $db->query('UPDATE users SET balance = ?i WHERE vk_id = ?i', $win_money, $id); // Обновляем данные
            }
        } else {

         $sum =  str_replace(['к','k'], '000', $cmd[1]); // наши Кk превращаем в человеческий вид, заменяя их на нули :)
         $sum =  ltrim(mb_eregi_replace('[^0-9]', '', $sum),'0'); // удаляем лишние символы, лишние нули спереди и все что может поломать систему :), подробнее о функциях можно почитать в интернете
         $balance = $db->query('SELECT balance FROM users WHERE vk_id = ?i', $id)->fetch_assoc()['balance']; // вытягиваем весь баланс

            if($balance < $sum) {
                $vk->sendMessage($peer_id, 'У вас не достаточно денег');
            } else {
            $result = mt_rand(1, 4); // 1 - проиграл половину, 2 - победа x1.5, 3 - победа x2, 4 - проиграл все

            $win_money = ($result == 1 ?  $balance - ($sum / 2)  : ($result == 2 ? $balance   ($sum * 1.5) : ($result == 3 ? $balance   ($sum * 2) : $balance - $sum)));
            $win_nowin = ($result == 1 ? 'проиграли половину' : ($result == 2 ? 'выиграли x1.5' : ($result == 3 ? 'выиграли x2' : 'проиграли все')));

            $vk->sendMessage($peer_id, "Вы $win_nowin, ваш баланс теперь составляет $win_money монет.");
            $db->query('UPDATE users SET balance =  ?i WHERE vk_id = ?i',  $win_money, $id); // Обновляем данные
            }
        }


    }

Получилось довольно много кода, в будущем возможно мы еще вернемся для доработок, все зависит только от Вас, давайте попробуем это в действии:
Сколько можно заработать создавая HTML5 игры и размещая на VK.COM — Инди на DTF
Получилось не плохо, теперь в нашем игровом боте есть казино!

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

Если статья понравилась, оцените ее лайком.

Исходники готового проекта:
panamera.rar

Ссылка на группу для теста

Процесс работы приложения

После того как пользователь заходит на страницу, он загружает один html-файл(игру), далее ajax’ом получает список пользователей(Топ100, размером в 5кб), свою позицию в рейтинге и счет, все в XML.

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

После того когда xml-список пришел к клиенту, со счетом и идентификатором пользователей VK, формируется рейтинг. Мы запрашиваем данные, через API, первых 10 пользователей. И выводим: «Имя Фамилию и их общий счет». Если пользователь нажал на кнопку «далее», то происходит новое обращение к API, а старые данные мы не затираем, а кешируем, т. е.

Еще, главное настроить индексы, чтобы данные брались от туда, а не читались с диска.

Самостоятельное создание приложения

Создание приложения ВКонтакте — дело нелегкое. Для этого нужны определенные знания и умения. Также совершенно необходимо желание учиться и стремление к самосовершенствованию. Если вас интересует создание приложений в ВК, вы должны быть готовы к тому, что столкнетесь с определенными трудностями на этом пути.

Поговорим о том, как создать приложение ВКонтакте самому. На первом этапе вам необходимо будет прочитать документы, которые администрация ВКонтакте составила для разработчиков.Документация ВКонтакте API

Сервер, приложение, нагрузка

В качестве сервера выступал простенький VPS с такими характеристиками:

Debian 32-bit, RAM: 512mb, CPU: 500Mhz*2 – все это за 210 рублей в месяц.

Установленное ПО: Nginx – для раздачи статики, а для обработки данных, nginx перенаправляет запросы к Apache2 PHP MySQL.

Сама же игра написана на HTML(4.0) JavaScript и немного CSS, без использования фреймворков и без разных библиотек.

Все это было собрано из разных js/css модулей в один файл и пропущено через YUI Compressor для сжатия. В итоге был один html файл весом в 20-30кб, полноценная игра с рейтингом пару картинок, одна для фона, вторая — лоадер, для отображения загрузки.

Эти несколько килобайт, дали больше полтора гигабайта трафика. По этому, если ваше приложение много весит, приготовьтесь платить за трафик.

Посетителей за все время:
image
image

Может для кого-то это и мало, а я честно говоря не ожидал что сервер выдержит. Напугали меня разные статьи, что мол сервера крутые нужны. А как оказалось, что и этого «много», используется 5-20% ресурсов из 100.

Загрузка процессора не поднималась выше 12% и то, если поднималась то на секунду и тут же становилось 0%, обычно прыгает с 0 до 4%.А использование RAM, не превышало 200Мб, даже когда буфер InnoDB с 8мб поднял до 32мб, на всякий случай.Возможно такие показатели из-за следующей архитектуры приложения, или из-за нетребовательных операций.

Читайте также  Как навсегда забанить страницу человека в вк

Создание игры для вконтакте

Создание игры для усиления рекламной компании

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

  • Договориться о брендировании на какой-то ограниченный срок;
  • Создать собственную игру для определенного бренда.

Таким образом второе гораздо интереснее первого и несет в себе гораздо больше возможностей для любой компании. Однако важно отметить, что для этого потребуются:

Наша студия предоставляет возможность заказать приложение для Вконтакте совершенно любой сложности и жанра для самой популярной социальной сети на территории СНГ. Сами игры могут быть сложными, простыми, интеллектуальными, динамичными – абсолютно все будет зависеть только и исключительно от выбранной аудитории и пожеланий заказчика.

Разработка игр Вконтакте

Создание идеи

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

В-третьих, необходимо ответить на целый ряд, следующий вопросов, а именно: “Каких пользователей игра сможет привлечь? Насколько большая целевая аудитория проекта? Как будет осуществляться монетизация? Рекламный или маркетинговый вид прибыли интересует нас в первую очередь?

#

Этапы создания игры

Существует несколько этапов создания развлекательных программ. Рассмотрим их подробно:

Этап I

Создание концепта. Данный этап необходим, чтобы «вживую» видеть собственную целевую аудиторию. Это вам поможет позиционировать свою игру.

Разработка геймплея. Этот пункт главным образом нужен во время разработки небольших приложений. Ведь вам требуется выбрать жанр игрушки.

Механика игры. Здесь вы сможете рассчитать необходимые математические процессы, использующиеся в утилите. Например, механика выстрелов, баланс от наносимого ущерба.

Этап II

Создание прототипа игры. Вам требуется создать прототип так называемого «движка».

Этап III

Разработка альфа-версии. В это время программисты разрабатывают концепцию героев и общую графическую составляющую.

Этап IV

Создание бета-версии. Это важный момент. Должно быть готово практически все приложение и 70% всего контента. Пользователи уже могут испытать игру. В команду подбирают специалистов, проводящих тесты, и определяется время рекламной компании.

Этап V

Релиз. Теперь игра становится доступна широкой аудитории, и разработчики вносят требующиеся правки. Исправляются различные обнаруженные проблемы.

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

Понравилась статья? Поделиться с друзьями:
ТВОЙ ВК
Добавить комментарий

Adblock
detector