Как стать автором
Обновить
24
0
Максим Анархистов @ozonar

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

Отправить сообщение

Графика для инди игр. Что делать если кругляшки и палочки вас не устраивают

Время на прочтение3 мин
Количество просмотров26K
И снова добрый день. Вчера я опубликовал статью по разработке игры на Kotlin и вполне ожидаемо первый блин вышел комом. Ну да ничего страшного, любая ошибка это опыт. Главное сделать правильные выводы и двигаться дальше. Что было неправильно вчера и что я рассчитываю исправить сегодня. Не стоит мешать в кучу разные материалы, это первое. И второе — имеет смысл сдобрить статью иллюстрациями и ссылками на внешние источники. Итак, погнали.

Графика, это первое что бросается в глаза пользователю, запустившему ваше приложение. И хотя в Google Play есть несколько игр чисто текстовых, это исключение из правил. И в разработке подобных игр без сомнения полно своих подводных камней. Что же следует сделать инди-разработчику, чтобы не провалить то самое первое впечатление? В первую очередь следует на первых этапах разработки определиться с основным интерфейсом. Есть несколько практик как сделать это быстро и дешево:
Читать дальше →
Всего голосов 37: ↑30 и ↓7+23
Комментарии15

Стилофон – воскресший хит 70-х или «сенсорный» кошмар Дэвида Боуи

Время на прочтение6 мин
Количество просмотров56K
Около года назад в эфире станции «Своё Радио» мне довелось услышать одну удивительную группу, с которой фактически и начался этот пост. Этим коллективом стали родоначальники тяжёлого психоделического твиста, петрозаводской квинтет «Громыка». Меня очень заинтересовали достаточно необычные звуки солирующего инструмента, который использовал коллектив. Сначала я подумал, что ребята используют какой-нибудь Moog или чем-то обработанный Терменвокс.



Особенности исполнения говорили о том, что это не клавишный синтезатор и не бесконтактная «скрипка» Термена. Просмотр видео показал, что музыкант коллектива использовал странную штуку, размером со старый портативный радиоприёмник, с металлической панелью вместо клавиатуры, по которой водят двумя контактными стержнями. Источником «магических», протяжных, выразительных и в тоже время достаточно резких звуков оказался стилофон (если совсем точно Styllophone 350S образца 1970-го года). Я решил разобраться с тем, что это за штуковина, как она работает, где и кто её использовал, а также какие современные инструменты этого типа используют сейчас.
Всего голосов 33: ↑32 и ↓1+31
Комментарии45

Топ 15 бесплатных Unity ассетов для начинающего 2D разработчика

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

Введение


Unity3D – безумно удобная среда, которая многое делает за нас. Именно поэтому она сейчас так востребована: разработка игр при правильном подходе становится не сложнее сборки конструктора.

Сама платформа Unity предоставляет широкий набор инструментов, но иногда не хватает и их. Тогда в дело вступает Asset Store с миллионами ассетов, моделей и примеров проектов.



Если у вас еще мало опыта в разработке приложений, имейте в виду: Asset Store – это огромный склад велосипедов, которые уже изобрели до вас. При этом там можно найти очень много бесплатного контента, или же контента по цене одной чашки кофе (сэкономьте на латте!).

Почему мы посвятили статью именно 2D играм? Посмотрите на рынок: 2D игры сейчас переживают ренессанс. Чтобы в этом убедиться, достаточно взглянуть на инди-сектор в Steam, Ketchapp и Zeptolab в мобильной разработке. 2D игры давно превратились из отжившего свое сектора в отдельную процветающую нишу рынка. Поэтому если вы решили делать 2D игру на Unity, сначала убедитесь, что у вас в арсенале есть все нужные инструменты, чтобы обеспечить должное качество продукта.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии4

Пять шагов к спасению Linux-сервера, который рухнул

Время на прочтение10 мин
Количество просмотров46K
Мне доводилось видеть множество Linux-серверов, которые, без единой перезагрузки, работали годами, в режиме 24x7. Но ни один компьютер не застрахован от неожиданностей, к которым могут вести «железные», программные и сетевые сбои. Даже самый надёжный сервер может однажды отказать. Что делать? Сегодня вы узнаете о том, что стоит предпринять в первую очередь для того, чтобы выяснить причину проблемы и вернуть машину в строй.

image

И, кстати, в самом начале, сразу после сбоя, стоит ответить на весьма важный вопрос: «А сервер ли виноват в том, что случилось?». Вполне возможно, что источник проблемы совсем не в нём. Но, не будем забегать вперёд.
Читать дальше →
Всего голосов 36: ↑34 и ↓2+32
Комментарии21

Как сделано интро на 64k

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

Введение в интро


Демосцена — это о создании классных штук, которые работают в реальном времени (как бы «крутятся в вашем компьютере»). Их называют демки. Некоторые из них по-настоящему маленькие, скажем, 64k или меньше — такие называются интро. Название происходит от рекламирования или представления взломанных программ (crack intro). Итак, интро — это просто маленькая демка.

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

Бинарник под Windows: guberniya_final.zip (61.8 kB) (немного ломается на картах AMD)
Всего голосов 91: ↑90 и ↓1+89
Комментарии24

«Эфир без грязи»: как делать «чистое» радио

Время на прочтение7 мин
Количество просмотров20K
Потребители любого продукта хотят получать качество, при этом не важно, товар это или услуга. Но одна из самых требовательных, чутких и капризных аудиторий — это люди, потребляющие медиа (ТВ, радио, газеты, информагентства и даже сообщества в соцсетях).

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

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

Фото Rae Allen CC

Вот такое сообщение однажды пришло на одну из популярных радиостанций:

«Уважаемые радийщики! Слушаю любимую радиостанцию, и понимаю, что вы там все, кажется, ***[с ума посходили]. Звук из левого канала громче, чем из правого.

Слушать невозможно. Скатились вы, ребята»

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

И тем не менее, количество негатива можно снизить, соблюдая несколько простых правил. От «сумасшедших», конечно, избавиться не получится, но без «грязи» в эфире отрицательных отзывов будет гораздо меньше. В этой статье расскажем, как работать «чисто».
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии74

Как написать чат-бота на PHP для сообщества ВКонтакте

Время на прочтение11 мин
Количество просмотров65K
На текущий момент большинство крупных сообществ ВКонтакте уже имеют ботов, актуальность этой темы обуславливается огромным спросом на круглосуточную работу приложения, оповещение при вступлении в сообщество и выходе из него, рассылку информационных сообщений, именно бот сообщества ВКонтакте может решить эти задачи. В статье мы рассмотрим решение основных задач, которые часто возникают в любом крупном сообществе.
Читать дальше →
Всего голосов 19: ↑10 и ↓9+1
Комментарии15

Роскомнадзор пытается добить Rutracker. Блокировки серверов-анонсеров и методы обхода

Время на прочтение5 мин
Количество просмотров121K
image

Rutracker толком не потерявший свою аудиторию вполне закономерно вызывает недовольство Роскомнадзора и других ведомств. Они все-таки старались, деньги тратили, выступали с заявлениями, а оно все работает и помирать не собирается. Под блокировкой был основной сайт rutracker.org, который, по сути, был просто каталогом magnet-ссылок и torrent-файлов. Новый виток борьбы привел в добавлению в списки блокировок серверов-анонсеров. Именно они поддерживают инфраструктуру ресурса и позволяют отдельным пирам найти друг друга.

Update
2 мая СМИ запестрели заголовками о начале массовой блокировки всех анонсеров и зеркал Rutracker: lenta.ru, Вести, Известия, Ведомости. Однако в интервью Газете.Ру представитель Роскомнадзора сообщил, что блокировки проводятся в плановом режиме и ничего глобального в плане тотальных блокировок они не производили за последние дни.
«Мы не проводим никакие массированные атаки. Мы ведем целенаправленную работу по повышению эффективности блокировки пиратского контента», — подчеркнул пресс-секретарь Роскомнадзора в беседе с корреспондентом «Газеты.Ru».

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

Тем не менее проблема реальна, сервера блокируются, а в посте есть полезные ссылки на открытые трекеры. Поэтому решил не удалять материал.
Читать дальше →
Всего голосов 101: ↑100 и ↓1+99
Комментарии173

Как полюбить машинное обучение и перестать страдать

Время на прочтение6 мин
Количество просмотров33K
Наше будущее все больше становится связано с развитием искусственного интеллекта. Кто-то считает, что это конец эры человечества, а кто-то садится, проходит курсы и пилит код, чтобы разобраться с машинным обучением. Я отношусь ко второй категории. В свое время, когда я задумывалась об освоении этой науки и начала проходить первые курсы, хотелось опустить руки. Сложности материалов и страданиям, казалось, нет предела. Сейчас, с высоты своего опыта, я понимаю, что всего этого можно было бы избежать. Поэтому под катом хочу поделиться основами ML для новичков «без боли».


Читать дальше →
Всего голосов 39: ↑32 и ↓7+25
Комментарии14

PHP: Хранение сессий в защищённых куках

Время на прочтение5 мин
Количество просмотров27K
На некоторой стадии развития веб-проекта возникает одна из следующих ситуаций:

  • backend перестаёт помещаться на одном сервере и требуется хранилище сессий, общее для всех backend-серверов
  • по различным причинам перестаёт устраивать скорость работы встроенных файловых сессий

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

Однако, есть альтернатива этому подходу. Возможно безопасно и надёжно хранить данные сессии в браузерной куке у самого пользователя, если заверить данные сессии криптографической подписью. Если вдобавок к этому данные ещё и зашифровать, то тогда содержимое сессии не будет доступно пользователю. Главное достоинство этого способа хранения в том, что он не требует централизованной базы данных для сессий со всеми вытекающими из этого плюсами в виде надёжности, скорости и масштабирования.
Читать дальше →
Всего голосов 43: ↑37 и ↓6+31
Комментарии107

Всепротокольный бот на PHP за 10 минут, или как Microsoft Bot Framework и Azure Functions облегчают нам жизнь

Время на прочтение12 мин
Количество просмотров25K
Абсолютно невозможно отрицать, что развитие естественных паттернов в интерфейсах дало фантастический толчок к развитию всей ИТ-индустрии в целом. И речь не только и не столько о голосовых интерфейсах, сколько о повсеместном внедрении жестов, гигантском сдвиге в парадигме мобильных платформ и, конечно, существенных работах в области UI и UX в целом. В то время как индустрия стремится стать все более дружелюбной для все более широких масс людей, обычная и, в определенной степени, рутинная разработка превращается в бесконечные попытки объять необъятное. Если раньше нас в основном заботили уровни абстракции языков и фреймворков, то сейчас перед нами стоят куда более глобальные вопросы. Как найти баланс между сложным и функциональным интерфейсом? Стоит ли начинать новый проект с микросервисов? На эти вопросы я не могу ответить, зато я могу рассказать вам об инструментах, которые уже сейчас существенно облегчают и удешевляют освоение и применение новых технологий и подходов к разработке.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии10

Я написал самую быструю хеш-таблицу

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

image


В конце концов я должен был к этому прийти. Когда-то я опубликовал статью «Я написал быструю хеш-таблицу», а потом ещё одну — «Я написал ещё более быструю хеш-таблицу». Теперь я завершил работу над самой быстрой хеш-таблицей. И под этим я подразумеваю, что реализовал самый быстрый поиск по сравнению со всеми хеш-таблицами, какие мне только удалось найти. При этом операции вставки и удаления также работают очень быстро (хотя и не быстрее конкурентов).


Я использовал хеширование по алгоритму Robin Hood с ограничением максимального количества наборов. Если элемент должен быть на расстоянии больше Х позиций от своей идеальной позиции, то увеличиваем таблицу и надеемся, что в этом случае каждый элемент сможет быть ближе к своей желаемой позиции. Похоже, такой подход действительно хорошо работает. Величина Х может быть относительно невелика, что позволяет реализовать некоторые оптимизации внутреннего цикла поиска по хеш-таблице.


Если вы хотите только попробовать её в работе, то можете скачать отсюда. Либо пролистайте вниз до раздела «Исходный код и использование». Хотите подробностей — читайте дальше.

Читать дальше →
Всего голосов 130: ↑123 и ↓7+116
Комментарии25

Разрабатываем видеочат между браузером и мобильным приложением

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

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

После появления WebRTC, видеочаты стало делать проще. Появились различные API и сервисы, серверы и фреймворки. В данной статье мы подробно опишем еще один способ разработки видеочата между веб-браузером и нативным Android-приложением
Читать дальше →
Всего голосов 24: ↑20 и ↓4+16
Комментарии8

Асинхронный JavaScript против отложенного

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

В моей статье «Понимание критического пути рендеринга» (перевод статьи) я писала о том, какой эффект оказывают JavaScript-файлы на Критический Путь Рендеринга(CRP).


JavaScript является блокирующим ресурсом для парсера. Это означает, что JavaScript блокирует разбор самого HTML-документа. Когда парсер доходит до тега <script> (не важно внутренний он или внешний), он останавливается, забирает файл (если он внешний) и запускает его.

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


К счастью, элемент <script> имеет два атрибута async и defer, которые дают нам возможность контролировать то, как внешние файлы загружаются и выполняются.


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

Пример создания одного chrome extension

Время на прочтение64 мин
Количество просмотров28K
Приветствую социум! Проработал 7 лет техническим директором. Понял, насколько это сильно бьет по нервам и решил начать жизнь с чистого листа. Пойти javascript-разработчиком.

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

Веселый JS
primer = {};
primer["svoistvo1"] = "reddis";
primer["svoistvo2"] = primer;
primer["svoistvo2"]["svoistvo2"]["svoistvo2"]["svoistvo2"]["svoistvo1"] = "dadada";
console.log(primer);



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

В это статье я покажу, как можно создать chrome extension.
Поиздеваться над топиком, ведь об этом так много писали ...
Всего голосов 22: ↑16 и ↓6+10
Комментарии17

Создание вашей первой игры на Phaser. Часть 0 — Подготовка к работе

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

Phaser


Оглавление


0. Подготовка к работе [Вы тут]
1. Введение
2. Загрузка ресурсов
3. Создание игрового мира
4. (wip) Группы
5. (wip) Мир физики
6. (wip) Управление
7. (wip) Добавление целей
8. (wip) Последние штрихи


Эта серия статей научит вас основам и "хорошему тону" игрового фремворка Phaser. За данный курс, я постараюсь объяснить вам основные идеи и возможности фреймворка, а также покажу как его грамотно использовать в связке с TypeScript и Webpack.

Читать дальше →
Всего голосов 24: ↑19 и ↓5+14
Комментарии8

Браузерная WebRTC трансляция с RTSP IP-камеры с низкой задержкой

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

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

В данной статье мы рассмотрим немного другое применение IP-камеры, а именно применение в онлайн-трансляциях, где требуется низкая коммуникационная задержка.
Читать дальше →
Всего голосов 26: ↑22 и ↓4+18
Комментарии23

Ненормальное программирование: макрос-интерпретатор в Notepad++

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

swap


Обмен значений. Исходный текст и текст после 1-го, 2-го и 3-го выполнения макроса. Далее будут примеры посложнее.


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


На всякий случай напомню: макрос в Notepad++ и в других текстовых редакторах – записанная последовательность действий пользователя над текстом. Макрос можно запускать многократно для быстрого выполнения рутинных операций. Макрос "запоминает" нажатия клавиш и может воспроизводить, например, такие действия:


  • Ввод и удаление символов
  • Перемещение курсора
  • Копирование и вставка
  • Поиск в тексте

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


  • Нельзя менять последовательность действий во время выполнения макроса.
  • Искомая строка фиксирована — никакой вставки из буфера обмена.
  • Нельзя выполнить действие переменное количество раз, а также пропустить действие в зависимости от какого-либо условия.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии9

90+ бесплатных ресурсов для самостоятельного обучения онлайн

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

Хочу поделиться списком полезных образовательных ресурсов, среди которых каждый найдет для себя что-то интересное и новое. Главное рассмотрим в начале — IT и иностранные языки. А следом будет подборка сервисов и ютуб-каналов, связанных с наукой, образованием в целом, бизнесом и творчеством.


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

Статистика по стоимости недвижимости — визуализация на карте

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

Введение


Начну с конца. Это скриншот с некой web-карты, визуализирующей среднюю стоимость недвижимости на вторичном рынке Саратова и Энгельса:



Цвета на карте можно соотнести с цветами на «легенде», цвет на «легенде» соответствует средней стоимости квадратного метра общей площади в тысячах рублей.

Точка на карте соответствует одному предложению по продаже (на вторичном рынке) квартиры с Авито. Всего таких точек, как видно на «легенде», для построения графика использовалось 4943.
Карта в интерактивном виде доступна на GitHub.

А теперь немного предыстории..


Давным-давно…
Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии34

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность