Шелли и я
Пожалуйста, зарегистрируйтесь или авторизуйтесь для просмотра содержимого данного поста.
Сохраняй посты, комментируй и ставь оценки
Пожалуйста, зарегистрируйтесь или авторизуйтесь для просмотра содержимого данного поста.
Для начала вспомним, что такое дофамин. Не будем углубляться в сложную терминологию, по-простому один из гормонов счастья.
Он отвечает за чувство удовольствия, мотивации и вознаграждения.
Но что происходит, если мы постоянно подвергаем себя воздействию дофаминовых раздражителей?
Например, если постоянно играем в компуктер, просматриваем соцсети или едим все подряд?
В этом случае наш мозг привыкает к высокому уровню дофамина и перестает на него реагировать. Это называется дофаминовой ямой.
Именно это приводит нас к прокрастинации, полному снижению мотивации, отсутствию счастья.
Зачем мозгу что-то хотеть делать, ставить перед собой сложные цели, если можно просто ширнуться быстрым кайфом без прикладывания усилий?
Так что если жизнь становится все менее радостной, возможно вы в этой яме. Источник в тг.

Являясь большим фанатом серии «Меч и Магия», я неоднократно проходил игры этой линейки, изучал историю вселенной и лор игры. Однако до вчерашнего дня мне не было известно, что восьмая часть серии выходила и на PlayStation, хотя об этом написано даже на Википедии. Ума не приложу, как эта информация прошла мимо меня, но я сразу же скачал образ игры и запустил её через эмулятор. Теперь хочу поделиться своими эмоциями.
Для начала
предположу, что данная игра была выпущена
только в Японии. Это означает, что на
английском языке в неё нельзя сыграть
(если только фанаты не перевели ее).
Поэтому я нашёл перенос русской
локализации с ПК-версии, хотя у меня он
работал только частично (часть текста
оставалась в виде иероглифов).

Если вы играли в «Меч и Магия 8» на PlayStation 2, то наверняка заметили, что игра начинается не на Островах Кинжальной раны, как это было в PC версии, а в каком-то подземелье. Там вы обучаетесь основам игры и узнаёте базовые вещи. После этого вас выпускают на свежий воздух и просят защитить караван от нападения пиратов (по сюжету вы являетесь охранником этого каравана). Только после этого вы можете ступить на корабль и отплыть на острова, где стартует оригинальная версия игры. Кстати, на этой локации звучит новая музыкальная композиция.

Я не играл в неё слишком долго, так как, не считая вступления, M&M VIII для PS2, кажется, является тем же самым проектом, но с улучшенными графическими элементами. Спрайты стали более четкими и сочными, что сразу бросилось мне в глаза. Поэтому я просто бродил по острову и искал визуальные изменения. Однако, когда я пересмотрел сделанные скриншоты, заметил, что на них это не ощущается так явно, как во время игрового процесса.
Кроме того, была добавлена визуализация удара, благодаря чему при атаке можно увидеть взмах мечом, что делает бой более приятным. Некоторые элементы интерфейса были изменены, а портреты партии теперь можно скрыть одной кнопкой, что иногда бывает удобно!

Что касается управления на геймпаде (ведь мы говорим о версии для PS2), то, на мой взгляд, оно довольно спорное. Если путешествовать по миру стало приятнее, особенно сражаться, ведь атака производится по нажатию кнопки R2 (если бы еще и вибрацию добавили, было бы идеально, хотя, возможно, эмулятор ее просто не воспроизводит), то вот работа с инвентарём предстает перед нами в виде мыши, которую мы контролируем стиками, что не очень удобно, особенно если вы, как и я, любите собирать всё барахло, найденное в мире. В целом, если привыкнуть, определённый шарм в этом есть. Эх, а если кто-нибудь ещё бы и перенёс эту версию на ПК да добавил параллельное управление (как в Diablo II Ressurected - с помощью клавиатуры и мыши, и с геймпада) — было бы вообще супер!
P.S.: если прочитав про порт игры на PS2, у вас возникло желание вспомнить былое, можете почитать мой ностальгический обзор и ненадолго погрузиться в прошлое, а в Телеграмм канале «Олдфажный геймер», я выложил эмулятор Playstation 2 и образ с игрой. Надеюсь, волна ностальгии вам обеспечена =)


Всем привет.
UPD. Опять получился длиннопост с большим количеством текста в формате моих пояснений - простите, но не представляю как по-другому можно что-то объяснить, вроде стараюсь не графоманить.
В этом посте, наконец, приведу один из примеров того, как может быть написано техническое задание (кто-то может придраться, что это не ТЗ, а какой-то другой вид документа - да, возможно, но как-то сформировалась привычка для упрощения, что ТЗ - это любой документ, в котором описывается техническая постановка задачи, которую разработчик должен реализовать), в котором описываются требования к методу получения информации по конкретному объекту.
Шаблонов, на самом деле много и от команды к команде отличаются. Где-то СА просто пишут, что "метод должен получать объект User из базы Users и дальше отдавать его вызывающей стороне" - и это вся постановка. В каких-то командах упарываются и пишут ТЗ на микросервис целиком, в связке статьи в git в формате asciidoc + swagger (yes, I like it и отдельно про это тоже расскажу).
Но в большинстве случаев принято что-то среднее между этими крайностями - системному аналитику важно описать следующее:
То, какие данные метод получит на вход и правила валидации для них;
То, что метод должен сделать с этими данными, т.е. какую бизнес-логику выполнить;
То, что метод должен вернуть в ответ вызывающей стороне.
Допустим, нам нужно описать какой-нибудь метод, который получает любую бизнес-сущность по ее идентификатору.
Один из шаблонов, позволяющий это описать выглядит так (к сожалению, приходится скриншотом, потому что пикабу не умеет в таблицы (или я не умею в таблицы на пикабу)):

Если кто хочет посмотреть "вживую" или попользовать шаблон - вот ссылка на страницу моего конфлю (вроде должна работать).
Теперь по шагам:
Описание метода. Что он делает, для чего предназначен. Можно описать что-то конкретное, если сервис работает как-то специфично, такую краткую выжимку, что сторонним людям не приходилось анализировать его целиком;
URI или URL метода. Состоит из одного из типовых глаголов плюс сам путь, по которому данный метод будет доступен. Про всякие best practices нейминга расскажу отдельно, в комментариях под предыдущим постом спрашивали;
Разрешения или Permissions. Если у вас есть ролевая модель и вам нужно разграничить доступ к каким-либо ресурсам среди пользователей с разными ролями - то вступает в дело данная строка таблицы. В ней нужно перечислить те роли, у которых есть доступ до данного метода;
Параметры запроса, который должны (или могут) быть переданы на вход данного метода. Т.к. у нас очень простой метод, то у нас их нет. Единственный атрибут в виде идентификатора пользователя ( ) передается напрямую в ссылке. Т.е. пример запроса будет просто выглядеть вот так: GET /users/22 - дай мне пользователя с идентификатором 22.
Пункт больше для удобства, в случае, если у вас большая система и много взаимодействующих компонентов. Описываете, кто будет дергать ваши метод. Как минимум это нужно для того, чтобы потом, когда вы будете дорабатывать их - было понятно влияние. В данном случае, если вдруг метод поменяется мажорным образом, добавится какой-нибудь новый обязательный параметр - вы не забудете доработать еще и фронт.
Параметры ответа. Все варианты того, что ваш метод вернет вызывающей стороне после выполнения своей внутренней логики. Перечисляем как успешные коды ответа и всё их содержимое, так и ошибочные.
Непосредственно описание бизнес-логики метода. Т.е. что метод должен сделать с атрибутами, переданными на вход, и что должен вернуть.
Теперь немного про описание самой логики работы любого сервиса. Кому-то может показаться это сложным, но на самом деле все немного проще. Вам просто логически нужно представить у себя в голове, что должен вообще в принципе сделать ваш метод и попытаться придумать - как он должен это сделать.
На этом примере - у вас стоит бизнесовая задача (например): есть админка со списком пользователей, администратор нажимает на какую-то конкретную карточку пользователя, с целью просмотреть всю информацию по нему - в этот момент, как раз фронт откроет отдельную экранную форму и вызывает наш метод, передавая туда идентификатор искомого пользователя (который он ранее получил из другого метода, который получает массив пользователей, что-то вроде GET /users), чтобы получить всю нужную информацию для отображения.
Далее представляем что наш метод должен сделать, чтобы вернуть информацию по этому пользователю. Самое логичное - надо сначала найти его. Для этого нужно залезть в таблицу с пользователями и найти такого пользователя, у которого идентификатор будет совпадать с тем, что нам передали в запросе. Нашли - круто, не усложняем и возвращаем успешный успех фронт с передачей в теле ответа всей необходимой информации.
А что делать если не нашли? Вообще, технически такого быть не должно, потому что это значит, что у фронта устаревшая или недостоверная информация и нужно с этим разбираться - откуда он взял идентификатор, которого не существует? Но представим, что после того как админ открыл страницу со списком пользователей и до того, как перешел в карточку конкретного - другой админ удалил ее. В этом случае надо вернуть ошибку, что такой объект не найден.
Ну и всегда (по моему мнению), во всех методах нам нужно валидировать входящий запрос до того, как начать основную бизнес логику. Потому что зачем нам это делать и тратить драгоценное время и ресурсы, если мы заранее знаем, что запрос не валиден? Т.е. как минимум нам нужно проверить rq на соответствие контракту, что все обязательные атрибуты пришли и пришли в корректном формате. Как максимум выполнить еще всякие кастомные валидации, по типу тех же проверок на роли.
Также заранее поясняю, что в ответе ссылка на объект User (пользователь) ведет на описание атрибутивного состава объекта (в моем примере в конфлю нет, потому что я этого не сделал, но на боевых задачах - да), поэтому не нужно расписывать и дублировать этот объект еще и тут. Однако, если вам нужно передать не весь объект, а только его часть, например, не возвращать на фронт какие-то пароли пользователей или другие конфиденциальные данные, чтобы их не "схачили" - то нужно отдельно это указывать.
И еще поясню немного про пункт 1.b - особенно внимательные наверняка про него что-нибудь скажут. Пока писал, подумал, что можно использовать этот метод не только для админа, но и переиспользовать его на случай, когда обычный пользователь хочет получить информацию по себе же, например, когда открывает свой профиль. Вместо того, чтобы делать отдельный метод - просто разграничиваем права. Если он захочет запросить информацию о ком-то другом (если фронт подведет), то ему вернется болт.
P.S.: По традиции - буду признателен за вопросы про карьеру\профессию\чему угодно связанному со сферой IT - постараюсь ответить на всё.
P.P.S.: Также веду телеграмм-канал, в котором делюсь разным про профессию и про свой путь в ней. Есть и хардовая информация (асинхронные, синхронные интеграции, примеры ТЗ\шаблонов написания микросервисов), так и более софтовая - см. закрепленный дайджест.
Всем привет.
Небольшое предисловие. Я осознаю, что этим постом я вступаю на охрененно тонкий лёд. Если уж к моему предыдущему посту были претензии за то, что я посмел использовать HTTP 404, то уже интересно, какие комментарии последуют после выхода этого поста, в любом случае - you are welcome!
Но тут стоит уточнить, что все те подходы (разные), по которым мы проектируем сервисы - они разные как раз потому, что нет единых mandatory правил к архитектуре приложений, которым если не следуешь - твоя система ломается и больше никогда в жизни не заработает, даже если ты исправишь ее. Есть лишь РЕКОМЕНДАЦИИ, а их многие интерпретируют по-разному и это тоже нормально. Для кого-то свойственно не использовать коды ошибок вообще и передавать их в теле ответа с HTTP 200, для кого-то нет. Ни один из этих подходов не является не правильным.
И нет никаких технических ограничений в принципе. Ты можешь спокойно использовать метод GET для удаления объекта, если ты его так напишешь (не делайте так) или использовать метод PUT, вместо POST, для создания объекта (так уже можно, если понимаешь почему). Главное, чтобы ты понимал как эти тонкости реализации правильно применять. Если сомневаешься - используй методы по классике, хуже от этого он работать не будет.
Да, можно уже прям сейчас кидать тапками.
Теперь уже к основному телу сабжа. Сейчас расскажу про ряд лучших практик, которые можно применять. @VRock, ты как раз спрашивал по поводу конвенции о наименовании ресурсов, тут про это тоже будет.
1. Имя endpoint'а - это существительное, а не глагол. Это одна из самых распространенных ошибок, которые я когда либо встречал (и сам совершал, естественно). Например, было в моей практике и такое - POST /generateMultipleDocument.
Тут важно понимать, что метод - это уже глагол и еще раз дублировать его в наименовании эндпоинта не нужно.
В идеале, в данном варианте будет POST /documents
Не везде от этого можно избавиться, но в большинстве случаев всё-таки можно, если потратить время на придумыванием вариантов (опять же - по факту нейминг ни на что, кроме красоты и структурированности вашего проекта не влияет. А на сколько это важно - решать вам или вашей команде).
1.1. Используйте множественное число. В большинстве случаев, при проектировании методов, работающих с вашим ресурсом - эти методы будут работать не с единственный экземпляром этого ресурса, поэтому название эндпоинта должно быть во множественном числе.
Если же нужно указать, что из всего массива экземпляров ресурса вам нужно получить\обновить\удалить какой-то конкретный, то помещайте идентификатор этого ресурса в URL, передавая его в path.
Например, вот так:
/documents
/documents/
Вместо:
/document
/document/
1.2. Используйте "/" для обозначения иерархии и в принципе используйте вложенность ресурсов.
Например, если мы именуем наш ресурс, как users//playlists//songs - это значит у мы хотим работать со всеми песнями, конкретного плейлиста конкретного пользователя. И сразу понятна иерархичность этих ресурсов.
1.3. Не используйте "/" как закрывающий символ вашего URI.
Вариант users//playlists//songs сильно лучше, чем users//playlists//songs/
1.4. Используйте "-" для разделения составных слов.
Заглавные буквы использовать нельзя, поэтому привычный lowCamelCase нам не подойдет. Если писать всё слитно - очень не читабельно.
Поэтому вместо /applications//creditcardhistory, куда лучше использовать /applications//credit-card-history.
2. Не забывайте про версионирование микросервиса. Почти любой сервис с течением времени развивается и обрастает все большим количеством функций. Если сервис при создании получил версию 1.0.0, то при добавлении какой-нибудь логики в него, добавлении нового метода или полного рефакторинга - версия должна измениться.
Например:
host/v2/documents вместо host/v1/documents после внесения мажорной доработки.
Основные правила версионирования - в случае, если меняется логика незначительно, не добавляется/изменяется обязательность атрибутов, то инкрементируется минорная версия.
В случае если был полный или частичный рефакторинг, менялись обязательные параметры (например, добавлен новый атрибут, который является обязательным), возможно при добавлении нового метода (тут вопрос к разработчикам, в этом случае тоже мажорная версия повышается или т.к. это не влияет на работу подписантов то пофиг?) - инкрементируется мажорная версия.
В этом случае, все подписанты (системы, использующие ваш сервис) вашего микросервиса должны в обязательном порядке переехать на новую версию вашего микросервиса, иначе они не смогут взаимодействовать с ним. Например, если вы добавили обязательный атрибут, то они будут получать в ответ на каждый запрос ошибку, если не доработаются и не начнут его передавать, что приведет к полной поломке этого процесса.
Однако, это не всегда обязательно - в случае, если появляется такая мажорная доработка, но ваши подписанты не готовы дорабатываться одновременно с вами (причин этому может быть множество) - вы можете выкатить одновременно две версии микросервиса, v1 и v2 и поддерживать их обе. Те, кто доработался будут использовать v2, остальные предыдущую версию. Это несет неудобства и затраты, но в любом случае лучше, чем допускать неработоспособность интеграции. В дальнейшем, когда все ваши подписанты доработаются - поддержку предыдущей версии можно остановить.
Примечание: структура версионирования такова: первая цифра - это мажор, вторая цифра - это минор, третья цифра - это патч. Про первые две я уже сказал, а последняя используется только разработчиками. Насколько я понимаю, она повышается вообще каждый раз когда вносят изменения в сервис, но тут могу быть не прав.
3. Используйте пагинацию.
Отправка большого объема данных на фронт, в ответ на его запрос о получении информации по массиву каких-либо объектов, не самая лучшая идея. Как минимум, если вернуть ему тысячи объектов, лежащих в базе и попадающих под выборку - он столько все равно не отобразит, но очень задумается.
Поэтому принято выполнять пагинацию таких данных (от слова page - страница), т.е. возвращать ему часть всей коллекции в каждом запросе. Например - 15, 30, 50 элементов + информацию о текущем положении полученной информации в общей выборке. Почитать про это можно более подробно где-нибудь тут (первая попавшаяся ссылка, я не вчитывался, не реклама).
4. Используйте коды ответов HTTP правильно и эффективно.
Их достаточно много (https://developer.mozilla.org/ru/docs/Web/HTTP/Status) и их можно использовать по назначению. Все знать и использовать не обязательно, но вот примеры их использования
Использовать 201 "Created", вместо 200 "OK", в случае если вы в POST действительно создаете какой-то ресурс. Используется только в POST (ну и в PUT, в ряде частных случаев).
Использовать 204 "No Content", вместо 200 "OK" для DELETE. Это ответ на успешный запрос и он не будет возвращать тело, что и не нужно для данного метода.
Не забывайте использовать 401 "Unauthorized", 403 "Forbidden" и 404 "Not found" вместо безликого 400 "Bad Request", когда это уместно. Как правило 400 кодом пользуются когда нужно ответить на какую-то ошибку валидации или в случае возникновения бизнесовой ошибки, которую вы заранее можете предсказать (очень настоятельно рекомендую хотя бы дополнять код ответа еще и кодом бизнесовой ошибки в этом случае и желательно ее текстом (error.code и error.message соответственно).
Для валидации желательно тоже).
А для всего остального можно и специальные коды использовать.
P.S.: По традиции - буду признателен за вопросы про карьеру\профессию\чему угодно связанному со сферой IT - постараюсь ответить на всё.
P.P.S.: Также веду телеграмм-канал, в котором делюсь разным про профессию и про свой путь в ней. Есть и хардовая информация (асинхронные, синхронные интеграции, примеры ТЗ\шаблонов написания микросервисов), так и более софтовая - см. закрепленный дайджест.

«Столпы творения» - скопление межзвездного газа и пыли. Роддом для звёзд.
«Человек отличается от свиньи, в частности, тем, что ему иногда хочется поднять голову и посмотреть на звёзды» Виктор Амбарцумян
Сначала была краткая история времени, потом кратчайшая, потом сверхкратчайшая …потом эта статья. Здесь я собрал ссылки с видео по детским и не очень вопросам в области астрономии.

Начнём с начала. Буквально. Время по текущей модели началось с Большого взрыва. Не было когда-то ни звезд, ни галактик, ни даже протонов. Горячевато было для этого. Однако Вселенная расширяется (мы знаем это по красному смещению) и постепенно кварк-глюонная плазма остыла до появления первых химических элементов (мы наблюдаем отголоски этой эпохи в виде реликтового излучения). И все заверте… И из них образовалось вообще всё. Хорошим вопросом здесь будет: что именно всё?
Берём этикетку вселенной и читаем состав. Выясняем, что привычное нам вещество вроде звёзд составляет всего 0,4%; ещё 3,6% - межгалактический газ (ну понятно, как и в пачке чипсов куча газа). Дальше начинается какая-то темная материя и темная энергия. Может, нам показалось? Да вроде бы нет. Мы же говорили, что Вселенная расширяется? Так вот, она делает это с ускорением (правда отдельный вопрос, с каким именно). А в ответе за это ускорение как раз темная энергия.
Кстати, на вопрос, куда расширяется Вселенная, есть ответ. На вопрос же, чем это закончится, есть пока только красивые гипотезы.

Звёзды живут поселениями по несколько сотен миллиардов - называемых галактиками. В центре каждой галактики находятся столица - сверхмассивная чёрная дыра. Некоторые из таких столиц, излучают огромную энергию и называются Квазарами. Квазары штуки полезные. С их помощью вы заказываете такси и пиццу (так как по ним калибруются системы глобального позиционирования). Галактики собираются в скопления по несколько сотен, они в свою очередь собираются в сверхскопления составляющие крупномасштабную структуру вселенной (представляющую собой иглу в яйце, которая в утке, которая в зайце).
Звезды рождаются под действием гравитации из межзвездного газа. Газ этот является в значительной части останками их предков. То есть они буквально возрождаются из обломков прошлых поколений звёзд.
Жизнь звёзд удивительно скучна. В том смысле, что в большинстве случаев сценарий их жизни определён и вписывается в главную последовательность. Зависит такой жизненный сценарий почти исключительно от их массы (как хорошо, что жизнь людей определяется чуть больше сложными параметрами). Живут звёзды по две-три штуки в звездной системе (реже по одной). Вокруг себя (точнее вокруг общего центра масс) крутят экзопланеты.
Сердцем каждой звезды является ректор по производству энергии. «Отходами» этого реактора являются элементы периодической таблицы до железа.
Иными словами в недрах любой звёзды происходит перманентный взрыв термоядерной бомбы, удерживаемый лишь силой гравитации. На балансе между двумя этими силами и живут звёзды. Однако запас топлива не вечен, в отличие от гравитации.
И если жизнь звёзд скучна и однообразна. То смерть их бывает очень яркой. Часть из них взрываются сверхновой. Тогда они светят какое-то время ярче целой галактики (ярче сотен миллиардов звёзд). В этот момент кстати рождаются недостающие элементы периодической таблицы.
Именно после смерти звёзды перерождаются в такие экзотические объекты как нейтронные звёзды и чёрные дыры (здесь все так же зависит от массы). Столкновения подобных объектов вызывают дрожь самого пространства-времени - гравитационные волны. Вокруг чёрных дыр полно загадок. А что вы хотели от штук которые едят спагетти из звёзд? Нейтронные звёзды не отстают и поставили немало вопросов.
Но даже более скоромные на первый взгляд звёзды могут быть нам интересны. Если они после смерти превращаются в белого карлика, при этом имея соседа, то иногда мы получаем сверхновую типа 1а. А это, ни много ни мало, позволяет нам определять расстояния до далеких галактик.

Одну звезду, появившуюся 4,5 млрд лет назад, человечество любит явно больше других. Выделяется эта звезда тем, что вокруг неё вращается планета на которой мы с вами живём. Земля, кстати, появилась почти одновременно с Солнцем. У нашей планеты всего один спутник - Луна. В этом плане мы конечно бедноваты. У Сатурна их 63. Но он газовый гигант, ему можно. Кстати про размеры, масштаб межпланетного расстояния не выдержан ни на одной картинке.
В Солнечной системе есть не только планеты, звёзды и их спутники. Есть ещё метеориты, астероиды (в том числе Троянцы), пояс Койпера, облако Оорта.
К сожалению, некоторой части человечества всё это не очень интересно, их куда больше мучают вопросы по поводу формы земли и «необъяснимых никак иначе, кроме инопланетян феноменов». И ладно разговор был хотя бы о сферах Дайсона, нет всё про тарелки.

Мальчики и девочки интересующиеся звёздами и вселенной очень любят крутые игрушки. А что, вон у соседей, занимающихся элементарными частицами, какая классная штуковина.
Чего только нет у астрономов. Из машинок: роверы для игры в лунном реголите, марсоход Perseverance в комплекте с дроном для игры в кратере Езеро на марсе.
Но больше всего астрономы любят фото (правда не только в оптическом диапазоне, если так можно выразиться). Наземные телескопы это конечно классно, но атмосфера портит качество наблюдений. Что если поднять повыше? Вот вам телескоп летающий первым классом. Здорово, но атмосфера хоть и разрежена, а всё ж таки влияет. Тогда давайте уберём телескоп на орбиту. Вот и легендарный Хаббл. Круто, но хотелось бы заглянуть чуть дальше в галактическую историю. Почему бы не запустить на расстояние 1,5 млн километров штуку стоимостью 10 млрд долларов? Аккурат под Новый год запустили Джеймса Уэбба. Под ёлку не влез, извините, поэтому сразу в точку Лагранжа. Ну всё, теперь соседские ребята точно обзавидуются и начнут выпрашивать себе международный линейный коллайдер.
Ещё в тренде сейчас наборы игрушек, объединённые под названием многоканальная астрономия. Есть игрушки, которые пока не работают, вроде штуки для поиска темной материи.
Кстати, запускали мы игрушки и подальше чем Уэбба. Вот например Вояджеры. Только посмотрите куда они забрались. Мы накопили неплохой опыт по отправке аппаратов к другим планетам, а это не так просто как кажется на первый взгляд.
Такой вот джентельменский набор знаний об астрономии и астрофизике. Конечно, есть ещё куча пограничных вопросов из других разделов физики. Но по ним есть другие плейлисты, а значит будут и другие дайджесты.
А чего не хватает в этом наборе? Гравитационного линзирования? Космического паруса? Предложите свои варианты, в идеале со ссылками на видео.
@bayesyatina

Под своей статьёй о Dungeon Keeper 2 я увидел множество комментариев, выражающих вашу любовь именно к первой части серии. Наверно из-за того, что я сыграл в неё уже после знакомства со второй частью, не могу сказать, что она оставила такой же след в моей душе, как это сделала DK2. Но «Олдфажный геймер» слышит ваши голоса и понимает (надеюсь), что дорого вашему сердцу, поэтому сегодня подготовил для вас отличную сборку с фанатским ремейком Dungeon Keeper 1, которая, как мне кажется, ИДЕАЛЬНА как для знакомства с игрой, так и для возвращения спустя долгие годы. И, должен вам сказать, получилось реально здорово!
Так как эту статью могут читать те, кто не знаком с данной франшизой, кратко расскажу о Dungeon Keeper, пытаясь заинтересовать и побудить к самостоятельному прохождению, благо сейчас для этого отличный момент – вышел фанатский ремейк. Ну а если вам интересно подробнее узнать про историю компании-разработчика или о различных игровых механиках, заложенных в этих частях, можете смело переходить по ссылке, чтобы прочитать статью о второй части серии, а также скачать сборку с игрой!

Если вы устали быть «хорошим парнем» почти во всех игровых проектах, то Dungeon Keeper предоставит вам шанс поиграть за «плохиша», ведь здесь вы можете стать руководителем подземелья, полного различными монстрами. Уверен, в 1997 году (когда вышел этот проект) попасть в данж не для того, чтобы вырезать всю встреченную нечисть, а чтобы её кормить, тренировать и вести в бой, было безумно круто и нетипично для индустрии! Даже в наши дни существует не так много игр в похожем сеттинге, поэтому и первая, и вторая части, а также их неофициальные продолжения/клоны до сих пор являются актуальными и уникальными.
Dungeon Keeper – это стратегия/симулятор бога, где вам необходимо изучать недра земли, отстраивая свою подземную обитель и противоборствуя армии светлых сил, которые посягают на ваши владения, желая очистить их от вашего злого присутствия. В распоряжении короля тьмы (вас) большое количество различных существ, каждый из которых обладает своим характером, потребностями, способностями, местом в социальной иерархии, а также отношением к другим обитателям. Поэтому вам нужно не просто построить условную казарму и клепать юнитов, чтобы победить армию врага, а создавать условия, при которых существа не только придут в ваши земли, но и останутся там жить! Для этого необходимо удовлетворять все желания: строить соответствующие их интересам постройки, стараться не селить рядом с бесящими соседями (например, желчный демон на дух не переносит скелетов, регулярно отвешивая им подзатыльники при встрече – комплексует из-за своего веса, не иначе), а также вовремя платить зарплату.

Каждый из миньонов имеет свои увлечения и, так скажем, рабочую специальность: кто-то любит сидеть в библиотеке и заниматься научными открытиями, кто-то «живёт» в мастерской, создавая новые гаджеты на пользу общества, а есть те, кто просто любит жрать, проводя в столовой бОльшую часть времени! Суть в том, что строя комнаты в вашей подземной обители, вы не только делаете своих слуг счастливее, но и открываете новые механики, постройки и заклинания.
Главная особенность геймплея – отсутствие возможности отдавать прямые приказы своим подчинённым. Это значит, что их можно закидывать в бой, либо взяв за шкирку, либо вселившись в их тело с помощью заклинания, дабы сражаться от первого лица, либо просто произнеся специальную магию. Если же самостоятельно участвовать в битве вам не хочется (а иногда это может повернуть исход боя в вашу сторону), можете помогать своим воинам, кастуя различные заклинания: вон тому благородному рыцарю поджарить филейную часть молнией или увеличить скорость вашим троллям, чтобы хоть как-то поднять их боевую эффективность. А в случае ранения ваших верных слуг всегда можно их подлечить соответствующей магией. К вашему распоряжению 16 различных видов спеллов, и далеко не все из них боевого типа, некоторые помогают и в развитии вашего подземного королевства (вроде заклинания, увеличивающего эффективность работы всей вашей «живности», благодаря чему они лучше и быстрее выполнят все свои бытовые задачи. А если к нему добавить подзатыльник от вас (я не шучу), продуктивность работы поднимется ещё сильнее)!

Кстати, участвуя в боях, а также занимаясь в тренировочной комнате, ваши монстры становятся мощнее и получают уровни. Это позволяет им приобретать новые способности и с каждым разом бить ещё увесистее! Поверьте, дракон первого уровня и дракон, прокачавшийся до максимального (десятого), имеют совершенно разную боевую эффективность!
Помимо этого, каждый из них обладает уникальными особенностями: один не боится газа, второй невосприимчив к страху, а третий может передвигаться по лаве, что может возыметь свою роль в определённых миссия

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

Если вы хотите погрузиться в эту игру сегодня в 2024 году, то для вас есть отличный ремейк, разрабатываемый фанатами уже более 15 лет! Речь идёт о KeeperFX – ремейке Dungeon Keeper с открытым исходным кодом. Своей основной целью создатели поставили сохранение и расширение оригинального опыта DK, но с добавлением новых функций и улучшений, при этом оставаясь верными оригинальному духу игры! Чем же так хорош KeeperFX? Первое, что вам бросится в глаза – немного докрученный визуал (за счёт улучшенных спрайтов и текстур) и поддержка высокого разрешения экрана и роликов. Ремейк, обладающий встроенной поддержкой множества языков (включая русский), легко запустится на всех современных операционных системах!
Помимо этого добавлены:
• новые скрипты уровней и существа;
• модернизированные элементы управления;
• дополнительные кампании и карты;
• многопользовательский режим;
• усовершенствованный ИИ;
• ролики в более высоком разрешении;
• множество других исправлений.
Если вы хотите окунуться в это необычное приключение и стать предводителем тёмного государства, залетайте на канал «Олдфажный геймер» – там я выложил сборку с уже полностью установленной и готовой к запуску игрой, а также отдельно инсталляторы для самостоятельной установки. Заходите, качайте и пробудите ностальгию!
Подрабатываю репетитором.
Пикабу, доброе утро! Я тут увидел интересный пост, в котором узнал, что уже 7 пикабушников помогают другим в освоении чего-то нового. И это здорово! :)
Короче говоря, из-за карантина у меня появилось немного свободного времени, и я готов потратить его на помощь другим в освоении математики и физики :) Я знаю, что многие хотели бы изучить эти науки - сейчас самое время это сделать!
Что я предлагаю - я готов скидывать материалы (учебники, лекции, обучающие видео, примеры решения задач), давать задачи (тестики, простые задачи, сложные, качественные вопросы) и объяснять вещи, которые непонятны. Если по одной теме будет очень много вопросов, то готов выходить со всеми на связь в Skype или в чем-то аля Mind, и проводить там лекции несколько раз в неделю. Для большей конкретики мне необходимо узнать мнение и желания большинства.
Я обладаю достаточными знаниями в области общей физики, матанализа, аналитической геометрии, диффуров, урматов и всем, что с этим связано. И по этим темам готов помогать :)
Как будем связываться - я уже создал телеграм-канал (первый раз в жизни в телеграм зашел), вот ссылка https://t.me/AlexAlpha_fizmat. Собсна, если есть проблемы со входом, то можно написать в комментариях здесь или мне на почту alexjuriev3142@gmail.com (лучше в комментариях).
Зачем вам это нужно - по большей части для интереса. Да, на знании физики и математики можно заработать и очень неплохо заработать, но получится это далеко не у каждого. А с другой стороны, ОГЭ, ЕГЭ, ВПР и решение задач за денюжку никто не отменял. Про заработок в этой сфере тоже могу рассказать :)
Это бесплатно? - Разумеется!
Вроде, все. Всего доброго и спасибо за внимание! :)

У Героев 2 до сих пор существует огромная армия фанатов, искренне считающая, что именно эта часть – самая лучшая в серии. Могу честно признаться, что я не отношусь к их числу, ведь в своё время, запустив её после третьей части и испугавшись плохой графики, почти сразу же удалил ее. Абсолютно идентичная история меня ждала и с Меч и Магия 6, к которой смог вернуться и пройти лишь через два десятка лет. Пройдут годы, прежде чем мне станет не столь важен внешний вид проекта, и я смогу прикоснуться к ставшей уже классикой второй игре столь известной франшизы.
Но что если я вам расскажу о существовании современного фанатского переиздания, которое может стать отличной возможностью получше познакомиться с этой частью великой серии или вернуться в неё спустя долгие годы? Сегодня обсудим, почему стоит играть в Герои Меча и Магии 2 в конце 2023 года!
Вышедшая в 1996 году, эта часть откроет новый для серии мир под названием Энрот, который станет знаком миллионам геймеров ещё и благодаря последующему проекту – Heroes of Might and Magic III, а также сразу трём ролевым играм Might and Magic VI, VII и VIII. Причиной столь крепкой любви ко вторым Героям стало то, что её преданные фанаты считают главным достоинством – чарующая, сказочная атмосфера, созданная благодаря сочетанию отличной музыки и выдающейся рисовки, не похожей на какие-то другие стратегии (даже если рассматривать современные). С визуалом вообще произошла забавная ситуация: еще 15 лет назад такая графика казалась «страшноватой» и мало кому нравилась, но в наши дни на волне моды на пиксель-арт она стала выглядеть свежо и приятно!

Являясь большим фанатом вселенной Героев и Меча и Магии, я не перестаю признаваться в любви её композитору – Полу Ромеро. Музыка из этой части – едва ли не основа того сказочного настроения, очень тонко и аккуратно погружающая игрока в антураж игры. Могу признаться, что в большинстве проектов мне очень быстро надоедает саундтрек, поэтому, как правило, отключаю его. Но в данном случае я не сделал это, напротив, в определённые моменты останавливался и, переставая играть, просто наслаждался понравившейся мелодией. Очень советую послушать весь плейлист, даже если вы абсолютно равнодушны к серии! Моим фаворитом является «Тема Травы», прослушать которую вы можете тут!
Кстати, фанаты Меча и Магии и Героев 2, вам не кажется, что в «Теме пустыни» есть небольшой фрагмент, который явно был переиспользован в Мече и Магии 6, 7 и 8?
Основа «Героической серии» (а именно ролевая система, стратегическая и тактическая части) представляет собой развитие идей первой HeroesofMightandMagic 1, но с доработками и улучшением геймплейных механик предшественника. Собственно, примерно то же самое я могу сказать и про третью часть, которая взяла всё самое лучшее от двойки, лишь приумножив, расширив и доработав. Собственно, так развивались почти все игры, вышедшие из-под пера NewWorldComputing (создатели этой серии), вплоть до выхода Героев 4, развитие которых перестало быть последовательным. Вместо этого было решено изменить фундамент и сделать, по сути, кардинально отличавшийся от своих предшественников продукт. Но так ли он был плох, как это принято считать? В одной из своих статей я постарался разобраться в этом вопросе. Почитайте, это интересно.

С чем Герои 2 хорошо справляются, так это с исследованием мира и приключениями на глобальной карте. Теперь для исследования доступна довольно просторная карта (по сравнению с миниатюрными из первой части). Также было добавлено большое количество доступных для посещения мест, которые станут привычными для серии, так как появятся и в последующих частях (например, мельница или конюшня), и два новых замка. Теперь проект насчитывает аж целых шесть штук: замок рыцаря (Паладинов); варвара (Циклопов); колдуньи (Фениксов); чернокнижника (Драконов); чародея (Титанов); некроманта (Костяных драконов). Да и вообще, игровой баланс всеми силами склоняет вас к активному стилю игры, иначе вам банально не хватит денег на покупку армии: ни один из городов не производит золота в количестве, достаточном для найма всех родов войск. Основным минусом наличия разнообразия фракций является отсутствие баланса среди нанимаемых юнитов. Один из залогов успеха в ваших приключений – покупка существ наивысшего уровня, но проблема в том, что у некоторых замков они существенно слабее. Думаю, любой фанат Героев 2 понимает, что Циклоп всегда проиграет чёрному дракону, также поступят и крестоносцы, столкнувшиеся в поединке с титанами.
Что мне нравится в данной вселенной, особенно в последних частях серии, так это общий сюжет, пронизывающий не только Героев, но и Меч и Магию. Сюжет Героев 2 повествует о противостоянии двух братьев, которые сражаются за трон, оставшийся после смерти отца. И эти события найдут свой отклик в 6 и 7 частях Might And Magic. Не скажу, что завязка очень интересна и необычна, а вот нелинейность может удивить (особенно фанатов третьей части)! По ходу сюжета вы влияете на развитие дальнейших событий, даже можете предать своего принца, перейдя на сторону его брата! Очень сожалею, что такого не было в продолжении, ведь, согласитесь, очень круто, когда твоё мнение о том, как стоит поступить дальше, значимо и приводит к абсолютно другой награде и бонусам!

Так в чём же смысл этой игры? Как и в последующих частях, удовлетворение приходит, когда за счёт своего тактического гения была одержана победа в очень тяжелом сражении. Немаловажным стало развитие персонажа, который, в сравнении с первой частью, обрёл навыки (раньше их не было), а описанные мной выше атмосфера, визуальный ряд и прекрасная музыка лишь подкрепляют чувство удовлетворения.
Прочитав эту статью, многие могут задаться вопросом: «А зачем мне вообще играть в эту игру, если и так есть третья часть Героев, которая, как ты сам сказал, развила все идеи предшественника, тем самым сделав проект лишь лучше и глубже?». На этот вопрос я бы ответил, что Heroes II совершенно по-иному воспринимается. Уверен, многие из вас ощутят это чувство «игрового уюта», запустив игру середины 90-х годов, и почти мгновенно станут околдованными её сказочными чарами. Несмотря на то, что это части одной серии с похожим геймплеем и механиками, я убеждён, что на уровне ощущений восприниматься они будут совершенно иначе.
Если вы ещё не закрыли вкладку со статьей и решили остановиться на этой игре, то дальше вас ждет самое интересное, ведь я расскажу про модификацию, которая сильно упросит знакомство/возвращение в Heroes of Might and Magic II. Называется она Fheroes2. Если быть более точным, то это даже не мод, а самостоятельный проект, созданный на улучшенном движке оригинальной игры с открытым исходным кодом. Благодаря тому, что разработка ведётся по современным стандартам, он легко адаптируется под любые платформы, будь то ПК, Android, Linux, MAC и другие.

Первое, что заметят фанаты оригинального проекта – это возможность игры в высоком разрешении без каких-либо проблем с совместимостью на современных системах. Кроме того, улучшено отображение цветов и рендеринг. Даже этого хватило бы для того, чтобы советовать Fheroes2 как лучшую точку входа в игру, но создатели не остановились на достигнутом и исправили огромное количество багов, допущенных разработчиками оригинального проекта. Доработке подверглись и искусственный интеллект противников, и интерфейс игры, добавлено множество удобных горячих клавиш, а также действительно крутые фишки (к примеру, вы можете провести быструю битву, но, увидев в окне результатов боя неудовлетворительный итог, переиграть сражение, уже самостоятельно ведя армию в бой?
Из минусов могу называть лишь неполную русскую локализацию и то, что основная игровая карта доступна в большом разрешении, но сражения и отстройка замка находятся в маленьком окошке. Правда оба эти недостатка почти не играют роли и совершенно не портят впечатление от проекта. Полный список изменений вы можете посмотреть по ссылке.

Подводя итог, скажу, что сейчас благодаря действиям фанатов прикоснуться к классике стало как никогда просто. Вы можете поиграть в столь увлекательную стратегию на современных системах абсолютно без каких-либо проблем или танцев с бубном. А чтобы еще больше упростить вам жизнь, в Телеграмм канале «Олдфажный геймер», я выложил сборку как с уже полностью установленной Heroes of Might and Magic II вместе с модификацией, так и инсталляторы для самостоятельной установки! Бонусом добавил установщики мода для Android, Linux, MAC, PSV и Switch. Приятной игры!
1. Я прожил в Южной Корее более трех лет. Я долго удивлялся тому, что могу оставить свой ноутбук/телефон/бумажник без присмотра на столике в каком-нибудь переполненном баре, и его не украдут. В США в этом случае, к вашим вещам давно бы «приделали ноги».
2. Когда мы вышли с другом из вокзала в Каире (Египет), то увидел перед собой дорогу с шестиполосным движением, где никто не соблюдал правила дорожного движения. Мы никак не могли понять, как нам ее пересечь. В раздумьях мы долго стояли у обочины, пока один местный мужчина не пожалел нас. Он просто вытянул руку и двинулся вперед, пересекая полосы движения. Все машины остановились, никто не сигналил и не кричал. Мы поспешили за ним с рюкзаками. Данный факт до сих пор поражает меня.
3. После приезда в Нью-Йорк (США), первое, что меня поразило, когда я вышел с Пенсильванского вокзала - это крик чернокожего бездомного. Он громко приветствовал меня фразой: «Добро пожаловать в Нью-Йорк, засранец!».
4. В Праге (Чехия), когда ты начинаешь снимать на улице, люди буквально шарахаются от тебя, чтобы не попасть в объектив камеры.
5. Отсутствие наледи на тротуарах в Финляндии. Это было буквально спасением для меня, поскольку обувь, в которой я приехал, была на скользкой подошве. Также это очень чистая страна, мусора нет нигде.
6. Практически каждое здание в Ашхабаде (Туркменистан) сделано из белого мрамора. Ночью он весь сияет, точно Лас-Вегас. Здесь вообще нет рекламы, кроме рекламных щитов, на которых изображен президент страны, позиционирующий себя как религиозный пророк.
7. Я переехала в Данию пару лет назад, самым большим культурным шоком стал для меня праздник Julefrokost(Рождественский обед). Муж предупредил меня, чтобы перед ним я особо ничего не ела, потому что еды будет много. В моем понимании их Рождественский обед должен быть чем-то вроде нашего Дня Благодарения. Как я ошибалась…На самом деле он только так называется – обед. По факту ты садишься за стол, изобилующий напитками и яствами около полудня, и не встаешь со своего места до полуночи и позже. Еда не иссякает никогда, ее подносят и подносят, алкоголь и напитки тоже. Передо мной за столом сидел дядя мужа. Он подливал и подливал мне в рюмку постоянно. Таким образом к 15:00 я была уже нажрата не в мочь и пьяна в хлам.
8. Сингапур является невероятно чистым городом. Как только я вышел из самолета, клянусь, в аэропорту я не увидел ни одной пылинки. Даже туалеты были сухими и чистыми. Каждый день я выхожу в город на прогулки. Когда я возвращаюсь в свой отель, то на подошве моей обуви практически нет грязи.
Больше подобных подборок и историй на моем канале https://t.me/mentalitetttt
Материал взят и переведен с Реддита. Приятного чтения:)










.
.
.
.
p.s. не смотря на бесконечное лично возмущение по ситуации на нашем уютненьком, я пока не определился, куда диван катить (на работе завал), но тут оказалось что товарищ @hariksu, ведет в телеге канал-копию комиксов Эмми, ссылка тут








.
.
.
.
p.s. не смотря на бесконечное лично возмущение по ситуации на нашем уютненьком, я пока не определился, куда диван катить (на работе завал), но тут оказалось что товарищ @hariksu, ведет в телеге канал-копию комиксов Эмми, ссылка тут