Как стать автором
Обновить

Дизайн

Сначала показывать
Порог рейтинга
Уровень сложности

Почему типичные дизайн-подходы оказались неприменимы к интерфейсу для производств

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 23K

После того как я впервые съездила на завод, стало понятно, почему в дизайнеров кидаются тапками.

Мы работали на ярких прикольных аймаках, проектируя интерфейсы MES-систем в соответствии с трендами. А потом своими глазами увидели, в какой ад для сотрудников производства это превратилось.

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

Читать далее
Всего голосов 86: ↑85 и ↓1 +84
Комментарии 133

Почему Cities: Skylines 2 так тормозит (часть 2, самое мясо)

Уровень сложности Средний
Время на прочтение 17 мин
Количество просмотров 31K

[Первая часть]

Генерация скайбокса

В игре используется встроенная система неба HDRP Unity, то есть она генерирует текстуру скайбокса (кубическую карту) в каждом кадре. Это занимает около 0,65 миллисекунды, что не очень много по сравнению со всем остальным, но если игра нацелена на генерацию 60 FPS, то это будет почти 4% от общего бюджета времени на кадр.

Предварительный проход

Теперь мы переходим к самому рендерингу. В C:S2 используется отложенный рендеринг: по сути, это означает, что рендеринг выполняется за несколько фаз и с использованием множества промежуточных render target. Первая фаза — это предварительный проход, создающий попиксельную информацию о глубине, нормалях и (преположительно) о гладкости, записывая их в две текстуры.

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

Читать далее
Всего голосов 81: ↑79 и ↓2 +77
Комментарии 58

HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 3

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 7.1K


Хабр, я уже третий месяц пишу про доступность вместе с Ильёй. Мы показываем, как HTML и CSS могут улучшить или ухудшить её. Напоминаю, что Илья — мой незрячий знакомый, который помогает мне найти наши косяки в вёрстке.


Сегодня уже будет не только HTML и CSS. В некоторых кейсах мы будем использовать ARIA-атрибуты. Я расскажу:

  • как мы незаметно потеряли пользу элементов <section> и <form>;
  • как атрибут tabindex запутывает незрячего пользователя;
  • почему визуально скрытые элементы — проблема современных интерфейсов;
  • что делать с паттерном «Звёздочка» для обязательных полей.

Давайте начнём!

Читать дальше →
Всего голосов 54: ↑54 и ↓0 +54
Комментарии 29

Взлет Lies of P или Почему так популярны соулслайки? Часть 1. В ожидании Dark Souls 5

Уровень сложности Средний
Время на прочтение 17 мин
Количество просмотров 8.1K


Те, кто следят за индустрией игр, наверняка заметили, что в списки анонсов среди наиболее ожидаемых игр все чаще стали попадаться так называемые соулслайки. Да, многие из них быстро уступают свое место играм других категорий. Однако с каждым разом проекты в этой категории появляются все чаще и держатся в топах все дольше. И это несмотря на славу «хардкорных» проектов, требующих недюжинной сноровки, и «отсутствие сюжета». Что ж, так ли страшен черт, как его малюют? И что в этих проектах может заинтересовать человека, который никогда ранее с подобным не сталкивался? Об этом пойдет речь сегодня.
Читать дальше →
Всего голосов 32: ↑29 и ↓3 +26
Комментарии 23

Истории

Почему Cities: Skylines 2 так тормозит (часть 1)

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 27K

Одна из самых долгожданных игр для PC Cities: Skylines 2 вышла в конце октября, но получила смешанные отзывы. По моим ощущениям, геймплейно и с точки зрения симуляции игра сделала шаг в правильном направлении, и по крайней мере, теоретически она выглядит более целостной по функциям, чем первая часть. Однако в ней присутствуют существенные изъяны, от проблем с балансом и спорных дизайнерских решений до багов, из-за которых экономическая симуляция игры становится практически бесцельной. Стала ли она достойным преемником оригинала — пока вопрос открытый, но все сходятся в одном: производительность проекта далека от должного уровня.

Читать далее
Всего голосов 39: ↑38 и ↓1 +37
Комментарии 22

Взлом YouTube для быстрого скачивания видео

Время на прочтение 9 мин
Количество просмотров 64K
Мы неоднократно рассказывали о специальном софте, который позволяет скачивать видео с YouTube. Это в первую очередь youtube-dl (yt-dl) и его клоны, такие как yt-dlp и yt-dlc. С ними воюют могучие копирасты, пытаются удалить их из поисковой выдачи, с хостингов, с Github и так далее, по известной схеме «тотальная война».

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

Сами программки — просто технические инструменты для скачивания общедоступного контента, они ничего не воруют и не пиратят. Просто доступ происходит нестандартным способом, который не предусмотрен официально. Посмотрим, как это делается.
Читать дальше →
Всего голосов 168: ↑158 и ↓10 +148
Комментарии 421

Автономный программатор SWD

Уровень сложности Сложный
Время на прочтение 13 мин
Количество просмотров 10K

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

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

Читать далее
Всего голосов 28: ↑28 и ↓0 +28
Комментарии 23

Создание анимированных видео в нейросети Stable Diffusion, пошаговое руководство

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 36K

Друзья, всем привет, даже от меня вы уже не раз слышали, что в нейросетях сейчас можно делать буквально все: создавать тексты, генерировать музыку, делать дипфейки, создавать изображения и даже видео. Раньше генерировать видео можно было только в больших платных проектах типа Gen-2 от Runway или в пока еще бесплатном дискорд боте Pika Labs. Локальные решения были плохими или требовали топовых видеокарт.

Осторожно, много тяжелых гифок.

Читать далее
Всего голосов 39: ↑37 и ↓2 +35
Комментарии 27

Музыкальные редакторы на портативках: LSDj, LGPT и EBT

Уровень сложности Простой
Время на прочтение 28 мин
Количество просмотров 4.1K

Сегодня расскажу о сортах чиптюна, долгой жизни старой портативной игровой системы, мостике между видеоигровой и клубной музыкой, необычной музыкальной субкультуре, управлении сложным музыкальным редактором с помощью всего восьми кнопок, программах с провокационными названиями, и всё это является подводкой к рассказу о моём новом проекте. В нагрузку идёт немного DIY.
Читать дальше →
Всего голосов 64: ↑64 и ↓0 +64
Комментарии 11

System Design 101

Уровень сложности Средний
Время на прочтение 42 мин
Количество просмотров 66K



О сложных системах простыми словами.


В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание. Полагаю, шпаргалка будет интересна всем, кто хоть как-то связан с разработкой программного обеспечения и, прежде всего, веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий, терминологии, логики/алгоритмов работы систем (в рамках того, что по этому поводу содержится в оригинале), а также в обнаружении очепяток.


Выражаю благодарность Анне Неустроевой за помощь в редактировании материала.


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


System Design (сборник на английском языке).

Читать дальше →
Всего голосов 79: ↑79 и ↓0 +79
Комментарии 17

Как найти статьи-бриллианты? Три полезные кнопки, которые так нужны Хабру

Время на прочтение 4 мин
Количество просмотров 9.4K

Хабр не стоит на месте. Приходят новые авторы, появляются новые оригинальные публикации. У сайта меняется интерфейс, добавляются новые инструменты и функциональные возможности. Кому-то из нас эти перемены нравятся, кому-то нет — на всех не угодишь. При этом Хабр как был, так и остаётся постоянно пополняемым уникальным хранилищем ценной и полезной информации. Надо только «подкрутить» интерфейс, чтобы из этого хранилища стало удобнее извлекать отдельные бриллианты сияющих знаний.

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

Читать далее
Всего голосов 93: ↑91 и ↓2 +89
Комментарии 78

HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 2

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 5.9K

Я продолжаю рассказывать, как HTML и CSS могут улучшить или ухудшить доступность интерфейсов. В своём рассказе я использую свой опыт и моего незрячего знакомого Ильи.


В этой статье будет: атрибут autofocus и его нюансы, паттерн «Skip-link» и идея Ильи об использовании его на практике, проблема использования одинаковых ссылок для одной новости, что не так с кнопкой «Наверх» и как вы спрятали список от скринридеров.


Давайте начнём!

Читать дальше →
Всего голосов 53: ↑53 и ↓0 +53
Комментарии 10

Рендеринг трёхмерных развязок, мостов и тоннелей для реалистичных карт

Время на прочтение 7 мин
Количество просмотров 10K

Привет! Меня зовут Арсений Кононов. На прошлой неделе мы зарелизили трёхмерные развязки и тоннели, которые можно увидеть в режиме навигатора. Я расскажу о простой и гибкой технике, реализованной в графической подсистеме нашего графического движка для отображения плоских объектов на произвольной трехмерной поверхности. Например, линии маршрута на поверхности развязки.

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

Читать далее
Всего голосов 80: ↑80 и ↓0 +80
Комментарии 22

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн

«Окей, бумер» — как шутеры в ретро-стилистике потеряли самобытность

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 11K

В последние лет 5 стали популярны «бумер-шутеры». Шутливое название по мотивам мемов про так называемых бумеров и зумеров относит нас к олдскульным шутерам от первого лица. И хоть жанр на пике популярности, а отдельные его представители крайне восхваляются игроками и прессой, у меня есть альтернативное мнение насчёт таких игр: не все они так хороши, как о них говорят.
Читать дальше →
Всего голосов 57: ↑54 и ↓3 +51
Комментарии 29

Пишем графический ASCII-калькулятор с помощью стандартной библиотеки Си

Уровень сложности Сложный
Время на прочтение 17 мин
Количество просмотров 14K

Программа calculator.c родилась как школьный проект в рамках Student Innovation Scholarship. Сперва я решил написать простой инструмент для построения графиков функций с помощью символов ASCII, но после завершения первого прототипа понял, что задача намного сложнее, чем предполагалось. Вернувшись к проекту год спустя, я увидел, что в нём есть много неочевидных нюансов. Поэтому предлагаю разобрать весь процесс разработки моего графического калькулятора с нуля.


Читать дальше →
Всего голосов 77: ↑76 и ↓1 +75
Комментарии 25

Проклятые Земли. Изменяем движок игры! Подробности + ПРИМЕР реверсинга движка

Время на прочтение 21 мин
Количество просмотров 14K

Статья о том, как реверс-инжиниринг и разбор форматов могут не только расширить старую любимую игрушку, но и сделать из неё абсолютный шедевр, который будет смотреться уже в новом свете. Обзор уникальных фишек игры Проклятые Земли, исправление её лёгких недостатков и разбор форматов.

Наверняка многие играли в Проклятые Земли и аддоны к ним лет 15, а то и все 23 года назад. При всех достоинствах этой игры, её графика считается устаревшей, а некоторые моменты уж очень спорно реализованы. Я покажу на своём примере как можно сделать любимую игру лучше.

Читать далее
Всего голосов 100: ↑100 и ↓0 +100
Комментарии 48

Гауссов сплэтинг: как это выглядит

Уровень сложности Простой
Время на прочтение 11 мин
Количество просмотров 12K
Пример работы гауссова сплэтинга. Этот ролик — не видеосъёмка реального мира, а рендер в реальном времени на настольном компьютере

Всплеск внимания к технике сплэтинга связан с представленной в августе этого года статьей 3D Gaussian Splatting for Real-Time Radiance Field Rendering [Трёхмерный гауссов сплэтинг для рендера radiance field в реальном времени]. До этого, в июле, эта научная работа исследователей Университета Лазурного берега, Института информатики Общества Макса Планка и французского Национального института исследований в информатике и автоматике вошла в пятёрку лучших работ SIGGRAPH 2023.

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

Сейчас исследователи бьются над поиском практического применения технологии и сканированием движения. В оригинальной работе речь идёт о воссоздании в первую очередь статичных сцен.
Читать дальше →
Всего голосов 65: ↑65 и ↓0 +65
Комментарии 13

Графика древности: легендарный Mode 7

Уровень сложности Простой
Время на прочтение 22 мин
Количество просмотров 8.4K

Технологический переход в индустрии видеоигр, случившийся в середине 1990-х годов — от пиксельной графики игр прошлых лет к полигональной графике игр чуть менее прошлых лет — произошёл не одномоментно. Ему предшествовала эпоха экспериментов, когда разработчики придумывали разнообразные способы убедительной имитации трёхмерного изображения в рамках скромных вычислительных ресурсов. Изометрический движок Filmation и силуэтная графика в Tau Ceti на ZX Spectrum, технология масштабирования спрайтов Super Scaler компании Sega, рейкастинг в Wolfenstein 3D, BSP-дерево в Doom, воксельный ландшафт в игре Comanche — эти времена породили множество любопытнейших технологий, каждая из которых достойна отдельного рассказа.

В до сих пор звучащих отголосках так называемых консольных войн той эпохи (что круче — Sega Genesis или Super Nintendo?) часто можно услышать ещё одно название, которым уместно дополнить список выше — Mode 7. Мы не знаем, что это такое, если бы мы знали, что это такое, но обычно под этим подразумевается какое-то вращение или масштабирование объектов в играх, или же уходящая вдаль дорога, как в гоночных играх F-Zero и Super Mario Kart, или же карта мира, как во многих играх жанра JRPG. В реальности всё интереснее, сложнее, и как водится, требовало от разработчиков недюжинной креативности. Сегодня поговорим об этой технологии.
Читать дальше →
Всего голосов 79: ↑79 и ↓0 +79
Комментарии 10

Как рисуется карта в Фараоне

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 13K

В свободное время я восстанавливаю старенькую, но довольно известную игру Pharaoh. Это ситибилдер, выпущенный в прошлом веке и разработанный Impressions Games. Технология рендеринга в этой игре была значительным достижением для своего времени и способствовала созданию впечатляющей атмосферы Древнего Египта, которая погружает игрока в проработанное окружение, удивляет вниманием к мелким деталям и передает богатство и разнообразие древнеегипетских пейзажей. В этой статье я опишу алгоритм отрисовки города, зданий, объектов, анимации и формат карты оригинальной игры.

Городу нужно больше рабочих...
Всего голосов 83: ↑83 и ↓0 +83
Комментарии 56

Полосы прокрутки становятся проблемой

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 33K

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

Читать далее
Всего голосов 87: ↑87 и ↓0 +87
Комментарии 62