Pull to refresh
24
0
Ярослав Черных @Bytexpert

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

Send message

Типографика фильма «Чужой»

Reading time14 min
Views42K
image

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

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

Начальные титры «Чужого» — настоящий шедевр типографики. Можно посмотреть их целиком на сайте Art Of The Title. Если вкратце, их смысл таков: медленное, постепенное появление частей букв модифицированного шрифта Helvetica Black в течение 90 секунд раскрывает основную тему фильма.
Читать дальше →
Total votes 101: ↑100 and ↓1+99
Comments51

Очередной гайд по HTML-элементам, которые можно использовать в каждом проекте

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

Для исправления этой ситуации я взял следующие элементы: header, nav, main, section, article, aside, address, и покажу, как их использовать.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments6

Как без усилий сократить объем входящего в дата-центр трафика на 70%

Reading time6 min
Views31K

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

Единственное, о чем мы пожалели — что не применили это решение раньше.

Читать далее
Total votes 137: ↑136 and ↓1+135
Comments53

Алгоритм быстрого и простого объёмного рендеринга

Reading time9 min
Views14K

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

У моего ShaderToy были три основные задачи:

  1. Выполнение в реальном времени
  2. Простота
  3. Физическая корректность (… или типа того)

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

  1. Трассировка лучей непрозрачных объектов. Все объекты являются примитивами с простыми пересечениями с лучами (1 плоскость и 3 сферы)
  2. Для вычисления освещения используется затенение по Фонгу, а в трёх сферических источниках света применется настраиваемый коэффициент затухания света. Лучи теней не требуются, потому что мы освещаем только плоскость.

Вот как это выглядит:

ShaderToy screenshot
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments6

Популярные ошибки в английском среди IT-специалистов

Reading time4 min
Views32K
image

Основываясь на многолетнем опыте преподавания английского специалистам IT-сферы (программистам, бизнес аналитикам, тестировщикам, маркетинговым специалистам), я собрала список наиболее распространенных среди “айтишников” ошибок в английском языке.
Читать дальше →
Total votes 49: ↑45 and ↓4+41
Comments135

Как выучить английский самостоятельно, если нет времени

Reading time5 min
Views43K

Привет, читатель! Предлагаю тебе хотя бы на 5 минут ни на что не отвлекаясь прочитать начало статьи дабы полностью ощутить главное правило, которое поможет тебе достичь любого уровня в английском.



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

Читать дальше →
Total votes 32: ↑23 and ↓9+14
Comments42

Эксперимент: как научиться создавать популярные тексты на английском (и почему англоязычный Хабр так мало читают)

Reading time5 min
Views19K


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

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

Примечание: методология мини-исследования не особенно научная, но, на мой взгляд практическая. Мне полученные результаты кажутся интересными и полезными, но не стоит считать их истиной в последней инстанции.
Читать дальше →
Total votes 82: ↑74 and ↓8+66
Comments118

Как суровые челябинские разработчики делают игры для Google Play и соцсетей

Reading time10 min
Views6.8K


Мы взяли интервью у Алексея Дмитриева, CEO Duck Rockets — инди-студии из Челябинска. Ребята делают игры для соцсетей, а в 2017 они выпустили свою первую мобильную игру — Bon Voyage. Весной 2019 у игры появился издатель.

Алексей рассказал Nitro, зачем выходить на маленькие локальные рынки, почему они не пытаются пробиться на китайский рынок, в чем сложность выпуска детских приложений и нужно ли одеть главную героиню в паранджу, чтобы игра пришлась по вкусу пользователям в Иране.
Total votes 10: ↑6 and ↓4+2
Comments6

Кейс от Narcade: разработчики из Турции рассказывают о локализации мобильных игр и турецком игровом рынке

Reading time5 min
Views1.9K


В этой статье мы поделимся с вами опытом компании Narcade — разработчика мобильных игр из Стамбула. Они выпустили Farm Bubbles, Ignis и Zipline Valley — игры, которые стали успешными по всему миру. Мы поговорим об их опыте в локализации мобильных игр для Европы и Азии, а также о рынке мобильных игр в Турции.

Narcade была основана в 2011 группой независимых разработчиков. Сначала они выпускали флеш-игры, но позже перешли на мобильные игры, которые как раз начинали набирать популярность.

Narcade локализовали много игр: Farm Bubbles, Bubble Popland, Zipline Valley, Ignis, Bubble Friends, Gummy Dash и Starship Shooter. Все они доступны и в Google Play, и в App Store.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments1

Циклическая генерация подземелий на примере Unexplored

Reading time2 min
Views8.5K
image

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

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

В dungeon crawler'е Unexplored использован фундаментально иной подход (см. рисунок 1). Вместо линейных путей в качестве самой базовой структуры он изначально использует циклы. Разница оказывается поразительной: при старом подходе хорошие и интересные циклы могли возникать случайно, а в Unexplored они являются запланированной особенностью результата работы генератора.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments0

Что еще за Defold и с чем его едят?

Reading time7 min
Views28K
image

Это небольшой разбор игрового движка Defold на практическом примере(под Andoid), а также немного субъективной критики и похвалы, ну вообщем обзор. Кому интересно узнать об этом двигателе больше, есть одно интервью, почитайте. Информации о Defold в сети мало, так что это будет вклад в очень небольшую копилку.
Читать дальше →
Total votes 10: ↑7 and ↓3+4
Comments0

Как разработчики процедурно создали кучу «мусорных» мобильных игр и заработали 50 тысяч долларов

Reading time8 min
Views75K

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

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

Участие в обычном гейм-джеме привело к созданию машины обработки данных, которой в результате удалось заработать приличную сумму: 50 тысяч долларов за два с лишним года. Спустя годы, имея на руках данные (и деньги), разработчики этой машины по изготовлению игр, которая создавала только «мусорные» слот-автоматы с моделью free-to-play, использовали GDC как трибуну, чтобы подать тревожный сигнал индустрии, в которой «правильное» поведение часто ограничивается вниманием к игрокам, заискиванием перед издателями и сбором положительных обзоров критиков. В случае этих разработчиков нарушение всех этих правил привёл к слишком успешным результатам, вызвав у них сильный дискомфорт.

Побеждаем в «гонке ко дну»


Вернёмся в 2013 год: в то время два разработчика видеоигр уже несколько лет пытались добиться успеха на растущем рынке мобильных игр. Один из них, Алекс Шварц, помогал в создании качественной мобильной игры Jack Lumber. (В прошлой жизни я даже написал о ней хороший отзыв в уже несуществующем журнале The Daily, работавшем только на планшетах.) Второй, Зиба Скотт, разработал приятную мобильную головоломку Girls Like Robots.

Обе игры использовали модель «заплати один раз» без микротранзакций. Обе получили награды, известность, хорошие отзывы на выставках и обрели издателей. Обеим не удалось добиться успеха.
Читать дальше →
Total votes 125: ↑123 and ↓2+121
Comments63

Прокрастинация как инструмент перемещения во времени

Reading time4 min
Views20K
Все люди делятся на нормальных и прокрастинаторов, и последних абсолютное большинство. Мы разобрались и выявили два типа прокрастинации: неустранимую, которая приводит к неразрешимым жизненным проблемам и болезненным психологическим эффектам, и устранимую, при которой человек даже после наступления критического момента времени всё равно выполняет необходимую работу в срок.

Под катом мы приводим случаи перемещения прокрастинаторов типа PRO как в прошлое, так и в будущее, рассчитываем скорость подобных перемещений, а также влияние прокрастинации на жизнь до и после дедлайнов.

Статью мы сопроводили строгими математическими расчетами, а также данными эксперимента, который был проведён на шестерых добровольцах. С этой работой мы выступали на крупнейшей Антинаучной конференции, которая в этом году пройдет 4 мая. Так что можете нам доверять (ну или нет, ведь сегодня 1 апреля).


Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments4

Разрабатывать приложения под Android — словно быть (демонетизированным) ютубером

Reading time14 min
Views42K
Как известно, некоторые авторы на YouTube крайне недовольны условиями, которые предлагает эта платформа. Аналогичное сражение сейчас ведут разработчики Android-приложений на платформе Google Play. Попытаюсь за 20 минут объяснить, что не так с Android.

Когда-то Android считался лучшей мобильной платформой: контроль, настраиваемость, продвинутые функции, реальная многозадачность, поддержка даже редких случаев использования и свобода разработчиков. Это была лучшая платформа для науки и образования: во-первых, инструменты разработки свободны и кросс-платформенны, во-вторых, Android был очень гибкой ОС, которая не мешала экспериментировать с инновационными концепциями и возиться с оборудованием. Теперь всё это быстро исчезает.

Раньше основные релизы Android приносили новые функции, которые радовали и разработчиков, и пользователей. Но с какого-то момента я уже начал бояться анонсов новых версий, и до сих пор ищу в себе силы (хех), чтобы посмотреть на список изменений и рекомендации для разработчиков к последнему релизу. И новые версии — это не единственная причина для нервотрёпки: изменения в политике Google Play Store тоже всегда забавно читать.
Читать дальше →
Total votes 95: ↑88 and ↓7+81
Comments169

Джедайские техники мобильного разработчика: как монетизировать приложение в 2019?

Reading time7 min
Views6.7K
image

Сколько сил и средств нужно, чтобы приложение начало приносить доход? Почему мобильные разработчики — ни разу не миллионеры, и где находится стеклянный потолок в рекламной прибыли? Ребята из Appgrow проанализировали 320+ приложений и рассказали о главных ошибках разработчиков, которые срезают им до 40% рекламной прибыли.
Читать дальше →
Total votes 9: ↑7 and ↓2+5
Comments2

Дизайн и математика игр-кликеров

Reading time25 min
Views85K
image

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

Что такое инкрементная игра?


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

В сущности, такова общая структура «инкрементной» игры. Она кажется простой, даже примитивной, но в игровом процессе есть неожиданная глубина и привлекательность. Стили игры могут быть разными — от коммерчески успешных и казуальных Clicker Heroes и AdVenture Capitalist до более экспериментальных или хардкорных примеров, таких как Candy Box, Cookie Clicker и Sandcastle Builder.


Cookie Clicker, самое начало.

Что же самое важное в инкрементной игре? Хотя в этом жанре есть множество вариаций и экспериментов, фундаментальными аспектами дизайна являются:

  1. наличие хотя бы одной валюты или числа,
  2. которые увеличиваются с заданной скоростью с минимальными усилиями, или вообще без усилий,
  3. и которые можно тратить на увеличение скорости прироста.

Именно цикл накопления, реинвестиций и ускорения определяет основы жанра и отличает его от игр, в которых присутствует просто увеличивающийся счёт. Например, в примечательной Cookie Clicker игрок стремится к росту количества «печенек», которое изначально увеличивается нажатием на огромное печенье, а потом тратит печенье на покупку апгрейдов, позволяющих создавать ещё больше печенья.
Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments36

Опыт создания игры для Android в одиночку с нуля и как ее зафичерили на Google Play

Reading time3 min
Views108K
Привет! Меня зовут Ибрагим, я — начинающий инди-разработчик. У меня всегда было желание заняться программированием, но меня отпугивала сложность и неопределенность выбора (что именно изучать и делать). И лишь 2 года назад я все-таки преодолел этот психологический барьер, смог высвободить достаточно времени, и решил уже основательно подойти к задаче. Я был решительно настроен найти и освоить профессию, от которой я бы получал кайф.

Сужать круг поиска, чем именно заниматься, было тяжело. Знакомых в этой области не было, поэтому решил отталкиваться от каких-то общих соображений. Так как в приоритете было в первую очередь найти что-то интересное, выбор пал на геймдев. Понравилась идея для начала сделать простенькую 2D-игру под Android и выложить на Google Play.
Читать дальше →
Total votes 26: ↑21 and ↓5+16
Comments23

Состояние алгоритма: что происходит с инди-разработчиками в Steam?

Reading time7 min
Views9K
image

Бизнес создания инди-игр всегда был сложным, но недавно он стал ещё сложнее. 5 октября прошлого года Valve объявила о внесении изменений в алгоритмы Steam, которые привели к уменьшению трафика у игр, не ставших бестселлерами. Это уже вредит инди-разработчикам, но я думаю, мы только начинаем ощущать влияние этих перемен.

Возможно, вы знаете об «октябрьском баге» (October Bug) Steam, и, возможно, слышали. что этот баг устранили. Но ситуация несколько сложнее. К сожалению, никто за пределами Valve не знает точно, что происходит; данные просто недоступны. Но я, как смог, постарался проанализировать ситуацию.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments17

Почему для инди раньше трава была зеленее

Reading time3 min
Views20K
Уверен, многие хабровчане любят продукцию независимых студий и разработчиков, или, в простонародье, инди-продукты. Наверняка, почти у всех при упоминании этого термина всплывают теплые воспоминания о какой-нибудь игре, которая создавалась вопреки законам, диктуемым рынком.

Но не приходила ли вам в голову мысль, что лучшие времена инди-разработки уже позади? Я хотел бы, чтобы эта мысль была ошибочной, но Google Trends по запросу «indie games» были беспощадны:

Trends

И подобную статистику можно увидеть почти в любом запросе, касающемся инди-индустрии. Также не редкостью стали статьи, о падениях средних доходов инди-разработчиков вроде этой.
Под катом попробуем разобраться в причинах затухающей популярности инди.
Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments53

Хватит разрабатывать софт с запасом

Reading time6 min
Views12K

Или делайте это правильно


Если выбрать одну идею, которая убивает больше всего продуктов, то это создание запаса на будущее (future proofing).

Обычно идея проявляется по схеме.

Нам нужен {X}, и хотя сделать {Y} гораздо легче, но при наступлении {Z} первый вариант упростит нам жизнь.

Где {Z} — событие, которое может произойти в далёком будущем.

Вот несколько примеров:

  • Для инфраструктуры нужны Kubernetes и Docker, хотя один большой сервер гораздо проще, но когда придётся масштабироваться до 11-ти серверов, это упростит нам жизнь.
  • Для обработки данных нужен распределённый дизайн, хотя централизованное решение гораздо проще, но когда клиент потребует 99,999% безотказной работы в SLA, это упростит нам жизнь.
  • Нужно набрать команду разработчиков и создать собственное программное обеспечение, хотя Wordpress и Shopify гораздо проще, но когда клиентская база вырастет в 100 раз, это упростит нам жизнь.
  • Нужно использовать дизайн на основе наследования типов, хотя композиция гораздо проще, но после 5 лет увеличения кодовой базы это упростит нам жизнь.
  • Нужно написать код в C++ с кэшированием представлений, хотя Python-скрипт с прямыми запросами к Postgres гораздо проще, но при большом увеличении объёма данных это упростит нам жизнь.

Недавно я написал статью о воображаемых проблемах, которые люди придумывают себя со скуки, а не для пользы. Создание запаса на будущее обычно относится к этой категории. Я бы даже сказал, что это самая популярная ошибка в большинстве маленьких компаний.
Читать дальше →
Total votes 48: ↑41 and ↓7+34
Comments101
1
23 ...

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity