zHz00 Untitled

пятница, 03 января 2025
06:36 Рогалики и карма
Давать определения жанру "рогалик" -- тема неблагодарная. Сейчас слово "рогалик" или "роглайт" лепят на все игры, где есть хотя бы небольшой элемент рогаликовости. Мода такая, наверное.

Один из ключевых признаков рогаликов -- "смерть навсегда" (permadeath). Умер -- начинай с левел1. Это было бы очень скучно, если бы мир игры был одинаков при каждом прохождении. Но мир генерируется заново, поэтому смерть, как правило, обогащает опыт, а не приводит к стагнации.

В современных рогаликах отношение к "смерти навсегда" стало мягче. Например, и Cogmind, и Caves of Qud предлагают режимы с чекпоинтами. Прости господи, тот же нетхак имеет режим исследования, дающий бесконечные жизни и позволяющий отказаться от удаления сейв-файла.

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

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

Это не так. Кажется, что смерть в рогалике случайна. Такая смерть действительно встречается. Но очень часто смерть является следствием неправильной стратегии, незнания, непонимания геймплея и множества других факторов, которые не являются случайными.

Да, вас откатывает назад на 100, на 1000 ходов. Но сможете ли вы за оставшееся время устранить ту причину, по которой вы умерли? Сможете ли вы её понять?

Если да -- то вы пройдёте дальше. Если нет -- то вы имеете все шансы сложиться от того же самого моба на том же самом месте.

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

Такой игрок будет растить свой навык, и очень скоро чекпоинты будут ему не нужны.

@темы: Мысли, NetHack

URL
четверг, 02 января 2025
среда, 01 января 2025
17:36 Про вкус
В первую очередь, про вкус алкоголя. Я, возможно, про что-то из этого писал, но тут я собираю всё в одном месте.

1. Вкус зависит от степени АО. Чем больше АО, тем слабее он чувствуется.
2. Вкус зависит от температуры. Один и тот же напиток может быть невкусным, когда тёплый, и вкусным, когда холодный. И наоборот.
3. Вкус зависит от номера глотка. При первом глотке вкус один. При втором язык привыкает к части вкуса и что-то отходит на второй план. Это может как улучшить, так и ухудшить ощущения.
4. Вкус зависит от того, что пили-ели до этого. Поэтому профессиональные дегустаторы полощут рот водой. Но мы не профессиональные дегустаторы, поэтому так делать не будем.

@темы: Восприятие, Еда

URL
вторник, 31 декабря 2024
02:30 Я без комбинации как без менструации
Неожиданно обнаружил, что Сектор Газа // Частушки начинаются с того же проигрыша, что и Бухгалтер.

Взгляните:

www.youtube.com/watch?v=RkiGt8reOMo -- Бухглатер
www.youtube.com/watch?v=jGFtD8-d5nc -- Частушки

Бухгалтер 1991 года, а Частушки 1992. Я не верю, что это случайность. Но... почему авторы так сделали? В частушках есть ещё несколько проигрышей. Возможно, они взяты из каких-то других песен. Но я их не знаю.

UPD.

Нашёл в комментариях на ютьбе:

00:02 , главный семпл — Комбинация бухгалтер
01:08 — Газманов морячка
02:02 — Газманов свежий ветер
03:00 — Любэ батька Махно
03:58— На-На Баба Яга
04:55 — СГ кума
05:01 — Любэ давай-наяривай

@темы: Музыка, Наблюдения

URL
понедельник, 30 декабря 2024
22:13 Скоро начнём
Иногда начальство или родственники спрашивают: "Ты сделал Х?"

А ты нихуя не сделал. Ну и что тут можно ответить? "Нет".

Но я почему-то всегда отвечаю "Нет... ещё". Почему-то мне кажется, что это "ещё" как-то исправляет ситуацию. Типа, "уже делаю" или "почти сделал". Но на самом деле это "ещё" ничего не означает. А кроме того, звучит некрасиво.

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

Надо избавляться от этой привычки. Не сделал -- значит не сделал.

@темы: Восприятие, Наблюдения

URL
воскресенье, 29 декабря 2024
01:38 3,62 и СССР 2.0
Когда некоторые безответственные личности рассказывали про СССР 2.0 я ожидал разного, но не этого.

Что происходит с ценами на алкоголь?

Смешно, конечно, рассуждать о таком, ведь в СССР ассортимент был сильно ограничен. Я же для примера напишу про текилу Ольмека, серебряная, 0.7 л.

Зайдём в Перекрёсток. Со скидкой -- 2189 р. (при пред'явлении карты)
Зайдём в Ароматный мир. 2190 р.
Зайдём в КиБ. Какая там цена? 2189 р.

Я не проверял ВСЕ наименования, но посмотрел ещё несколько. Всё то же самое. Где-то со скидкой, где-то без, но итоговая цена различается в пределах 10 рублей.

Может, конечно, это перед новым годом вышло распоряжение, чтобы всё было одинаково? Надо было месяц назад сравнивать, но тогда я ещё не приступил к закупкам.

@темы: Наблюдения, Еда

URL
суббота, 28 декабря 2024
05:37 Догоняй, кетчуп
Под'езжаю к перекрёстку с жёлтой вафельницей. Останавливаться на ней нельзя -- придёт штраф. За перекрёстком ступор. Не выезжаю. Сзади мне газель мигает фарами, но я всё равно не выезжаю.

Ближе к концу времени светофора спереди наметился прогресс. В последние секунды я всё-таки выезжаю на вафельницу и завершаю проезд перекрёстка. Газель тоже. Проехали ещё 200 метров. Газель опять сигналит. Видимо, мой подход к вождению её не устраивает!

Я смещаюсь вправо и пропускаю газель вперёд. После этого снова занимаю крайнюю левую полосу. Но. Через ещё 200 метров начинается новая левая полоса. Обычно расширение дороги происходит справа, а дополнительные полосы слева возникают только на перекрёстках с поворотом налево. Но тут было не так, это было настоящее расширение слева. Можете посмотреть на панорамах -- я про пересечение Профсоюзной с ул. Академика Капицы, в Область, немного не доезжая до самого перекрёстка.

Я перестроился в новый крайний левый ряд, а Газель осталась в новом среднем ряду. Об'езжая её слева, я посмотрел в лицо тому водителю (а он посмотрел на меня). Ну, мужик как мужик.

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

После светофора Газель сразу с'ехала на заправку! Ну и куда тогда он так торопился?

Единственной очевидной причиной торопливости водителя стало срочное посещение сортира. Но в этом убеждаться я уже не стал...

@темы: Случай из жизни, Автомобили

URL
пятница, 27 декабря 2024
04:59 Очумелые ручки
Для склейки пластика можно использовать чистый дихлорэтан (или дихлорметан). Но лучше растворить в нём кусочки такого же пластика. Мне пишут, что причина в том, что ДХЭ очень быстро испаряется и впитывается в пластик. Клей с наполнителем гуще, медленнее испаряется и хуже впитывается. Поэтому -- наполнитель.

Так вот, посуду после использования этого клея отмыть не так-то просто. Прошу вас, не пытайтесь отмыть ЭТО пальцами под водой.

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

Во-вторых, вода не растворяет ДХЭ+пластик, а только размазывает. В том числе, по вашим рукам. Помните, в детстве мазали руки клеем ПВА, чтобы потом плёночку отдирать? Вот у вас все руки будут в такой плёночке. Я даже думал, что у меня кожа слезла, но нет. И плёночка эта, собака такая, гораздо хуже отклеивается, чем ПВА. Джва часа шкрябал.

В-третьих, какой же метод отмытия посудин оказался действенным? Тупо подождать, пока засохнет, а потом отодрать получившуюся плёнку пальцами.

Примечание. Вся посуда была из стекла. То же касается нерастворимых пластиков типа полиэтилена. Посуду из растворимого пластика для таких работ использовать нежелательно.

@темы: Лайфхак, Случай из жизни, Фейлы

URL
четверг, 26 декабря 2024
05:31 Glory Hole
Сверлить дырку в стене в сталинке -- это всегда приключение. К счастью, во время ремонта большинство дырок сверлили не мы. И большинство из этого большинства даже не сверлилось. Саморез вкручивался прямо в штукатурку. Сейчас я знаю, что это спорное решение, потому что такое вкручивание одноразовое. Ну и держится плохо, если дёрнуть изо всех сил. Но дёргать мы же не будем, правда?

Правильное решение -- устанавливать дюбель. Конечно, если изо всех сил дёрнуть -- его тоже можно выдрать. Но сложнее.

Чтобы дюбель установить, надо просверлить дырку. И тут уже как повезёт. Первый сантиметр будет штукатурка, это известно, но вот что будет дальше?

Может быть -- доска. А может быть -- пустота. А может быть -- кирпич.

Я вот сначала на штукатурку вкручивал саморез -- он во что-то упёрся. Решил сверлить под дюбель. Сверло тоже во что-то упёрлось, и не сверлит. Посмотрев на набор свёрел, я пришёл к выводу, что использовал сверло по дереву. Рядом было сверло по бетону.

Я сменил сверло -- и из дыры посыпался оранжевый порошок. Ага, кирпич! Хорошо!

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

Тогда-то я и понял, что место второй дыры попало на промежуток между кирпичей. Это был цемент...

@темы: Случай из жизни

URL
среда, 25 декабря 2024
05:28 На охоту поехало шесть человек, а вернулось-то только четыре
С одной стороны, писать хуйню о том, как сходил в магазин -- это не комильфо. А с другой -- я возмущён.

Беру в Ашане с полки упаковку молока -- 12 литровых пакетов в картонной коробке. Несу на кассу.

А теперь куэр-коды на каждой упаковке, поэтому пробить по количеству нельзя. Надо, блядь, вскрывать коробку и сканировать каждый пакет отдельно. Но ладно, нас ебут, а мы крепчаем. Я приучился заранее вскрывать коробку и ставить так, чтобы кассиру было удобнее пищать. Что может пойти не так?

Открываю картонную коробку, на одном из пакетов нет куэр-кода. Всё, его мне продать не могут. Снимают с кассы. Остаётся 11. Начинают сканировать. Первый нормально. Второй нормально. Третий -- "товар не может быть продан". Снимают с кассы.

В итоге из 12 пакетов мне продали только ВОСЕМЬ. И с ними-то я и поехал домой. Сэкономил, типа.

@темы: Крик души, Случай из жизни

URL
вторник, 24 декабря 2024
01:13 "Сборы" в Сбербанке
В под'езде на что-то собирали, в домовой чат скинули ссылку на сайт Сбербанка, но ссылку необычную.

Я по ней нажимаю, попадаю действительно на сайт Сбербанка. Это "сбор". Можно сделать такой, и все, открывшие ссылку, смогут докинуть. Но есть нюанс.

То, что нельзя отправить денег на сбор без захода в сбербанк-онлайн -- это ясно. Хотя вообще-то могли сделать и через ввод номера карты. Но войти в сбербанк-онлайн тоже недостаточно. Функция оплаты сбора доступна только через официальное приложение на смартфоне. А я открыл на компе.

Ставить приложение я, конечно, не стал. Попросил дать мне номер телефона. Так и оплатил.

Допустим, это был не фишинг. Но если бы это был фишинг -- опознать его было бы непросто.

@темы: Случай из жизни, Сбербанк

URL
понедельник, 23 декабря 2024
04:53 Во входном канале никель, в выходном -- пуговица
(никель -- монета в 5 центов)

Выводил текстовый файл при помощи Си++. Использовал класс ofstream. Неожиданно обнаружил, что файл прерывается досрочно. При этом цикл, который туда пишет, дорабатывает до конца. А в какой момент прерывается вывод?

В общем, у меня был импровизированный ассоциативный массив. Так не делайте, используйте готовый, он в Си++ есть (std::map). Но я сделал свой, с б/дж и ш. Ключ у меня был... целое число. А значение -- текстовая строка (char*, так тоже не делайте, потому что есть std::string). Для поиска по ассоциативному массиву была сделана специальная функция, возвращающая char*.

Проблема была в тех случаях, когда ключ был в массиве не найден. Моя функция возвращала NULL, а точнее, (char*)NULL. Нулевой указатель. Который с удовольствием выводился в файл.

Файловый поток такого издевательства терпеть не мог. Он выставлял сразу биты fail и bad (но не возбуждал исключение!). Я, естественно, не проверял статус выходного потока после каждого вывода. Да и не проверял вообще. А так уж поток устроен, что если ошибку не устранить, весь остальной вывод будет молча с'едаться, что и происходило.

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

@темы: Программирование, Фейлы, Говнокод, Борьба с техникой

URL
воскресенье, 22 декабря 2024
06:06 Сделай паузу, скушай Твикс
Вообще, я видел такое в нескольких местах, но доконал меня Dan Da Dan. Я не буду пересказывать, что там происходило, напишу о схеме.

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

Переключение часто происходит на клиффхангере. Но клиффхангер ли это? Если надо ждать следующую серию неделю, скажем, то это нормально. Но если после клиффхангера в следующей серии начинают рассказывать что-то ещё, а продолжение идёт ещё через серию? Как тебе такое, Илон Маск? Или пусть даже всё происходит в рамках одной серии. Вот прервали на самом интересном месте, потом 10 минут другая история, потом возвращаемся и тут... опа, конец серии.

Клиффхангер нужен для поддержания интереса между сериями. Если же такое происходит внутри серии, или в следующей серии нет ответов, то у меня складывается впечатление, что надо мной издеваются.

@темы: Мысли, Аниме

URL
суббота, 21 декабря 2024
06:05 На чёрной-чёрной улице
Сижу в пять утра, никого не трогаю. Слышу какой-то шорох. А я как раз в хоррор-игры поиграл, мне это совсем некстати.

Может быть, сестра там у себя шевелится? Но шорох не из-за её двери. А из-за входной.

Снимаю тапочки и подкрадываюсь к двери. Медленно открываю глазок.

Там уборщицы моют пол...

@темы: Случай из жизни, Восприятие

URL
пятница, 20 декабря 2024
05:04 Переговоры я вести не люблю. Но иногда приходится
Сломался домофон -- трубка. Вызвали мастера от конторы, которая обслуживает домофон.

-- У вас 6,5 вольт есть, значит проводка исправна. Нужно менять трубку.
-- Они все одинаковые или какая-то особая нужна?
-- Нужна цифровая. Можете у нашей фирмы заказать, будет 4 тыщи стоить.
-- А у вас с собой есть?
(он усмехнулся)
-- Есть, но тогда будет неофициально.
-- И сколько тогда будет стоить?
-- Тогда 3,5.
-- А работы сколько стоить будут?
(он опять усмехнулся)
-- А сколько дадите. Хотите -- ничего. Хотите -- 500 рублей.
-- И... интересное у вас ценообразование. Вы что, на окладе?
-- Ага. Мне что 3 вызова за день, что 10 -- заплатят одинаково.

Кхм, в первый раз вижу, чтобы не-аварийные ремонтники работали на окладе...

В общем, доплатили мы ему. А я теперь знаю, что надо проверять напряжение 6.5 вольт.

И звонок у новой трубки протииивный.

@темы: Случай из жизни, Борьба с техникой

URL
четверг, 19 декабря 2024
07:02 Я тебе поперезагружаю
Когда устройство не работает, иногда помогает его переподключение. Иногда -- перезагрузка. Но не хочется перезагружаться без острой необходимости. А передёрнуть устройство возможности может просто не быть: мы работаем с компами, которые расположены от нас в сотнях и тысячах километров.

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

Откройте Диспетчер устройств и удалите ваше устройство! (только не надо ставить галочку "удалить драйвер")

А потом нажмите Scan for hardware changes. И вуаля! Только что удалённое устройство снова найдено.

Почему это работает? Потому что происходит перезагрузка драйвера. Почему это может не работать? Я не знаю, но вот один из примеров, когда метод не помогает.

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

@темы: Лайфхак, Борьба с техникой

URL
среда, 18 декабря 2024
02:41 С'ешь меня и выпей меня
На об'екте есть столовая, но нас туда не пускают, т.к. мы всего лишь арендаторы. Тем не менее, арендаторы могут сделать заказ. Эти заказы развозят по территории на машине. И нам стучат в окно. Мы открываем, нам выдают из машины еду.

Смотрю я на это и думаю -- это же мак-авто наоборот!

@темы: Викторика, Наблюдения

URL
вторник, 17 декабря 2024
01:51 Длинные условия
Сколько раз такое было, пишем оператор условия, а там:

if(flag1==True&&flag2==False&&function_call(a,b,c,d)>0)

и что-нибудь ещё.

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

1. Если в условиях только флаги, то надо рефакторить всё в конечный автомат -- в этом я убедился на практике. А если там кроме флагов ещё есть диапазоны значений, вызовы функций, проверки вариантов опций? Не знаю. Может быть, это всё тоже приводимо к конечному автомату.

2. Но я хотел написать про минорное упрощение. Нужно записывать условия в столбик. Я давно так делаю. Но недавно я обнаружил, что записывать в столбик можно по-разному. Можно написать:

if(flag1==True&&
flag2==False&&
function_call(a,b,c,d)>0)

А можно написать:

if(flag1==True
&&flag2==False
&&function_call(a,b,c,d)>0)

Я всегда использовал первый вариант, но убедился, что он неудобен. Логическая операция находится в конце строки, её надо постоянно искать глазами. А концы у каждой строки находятся в разном месте. Если расположить оператор в начале, то, во-первых, будет понятнее, что происходит, а во-вторых, можно для удобства дублировать оператор и в конце предыдущей строке, но уже в комментарии, типа //&& .

Но насчёт дублирования я пока не уверен, т.к. никогда так не делал.

3. Есть ещё один метод, назначить каждому условию в выражении отдельную логическую переменную.

bool b1=(flag1==True);
bool b2=(flag2==False);
bool b3=(function_call(a,b,c,d)>0);//скобки необязательны, но пусть будут на всякий случай
if(b1&&b2&&b3)

Какие есть особенности у этого метода?
Во-первых, если удастся дать условиям краткие понятные имена, а не b1, b2, b3, то это действительно упростит читаемость. Если имена будут условными, то упрощение тоже будет условным.
Во-вторых, упрощается отладка, поскольку вы получаете непосредственный доступ к частям логического выражения, а обычно такого доступа нет, т.к. условие выполняется в отладчике как одна строка.

@темы: Программирование, Говнокод

URL
понедельник, 16 декабря 2024
02:57 Прямые продажи
Остановился на заправке в зоне парковки. ТУТ ЖЕ ко мне подошёл мужчина нерусской национальности. Я думал, будет денег просить. Потому что такое бывало уже не раз. Но всё оказалось куда интереснее.

Он предложил купить у него смартфон. Какой -- я не посмотрел, но в коробочке, а не просто ворованный.

Я так удивился, что закричал: "ЧТОООО?", а потом поднял стекло и уехал.

@темы: Случай из жизни, Автомобили

URL
воскресенье, 15 декабря 2024
02:36 Safety Last!
Периодически натыкаюсь в ютьюбе на видосы по строительной тематике. Там строители нарушают ТБ, иногда с последствиями. За всем этим наблюдает мужик в каске и очках, при этом корчит гримасы ужасания и офигения. Я хотел выяснить, кто это. Но мои поисковые способности меня подвели. Спустя некоторое время я узнал ответ случайно, прочитав комментарии к какому-то другому видео.

Его зовут Adam Rose.

Тем не менее, жанр строительных видео появился не в ютьюбе, а гораздо раньше. И об этом я узнал (вспомнил) тоже случайно. В "Ну, Погоди" есть сцена на стройке. И сделана она в лучших традициях. Можете сами убедиться:

www.youtube.com/watch?v=Pj5gU8g1D6o

Вот на что я бы посмотрел с комментариями Адама Роуза.

@темы: Наблюдения

URL