Если контент не отображается, включите VPN.
2015
11 авг. Начал разработку математической игры 1or2
Сейчас ищу художника-аниматора. Написал соответствующие объявления на форумах. Сделал. Жду.
Краткое ТТХ: игра будет написана на движке Cocos2d JS, иметь Google Games Service. Планирую закончить в следующем месяце.
15 авг. Костяк команды для новой игры собран
Спасибо веб-сайту Gamedev за это. Что же, прощай свободное время, здравствуй покорение сторов и миллионное продвижение!
12 сент. Субботний пост боли
Кину очередной камень в огород гугла и 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 нояб. Немного о Spriter (или как я чуть не сошел с ума)
Есть такая прожка для создания анимаций — Spriter от brashmonkey. Всем хороша: настоящая кроссбраузерность (включая linux), стоит недорого (даже есть урезанная бесплатная версия), эдакая отличная замена от вездесущей Adobe. Взяли мы её для разработки игры «1or2» и теперь я готов рассказать о наткнувшихся проблемах.
Сперва редактор на моей Ubuntu не завелся, благо погуглил и нашёл решение на каком-то забугорном форуме (ссыль к сожалению потерял); оказалось надо было всего-то добавить некоторые сторонние пакеты. Вылеты на гноме также случались, но не так часто. Супер плюс — есть экспорт в разные форматы (xml и json), и… оказалось нет рабочего компонента под cocos2d js!
Вернее был, но поддерживал только вторую версию кокоса (сделанный тупо через кодировщик cpp to js). Что я только не пробовал:
- Портировать и местами переписать либу для запуска на третьей версии кокоса.
- Делать компонент с нуля по схематичному гайду: http://www.brashmonkey.com/ScmlDocs/ScmlReference.html
- Делать форк на основе официального плагина для construct2
- Портировать либу с голого 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 должно запуститься, но будет о-оочен-нь тормоз-зить)
2016
21 февр. Используемые технологии
Пакетные менеджеры
- 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
Инструменты — в целом вещь! Каждый проверен временем. Не разработка — а удовольствие (немного лукавлю да и пох) 😛
25 мар. Неудачи с Google SpreadSHITs
Google Sheets выдача JSON на основе Google Drive API v3. CSV в топку, делаем с помощью App Script.
Вроде удобно: табличный редактор, доступный с любого места где есть браузер, мощный API с поддержкой для всех популярных языков, помощь от гугля. Но нет же внутри этого творения творится настоящий ад.
Казалось бы, простая задача — выгрузить CSV из приватного документа хостящегося на google drive. Что может быть проще? Ищешь доки по HTTP интерфейсу, инициализируешь токен, настраиваешь CORS через веб-морду, устанавливаешь выходной формат через &format=csv и херачишь по Ajax. Хер там.
Тут же гугля:
- Вместо нормального токена здесь новомодный JSON Web Token. А значит Oauth, с «удобной» либой gapi.
- Сранный поисковик засирает ответами с прошлой версией API V2. Повсюду предлагают простое решение которое работает только если ты расшарил доку публично, если приватно — читай доки сука!
- С экспортом в mimeType text/csv отдается только первый SHEET. Как получить второй — неизвестно. Поэтому я хоть забил feauture request чтобы эти бездельники удосужились добавить вменяемый gid для перехода по всем таблицам.
- Понятно что русский язык неофициален и неприемлем в интернете, тогда зачем отдавать response в utf-8? Хоть загуглил грязный depricated хак с JS переводом в нужной кодировке:
- decodeURIComponent(escape(response.body))
- В 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);
}
P.S. Гуглявцы те еще засранцы, именно такими быдло-действиями насильно подсаживают нас на свои их гавно сервисы.
3 мая. Конец
Проект «1or2» отправляется в свободное правило без меня. Я вымотан и хочу отдыха.
16 июня. Публикация ресурсов
Из остатков ресурсов выложил пример своего конфига релизов Android на Travis CI.
17 июня. Удаляю репозиторий и ресурсы
Выкатил свой кастомный Dropbox SDK https://github.com/qertis/dropbox-sdk-js как часть оставшихся плагинов из кодовой базы. Всю кодовую базу удалил без возможности восстановления или спонтанного желания. Переключаюсь на другие проекты. А сам билд выкладываю здесь.