Search
Write a publication
Pull to refresh
13
0
Sergej Hof @sergof

Пользователь

Send message

Режимы смешивания в Unity

Reading time9 min
Views49K
Многие наверняка слышали о режимах смешивания (blend modes), которые присутствуют в большинстве популярных программ для работы с изображениями и видео. Там это — важный инструмент создания контента, давно уже ставший неотъемлемой их частью.

А что же в играх?

Допустим, появилась необходимость использовать Color Dodge смешивание для системы частиц или UI-художник сделал красивую графику для игрового интерфейса, но некоторые его элементы используют какой-нибудь Soft Light. А может, вам понадобилось подвергнуть трёхмерный объект Divide-смешиванию, чтобы получить эффект прямиком из кинокартин Линча?



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

Обнаружена уязвимость в iOS 8, выводящая устройства из строя в зоне действия точки доступа Wi-Fi

Reading time1 min
Views24K


Компания Skycure на международной конференции, посвященной проблемам информационной безопасности, представила информацию об уязвимости, найденной в операционной системе iOS 8. Данная уязвимость позволяет в зоне действия сети Wi-Fi запускать на устройстве бесконечный цикл перезагрузки. Таким образом, пользователь лишается возможности как-либо воздействовать на устройство: гаджет перезагружается моментально при запуске, не давая войти в меню.
Читать дальше →

Хорошо ли вы знаете linear-gradient?

Reading time7 min
Views31K
Работа над переводом статьи о проекте singlediv.com показала, что некоторые инструменты CSS имеют более широкое применение, чем я привыкла думать. Но для того чтобы суметь найти это применение, необходимо четко понимать особенности свойства. Ярким примером стал linear-gradient, который Линн Фишер виртуозно использовала в своих работах.

Хотите сделать симпатичный градиентный фон на своем сайте? background-image: linear-gradient(red, blue); готово! Да, это немного скучно. Поэтому, если вы хотите чего-то большего, рекомендую вам эту статью с советами по css и MDN страницу. Вы еще здесь? Тогда давайте рассмотрим некоторые моменты, как на самом деле работают линейные градиенты. Для начала, давайте вспомним синтаксис, который можно использовать в функции линейного градиента:
Читать дальше →

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

Reading time2 min
Views18K

Ребята из Киберленинки запустили отличную инциативу на РОИ, которая предполагает введение тотального открытого доступа для всех (финансируемых государством) результатов научных исследований в РФ.

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

Открытый доступ способствует развитию сервисов, основанных на научных данных, в том числе коммерческих (аналогов ORCID, DOI, сервисов построения и анализа фронтов науки, экспертных систем, систем распознавания плагиата, баз знаний, наукометрических и аналитических сервисов, мобильных приложений и др.).
Узнать зачем еще это надо

Ubuntu против Windows: а воз и в 10.10 там

Reading time5 min
Views13K
«Ah, Ubuntu, my favourite linux-based operating system»
Шелдон Купер


Операционную систему Linux Ubuntu очень люблю и желаю ей процветания. Поэтому сейчас буду на нее очень ругаться.

Думаю, что настал очень удачный момент для того, чтобы отъесть долю рынка операционок у Microsoft. Думаю, что компания Canonical с ее идеологией «линукса для людей» — как раз те люди, которые теоретически могли бы этим моментом воспользоваться, причем они и сами называют главной собственной проблемой доминирование Microsoft на рынке. И при этом думаю, что компания Canonical сейчас этот момент упустит по собственной глупости.

Читать дальше →

Продвижение инди-игры на Steam Greenlight

Reading time11 min
Views97K
Всем, привет! Наша команда сейчас проходит важный этап становления любого разработчика игр — первый запуск игры на Steam Greenlight. Пока я готовил материал для этой статьи, наша игра вошла в ТОП-100 проектов на Greenlight, набрала почти 2000 голосов «ЗА» и через 12 дней получила зелёный свет.

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

image
Читать дальше →

Как создать мощную систему игровых достижений

Reading time9 min
Views41K
Признаюсь, раньше я испытывал особую неприязнь к игровым достижениям. Сейчас мне сложно вспомнить откуда растут ноги, но я не исключаю, что из-за ужасной реализации в большинстве игр. Кто старое помянет — тому глаз вон, поэтому просто признаем неоспоримый факт: геймдизайн с тех пор сильно эволюционировал.



Хотя игровые достижения не должны быть основной целью в вашей игре, это не мешает им существенно влиять на поведение игрока и его вовлеченность. Давным-давно, на одном из крупных проектов передо мной поставили масштабную задачу: создать мощную систему игровых достижений. В течении следующих 30 месяцев, я, как раб на галерах, провел за проектированием и тестированием различных систем достижений в сотнях игр. Меня поглотила бесконечная обработка данных: игровых комментариев, постов на форумах, непосредственное общение с игроками, изменения в игровых рейтингах. Я совершил и продолжаю совершать кучу ошибок, но я также усвоил несколько бесценных уроков. И эти знания нельзя держать в секрете…
Перейти к урокам

Dagaz: Пинки здравому смыслу (часть 5)

Reading time11 min
Views15K
imageПо обеим сторонам нашего плоского бытия
бесконечно глубоко и далеко
простирается сама жизнь.
 
         Чарлз Ховард Хинтон «Эпизод из жизни Флатландии»
 
 

— Надо было ходить пешкой на е-один-дельта-аш…
— Тогда летит четвертый конь.
— Пусть. Пешки выходят в пространство слонов…
— Какое пространство слонов? Где ты взял пространство слонов?! Ты же девятый ход неверно записал!

Многие наверняка помнят этот отрывок из незабвенного "Полдня" Аркадия и Бориса Стругацких. Люди «Полдня» почти такие же как мы, но умнее и лучше нас. Они покоряют космос и играют в четырёхмерные шахматы. Авторы "Звёздного пути" также не обошли тему настольных игр стороной, но, в их случае, Спок играет в шахматы в трёх измерениях:



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

Задача о двух старушках, которые отправились в путь на рассвете

Reading time2 min
Views73K
Условие задачи из знаменитой книги В.И.Арнольда «Задачи для детей от 5 до 15 лет»:
Из A в B и из B в A на рассвете (одновременно) вышли навстречу друг другу (по одной дороге) две старушки.Они встретились в полдень, но не остановились, а каждая продолжала идти с той же скоростью, и первая пришла (в B) в 4 часа дня, а вторая (в A) в 9 часов вечера. В котором часу был в этот день рассвет?

Предлагаю вам послушать (МР3) обсуждение этой задачи на радио «Говорит Москва» (С.Доренко, А.Оношко), и попробовать решить ее, прежде, чем лезть под кат, чтобы сравнить…
три варианта решения

Левитрон на Arduino

Reading time2 min
Views96K
Добрый вечер! В этой публикации я расскажу о своей маленькой самоделке, задумал которую я достаточно давно.

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

Естественно, захотел собрать себе такую игрушку, но, поискав в интернете, к своему удивлению обнаружил(по крайней мере на тот момент), что большинство схем были исключительно аналоговыми. Так как в аналоговой технике я понимаю мало, решил «изобрести» левитрон заново. Для экспериментов под рукой оказался Arduino Uno. Заказал в Китае линейный датчик Холла (что такое эффект Холла), а именно UGN3503UA, насобирал некоторое количество старых трансформаторов для намотки пробных катушек и приступил к экспериментам.

Вот что из этого получилось:


Читать дальше →

Как я делал Torrent-Box на Raspberry Pi

Reading time2 min
Views101K

Торрент-бокс


Этот девайс на базе Raspberry Pi Model B был предназначен сначала для скачивания и раздачи торрентов, а затем появилась идея повесить туда же функции e-Mule-совместимой качалки и TOR-анонимайзера.

Вначале я думал использовать в качестве бесшумной и малопотребляющей торрентокачалки медиацентр Iconbit hds6l, подключенный по Wi-Fi к роутеру. Но быстро выяснилось, что кириллицу в названиях файлов он понимает плохо, да и Wi-Fi часто отвисает намертво, так что помогает только выключение питания.

В результате моих изысканий появилась вот такая конструкция:

image
Читать дальше →

Приемы при проектировании архитектуры игр

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

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

В публикации рассматриваются следующие темы:
  • Наследование VS компоненты
  • Сложные иерархии классов юнитов, предметов и прочего
  • Машины состояний, деревья поведений
  • Абстракции игровых объектов
  • Упрощение доступа к другим компонентам в объекте, сцене
  • Сложные составные игровые объекты
  • Характеристики объектов в игре
  • Модификаторы (баффы/дебаффы)
  • Сериализация данных

Читать дальше →

Принципы анимации для веба

Reading time8 min
Views94K
Примечание переводчика: Представленный ниже материал содержит значительное количество технических терминов, при переводе которых могут возникнуть неточности. Если вы заметили опечатку, ошибку или неточность перевода — напишите нам, и мы оперативно всё исправим.

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




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

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

Must-know для iOS-разработчиков

Reading time3 min
Views16K
10 недель назад мы запустили проект для iOS-разработчиков под названием Digest MBLTdev. После первого выпуска количество подписчиков превысило 1 000 человек. Как это работает? Наши топовые разработчики Руслан Гуменный и Саша Черный изучают материалы в сети, тщательно отбирают ссылки, которые не должны остаться без внимания, и формируют из них пятничный выпуск. Далее выпуск отправляется всем подписчикам на указанный имейл или по Safari Push Notifications.

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


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

14 советов, как сделать вкладки на сайте удобнее

Reading time5 min
Views36K
image

Вкладки издавна используются, чтобы дать пользователю некую информационную альтернативу на одном уровне программной структуры. Это «модульные вкладки», которые все еще можно встретить на различных сайтах. Так, например, на порталах авиакомпаний Ryanair, EasyJet, AirMalta модульные вкладки используются для переключения между бронированиями полетов и отелей, а также прокатом автомобилей.

С ростом количества сайтов вкладки стали применять для навигации. Такой подход впервые использовал Amazon в 1998 году. И хотя он в итоге отказался от навигации с помощью вкладок в 2007, все еще существуют отличные оригинальные примеры их использования как для модульных переключателей, так и для навигации. В этой заметке я (автор статьи – прим. переводчика) приведу список из 14 советов, которые вы можете применять как перечень необходимых условий, чтобы вкладки были наиболее удобными для пользователей.
Прочитать советы

Разбираемся в трендах веб-дизайна

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

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

Итак, поехали.
Читать дальше →

Путь постижения AppStore или сколько стоит опыт?

Reading time6 min
Views33K


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

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

Гомоморфное шифрование

Reading time3 min
Views53K

Что это такое?


Полностью гомоморфное шифрование (Fully Homomorphic Encryption) очень долго было самым ярким открытием в молодой и бурно развивающейся области Computer Science — криптографии. Вкратце, такой тип шифрования позволяет делать произвольные вычисления на зашифрованных данных без их расшифровки. Например, гугл может осуществлять поиск по запросу не зная, что это за запрос, можно фильтровать спам, не читая писем, подсчитывать голоса, не вскрывая конверты с голосами, делать DNA тесты, не читая DNA и многое, многое другое.
image
То есть, человек/машина/сервер, производящий вычисления, делает механические операции с шифрами, исполняя свой алгоритм (поиск в базе данных, анализ на спам, и т.д.), но при этом не имеет никакого понятия о зашифрованной внутри информации. Только пользователь зашифровавший свои данные может расшифровать результат вычисления.

Здорово, правда? И это не из области фантастики — это то, что уже можно «теоретически» воплотить в жизнь.

Читать дальше →

Почему одного AJAX недостаточно: протокол WAMP

Reading time6 min
Views33K
AJAX-вызовы вывели работу web на новый уровень. Уже не нужно перезагружать страницу в ответ на каждый ввод информации пользователем. Теперь возможно отправлять вызовы на сервер и обновлять страницу на основании полученных ответов. Это ускоряет работу интерактивного интерфейса.

А вот что AJAX не обеспечивает – так это обновления с сервера, которые необходимы для работы приложения в реальном времени. Это могут быть приложения, в которых пользователи одновременно редактируют один документ, или уведомления, рассылаемые миллионам читателей новостей. Необходим ещё один шаблон для рассылки сообщений, в дополнение к запросам AJAX, который бы работал в разных масштабах. Для этого традиционно используется шаблон PubSub («publish and subscribe», «публикация и подписка»).

Какую задачу решил AJAX


До появления AJAX интерактивные взаимодействия со страницей были тяжеловесными. Каждое из них требовало перезагрузки страницы, которая создавалась на сервере. В этой модели основной единицей взаимодействия была страница. Неважно, какой объём информации отправлялся из браузера на сервер – результатом была полностью обновлённая страница. Это была трата как трафика, так и серверных ресурсов. И это было медленно и неудобно для пользователей.

AJAX решил проблему, разбивая всё на части: стало возможным отправить данные, получить конкретный результат и обновить лишь часть страницы, имеющую к этому отношение. От вызова «дай мне новую страницу» мы перешли к конкретным запросам данных. У нас появилась возможность делать вызовы удалённых процедур (RPC).
Читать дальше →

Как перестать беспокоиться и начать жить без Flash

Reading time5 min
Views163K
В этой статье — небольшая мотивационная часть и рабочий сценарий, как полноценно жить в сети без Flash-плагина

Сценарий будет состоять из трёх рецептов:


  • Рецепт для сайтов, замечающих Flash через feature detection.
  • Рецепт для сайтов, которые обращают внимание на User agent.
  • Рецепт для сайтов, которые просто всегда дают Flash.
  • + Запасной вариант на случай, если Flash понадобится.

Советы будут снабжаться примерами для Safari и Firefox.
Если вы полностью довольны Flash, не беспокоитесь и не планируете от него отказываться — это практическое руководство вам будет не интересно
Читать дальше →

Information

Rating
Does not participate
Location
Atirro, Cartago, Коста-Рика
Date of birth
Registered
Activity