Кодерская мастерская
137 subscribers
1 photo
14 files
39 links
Блог Данила Пылаева
Download Telegram
Idle Bank Alpha

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

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

На данный момент в игре существует 7 фракций, фракция выбирается на старте, позже её можно будет изменить.
У каждой фракции своя валюта и свой тип блоков, а также имеется магазин, в котором можно покупать / продавать блоки своей / чужой фракции.
Ещё есть несколько миниигр, которые позволяют зарабатывать деньги и блоки.
Игра довольно гибкая, можно залипать несколько часов подряд, а можно заходить на пару минут в день.
Да, во втором случае прокачка будет происходить медленнее, но смысла игра от этого совсем не теряет!

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

Так как большая часть подписчиков этого канала использует программы экранного доступа для взаимодействия с операционными системами, заранее предупреждаю, что в игре активно используются эмодзи.
Если они у вас не читаются, играть вы сможете, но порой будет неудобно.
Если вы хотите играть с Android, используете eSpeak 1.48.15 с Talkback и хотите, чтобы читались эмодзи, то ждите следующий пост.

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

Играть

Если вас не пугает деанонимизация внутри игры, делитесь получившимися никами в комментариях!
И, как видно из названия, это альфа-версия игры, потому возможны всякие баги, правки баланса и т.п.
А ещё, разумеется, возможны полные ресеты (надеюсь этого не произойдёт, но всем нужно быть морально к этому готовым).
Гайда тоже нет, поэтому предлагаю несколько вариантов:
1. Если есть свободное время, почитайте changelog, ссылку на него можете найти в канале игры (ссылку на канал можно получить у бота по команде /help).
2. Если есть мноого свободного времени, можете почитать группу комментариев канала, там разработчик объясняет некоторые механики.
Или почитать группу хотя бы за сентябрь, там я, вероятно, достал разработчика своими вопросами, но теперь я знаю об игре немного больше.
3. Задавайте вопросы разработчику, если знаете английский, или задавайте их в комментариях под этим постом, я по возможности буду отвечать.

#Игры
ru_listx
5.1 MB
Эмодзи для eSpeak на Android

Ловите второй обещанный постик, он чё-то крупноватый получился, поэтому в telegraph.
Но файлы туда нельзя заслать, так что они будут тут.
1. eSpeak.v.1.48.15_with_ru_emoji - обычный eSpeak, в русский словарь которого добавлены эмодзи.
2. eSpeak.v.1.48.15_only_ru_with_emoji - тоже с поддержкой эмодзи, и с выпиленными голосами (кроме русского), что не даёт eSpeak-у переключаться на другие языки (ему просто некуда 😉) в некоторых приложениях, где на самом деле русский интерфейс.
3. ru_listx - исходник листа, из которого был собран словарь.

#ESpeak #Android #ХакВоБлаго
soundBeforeCapital-0.2.2.nvda-addon
17.9 KB
Sound before capital

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

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

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

Достаточно просто установить его, и он начнёт работать.

#NVDAAddon
NVDAControllerUncancel-0.1.1.nvda-addon
5.6 KB
NVDA controller uncancel

Описание в caption не влезло, поэтому оно тут: https://telegra.ph/NVDA-controller-uncancel-10-07

#NVDAAddon
Шестёрочки

25-го октября 2022 года, в 5 часов, 57 минут и 46 секунд по МСК Unix time достигнет значения 1666666666.
Живите теперь с этим.
Два года назад замечательный человек с ником GuideDev создал модификацию, позволяющую слепым играть в одну из самых популярных в мире игр Hearthstone.
Два года он каждый месяц выпускал обновления, один, без чьей-либо помощи декомпилировал код игры и адаптировал дополнение под новые версии Hearthstone.

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

Сейчас, через два года крапотливой работы, GuideDev понял, что не справляется с разработкой мода, не успевает "догонять" быстро меняющийся код игры, не может совмещать работу, учёбу и разработку мода.
GuideDev объявил, что вышедшая в начале ноября версия мода станет последней, и он больше не будет заниматься поддержкой дополнения.

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

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

Ссылка на петицию:
https://chng.it/Lb6SGfz2pR
Лицензия AdGuard не вечная (но это не точно)

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

Ну во-первых я возмутился: "Какого хрена оно вообще им было отправлено, ведь я же снимал эти флажки перед отправкой!".
А во-вторых мне стало интересно, что же в этих файлах находится?

В файле license.txt, как я и предполагал, оказалась моя лицензия, да-да, прям вот лицензионный ключ.
А также в нём была дата истечения моей вечной лицензии, ниже привожу содержимое файла (разумеется ключик и ещё какой-то id-шник я оттуда убрал 🙂).

application id: xxx
application status: ACTIVE
license: xxx (computers: 3, type: PREMIUM, expiration: Sun Aug 07 13:04:15 MSK 2118)


Т.е., выходит, что она не вечная! Она до 2118 года!
Скорее всего её продлят к этому времени, а может и нет, как знать...

В общем надо дожить до этого момента и посмотреть, что же будет.

Но это, на самом деле, не проблема, так как у меня ещё есть пожизненная инвалидность до 31 декабря 9999 года, докуда тоже было бы интересно дожить и проверить, что с ней станет (возможно про это тоже когда-нибудь напишу пост).
Клавиша Y

Многим известно, что я некоторое время назад был разработчиком игры HVR.
Сегодня вспомнил один забавный и поучительный случай, произошедший в процессе разработки, и решил вам о нём поведать.

В нашей команде было три человека
Я кодил, а ещё два человека занимались подбором и обработкой звуков.
Для тех, кто не вкурсе, поясню: игрушка была звуковой (приспособленной для незрячих), и хорошие звуки в игре такого типа - это уже половина успеха.
Игру мы решили делать для русского и английского языка.
Английский я на тот момент знал ну ооочень плохо. Не могу сказать, что сейчас я знаю его хорошо, моих навыков хватает на уверенное понимание технических манов и плюс-минус нормальное написание каких-нибудь сообщений к коммитам. Ну и порой приходится некоторые штуки прогонять через переводчик.
Поэтому в итоге я занимался кодингом, один человек переводом и звуками, а второй звуками и помогал в тестировании.

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

Прошло несколько месяцев кодинга и отладки, и вот наступил долгожданный день релиза.
Скомпилировал я это чудо, заархивировал, куда-то мы это выложили.
Прошла пара минут, стали заходить первые игроки.
И вдруг, минут через 20 после релиза я осознал, что про ту фичу я забыл и ничего не выпилил.
Я был немного в афиге.
Да, эта клавиша не была внесена в readme, но ведь были и те, кто readme не читал, а просто заходили в игру и методом тыка изучали клавиши управления.
И вот те, кто так делал и натыкался на ту клавишу были в гораздо большем афиге!
Конечно, я быстренько убрал этот функционал и выпустил обновление, но угорали все потом ещё долго.
Причём и я тоже, мне даже почему-то не было стыдно, может сильно мелкий был (мне тогда было лет 14).
В общем первый релиз моего первого крупного продукта оказался весёлым и, в какой-то степени, поучительным.

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

if(key_pressed(KEY_Y)) {
load_lang_p();
speak("Иди нахуй.", true);
}


Вот такая вот фигатень, мораль: не забывайте удалять отладку перед выкатыванием на прод.

P.S.

Может есть среди подписчиков те, кто как раз вот так вот тыкал и наткнулся, отпишите в комменты о чём вы подумали, какие испытали эмоции и т.п. Интересно же.
goToSleep-0.1.nvda-addon
4.4 KB
Go To Sleep

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

#NVDAAddon
👍2
Snow war

Многим моим подписчикам известно о игре Snow war.

Для тех, кто не в курсе, немножко поясню:

Snow war - это звуковая online 3d игра, разработанная мной, Данилом Пылаевым, специально для проекта "Blind games" несколько лет назад.

Проект закрылся, игра осталась.

Я доработал её и релизнул год назад, чтобы поиграть мог каждый желающий.

В Snow war вы лепите снежки и бросаете их в противников, понижая их очки здоровья. Игроки, у которых закончились очки здоровья, выбывают из игры. Цель - остаться единственным игроком на поле.

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

А теперь к цели поста:

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

Предлагаю собраться завтра, в субботу 24-го декабря в 20:00 по Москве на каком-нибудь из серверов (ниже будет опрос) и сыграть несколько раундов.

Если у кого-то в это время не получается, не расстраивайтесь: серверы работают 24/7, так что вы сможете поиграть в любое удобное вам время, хоть в июле :D

Игру можно скачать тут

Всем новогоднего настроения!
👍1
На каком сервере будем играть? Разницы между ними никакой нет, отличается только название.
Final Results
45%
Барсик
14%
Горыныч
14%
Кеша
17%
Кузя
10%
Мурзик
systemctl restart coding_workshop

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

Написал пост про модификацию прошивки роутера, пытаюсь запихнуть в telegraph, кнопка publish не прожимается, и ошибок вроде нет.
Попробовал отправить через API, а там...

{"ok": false, "error": "CONTENT_TOO_BIG"}

Придётся на две части делить.

#ОноСломалось
Модификация прошивки роутера D-Link DIR-822

Под новый год я решил упороться и прошить роутер от MTS, а сейчас победил лень и описал это в немаленьком таком лонгриде.
Формат получился необычным, текст содержит кучу вставок блоков кода и цитат / копипаста уже написанного ранее, и надеюсь в таком виде оформлять посты мне больше не придётся, так как это достаточно сложно и муторно.

Постом выше я писал про две части.

Но что-то пошло не так, и их получилось 3.

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

Первая часть,
Вторая часть,
Третья часть.

UPD: на Android есть проблемы с доступностью некоторых элементов текста, лучше открывайте в браузере (сначала обычный Instant view просмотр внутри приложения, а потом кнопка Ещё (так называемые три точки), и там в меню можно открыть сторонним приложением).

#ХакВоБлаго
Перерождение Survive the Wild

Многим известна игра Survive the Wild, которую последние года полтора Sam Tupy (главный разработчик и, насколько мне известно, единственный программист в команде) допиливал, пытаясь устранить некоторые глобальные проблемы.

В итоге им было решено вообще сменить язык программирования, да и вообще стек разработки.

Я слежу за изменениями в проектах Сэма, кажется, ещё с осени 21-го года, когда вернулся в stw.

Лично мне интересно наблюдать за развитием навыков и возможностей человека, начинал который с bgt (по крайней мере известные его проекты написаны на этом ЯП), а сейчас освоил git, базы данных, администрирование linux на некотором уровне, и вроде даже C++ и Python.

В феврале на сервере игры навернулся SSD, с восстановлением данных возникли некоторые траблы (ага, он не делал бэкапы! Точнее делал, вроде бы, раз в месяц, и в итоге последний бэкап до выхода диска из строя выполнялся за три недели до инцидента), после этого игру было решено не восстанавливать, пока кодовая база не будет переведена на новый ЯП, и не будут внесены некоторые нововведения (цельная карта, относительно умные животные, система багрепортов и т.п.).

И вот сегодня на 15:14 по МСК запланировано открытие публичной беты, куда я предлагаю сходить всем, кому это интересно, и поискать там весёлых багов, а они там будут по-любому.

Вот
ссылка на последний пост по состоянию stw.

#Игры
Ностальгический видос

На днях листал ленту в Youtube, и мне попалось видео со следующим названием: "ЗЕМЛЯНКА ИЗ ШЕСТИ БРЕВЕН НА СКЛОНЕ ГОРЫ - ЯМА, КАРКАС, ГЛИНЯНАЯ ПЕЧЬ и ЛЕС - ВЫЖИТЬ ПОД ЗЕМЛЕЙ!".

И т.к. я люблю видосы про крафт, решил его глянуть, и сделал это не зря.

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

В общем если хотите отвлечься и расслабиться, рекомендую к просмотру, наверное лучше смотреть перед сном, главное в процессе не уснуть, что, кстати, в моём случае чуть не произошло 🙂

https://www.youtube.com/watch?v=hqqNYDXSEjg
Яндекс диск свернул куда-то не туда

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

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

И вот сегодня они прислали запись. "Ладно, послушаю в записи" - подумал я.

Ссылка на яндекс диск, открываю, попадаю, как я понял, в папку с единственным mp4 файлом, и...

Пытаюсь найти кнопку "Скачать".

Не нахожу, изучаю всю страницу, не нахожу контрола для скачивания (ни кнопок, ни ссылок).

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

Спустя 5 минут, неожиданно, начал открываться плеер при нажатии Enter на файле в режиме редактирования (иначе никак не открывается).

Круто, ща из плеера скачаю!

Вот значит кнопочки для управления воспроизведением, ползунки, настройки, кнопочка "Ещё"...

Тыкаем, а там только инфу о файле предлагают посмотреть.

Кручу-верчу плеер ещё пару минут, и делаю то, чего вообще пользователь облачного сервиса не должен делать, он даже думать об этом не должен, но мне вот пришлось.

Открываю DevTools, перехожу на вкладку Network, немножко магии, и дрррааассти, master-playlist.m3u8, попался!

Копируем здорровый урл, запихиваем в yt-dlp и получаем желанный видос, если ещё не забыли, с яндекс диска.

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

https://disk.yandex.ru/d/r7fiuUWtEUSz8g

#ОноСломалось #ХакВоБлаго