Pull to refresh
3
0
Dimitri @dsapsan

Senior Software Developer

Send message

Как программисты становятся террористами. Взгляд изнутри на историю Bitzlato

Reading time8 min
Views33K

Как программисты становятся террористами. Взгляд изнутри на историю Bitzlato.

Работа компании Bitzlato была остановлена в ночь с 17 на 18 января 2023 года. Проснувшись следующим утром, каждый программист в компании обнаружил, что прямо у себя в постели превратился в международного террориста.

Читать далее

Разложение (проституирование) инженерной деятельности как ключевая причина краха советской системы

Level of difficultyEasy
Reading time18 min
Views65K

Есть тема, которая проявляла себя в бесконечном количестве рассказанных реальных, но при этом жутко анекдотических историй из инженерной деятельности, когда ресурсы, результаты НИОКР-ов, и много чего «сливали в унитаз».

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

И наконец,  мемом начала примерно 2010 года стала на просторах интернета запись какого-то реального технического совещания, закончившегося воплями - «...Проср*ли все полимеры !!..»

Откуда все это?  Анекдоты рассказываются, вопли стихают… а далее  следует пустота и молчание..Есть некоторое табу молчания на углубление в  «механику» из шкурных интересов, которые создают проблемы и реинкарнируют их снова, снова и снова. 

Читать далее

«Каждый имеет право быть похожим на себя». Расстройство аутистического спектра и карьера в IT: личный опыт

Reading time15 min
Views27K

«Я офигеваю от нелогичности окружающих, а они — от того, что я робот». Эта фраза идеально описывает особенности моего взаимодействия с окружающим миром. Я такой же робот. Или инопланетянин. Я могу только догадываться, каким я кажусь со стороны. Но теперь я знаю, что другие считают меня по меньшей мере странным. Это взаимно. Многие поступки окружающих людей кажутся мне совершенно нелогичными и иррациональными.

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

Читать далее

Factorio: оптимизации 2.0

Level of difficultyMedium
Reading time10 min
Views34K
Все мы любим строить всё больше и больше, поэтому когда сталкиваешься с ограничением UPS, это сильно расстраивает. Именно поэтому мы обязаны продолжать свой бесконечный процесс оптимизации игры.

▍ Оптимизация роботов (автор: Rseding)


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

Типичная фабрика с кучей дронстанций (Roboport)

Дронстанции никогда не были «медленными», но они всегда присутствуют на карте, и у игроков есть мотивация строить их в больших количествах; к тому же, их будет ещё больше в грядущем Space Age, где нужно будет многое делать удалённо. Сохранение, полученное после последней сессии плейтестинга, снова показало, что они отнимают небольшое, но ненулевое количество времени, поэтому я снова задумался о них.
Читать дальше →

Генерация уровня в аркаде на примере инди-игры

Reading time8 min
Views26K


В этой статье я хотел бы рассказать про алгоритм генерации уровня в простейшей игре жанра «runner», разработанной мной несколько дней назад. Если вам интересна тема геймдева, а также алгоритмы случайной генерации игровых уровней, подземелий, ловушек или ландшафта, добро пожаловать под кат.
Читать дальше →

Подводные камни при релизе игры в Google Play и App Store

Reading time8 min
Views35K


Если вы разрабатываете игру под Android или iOS, рано или поздно вам придётся заняться подготовкой к публикации на Google Play и App Store. Но если вы ещё ни разу не релизили мобильную игру, многие вещи и правила могут оказаться неприятным сюрпризом и сильно замедлить процесс публикации.


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


  • Почему нельзя просто так взять скриншоты из игры и вставить их в описание?
  • Почему стоит ознакомиться с требованиями обоих сторов, даже если на данный момент релиз только на один из них?
  • К чему могут придраться на ревью в App Store и насколько это может затянуться?
  • Какие подводные камни ждут разработчика Free-to-play игры?
  • Почему пользователи Windows будут страдать при публикации в App Store?
  • Почему могут не работать тестовые платежи на iOS?
Читать дальше →

Игровая камера: сборник приемов

Reading time17 min
Views17K

Сегодня мы узнаем:

- можно ли считать людей, которые инвертируют оси в играх, лицами с нетрадиционной ориентацией;

- что такое фокусное расстояние объектива и для чего оно нужно;

- какой угол обзора надо делать у камер, чтобы монитор выглядел, как окно в виртуальный мир;

- как правильно фотографировать;

- и сделаем простенький симулятор дрифта.

Погнали!

Самый полный чек-лист для защиты от мошенников

Reading time17 min
Views166K

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

Читать далее

Генерирование полигональных карт для игр

Reading time24 min
Views61K
Я хотел научиться генерировать интересные игровые карты, которые не обязательно были бы реалистичными, а также попробовать техники, с которыми раньше не работал. Обычно я создаю карты с другой структурой. Что можно сделать с тысячей полигонов вместо миллиона тайлов? Отчётливо различимые игроком области могут быть полезны для геймплея: местоположения городов, места квестов, территории для захвата или колонизации, ориентиры, точки поиска пути, зоны с разной сложностью и т.д. Я генерировал карты с помощью полигонов, а затем растеризировал их вот в такие карты:

image

Во многих процедурных генераторах карт, в том числе и некоторых моих предыдущих проектах, для генерирования карты высот используются функции шума (midpoint displacement, фракталы, diamond-square, шум Перлина и т.д.). Здесь я их не применял. Вместо неё я использовал структуру графов для моделирования элементов, определяемых ограничениями геймплея (высота, дороги, течение рек, места квестов, типы монстров) и функции шума для моделирования того, что не ограничивается геймплеем (форма побережья, расположение рек и деревьев).
Читать дальше →

Архитектура unity проектов

Level of difficultyMedium
Reading time9 min
Views25K

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

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

Не волнуйтесь, никаких SOLID и других изотерических практик. Коротко, по делу, подкрепленное использованием на нескольких проектах.

Читать далее

Снятие с воинского учета. Дистанционно. Пакет документов

Level of difficultyEasy
Reading time6 min
Views54K

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

Если вкратце, то рабочий кейс, это когда: (А) имеется основание для снятия: уже живете зарубежом полгода, либо имеется иностранный ВНЖ, (B) грамотно составлено заявление на снятие с учета и подписано вашей подписью, (C) в военкомат идет ваш представитель по доверенности, которая оформлена у российского нотариуса или в зарубежном консульстве РФ.

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

Читать далее

Графика древности: от текста к видеоиграм

Level of difficultyMedium
Reading time32 min
Views18K

Вот уже много лет в игровой индустрии вместе с самыми последними графическими технологиями успешно сосуществует пиксельная графика практически в том же самом виде, в каком она существовала в играх для домашних компьютеров и игровых приставок 80-х и 90-х годов. Её возвращение на игровые мониторы в конце 2000-х годов казалось кратковременной модой на ретро, но однажды вернувшись, пиксели остались с нами надолго.

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

[Личный опыт] Поиск работы в Германии в 2023 году

Level of difficultyMedium
Reading time7 min
Views13K

Всем привет!

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

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

Узнать, получилось это у меня или нет ->

Странный мир путей файлов в Windows

Reading time6 min
Views77K

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

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

Стоит заметить, что статья ограничивается только тем типом путей, который видит пользователь приложений Windows (обусловленный Win32 API). Под этим слоем есть ещё больше любопытного, в основном касающегося тех, кто пишет драйверы оборудования и тому подобное.
Читать дальше →

Почему эмигранты-удаленщики иногда не платят налоги в России: нюансы НДФЛ с зарплаты

Level of difficultyEasy
Reading time18 min
Views11K

В этом и прошлом году из России уехало огромное число специалистов – но при этом далеко не все из них хорошо понимают, какие налоговые последствия влечет эмиграция. В этой статье мы вместе с налоговым юристом детально разобрались в особенностях удержания российского НДФЛ с зарплаты (и как его можно уменьшить).

Читать далее

Проверяем Архитектурные стили на движке Factorio (часть 1)

Reading time28 min
Views51K

Добрый день всем, дорогие читатели!

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

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

Как сказал мой добрый друг-программист про Factorio: "Эту игру создали программисты для программистов" и эти слова плотно въелись в мою память. И реально игра в эту игру очень сильно напоминает процесс разработки ПО: можно просто строить как попало и прийти к полностью запутанной и сложнообслуживаемой системе, а можно подойти к вопросу с умом изначально и в итоге получить производительную и легкую в обслуживании систему (Прям как в жизни!)

Читать далее...

Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-все

Reading time20 min
Views438K

Три месяца назад здесь на Хабре была опубликована статья “Интернет-цензура и обход блокировок: не время расслабляться”, в которой простыми примерами показывалось, что практически все популярные у нас для обхода блокировок VPN- и прокси-протоколы, такие как Wireguard, L2TP/IPSec, и даже SoftEther VPN, SSTP и туннель-через-SSH, могут быть довольно легко детектированы цензорами и заблокированы при должном желании. На фоне слухов о том, что Роскомнадзор активно обменивается опытом блокировок с коллегами из Китая и блокировках популярных VPN-сервисов, у многих людей стали возникать вопросы, что же делать и какие технологии использовать для получения надежного нефильтрованного доступа в глобальный интернет.

Мировым лидером в области интернет-цензуры является Китай, поэтому имеет смысл обратить на технологии, которые разработали энтузиасты из Китая и других стран для борьбы с GFW (“великим китайским файрволом”). Правда, для неподготовленного пользователя это может оказаться нетривиальной задачей: существует огромное количество программ и протоколов с похожими названиями и с разными не всегда совместимыми между собой версиями, огромное количество опций, плагинов, серверов и клиентов для них, хоть какая-то нормальная документация существует нередко только на китайском языке, на английском - куцая и устаревшая, а на русском ее нет вообще.

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

Читать далее

Языковой конкур

Level of difficultyEasy
Reading time4 min
Views1.4K

Обычный конкур выглядит завораживающе, чего не скажешь о конкуре языковом. Не зря я выбрала такое сравнение. Мы привыкли слышать про “языковой барьер”, как про нечто общее. В действительности под этим может подразумеваться много всего. Языковой барьер у всех разный, но он определенно может состоять больше, чем из одного препятствия. Кстати, можно провести еще одну параллель с традиционным конкуром: чтобы научиться преодолевать препятствия, нужно уверенно управлять лошадью, а значит, много часов посвятить тренировкам. То же самое правило работает для преодоления языкового барьера.

Сегодня расскажу вам, как языковой барьер преодолевала я сама. Поскольку я преподаватель, то много-много лет назад разработала план по преодолению собственного языкового барьера, учитывая тогдашние особенности своего английского: слабое аудирование и маниакальную осторожность в использовании слов и грамматики, которая делала молчуна из меня, по природе своей real chatterbox.

Читать далее (лошадки хотели бы)

Я анимирую тентакли и мне платят за это деньги

Level of difficultyEasy
Reading time16 min
Views62K
Видели когда-нибудь в интернете странную, сексуализированную или даже оскорбительную рекламу какой-нибудь мобильной игры? Задумывались о том, кто же сделал это непотребство? Ну так вот, это была я.

image

Сегодня я хочу рассказать вам о том, как: дошла до жизни такой, как вы можете дойти до жизни такой же, расскажу про саму работу и дам несколько советов тем, кто хочет «вкатиться» в мир сладкой анимации.
Читать дальше →

Открытие фирмы в Черногории. О чём молчат посредники и ещё философский вопрос (UPD: 11.09.2023)

Level of difficultyEasy
Reading time6 min
Views20K

Гайд, цены, сроки, открытые и закрытые системы.

Кратко:

1. Название

2. ОКВЭДы

3. Юр.адрес

4. Решение об учреждении

5. Устав

6. Приява

7. Пошлины

Итого - 86 евро.

Читать далее
1
23 ...

Information

Rating
Does not participate
Date of birth
Registered
Activity

Specialization

Software Developer
Senior
Unity3d
C#