Search
Write a publication
Pull to refresh
0
Send message

Многопоточность в Unity средствами реактивных расширений

Reading time10 min
Views52K


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

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

Пудра для мозга или как сделать порошок для посудомойки в 9,7 раз дешевле

Reading time11 min
Views293K


Update
Новый вариант порошка и более подробный разбор во второй части: DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

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

Есть очень много областей нашей жизни, где наше представление формирует исключительно маркетинговый буллшит. Увы, большинство людей даже не пытаются задумываться о том, что лежит в основе всего этого. Очень часто рыночная ситуация приводит к тому, что себестоимость продукта составляет 0.5% от его цены. Остальное маркетинг, наценки, логистика, упаковка и тому подобное. Почти все в курсе про концепцию продажи чернил для принтера по цене слез гималайских девственниц и настойчивые рекомендации производителей использовать только оригинальные расходные материалы. Например, совсем недавно меня озарило, что 1.5 грамма сухого вещества во флаконе удобрений для растений не могут стоить 200-250 рублей. А ведь именно такое количество может уместиться в относительно стабильном состоянии в виде раствора. Я сразу представил себе гектары полей и грузовики, которые везут тонны порошка. В результате перешел на расфасовки по 1 кг Буйских комплексных сухих удобрений. Можно ванну раствора приготовить.

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

TLDR:

70% прокаленной соды и 30% стирального порошка вместо моющего средства.
Если очень лень возиться с содой, то просто порошок Биолан или его аналоги. Сода удешевляет.
Пищевая соль «Экстра» вместо соли.
Да начнутся адские эксперименты!

Обзоры мониторов: на что обратить внимание

Reading time6 min
Views41K
Привет, GT! Вчера мы выбирали комплектующие для бесшумного ПК, а сегодня поговорим о такой штуке, как мониторы. Обзоры различных дисплеев появляются и здесь, и на ресурсах, которые посвящены железу на все 100%, и часто они полны непонятных картинок, графиков и сложных слов в выводах.



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

Unity — Концептуальные идеи и подсказки для новичков игродева. Мощная оптимизация 2D проекта

Reading time5 min
Views38K
Ссылка на первую статью из этой серии.

Быстрое вступление

Я долго думал какую тему выбрать на этот раз, и решил, что расскажу про некоторые фишки, которые помогут оптимизировать вашу игру. Особенно это будет актуально для новичков, потому что чаще всего первая игра оказывается игрой для смартфонов и планшетов. А на мобилках, сколько бы там ядер не оказывалось — 6 или 8, игры все ещё очень несбалансированные в плане потребления ресурсов. Код и его идея, которые будут приводится в этой статье являются немного более сложными для понимания чем те две строчки кода, которые я приводил в своей предыдущей публикации. Хотя, я не правильно выразился — код легко понять — но порог вхождения в это понимание будет чуть выше чем легко (для новичков конечно), придется посидеть минут 5.

Введение в идею

Как вы создаете объекты в Unity из префабов? Только Instantiate и никак иначе — другой функции там просто не существует.

Для тех кто не помнит или еще не знает, что такое Instantiate (), маленькая справка — *аргументы инстанции*. Вот вы их создаете (объекты), и создаете, иногда удаляете, потом опять создаете, и так в течении всего уровня. Это бьёт по оптимизации и существенно — почему? Потому что так написано на всех форумах Unity, а иногда проглядывается и в документации, а документацию надо слушаться. Как Instantiate бьет по про производительности?
Читать дальше →

Возможности PostgreSQL, которых нет в MySQL, и наоборот

Reading time7 min
Views102K


Многие боятся переходить с «мускуля» на «посгрес» из-за того, что лишь смутно понимают, что это даст. Некоторых останавливает мысль, что наверно Postgres — это слишком сложная база и требует обучения. А также, что возможно чего-то придется лишиться в связи с переходом. Попробую немного прояснить ситуацию.
Читать дальше →

Запускаем приложение под Android (из личного опыта)

Reading time9 min
Views21K

Лично я считаю, у каждого человека должно быть хобби. Кто-то вяжет крючком, кто-то мучает паяльником печатные платы, а кто-то запускает различные маленькие проекты и получает новый опыт, а если повезет, то и деньги.
Так уж получилось, что у меня и моего коллеги именно такое хобби. И вот, при очередной беседе в скайпе вопрос о том, чего такого мы ещё не пробовали возникла мысль, давай сделаем приложение под Android? Всё закрутилось…

Забегая немного вперёд скажу, что во-первых, у этой истории скорее счастливый конец, а вовсе не полный провал, во-вторых, я понимаю, насколько то, что мы делали отличается от того, что делают специалисты в области мобильной разработки и вовсе не призываю никого повторить наш путь. В-третьих я делюсь своим опытом и хочу показать всем неспециалистам, что при должном уровне упорства и приложении сил можно заниматься чем-то совершенно новым, неизвестным. Надеюсь кого-то мой опыт вдохновит. Так отдельно хочу обозначит временные рамки проекта: начало разработки это 01.12.2014 года, 27.02.2015 — публикация в Goolge Playmarket, продолжение истории по настоящее время. Итак, поехали…

Разработка под Android? А почему бы и нет, кругом полно историй успеха и наоборот, неудачи, огромный рынок, большое количество пользователей, неизведанность, всё это манило и делало шило особенно острым.
Из отрицательных сторон такой затеи виделось прежде всего 2 стороны:
  • среди нас двоих нет настоящего программиста
  • нет некоторой яркой идеи, которая бы «взорвала» рынок

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

Тайные пожиратели

Reading time3 min
Views83K
Я выключил свет, «усыпил» компьютер, выдернул из розетки холодильник и посмотрел, какое потребление электричества показывает счётчик.



80 Вт. Это 700 Квт*Ч в год, за которые придётся заплатить до 3525 рублей!

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

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

Как купить в интернет-магазине ветрянку, коклюш и гормон роста

Reading time5 min
Views16K
Данная статья — ремейк материала годичной давности, поэтому значительная часть текста осталась без изменений. Но есть и новости в развитии проекта LAB4U, о которых стоит поведать миру. Итак, летом 2015 года на Гиктаймсе была опубликована статья “ИТ-системы в медицине”, автор которой побывал в крупной лаборатории БИОН, работающей в b2b сегменте. Мой рассказ о том, как можно с помощью интернет-сервиса LAB4U воспользоваться услугами лаборатории БИОН с большой выгодой для себя. Мы не стали копировать конкурентов, а разработали свою бизнес-модель, в основе которой лежит принцип “минимум затрат с сохранением высокого качества результатов”.

Первая мысль — а зачем было что-то изобретать? Попробуем разобраться. Все чаще сдавая кровь в государственной или частной клинике, мы видим результаты анализов на бланке крупной лаборатории. Объясняется это просто — дорогостоящее оборудование (а хороший анализатор стоит десятки, а некоторые и сотни тысяч долларов) окупает себя только в том случае, если есть большой объем исследований.

Если проводить аналогию, то медицинское учреждение — это магазин, а лаборатория — фабрика по производству анализов. Вспомним классическую схему движения товара от производителя к потребителю:

image

Учитывая то, что стоимость обследования на основные биохимические показатели крови (а это один из наиболее востребованных комплексов анализов), в среднем, составляет около двух с половиной тысяч рублей, возникает резонный вопрос: “неужели нельзя обойтись без наценки посредника?”. Если сейчас в интернете можно купить товар напрямую у производителя и значительно дешевле, чем в магазине, то почему нельзя аналогично поступить с анализами? Оказывается, уже можно.
Читать дальше →

Как без мата создать игру на Unity3D

Reading time9 min
Views129K

Пролог


В начале 2015 года я решил написать свою первую игру. В качестве движка я, не долго думая, выбрал Unity3D, так как у меня был опыт в C# и JavaScript, и знакомые, которые могли помочь. Я вспомнил одну мини-игру, в которую я играл в детстве, и решил сделать нечто похожее. Установил себе Unity и поставил себе цель сделать рабочий прототип за пару недель, параллельно изучая движок.

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

Вперед за новыми впечатлениями: 10 научно-фантастических романов

Reading time4 min
Views33K
image

Мы надеемся, что эти книги очаруют вас. Они имеют одну общую особенность — эти романы стоят того, чтобы их прочесть. Любители фантастики, запасайтесь кофе и печеньками — и вперед за новыми впечатлениями в неизведанные галактики!
Читать дальше →

OneNote 2013, или Как привести дела в порядок

Reading time5 min
Views90K


«Возьми себя в руки, тряпка!» — сказал я себе, когда понял, что работа скоро доконает. Или она тебя, или ты её.

Дорога в тысячу ли начинается с первого шага.
Первым шагом стала книга Дэвида Аллена «Как привести дела в порядок: искусство продуктивности без стресса». Точки над i расставил курс Максима Дорофеева «Джедайская техника пустого инбокса, или Как доводить дела до конца».
 
Нельзя питать иллюзий, ступив на тропу войны. Проблемы не заставили себя долго ждать. Работа на компьютере требовала автоматизации. Дело стало за малым, поиск подходящего программного обеспечения для Getting Things Done (GTD).

Бесконечные пробы GTD-программ не принесли счастья. Комфортной работе мешало большое количество данных.
Не получалось связать задачи и данные внутри одной GTD-программы. Поток писем складировался в Outlook, документы и другие файлы на диске, часть информации на web ресурсах и так далее. Решая дела, приходилось тратить время на поиск связанных с ними данных. Возникали проблемы с синхронизацией информации на разных устройствах и многое другое.
 
Но кто ищет, тот всегда найдёт! Выходом из патовой ситуации оказался Microsoft OneNote 2013, который простыми настройками легко превратился в полноценный GTD-инструмент. Только такой подход позволил преодолеть все проблемы и ощутить комфорт от использования GTD.
Читать дальше →

Проблема читов в онлайн-играх

Reading time8 min
Views86K


Большинство крупных многопользовательских игр рано или поздно сталкиваются с тем, что не все пользователи играют честно. В нашем шутере Warface в какой-то момент это стало ощущаться особенно сильно. Для борьбы с читерами мы используем целый комплекс решений. Одним из компонентов этого комплекса является наша внутренняя разработка под названием MRAC (Mail.Ru AntiCheat). После ее внедрения мы добились хороших результатов: среднее количество ежедневно улетающих в бан читерских аккаунтов упало с 17000 в начале года до 1500 сейчас, при том, что количество жалоб от пользователей на читеров существенно уменьшилось. На выявление подозрительной активности и блокировку аккаунта сейчас уходит примерно 5 минут, вместо прежних 20. Сейчас система распознает и реагирует на более чем 200 сигнатур читерского ПО и постоянно совершенствуется.
Читать дальше →

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

Reading time12 min
Views36K

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

Венгерский алгоритм в задаче слежения за множеством движущихся объектов

Reading time4 min
Views25K
Хочу рассказать об известном, но мало освещенном в литературе подходе к слежению за множеством движущихся объектов. Сложность этой задачи во многом заключается в том, что алгоритмы обнаружения и выделения объектов часто дают сбои, а сами объекты могут заслоняться другими объектами и элементами фона.

В общем случае решение задачи слежения содержит три основных этапа:
– выделение сегментов;
– установление соответствия между выделенными сегментами и отслеживаемыми объектами;
– уточнение или прогнозирование положения объектов интереса.

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

Еще один способ отключения сбора телеметрии в OC Windows 10

Reading time10 min
Views356K
Микрософт с помощью пасьянса и косынки учила пользователей пользоваться мышью,
теперь с помощью windows 10 учит читать лицензионное соглашение.

После выхода windows 10 сразу появились сообщения о сборе информации о действиях пользователей и много обсуждений, что делать. Достаточно быстро пользователи составили список основных серверов, собирающих информацию и попытались их заблокировать через файл hosts. Но скептики сразу выдвинули здравое предположение, что MS мог предусмотреть этот метод и некоторые адреса прописать в коде. Тем более, что MS всегда может актуализировать адреса серверов через windows update.

В нашей компании начали появляться первые пользователи windows 10, и мы решили опробовать блокировку передачи телеметрии через встроенный windows firewall.
Читать дальше →

Рецепты под Android: Как вкусно приготовить LayoutManager

Reading time16 min
Views49K
Привет хабр!

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


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

6 вопросов к прохожим на улице. 12 графиков с ответами. 2550 респондентов

Reading time6 min
Views11K
Тестирования? Web-Аналитика? Нет, большой уличный опрос!
Например, больше половины людей сравнивают вас примерно с 4 конкурентами.

Графики, конкретные цифры и никакой рекламы. Всё собрано в удобную статистику. Наслаждайтесь.

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

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

Блок-схема для выбора STL-алгоритма

Reading time1 min
Views28K


Третьего дня, во время сортировки старых закладок, попалась мне на глаза блок-схема с алгоритмом выбора STL-контейнера. «Почему же для контейнеров есть, а для стандартных алгоритмов нет? — подумал я. — Это необходимо исправить». Подумано — сделано. Сперва планировалось за пару часов нарисовать нечто простенькое, но в дальнейшем обнаружилось, что алгоритмы никак не хотят умещаться в простенькую схему. Я слегка увлекся, и спустя два вечера схема вобрала в себя 84 алгоритма, а также немного дополнительной информации. Под катом можно увидеть, что получилось в итоге.
Долой велосипеды!

Судебная практика о начислении НДС по free-to-play играм

Reading time2 min
Views5.2K
В конце прошлого года Арбитражным судом г. Москвы было принято решение по нашумевшему делу Мейл.Ру Геймз против ИФНС.

Суды трех инстанций поддержали позицию ИФНС о доначислении НДС по выручке Мейл.Ру Геймз от использования условно бесплатных онлайн-игр.

Какие риски несет данное решение для игровой отрасли и какие выводы можно в связи с этим сделать смотрите под катом.
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity