Аскетичное программирование: игра из Лас-Вегаса в браузерном расширении

Аскетичное программирование: игра из Лас-Вегаса в браузерном расширении Javascript, Покер, Холст, Расширение, Игры, Gamedev, Видео, Длиннопост

Сейчас меня убьют. А если не убьют, то люто заминусуют. И у меня, как поет Игорь Николаев, есть на это пять причин. Но мне плевать.


1. Во-первых, я написал карточную игру в покер. Это же аморально. Как можно такое делать, в такое играть. Фу. Где же ваши семейные ценности и благопристойное поведение.


2. Во-вторых. Этот покер - Техасский Холдем. Он же американский! Кроме того, в него играют в городе греха Лас-Вегасе! Фу-фу! Патриоты взвыли.


3. В-третьих. Там будет жесткий донат. Ну, ладно, не жесткий донат, а мягкий триал 30 дней. Это - в Фейсбуке и ВК. Священники напряглись: нехорошо... Лучше бы бесплатно раздавал всем нуждающимся.


4. В-четвертых. Мне наплевать на все эти терзания. Я просто люблю атмосферу Вегаса по фильмам. С этими всеми казиношными фишками, ковбоями в шляпах, гангстерами, полуголыми официантками... Фу! Аморально и отвратительно!


5. Ну и пятое, самое страшное. Игра написана - т-с-с, только никому не говорите - на чистом Javascript. Кто-то, возможно, подумает, что вот здесь, как раз, и начинается настоящее порно.


Дизайн - это не мое. Но я включил радио K-Rose из GTA San-Andreas и несколько вдохновился на создание дизайна. Еще и прокатившись по Лас-Вентурасу, для большего антуража. Вот оно, вдохновение:

Аскетичное программирование: игра из Лас-Вегаса в браузерном расширении Javascript, Покер, Холст, Расширение, Игры, Gamedev, Видео, Длиннопост

Теперь - про аскетичное программирование. Я давно снес Visual Studio и пишу код в подобии продвинутого блокнота, с подсветкой синтаксиса. Зато игра весит всего 5 Мб, быстро загружается, быстро работает в браузере.

Игра называется «Poker 3 Bags», она написана на чистом Javascript, без сторонних библиотек (даже без JQuery). Онлайн игры пока нет - позже. основная фишка в том, что в моей игре можно просматривать все покерные комбинации - как те, что уже собраны, так и потенциально возможные. Это может послужить обучающим пособием для их запоминания. Кроме того, там есть еще две игры, включая мою, авторскую.


Все работает как браузерное расширение в обоих веб-сторах - Chrome и Firefox. Еще - в качестве i-freme приложений ВК и Facebook. Ну и еще я собрал установщик под Windows и закинул в разные магазины приложений (не в Стим). Таким образом, подобный подход позволяет создавать простой, легкий код, работоспособный везде, где только можно использовать Javascript.


Насчет VK mini apps - я пока не уверен, стоит ли туда идти. Насколько я понимаю, для оплаты в приложениях там используется система VK Pay. То есть, ее нужно подключить, более того, нужно, чтобы еще и игроки в ней регистрировались с целью произвести оплату. Или я что-то не так понимаю? Кроме того, для приема платежей необходимо подключиться к платежному агрегатору mail.ru... Как-то все сложно.


Что касается Фейсбука, то мне так и не удалось подтвердить свою компанию (ИП) для того, чтобы принимать платежи. Там требуется подтвердить компанию по e-mail либо по телефону. Это я сделал. Но далее требуют документ, который бы показывал привязку номера телефона, либо почтовый домен к компании. А в ОГРН ИП не указывается ни то, ни другое. Там указаны адрес и имя. И приложенный документ от оператора сотовой связи о регистрации телефонного номера на мое имя не прокатил. Нужно, чтобы все было именно в одном документе... Как-то Фейсбук не особо хочет работать с ИП. В общем, я забил на прием платежей в Фейсбуке и выложил туда только бесплатную версию.


Вот, что получилось. Видос из игры:

В коде используется только одна, моя, библиотека. Вкратце, она создает два блочных элемента канвас (canvas), наложенных один на другой и растянутых на весь размер окна браузера. Нижний канвас используется для статического контента, а верхний - для анимации. Тем самым, достигается высокая скорость работы: никаких летающих div-ов со спрайтами, которые перемещаясь, постоянно вызывают перерисовку DOM. Короче, получилось лучше, чем HTML-5. Ну и весь контент подстраивается под любой размер окна браузера, динамически уменьшаясь или увеличиваясь.


Мобильные устройства

Аскетичное программирование: игра из Лас-Вегаса в браузерном расширении Javascript, Покер, Холст, Расширение, Игры, Gamedev, Видео, Длиннопост

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

Аскетичное программирование: игра из Лас-Вегаса в браузерном расширении Javascript, Покер, Холст, Расширение, Игры, Gamedev, Видео, Длиннопост

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

Лига Разработчиков Видеоигр

6.8K постов22.2K подписчиков

Добавить пост

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

ЗАПРЕЩЕНО:

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

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

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


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

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

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

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

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