пятница, 11 июня 2021 г.

Впечатления от Loria

Сейчас на GOG бесплатно раздают Loria  - и я само собой не удержался, чтобы не посмотреть на неё.

Геймплейно, это клон Warcraft III с графикой Warcraft II. И в целом, он меня этим порадовал - все элементы оригинала на месте, играется неплохо и нормальный ИИ сильно не выносит.  Судя по плашкам, у игры какие-то проблемы с финансированием  и разработкой и поэтому она... недоработана. Обидно, потому что пока это лучшая из новых RTS, которую я пока видел. 

Да, баланс не очень. Да, как-то сильно много копирования Warcraft III в плохом смысле: опять эта любовь к требованию высокого APM, что есть форменное болото. Да, опять нет редактора карт (я скучаю по редактору карт WIII ужасно). Игра бы взлетела, думаю, в коопе - но увы, сетевой игры нет.

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

Я всё же надеюсь, что она со временем допилится, хотя судя по мертвой ссылке на дискорд - ожидать не стоит.

Исходники Периметра уже на GitHub

Наконец-то исходники Периметр есть на GitHub . Если кто не помнит - это была такая стратегия в середине нулевых с довольно интересной историей, и, что особенно отрадно - это была отечественная RTS. 

Самое приятное - в ней сейчас, это то, что есть комьюнити в чате TG, которое взяло игру под своё крыло и потихоньку допиливает. Я там есть, но, увы, поактивничать мне не даёт отсутствие времени.

Конечно, исходники там довольно сложные, читаются тяжело и много сильно устаревших на 2021 год вещей, но со стороны community уже есть WIP работа под студией 2019, портирование на CMake и много чего другого. А самое приятное - это то, что можно самому сесть и наконец посмотреть в чём дело, разобраться со старыми багами если хочется и есть время. Врать не буду, в своём отрочестве я о таком мог только мечтать. What a time to be alive! Надеюсь, что на него появятся со временем интересные моды и, само собой, карты. 

четверг, 25 февраля 2021 г.

Дискретная математика и ML

 Недавно пришлось снова поглазеть на нейросети по долгу службы. Сказано сделано - запилил датасет, почистил, сделал входы и выходы. Чтобы не сильно заморачиваться сделал их бинарными, т.е. наборами нулей и единиц, само собой большими. В итоге поймал себя на мысли, что можно в лоб добиться неплохого результата (но с оверфитом), если не делать никаких градиентных спусков, а тупо запилить набор логических функций через СДНФ и СКНФ. Думаю, что дело всё же в синтетичности проблемы - вряд ли с пикселами и сложными структурами такое прокатит.

понедельник, 1 февраля 2021 г.

History export from Skype and Discord

Я как-то писал про историю сообщений в Skype, но как-то руки не доходили до скриптов, которые бы позволили нормально собрать историю в HTML-файлы, разбитые по дням. Зачем это нужно? В первую очередь, иногда интересны именно старые диалоги, которые непонятно как искать. Иногда просто хочется полной внятной истории переписок, так как по умолчанию показываются последние сообщения, а скроллить вверх миллион раз неудобно. К этому присовокупилось желание иметь подобное для Discord.

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

Для Discord нашёл DiscordChatExporter, но он экспортирует всё одним файлом, а хотелось разбиения по дням. 

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

Процесс такой.

1. Перед началом в каждой из папок "skype" и "discord" выполнить  composer install.

Для Discord

2. Использовать DiscordChatExporter, и экспортировать в нём историю в HTML

3. Создать структуру папок, где результат будет расположен (что-то типа папки "outdiscord" и папки "data" в ней, рядом со скриптами в папке "discord)". Скачать иконки гильдии и аватарки и положить их в папку "data".

4. Отредактировать и запустить discord/split.php, используя переменные в начале скрипта, чтобы разбить историю по дням.

5. Отредактировать и запустить discord/downloadpreview.php, используя переменные в начале скрипта, чтобы скачать превью картинок и расположить их в папке outdiscord/data.

6. Использовать скрипт "template/stringstomenu.php" и файлы HTML в папке "template", чтобы сформировать индексные файлы и меню на основе index.html и menu.html. Индексные файлы скопировать в выходную папку ("outdiscord")

Для Skype

2. Найти и скопировать main.db, вытащив оттуда id нужного разговора.

3. Создать структуру папок, где результат будет расположен (что-то типа папки "outskype" и папки "data" в ней, рядом со скриптами в папке "discord)". Скачать иконки гильдии и аватарки и положить их в папку "data". Последние можно сделать самому - например на основе дискордовских.

4. Отредактировать и запустить "skype/parser.php", используя переменные в начале скрипта

6. Использовать скрипт "template/stringstomenu.php" и файлы HTML в папке "template", чтобы сформировать индексные файлы и меню на основе index.html и menu.html. Индексные файлы скопировать в выходную папку ("outskype")

Тестировал их на новом PHP 8.0 - всё работает, за исключением превью для Youtube. Надо будет покопаться, что там не так, но пока на это нет времени. Процессы получились довольно громоздкими, но это из-за того, что это разовое действие, которое пока потребовалось только один раз.



суббота, 12 декабря 2020 г.

Daz3D to Unreal 4 Bridge и ALS

 Недавно попробовал новый бридж между Daz3d и Unreal и, по наивности, подумал, что по идее он должен как-то сильно упрощать работу с ALS. Увы нет, это по-прежнему больно и фигурку тяжело ригануть. Зато Daz3d-to-Blender  работает хорошо. Думаю попробовать выкрутиться через перетаскивание скелетов между UE4 и Blender, может так получится быстрее.

UPD: Увы, есть различия, из-за которых, без коррекции, расчёт весов идёт неверно. Как вариант - скрипт Rigify решает эту задачу, но именование костей там другое. Есть Uefy который решает и эту задачу. Стоит он $36 (бесплатная версия по сути не поддерживается, и с Blender 2.83 не работает, хотя есть ролик ещё с более ранней версией). Свежая версия мне пока  дороговата, так что бросаю это бесплодное занятие.

UPD2: nvm, вот здесь более адекватный мануал - и он тоже 40 минут. Увы, это долго, так что всё довольно грустно. В принципе, он частично работает, но всё это очень медленно. Golden bullet are yet to come.

среда, 9 декабря 2020 г.

Про Unity и ачивки на Android

Решил от скуки поковырять ачивки на андроиде под Unity, и, честно говоря, разочарован. 

Исходный вариант выглядит как-то очень тяжело, и больно, и выполнен в лучших традициях российской бюрократии (даром, что это не российская бюрократия): приложение в Google Play создай, keystore подпиши, проект в google console создай, OAuth сделай и чуть что - всё не работает. 

Возможно, я сильно заморочился и можно как-то проще. Есть, например, статья в которой всё как-то доступно объясняется, но отлаживать это - ужасная боль. Интерфейсы гугл плея при этом вызывают недоумение (одно только выделение кнопки получения ресурсов серым в противоположность другим кнопкам чего стоит). 

Хочется просто дропнуть всё это, по быстрому сделать их сохранение где-то локально (или отправку на свой сервер) и забить. Так пока и поступлю, возможно в будущем вернусь к этому. Пока есть более интересные вещи.

вторник, 24 ноября 2020 г.

Об одной AFK RPG

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

С этой целью скачал AFK RPG за именем Goddess Legion: Silver Lining. И, неожиданно, сильно затянуло. Игра, на удивление, хороша. Надо отдать авторам должное:

1) Донат сильно ненавязчив и не бесит. Лично я до этого пару раз играл в одну казуалку в VK, и там донат был прямо на каждом шагу.  Цены довольно демократичные, некоторая мелочёвка стоит всего-то 1 доллар.

2) В принципе, можно играть без доната. Да, сервер не понагибаешь, но самое главное - хоть маленький прогресс, но тебе оставляют. Первую неделю растёшь вообще как на дрожжах (в оной казуалке, уже спустя три дня стало прямо больно).

3) Дизайн сделан довольно хорошо. Картинки персонажей раскрашены, анимированы, прямо красота. Не все впрочем: видно, что по пайплайну 3D идёт перед 2D, потому что персонажи в 3D мало чем отличаются, а в 2D - абсолютно разные лица. Вообще 2D-графика здесь  - моё почтение.

4) Авторы понимают свою аудиторию :))) Просто пройдите по ссылке, это я оставлю без комментариев.

Ещё понравилось, что игра умудряется сохранять некую динамичность при непрямом управлении (это сделано отчасти за счёт прогрессбара Anger, при заполнении которого персонаж релизит спецудары) и периодических боссов.

Попробовал собрать всё интересное в ней с точки геймдизайна из неё в mindmap, вот первый вариант:


Скачать для XMind

Пока на этом бросаю это дело, попробую посмотреть что-нибудь ещё.