Свежие публикации

Здесь собраны все публикуемые пикабушниками посты без отбора. Самые интересные попадут в Горячее.

09 Июня 2019
5

Вся наша жизнь спираль: сеть

И снова здравствуйте. Год назад я выкладывал пост, под названием «Вся наша жизнь спираль», в котором немножко рассказал об игре, над которой работаю. Вот он: https://pikabu.ru/story/vsya_nasha_zhizn_spiral_5831544 Этот пост можно считать его продолжением.

Не писал достаточно долго по нескольким причинам. Основная, я опять подзабил на проект и занимался основной работой, также появились некоторые трудности, которые заставили меня снова залезть в дебри Unreal Engine 4 и смотреть, что Эпики там понакрутили. Но я снова в седле, и т.к. очередной этап разработки завершен, то можно и написать статью об этом.

Начну, пожалуй, с новостей. Их всего две:

1) Мы относительно недавно обзавелись сервером в дискорде: https://discordapp.com/invite/aNfW5FQ , т.ч. милости просим.

2) Мы приняли решение часть неигровых модулей выложить в Open Source под BSD лицензий.

Вот об одном (единственном доступном широкой публике на данный момент) open Source модуле, под названием Client Authority Network (CANet) мы и поговорим.

Данный модуль был написан с одной единственной целью: решить проблему синхронизации игроков в сетевом режиме игры. Казалось бы, в чем проблема? Объясняю, в стандартной сетевая модель UE4 постулирует следующие законы.

• Все игроки должны находится на одной локации в рамках одного сервера. 

• Все игроки должны считать логику на сервере, на клиенты транслируется только результаты обработки. 

• Все игроки должны иметь на сервере координаты в глобальной сетке карты.

Что из этого следует: в нашем проекте, чтобы игроки были синхронизированы с картой, нужно будет постоянно держать загруженной всю галактику, со всеми планетами, станциями, итд, а также сохранять глобальные координаты игроков (а это, на минуточку числа, которые современные компьютеры не умеют считать. Для знающих: int256 и выше). И кроме того, невозможно применить стандартные «хаки» (динамическое масштабирование, World Shifting, и прочее) для поджатия мира, т.к. в этом случае будет нарушаться третий закон.

Решение, казалось бы, напрашивается само собой: написать свою сетевую модель, которая не будет столь категорична к позициям игроков. Примерно это, CANEt и делает. Однако, чтобы написать свою сеть в UE4, это нужно переписать туеву кучу кода, и не факт, что после очередного обновления движка все будет работать так, как было задумано. Посему я решили схитрить. Я не стали переделывать всю сеть, а заместо этого перевернул работу оригинального, получив заместо стандартной модели сервер-клиент, модель клиент-роутер-клиент (почти честная PTP). В результате, все три закона стандартной модели стали недействительными. И проблема частично была решена. Почему частично? Осталась проблема синхронизации игроков в отдельно взятых локациях. Эту проблему модуль не решает, но, зато ее способна решить фича, которая перекочевала в UE4 прямо из Фортнайта, а именно Replication Graph, но сегодня речь не о нем.

Итак, как же работает CANet. CANet, как я уже говорил, переворачивает принцип работы сети в UE4 с ног на голову. Начинается все так-же, как и в оригинале. На сервер создаётся Game Mode, которая ждет подключения игрока. Как только игрок подключился, создается Player Controller и Player State, которые реплицируется на клиенты (Player Controller только владельцу подключения), а вот дальше начинаются отличия.

В оригинале, следующим этапом было бы создать на сервере чарактер игрока (ACharacter/APawn) и среплицировать его на клиенты. В случае CANet это происходит немножко иначе:

• На сервере создается специальный класс UClientChannel, который привязан к APlayerState в качестве компонента и реплицируется вместе с ним.

• При первой репликации UClientChannel создается карта всех реплицируемых свойств чарактера игрока, считаются их контрольные суммы и записываются в буфер.

• Если APlayerState привязан к APlayerController, то UClientChannel начинает считаться авторитетным и начинается покадровая проверка свойств из буфера.

• При проверке, если контрольная сумма свойства в буфере не сошлась с суммой свойства чарактера, то свойство помечается как изменившееся и записывается во второй буфер.

• В конце кадра, если буфер имеет не нулевую длину, то отправляем его на сервер.

• Сервер сохраняет себе свойства в свой буфер и перенаправляет его остальным клиентам. 

• Клиенты в свою очередь опять сверяют контрольные суммы, и если они не сошлись, то записывают свойство в чарактер.

Иными словами, обязанности сервера плавно переходят на клиенты, а на самом сервере, чарактеров и прочих актеров просто не существует.

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

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

На этой ноте, наверно можно и заканчивать. Сам модуль можно найти по адресу: https://github.com/TehnoMag/UE4-Module-CANet , а в следующий раз мы поговорим либо о Replication Graph либо о Wave Function Collapse (WFC) генерации в UE4 и его роли в L.I.M.A. strace_.

Показать полностью
1258

Присяжные вновь единогласно оправдали обвиняемых в убийстве саратовцев

Присяжные вновь единогласно оправдали обвиняемых в убийстве саратовцев Присяжные заседатели, Оправдательный приговор, Полиция, Прокуратура, Пытки, Длиннопост, Негатив

Жители Саратова Сергей Чекманов и Геннадий Ковалев, обвинявшиеся в убийстве, совершенном группой лиц по предварительному сговору, вновь оправданы. Единогласное решение о непричастности мужчин к особо тяжкому преступлению, вчера, 5 июня, вынесли присяжные заседатели.

В обоих процессах, проходивших в Саратовском областном суде, защиту подсудимых осуществляли адвокаты Дмитрий Хорешко и Виктор Кирилин. По их словам, в результате незаконных действий органов следствия и прокуратуры двое невиновных граждан провели в следственном изоляторе 15 месяцев.

Граждан обвиняли в том, что 1 ноября 2016 года, находясь в квартире одного из домов 6-го квартала в микрорайоне Энгельс-19 Энгельсского района, они распивали спиртные напитки вместе с потерпевшим, спланировав заранее преступление, Ковалев и Чекманов избили свою жертву, а потом жестоко убили, используя нож.

«После первого оправдательного приговора наши подопечные были освобождены из-под стражи. Позже прокуратура обжаловала это решение, приговор был отменен, а материалы уголовного дела вновь направлены в следственный комитет. В декабре прошлого года Чекманова и Ковалева опять арестовали, и только вчера им удалось выйти на свободу. «Безусловно мы довольны своим результатом и тем, что следствию и гособвинению не удалось навешать такое страшное преступление невиновным людям», — заявил Виктор Кирилин.

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

«Наши подзащитные рассказали о том, что первоначально им пришлось признаться в убийстве в связи с применением к ним незаконных методов воздействия в виде пыток. После того как приговор вступит в законную силу, мы вместе с адвокатом Кирилиным обратимся в следственный комитет с требованием о привлечении виновных лиц к уголовной ответственности», — заверил Хорешко.
https://news.rambler.ru/crime/42301701-prisyazhnye-vnov-edin...

P/S.
Весьма интересная новость, прошла в общем-то незамеченной.

Что же в ней интересного?

Фальсификация уголовного дела по тяжкому преступлению и упорное желание сломать двум людям жизнь, чтобы начальство за "висяк" не ругало? Нет.

Пытки на допросах в полиции. Нет.

Нежелание прокуратуры "видеть" преступления следствия? Нет.

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

Примечательно другое: Единогласное решение о непричастности мужчин к особо тяжкому преступлению, вчера, 5 июня, вынесли присяжные заседатели.
То есть - присяжные заседатели дважды не позволили осудить людей там, где в деле доказательств небыло.
Тем самым указав ГСУ ГУ МВД, Прокуратуре на их некомпетентность, а в дальнейшем и преступность действий, Суду на презумпцию невиновности. Присяжные опирались, при рассмотрении дела на ЗАКОН !!!
При этом, следствию и прокурорским теперь придётся отвечать за свои преступные действия.

Вот теперь вы, дорогие читатели, только представьте, какое огромное давление оказывается на этих людей(присяжных заседателей), их семьи и окружение.
Ведь если и дальше пойдёт по закону для всех, то вскроется громадный пласт тяжких преступлений, совершенный и совершаемый правоохранителями, особенности пыток(это вообще будет отдельная тема), преступный сговор при исполнении всеми, включая ФСБ которое "не видит", десятки тысяч фальсификаций, сломанных судеб, изуродованных тел и душ. Происходит это почти три десятка лет.

Будем внимательно наблюдать за этим процессом. Кто и как ответит за свои должностные преступления.

Показать полностью
12

Котя в яблочном саду

Котя в яблочном саду
315

СОБАКА АЛКОГОЛИК - ГОРЕ В СЕМЬЕ

У меня есть собака. Иногда на прогулку мы идём мимо сетевого магазина «Норман».


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


Вот и происходит частенько такая картина: собака наверху, топчется у входа в магазин, человек, который хочет туда попасть и я приговаривающая: «Булочка, ты же опохмелилась уже сегодня..», «Булочка, ещё не вечер..», «Булочка, мне же завтра на работу, я не могу поддержать тебе компанию..», «Булочка, в этом магазине собакам не наливают..» и т.д.т.п.

СОБАКА АЛКОГОЛИК - ГОРЕ В СЕМЬЕ Собака, Повод, Собачьи будни, Собаки и люди, Юмор, Картинка с текстом, Пикабу

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

Показать полностью 1
43

50 оттенков синего экрана смерти

Мои вкусы довольно специфичны. Периодически я занимаюсь страшными извращениями. Страшными компьютерными извращениями...

Вот некоторые из них:

1. Отдельный комп чисто для работы Хрома.

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

2. Новая жизнь (или не совсем жизнь) устаревшего железа

Однажды очень нужен был кабель VGA-VGA. Пришлось отрубить хвосты у 2-х старых ЭЛТ-мониторов и спаял между собой. (работает по сей день со вторым монитором).

3. Серверная в сортире

Одна из сьёмных квартир была настолько мелкой, что поставить пару NAS и сетевое оборудование было некуда. Спальня не в счёт. Спать с шуршащими под ухом кулерами - слишком большое извращение. Даже для меня. Кухня - тоже не вариант - пар и горячий воздух работу оборудованию уж точно не улучшит. Взор пал на полочку в комнате фаянсового трона. Мои NAS, свич, роутер и ИБП стали туда как влитые. Правда, пришлось тянуть туда LAN и колхозить розетку - та ещё была морока... Но мой сортирный дата-центр надёжно отработал всё время, пока я в той квартире проживал, и полностью оправдал потраченные усилия.

4. Windows XP на MAC

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

5. Диванный комп

В году 2013-м обновил я в очередной раз железо. Хотел по минимуму (видюха и RAM), но вышло как всегда... В итоге принёс из магазина мать, проц от Интел, систему охлаждения, 4 ГБ RAM (огромное по тем временам количество), новую видюху, блок питания и SSD. По дороге домой меня терзала мысль, что я что-то забыл... Только когда домой припёрся - понял, что о корпусе не подумал. Пустых у меня не было. В старый mini tower full-atx мамка не помещалась. А погамать на новом железе то охота... Собрал, короче, всё на диване. Временно (ну я тогда так думал). Накатил мастдай. До полуночи гамал в третью батлу и 4-ю ГТА (наконец-то графоний позволял). На следующий день начал искать корпусок. Этот стрёмный, этот - дорого, этот мелкий, этот идёт только с БП, этот сильно огромный, этот ждать хз сколько по запросу... Неделю ходил по реальным и интернет-магазинам, но ничего годного не подобрал. Короче говоря, всю весну и половину лета новое железо так и прожило. Я уже привык включать его, закорачивая отвёрткой контакты на разьёме мамки и аккуратно юзать диван. Корпусом обзавёлся только когда постоянная занятость половинки дивана начала сильно мешать.

6. NAS из говна и палок

- TihonD, выручай. Нам нужен этот... Ну как его... Хрень, короче, чтобы к локалке подрубить и файлы с него раздавать.

- NAS что ли?

- Да похрен как оно называется. Поможешь, а?

- Ну ок. Вечером ссылки с интернет-магазина на почту кину. Когда прийдёт - помогу настроить.

- Нет, ты не понял. Мне сегодня надо. До обеда.

- Лол, Вы серьёзно? На часах же без десяти одинадцать.

- Серьёзнее некуда. К нам проверка едет. "Верха" деньги освоили и в отпуск укатили, а мне сейчас комиссию водить и результаты показывать. По моей части вроде всего хватает, ну кроме этой хрени. Помоги, прошу.

- Вот ж**а...

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

Короче говоря, из предоставленного мне барахла собрал более-менее рабочий комп. Из рабочих был только еле живой хард на 60 ГБ. "Вот же просторный NAS будет" - подумал я... "Хоть бы винда поменьше откусила..."... Накатил семёрку, благо на переносном HDD загрузочный раздел был как раз вот для таких "Помоги, тыжпрограммист!"... Всё тормозило, ибо железо было откровенно слабое - его не просто так в кладовку запихали. Но работало. Подключил к свичу, настроил общий доступ, проверил, проинструктировал, как пользоваться... В этой истории был лишь один приятный момент - я смог шикарно пообедать за счёт (полученного) вытрясенного с клиента гонорара...

А какими IT-извращениями занимались Вы? Пишите в комментарии. Интересно будет почитать и сравнить...

Показать полностью
655

Пост благодарности роддому 2

Прочитала пост https://pikabu.ru/story/blagodarnosti_post_6746626 и решила написать свой первый пост. Очень близка тема.


Беременность протекала более, чем идеально. (По счету она третья, первые две на ранних сроках самопроизвольно прерывались по невыясненным причинам) Лёгкий токсикоз до 12 недель и сонливость на 9 месяце - это максимум дискомфорта. Небольшой живот, идеальные показания по УЗИ, нормально прилегающая плацента, стабильное давление 110/70.

Я до 8 месяца с лёгкостью работала, много гуляла, посещала курсы для беременных, была уверена в естественных и лёгких родах.

Утром 3 марта прекрасная погода - весенняя капель, солнце. 39 недель беременности.

Никаких новых ощущений и мы поехали на дачу. Выхожу из машины и чувствую "тепленькая пошла".. Отошли воды. Схваток нет, ничего не тянет и не болит. Думаю нууу на курсах говорили, что "Надо приезжать в роддом уже когда на стенку лезешь, а то приедешь с маленьким раскрытием - начнут колоть окситоцин и резать! А безводный период может быть до 10 часов"

Приехали домой, неспешно сходила в душ, взяли сумки в роддом и поехали. Через 15 минут мы на месте, схваток нет. Время 17.30.
Осмотр врача - раскрытие 0. Давление 150/80. Мне дали 4-6 часов. И таблетку для понижения давления. Врач сказала придет в 22.00. Гуляю по коридору, в очень хорошем настроении, разговариваю по телефону. Иногда потягивает спину. Захожу в палату и чувствую, что не вода уже. Время 20.30. Иду в туалет, обильно кровь. Бегу на пост, а тут как раз моя врач.

"У меня кровь"
"Показывай, что там у тебя....КАТАЛКУ СЮДА СРОЧНО!"
Через 10 секунд каталка в смотровой, я уже на ней.
Я - Кесарево?
Врач - Согласна?
Я - Конечно!
Через 5 секунд я в лифту. Рядом медсестры сообщают, что мои вещи привезут в послеродовую, чтобы не переживала.
Выкатывают на этаж родового отделения. Вокруг меня в коридоре тут же человек 8. Одна меня раздевает, две устанавливают катеторы. Четаертая давление, пульс. Все очень-очень быстро. Подписала бумагу, но в глазах уже мутнело. Все мои мысли были только о том, чтобы ребенок был жив и не было гипоксии.

Операционная, свет, я на столе. Вокруг также очень много врачей. У рук, у ног, у головы. Делают эпидуральную анастезию. Анастезиолог женщина отвлекает меня. "О, рыженькая, чувствительная, ну ничего" "Сейчас будет тошнить и кружиться голова, все пройдет, все хорошо, все хорошо, моя хорошая, терпи, сейчас пройдет" К слову сказать, в этот момент, я думала, что умираю. Губы сухие, тошнота просто нереальная и какой-то полет. Врачи шутят, проверяют на чувствительность. Все, живот онемел, разрез. Чувствую - достают. Тишина... Одна, две, три секунды и плач. Мальчик, 3480, 50 см! Время 21.10

Я реву. Врачи улыбаются (видно по глазам, они же в масках)), показывают "Вот ваш мальчик!"
Спасибо вам! За профессионализм, скорость и поддержку. В момент, когда ты чувствуешь, что умираешь, очень важно, чтобы кто-то сказал, что все хорошо))

Привозят в послеоперационную. Трясет, как будто минус 200. Укрывают одеялом. Все ночь мед.сестра проверяла пульс и давление, подавала воду, если бутылка улетела, ставила обезболивающее.

Спасибо!

Женщины, которые приносили еду спасибо вам за "Приятного аппетита, принцессы. Девочки мои, пора кушать" Спасибо поварам, которые готовили, как дома.

Спасибо санитарам, которые тщательно убирали, очень аккуратно отодвигали люльки и делали это беззвучно. Феи)

Так вот, пишу пост, смотрю на своего трёхмесячного сына и ещё раз мысленно благодарю каждого в Роддоме 2 г. Новокузнецк.

В конце марта написала благодарность на сайт департамента Здравоохранения области. В фото - официальный ответ ведомства. От него стало ещё теплее :)

Пост благодарности роддому 2 Роддом, Благодарность, Длиннопост, Роды
Показать полностью 1
65

Разрыв шаблона.

Только что вышел с Магнита. Купил значит всего там понемногу и в том числе сырокопченую пастрому куриную. Заплатил значит, выхожу смотрю чек. А там вместо 290р за кг 609, 290 это акционная цена, 609 обычная. Возвращаюсь, предъявляю. Идём с продавщицей к витрине, смотрим ценник. Действительно 290, ценник свежий, вчерашний, съехать на то что акция закончилась и забыли сменить ценник не получится, т.к. однодневных акций не бывает. Продавец в ахуе, не знает чё за прикол, зовёт администратора. Администратор пришла значит, порылась в компе и говорит - ничего не пойму все по программе норм, должно идти со скидкой. Предлагает возврат. Я говорю так спокойно, мол блин, мне эта хрень нужна в общем то. И тут она выдаёт - сделай возврат (продавщице) и пастрому отдай покупателю, я её спишут как нибудь. Я как порядочный говорю, что если это с вас потом вычтут то хрен с ним (много читал что в Магните треть зарплаты бывают режут из-за косяков, жалко) давайте просто возврат. А она такая, нет Вы забирайте, я спишу, не волнуйтесь, и извинилась раз пять за разговор. Ну забрал и пошёл. И кстати только в Магните всегда расчет округляют в сторону покупателя, если к примеру сумма 35 с копейками то озвучивают только 35 даже если это 35.90, никогда заморочек с копейками не бывает.
Походу не все Магниты одинаковы.

513

Золоотвал ТЭЦ-5.

Увидев пост про золоотвал(https://pikabu.ru/story/otravlennyie_maldivyi_fotoreportazh_...), не поверил! Сегодня друзья собрались воочию увидеть сибирские Мальдивы! Не верилось, что обошлось совсем без фильтров! Однако, оказалось правдой! Красотища!
критики, не ругайте! 1й пост)

Золоотвал ТЭЦ-5. Новосибирск, ТЭЦ, Красота, Природа, Загрязнение, Длиннопост
Золоотвал ТЭЦ-5. Новосибирск, ТЭЦ, Красота, Природа, Загрязнение, Длиннопост
Золоотвал ТЭЦ-5. Новосибирск, ТЭЦ, Красота, Природа, Загрязнение, Длиннопост
Золоотвал ТЭЦ-5. Новосибирск, ТЭЦ, Красота, Природа, Загрязнение, Длиннопост
Показать полностью 4
Мои подписки
Подписывайтесь на интересные вам теги, сообщества, авторов, волны постов — и читайте свои любимые темы в этой ленте.
Чтобы добавить подписку, нужно авторизоваться.

Отличная работа, все прочитано! Выберите