Pull to refresh
0
0
Варвара @Virel

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

Send message

Трагикомедия в NaN актах: как мы cделали игру на JS и выпустили ее в Steam

Reading time13 min
Views28K
“Эка невидаль”, — скажете вы, — “В топ-100 вашей игры нет, так что нещитово”. Тоже правда. Зато за год разработки Protolife мы поднакопили какой-никакой опыт, которым можем поделиться с потенциальными будущими игроделами. Ветераны индустрии, боюсь, ничего интересного для себя не найдут. Но, может быть, хоть повеселитесь от души.


Что за игра-то? И кто “мы”?


Мы — это команда из трех человек (GRaAL, A333, icxon), волею судеб названная Volcanic Giraffe без какого либо умысла. Работали долгое время вместе, несколько раз втроем участвовали в Ludum Dare (соревнования по написанию игр за выходные), и однажды решившие довести до релиза одну из наших поделок под названием Protolife.

Если коротко: это необычная tower defense, где надо бегать героем-курсором и выстраивать оборону из блоков против постоянно растущей красной биомассы.
Остальное под катом - осторожно, тяжелые пиксельартные картинки
Total votes 95: ↑91 and ↓4+87
Comments51

Создание собственной цветовой палитры

Reading time4 min
Views44K
Адаптировано из нашей будущей книги «Рефакторинг UI»

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



Такой вычислительный и научный подход к выбору идеальной цветовой гаммы крайне соблазнителен, но не очень полезен.
Читать дальше →
Total votes 94: ↑92 and ↓2+90
Comments12

Как защитить своего ребенка от мусора на YouTube и сделать кастомный плеер с белым списком каналов

Reading time9 min
Views122K

Можно долго спорить на тему, стоит ли давать маленьким детям доступ к планшетам и смартфонам. Кто-то говорит что это вредно для глаз или для психики, кто-то — что родителям надо бы самим играть и читать с детьми, а не пытаться отгородится от них гаджетами. Что характерно, чаще всего такое говорят люди, у которых своих детей нет. И которые не знают, какое это блаженство — когда чадо замолкает хотя бы на полчаса, перестает крушить все вокруг, спокойненько лежит на диване и смотрит мультики. Есть и еще один аргумент — дети чутко все повторяют за родителями, если родители непрерывно сидят уткнувшись в телефон, то очень сложно объяснить детям, почему родителям можно, а им — нет.



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


К сожалению, я очень быстро уяснил, что детский ютуб — это просто АДОВЫЙ ТРЕШ. Про это даже на Хабре уже был перевод статьи. Детские каналы — это какие-то бездонные клоаки, наполненные вырвиглазными видео типа "разворачиваем сто киндер-сюрпризов", "дурацкие стишки с убогой 3д графикой под крикливую музыку" и "гоняем машинки в Beam NG под дурацкие комментарии". По какой-то причине все это является очень привлекательным для маленьких детей, которые бросаются кликать на такие видео как только увидят их в рекомендованных. А YouTube не позволяет управлять рекомендациями. Даже дав своему сыну планшет с включенными "нормальными" мультиками, я уже через пару минут наблюдаю, как он за два клика по рекомендациям опять находит эти чертовы шоколадные яйца и снова начинает в них залипать.


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

Читать дальше →
Total votes 91: ↑87 and ↓4+83
Comments364

Оптимизация графики для веба: самое важное

Reading time54 min
Views94K
Автор электронной книги — Эдди Османи, один из руководителей разработки Google Chrome

tl;dr


Cжатие изображений всегда должно быть автоматизировано


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

Большинство CDN (например, Akamai) и сторонних решений вроде Cloudinary, imgix, Fastly Image Optimizer, Instart Logic SmartVision и ImageOptim API предлагают комплексные автоматизированные решения для оптимизации изображений.

На чтение статей и настройку конфигурации вы потратите время, которое дороже оплаты их услуг (у Cloudinary есть бесплатный тариф). Но если всё-таки не хотите отдавать работу на аутсорсинг по соображениям стоимости или из-за дополнительной latency, то выбирайте приведённые выше варианты с открытым исходным кодом. Проекты Imageflow или Thumbor предлагают альтернативу на собственном хостинге.
Читать дальше →
Total votes 61: ↑61 and ↓0+61
Comments31

Обзор техник реализации игрового ИИ

Reading time55 min
Views56K
image

Введение


Эта статья познакомит вас с широким диапазоном концепций искусственного интеллекта в играх («игрового ИИ»), чтобы вы понимали, какие инструменты можно использовать для решения задач ИИ, как они работают совместно и с чего можно начать их реализацию в выбранном движке.

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

Что же такое «игровой ИИ»?


Игровой ИИ в основном занимается выбором действий сущности в зависимости от текущих условий. В традиционной литературе по ИИ называет это управлением "интеллектуальными агентами". Агентом обычно является персонаж игры, но это может быть и машина, робот или даже нечто более абстрактное — целая группа сущностей, страна или цивилизация. В любом случае это объект, следящий за своим окружением, принимающий на основании него решения и действующий в соответствии с этими решениями. Иногда это называют циклом «восприятие-мышление-действие» (Sense/Think/Act):

  • Восприятие: агент распознаёт — или ему сообщают — информацию об окружении, которая может влиять на его поведение (например, находящиеся поблизости опасности, собираемые предметы, важные точки и так далее)
  • Мышление: агент принимает решение о том, как поступить в ответ (например, решает, достаточно ли безопасно собрать предметы, стоит ли ему сражаться или лучше сначала спрятаться)
  • Действие: агент выполняет действия для реализации своих решений (например, начинает двигаться по маршруту к врагу или к предмету, и так далее)
  • … затем из-за действий персонажей ситуация изменяется, поэтому цикл должен повториться с новыми данными.
Читать дальше →
Total votes 67: ↑66 and ↓1+65
Comments15

Mod и остаток — не одно и то же

Reading time4 min
Views255K


Приготовьтесь, вас ждёт крайне педантичная статья, которая вполне может спасти вас на собеседовании или сэкономить несколько часов при вылавливании бага в продакшне!

Я сейчас активно работаю над вторым сезоном «Руководства для самозванца» и пишу о шифре RSA для SSH, который, очевидно, является самым загружаемым фрагментом кода в истории IT.

Хочется полностью разобраться в этой истории. Кто придумал этот шифр, как он работает, почему работает и будет ли работать в будущем. Сейчас я раскопал одну чертовски интересную историю. Я не криптоманьяк и вижу, как других буквально засасывает в эту область. Но мне это тоже интересно, потому что повсюду есть маленькие норки, а меня как сороку привлекают блестящие штучки в глубоких норках. Я также очень хорош в метафорах.
Читать дальше →
Total votes 77: ↑72 and ↓5+67
Comments75

Планирование спидрана Morrowind с помощью имитации отжига

Reading time19 min
Views36K
image

Ну ты и соня, тебя даже вчерашний шторм не разбудил. Говорят, мы уже приплыли в Морровинд. Нас выпустят и позволят нам сделать спидран, это точно!

Введение


Существует знаменитый спидран основного квеста Morrowind, в котором, по сути, игрок перемещается к месту конца игры, использует несколько свитков и заклинаний, а затем убивает босса.

Однако не существует категории спидранов Morrowind, в которой игрок стремится стать главой всех фракций. Несмотря на любовь критиков и отличный сюжет, большинство квестов Morrowind заключаются в заданиях «принеси вещь» или «убей этого типа», а квестов, в которых требуется что-то ещё, не так много. Но планирование такого маршрута спидрана всё равно может быть чрезвычайно интересным по следующим причинам:
Читать дальше →
Total votes 89: ↑89 and ↓0+89
Comments48

Начало пути гейм-дизайнера

Reading time6 min
Views23K
Опубликовываю повторно материал годовалой давности. Ранее был вынужден скрыть по просьбе компании, в которой я работал в тот момент. Ввиду специфики материала, теперь он скорее подходит для megamozg. Также обновил материал, сделав его более актуальным.

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

Данный материал является вводным в само понятие работы гейм-дизайнером и должен помочь вам сделать первые шаги к своей цели, а также ответить на вопросы «С чего же мне начать?», «Где искать работу», «Какие навыки помогут мне в поисках?».

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

Наглядный пример, так сказать, креативности:



Читать дальше →
Total votes 7: ↑5 and ↓2+3
Comments4

Изменение размеров изображений на сайте

Reading time6 min
Views12K
Добрый день. Я разработчик с более чем 10-летним стажем. Для того, чтобы оценить качество исходного кода сайтов, не без доли самоиронии, я создал небольшой чек-лист. Сегодня я поговорю о важном для меня пункте — изображения на сайтах. Я умышленно опустил конкретную технологию, потому что эта проблема встречалась и встречается повсеместно, я буду очень признателен, если в комментариях вы раскроете свои подходы с использованием вашего стека технологий, в конечном итоге мы все очень похожи.


Читать дальше →
Total votes 24: ↑19 and ↓5+14
Comments19

Зачем выставлять в Интернет интерфейс управления или атака на Cisco Smart Install

Reading time5 min
Views25K
Недавно Cisco узнала о некоторых хакерских группировках, которые выбрали своими мишенями коммутаторы Cisco, используя при этом проблему неправильного использования протокола в Cisco Smart Install Client. Несколько инцидентов в разных странах, в том числе некоторые из которых касаются критической инфраструктуры, оказались связаны с неправильным использованием протокола Smart Install. Некоторые эксперты считают, что ряд этих атак связан с хакерами, стоящими на службе государства. В результате мы занимаем активную позицию и призываем клиентов, снова, к оценке рисков и применению доступных методов нейтрализации рисков.
Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments69

Роскомнадзор проведет «эксперимент» по блокировке интернет-рации Zello в России

Reading time3 min
Views47K

Источник: Роскомсвобода

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

В письме также указано то, что блокировка Zello в России — эксперимент, ради проведения которого Роскомнадзор планирует заблокировать 26 подсетей Amazon. По мнению представителей ведомства, для оказания влияния на работу рации следует заблокировать примерно 15 миллионов IP-адресов, из которых 13,5 млн принадлежат Amazon.
Total votes 65: ↑61 and ↓4+57
Comments508

15 когнитивных искажений

Reading time9 min
Views179K
Люди сталкиваются с большим объёмом информации, часть из которой достоверна, а часть освещает интересующую область односторонне, а иногда и сознательно искажённо.

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



Начнём с того, что люди не всегда мыслят рационально. Это данность, которая обусловлена принципами работы нашего интеллекта, выработанными в процессе эволюции. Условно, представим разум, разделённый на две Системы. Устройство разума не так однозначно, но описанное упрощение позволит понять причины искажений. Первая система генерирует решения и гипотезы быстро «если коснёмся горячего предмета, то отдёрнем руку». Вторая, принимает решения путём логических рассуждений. Первая Система генерирует гипотезы, а вторая принимает их или отвергает. Такой способ мышления медленный и энергозатратный. Логическое рассуждение используется людьми реже и требует больших усилий. Это причина большинства когнитивных искажений.

Так, галочка «по умолчанию согласен» позволила увеличить количество согласных на донорство до 86% в Швеции, тогда как в Дании, где при получении прав нужно самостоятельно ставить согласие, т. е. принимать осознанный выбор, количество согласных на донорство 4%.
Читать дальше →
Total votes 63: ↑62 and ↓1+61
Comments114

Стивен Хокинг, автор «Краткой истории времени», умер на 77 году жизни

Reading time4 min
Views25K
Стивен Хокинг, удостоенный множества наград физик, автор таких известных книг, как «Краткая история времени» и «Вселенная в ореховой скорлупе», разошедшихся многомилионными тиражами по всему миру, умер рано утром в среду, сообщил представитель семьи. Ему было 76 лет.



Семья не раскрывает причин смерти, однако говорит, что он «умер мирно» в своем доме в Кембридже, Англии.

«Мы глубоко огорчены тем, что наш любимый отец скончался сегодня. Он был великим ученым и необыкновенным человеком, чья работа и наследие будут жить много лет», — говорится в заявлении семьи. «Его мужество и настойчивость с его блеском и юмором вдохновили людей по всему миру. Однажды он сказал: „Это не было бы большой частью Вселенной, если бы она не была домом для людей, которых Вы любите“. Мы будем скучать по нему всегда».



В 1963 году Стивену Хокингу диагностировали заболевание двигательных нейронов (боковой амиотрофический склероз), в результате которого он оказался практически полностью парализованным. Тогда врачи сказали, что жить ему осталось года два. Или два с половиной. Он оставил после себя дочь Люси и двух сыновей, Роберта и Тима. Они поблагодарили его поклонников, которые «были на стороне профессора Хокинга» и поддерживали его на протяжении всей своей жизни.
Total votes 67: ↑64 and ↓3+61
Comments53

Лицензирование музыки для инди-разработчиков

Reading time8 min
Views20K
image

Когда я начала думать над созданием игры Bollywood Wannabe, одной из первых проблем была музыка. Мне нужны были песни, которые в сочетании с соответствующей графикой и геймплеем воссоздавали бы ощущения от просмотра болливудских фильмов. Музыку при разработке игр часто игнорируют, но в музыкальной игре (rhythm game) плохих композиций быть не может. Большинство песен в Bollywood Wannabe лицензировано — редкий случай для инди-игры. Мне задали кучу вопросов по этой теме, поэтому я написала небольшую инструкцию по лицензированию музыки для инди-разработчиков.

Зачем лицензировать музыку?


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

Для Bollywood Wannabe мне нужна была очень специфическая музыка. После долгих поисков мне удалось найти для игры две песни с лицензией без отчислений (royalty free). Но мне нужно было десять. Я не знала ни одного композитора, способного написать остальные, и даже если бы и нашла его, это было бы слишком дорого. Оптимальнее всего оказалось найти уже выпущенные песни и убедить их авторов продать мне лицензию.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments22

3D-движок, написанный на формулах MS Excel

Reading time9 min
Views115K

Скриншот экрана игры

Эта статья посвящена тому, как я смог написать 3D-движок только на формулах Excel. Я реализовал следующий функционал:

  • бесконечная процедурно генерируемая карта лабиринта
  • рендеринг трассировкой лучей в реальном времени
  • вычисление окклюзии
  • рендеринг простейшего освещения
  • шейдер освещения и вычислений
  • движок естественного движения
  • в 3D-движке не используются макросы

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

Можете скачать файл и протестировать его самостоятельно!
Total votes 229: ↑226 and ↓3+223
Comments101

ДНК глазами программиста

Reading time15 min
Views88K
От переводчика: Так как я не являюсь биологом, возможны неточности в переводе терминов (и не только :). Оригинал находится здесь.

Если ты – молоток, то во всём увидишь гвоздь


Это всего лишь размышления программиста о ДНК. Я не являюсь молекулярным генетиком.

Исходный код


Находится здесь. Это не шутка. Исходники можно просмотреть с использованием замечательного набора скриптов Perl под названием "Ensembl". Геном человека занимает приблизительно 3 гигабайта, которые можно сократить до 750 мегабайт, если отбросить шелуху. Немного печалит, что это всего лишь 2.8 браузеров Mozilla Firefox.

ДНК похожа скорее не на исходники на языке C, а на байт-код для виртуальной машины под названием «ядро клетки». Крайне сомнительно, что существуют исходники, которые можно скомпилировать в этот байт-код: то, что мы видим, – это всё, что у нас есть.
Читать дальше →
Total votes 115: ↑114 and ↓1+113
Comments308

Почему важно проверять, что вернула функция malloc

Reading time13 min
Views35K
malloc

Предлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это шестая часть, которая будет посвящена функции malloc. Вернее, тому, почему следует обязательно проверять указатель, возвращаемый этой функцией. Скорее всего, вы не догадываетесь, какой подвох связан с malloc, потому рекомендуем познакомиться с этой статьей.

Примечание. В статье под функцией malloc часто будет подразумеваться, что речь идёт не только именно об этой функции, но и о calloc, realloc, _aligned_malloc, _recalloc, strdup и так далее. Не хочется загромождать текст статьи, постоянно повторяя названия всех этих функций. Общее у них то, что они могут вернуть нулевой указатель.
Читать дальше →
Total votes 81: ↑74 and ↓7+67
Comments262

Я разработчик с 9 до 17 (и ты можешь стать таким)

Reading time4 min
Views64K
Этот конкретный твит от Сафьи Абдалла сподвиг меня на некоторые размышления:
Пожалуй, непопулярное мнение (и тут немного иронии от меня).

Чтобы быть способным и отличным инженером, вам не нужно писать статьи в блоге, участвовать в проектах open source, выступать с техническими лекциями или делать что-нибудь ещё.

Можете оставить свой код в офисе — и это вполне нормально.
Такая позиция близка и мила моему сердцу, хотя я тоже понимаю иронию. Одна из вещей, которые я говорю потенциальным работодателям с тех пор как меня уволили за отказ оставаться программировать после работы — это то, что я не согласен на овертайм. По крайней мере, не на регулярной основе. Я могу иногда поучаствовать в авралах, когда критически важно срочно накатить конкретное изменение или исправить баг, но за исключением таких случаев я буду появляться, вкалывать — и пойду домой.
Читать дальше →
Total votes 121: ↑105 and ↓16+89
Comments619

Компьютерная графика в кино (ролик плюс статья)

Reading time11 min
Views73K


Молодой Шварценеггер в 2009-м, бегущий фон за окном автомобиля, ревущие трибуны стадиона, бегущая толпа зомби, средневековый замок на фоне мирного пейзажа (а то и вместе с мирным пейзажем), близнецы, сыгранные одним актером, качок, лишившийся мускулов, и все виды бедствий, раз за разом уничтожающие многострадальный Нью-Йорк.

Как же это все сделано? Прямо на площадке или на компьютере?
То есть, спецэффекты или визуальные эффекты?
Их часто путают, но все-таки компьютерная графика в кино — это visual effects.

Вот о них мы сегодня и поговорим. Под катом лежит ролик и его текстовая версия, адаптированная для статьи. Много картинок!
Total votes 46: ↑45 and ↓1+44
Comments40

Нотной грамоте учат неправильно*

Reading time11 min
Views235K

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


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


Представьте что было бы, если бы обычной грамоте учили так же. Но мы, почему-то, в большинстве своем читать и писать таки научились.


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


* Дисклеймер

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


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


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


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

Читать дальше →
Total votes 124: ↑123 and ↓1+122
Comments212
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity