Page Nav

HIDE
HIDE
GRID_STYLE

Gradient Skin

Gradient_Skin

Pages

1or2

Начал разработку математической игры 11 авг. 2015 г Сейчас ищу художника-аниматора. Написал соответствующие объявления на форумах. Сделал....

Начал разработку математической игры

11 авг. 2015 г

Сейчас ищу художника-аниматора. Написал соответствующие объявления на форумах. Сделал. Жду.

Краткое ТТХ: игра будет написана на движке Cocos2d JS, иметь Google Games Service. Планирую закончить в следующем месяце.

Костяк команды для новой игры собран

15 авг. 2015 г

Спасибо веб-сайту Gamedev за это. Что же, прощай свободное время, здравствуй покорение сторов и миллионное продвижение!

Субботний пост боли

12 сент. 2015 г

Кину очередной камень в огород гугла и JS в вентилятор...

Прошло уже 4 вечера, а я никак не могу валидно подключиться с Google Game Service. Итак, по-порядку. От XDK пришлось отказаться - его third party либа googleplayservice стала depricated и ломает весь процесс сборки. К тому же, с последним апдейтом XDK стал загружаться в десятки раз медленнее, поэтому пришлось инитить cordova проект ручками и рефатчить структуру. Благо, с апдейтом до пятой версии все запустилось как надо. Так же пришлось откатиться на старую версию nodejs. Всеми восхваляемая версия 4.0 не совместима с gulp. Далее, за последний год Console Google стала еще мощнее и сложнее, уже до такой степени, что ничего не понятно. Кое-как умудрился найти все еще работающие плагины: https://github.com/ptgamr/cordova-google-play-game, https://github.com/cranberrygame/cordova-plugin-ad-adcolony, остальные тупо не компилились или не работали. Самое, конечно дурацкое в разработке под HTML5 - это процесс сертификации и подписи. Приходится изучать всякие zipalign, jarsigner и keytool.
Вот с такой портянкой безуспешно маюсь который день и все это лишь для того, чтобы сделать навсего сраный_гугл_вход.
2 нояб. 2015 г.
Немного о Spriter (или как я чуть не сошел с ума)
Есть такая прожка для создания анимаций - Spriter от brashmonkey. Всем хороша: настоящая кроссбраузерность (включая linux), стоит недорого (даже есть урезанная бесплатная версия), эдакая отличная замена от вездесущей Adobe. Взяли мы её для разработки игры "1or2" и теперь я готов рассказать о наткнувшихся проблемах.
Сперва редактор на моей Ubuntu не завелся, благо погуглил и нашёл решение на каком-то забугорном форуме (ссыль к сожалению потерял); оказалось надо было всего-то добавить некоторые сторонние пакеты. Вылеты на гноме также случались, но не так часто. Супер плюс - есть экспорт в разные форматы (xml и json), и... оказалось нет рабочего компонента под cocos2d js!

Вернее был, но поддерживал только вторую версию кокоса (сделанный тупо через кодировщик cpp to js). Что я только не пробовал:
  1. Портировать и местами переписать либу для запуска на третьей версии кокоса.
  2. Делать компонент с нуля по схематичному гайду: http://www.brashmonkey.com/ScmlDocs/ScmlReference.html
  3. Делать форк на основе официального плагина для construct2
  4. Портировать либу с голого canvas https://github.com/flyover/spriter.js
Конечно, из всего этого у меня ничего не получилось. Потратив две недели на всё это были идеи забить и начать переписывать геймуху на сраном юнити (к слову, пятая версия под нативный линух уже получила официальную поддержку от разработчиков и даже вышла в дев-свет) или на v-play (qt creator).
Под конец недели вместо того чтобы пойти погулять или хотя бы вынести залежавшийся мусор (мне кажется два дня назад пакет так не вонял) я рылся на оффоруме, и, (о чудо!) нашёл либу для PIXI (https://github.com/LesserPanda-Engine/LP-Spriter).
Напомню, PIXI - отличный движок, имеющий максимально высокую производительность за счёт правильной архитектуры и минимальных врапперов для функций, его код стандартный яваскриптовый, без хитровыебнутых, написанных через "янь" компонентов (это я про главного пейсателя кокоса, если что).
Спустя три часа дебага, удалось перенести (не без греха) на альфа-версию cocos2d html5 3.9.
Из недостатков:
  • Всё криво (то ли углы просчитываются неверно, то ли якоря, то ли хз)
  • Рендерится без WebGL
  • Фиксированные 30fps (на 60 должно запуститься, но будет о-оочен-нь тормоз-зить)
Репу на гитхабе уже создал, как доделаю дам пуш.

Используемые технологии

21 февр. 2016 г.

Пакетные менеджеры:
  • Bower
  • NPM
Система сборки:
  • Gulp
  • Bash
  • Webpack
  • Cordova 6
Отрисовка:
  • Cocos2d-JS 3.10
  • Crosswalk
Клиентсайд:
  • JavaScript 6-7
  • Babel
Серверсайд:
  • Node.js 5
  • Nodemon
  • BrowserSync
Реалтайм:
  • Socket.io
Анимации:
  • Spriter
Версионность:
  • Git
Качество кода:
  • ESLint
Среда разработки:
  • Cocos Studio
  • WebStorm
Code review:
  • Codacy
Монетизация:
  • AdColony
Нотификации:
  • PushBots
Инструменты - в целом вещь! Каждый проверен временем. Не разработка - а удовольствие (немного лукавлю да и пох).
Как закончу гейму, постараюсь выложить на гитхаб свой cocos2djs-starter-kit :P

Неудачи с Google SpreadSHITs

25 мар. 2016 г

Google Sheets выдача JSON на основе Google Drive API v3. CSV в топку, делаем с помощью App Script

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

Казалось бы, простая задача - выгрузить CSV из приватного документа хостящегося на google drive. Что может быть проще? Ищешь доки по HTTP интерфейсу, инициализируешь токен, настраиваешь CORS через веб-морду, устанавливаешь выходной формат через &format=csv и херачишь по Ajax. Хер там.
Тут же гугля:
  1. Вместо нормального токена здесь новомодный JSON Web Token. А значит Oauth, с "удобной" либой gapi.
  2. Сранный поисковик засирает ответами с прошлой версией API V2. Повсюду предлагают простое решение которое работает только если ты расшарил доку публично, если приватно - читай доки сука!
  3. С экспортом в mimeType text/csv отдается только первый SHEET. Как получить второй - неизвестно. Поэтому я хоть забил feauture request чтобы эти бездельники удосужились добавить вменяемый gid для перехода по всем таблицам.
  4. Понятно что русский язык неофициален и неприемлем в интернете, тогда зачем отдавать response в utf-8? Хоть загуглил грязный depricated хак с JS переводом в нужной кодировке:
  5. decodeURIComponent(escape(response.body))
  6. В application/vnd.openxmlformats-officedocument.spreadsheetml.sheet формируется так называемый large string которую просто распарсить не получится
Короче потратил две (или три?) ночи, забил на это неблагодарное дело и решил реализовать это при помощи скрипта на Google App Script. Это гавнище каким походу за три года пока я к нему не прикасался совершенно не изменилось: дебаггер остался примитивным, интерфейс устаревшим, работает медленно и пр. И финальный штрих - их API executable походу не работает, во всяком случае у меня оно не завелось. Однако, деплой в роли веб-приложения работает круто. Особенно радует простота с которой можно достаточно легко наваять JSON выдачу: function doGet(request) {
  return ContentService.createTextOutput(JSON.stringify({x:666}))
    .setMimeType(ContentService.MimeType.JSON);
}

PS. Гуглявцы те еще засранцы, именно такими быдло-действиями насильно подсаживают нас на свои их гавно сервисы.