Pull to refresh
16
0
Виталий @quozd

User

Send message

Создание игры Tower Defense в Unity: враги

Reading time26 min
Views11K
[Первая часть: тайлы и поиск пути]

  • Размещение точек создания врагов.
  • Появление врагов и их движение по полю.
  • Создание плавного движения с постоянной скоростью.
  • Изменение размера, скорости и размещения врагов.

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

Данный туториал выполнен в Unity 2018.3.0f2.


Враги на пути к конечной точке.
Total votes 26: ↑26 and ↓0+26
Comments1

Создание игры Tower Defense в Unity, часть 1

Reading time29 min
Views19K

Поле


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

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

Туториал создавался в Unity 2018.3.0f2.


Поле, готовое к использованию в тайловой игре жанра tower defense.

Игра жанра Tower Defense


Tower defense — это жанр, в которой целью игрока является уничтожение толп врагов, пока они не добрались до своей конечной точки. Игрок выполняет свою цель, строя башни, которые атакуют врагов. У этого жанра очень много вариаций. Мы будем создавать игру с тайловым полем. Враги будут двигаться по полю в сторону своей конечной точки, а игрок будет создавать им препятствия.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments0

Сети для самых маленьких. Часть девятая. Мультикаст

Reading time51 min
Views644K

Наш умозрительный провайдер linkmeup взрослеет и обрастает по-тихоньку всеми услугами обычных операторов связи. Теперь мы доросли до IPTV.
Отсюда вытекает необходимость настройки мультикастовой маршрутизации и в первую очередь понимание того, что вообще такое мультикаст.
Это первое отклонение от привычных нам принципов работы IP-сетей. Всё-таки парадигма многоадресной рассылки в корне отличается от тёплого лампового юникаста.
Можно даже сказать, это в некоторой степени бросает вызов гибкости вашего разума в понимании новых подходов.

В этой статье сосредоточимся на следующем:




Читать дальше →
Total votes 108: ↑106 and ↓2+104
Comments27

How-to: Типографика в дизайне email-писем

Reading time4 min
Views29K


Исследования показывают, что в почтовых программах до 43% email-подписчиков отключено отображение картинок. Это означает, что донести до них нужную информацию с помощью email-рассылки можно только если использовать реальный текст в HTML-версиях писем.

При этом, данный факт вовсе не означает, что можно использовать только Arial и Times New Roman. В сегодняшнем материале мы рассмотрим существующие возможности по работе с шрифтами в email.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments0

Основные ловушки при использовании кэша в HTML5-приложениях

Reading time5 min
Views19K
Кэш приложений, также известный как AppCache, на сегодняшний день является одной из самых острых тем для веб-разработчиков. AppCache позволяет дать возможность посетителям вашего сайта загружать сайт, когда они офлайн. Вы даже можете сохранять части вашего сайта, такие как изображения, таблицы стилей или веб-шрифты в кэше на компьютере пользователя. Это может помочь быстрее загружать ваш сайт, тем самым снижая нагрузку на ваш сервер.

Чтобы использовать AppCache, создается файл описания с расширением «appcache», например, manifest.appcache. В этом файле можно перечислить все файлы, которые должны кэшироваться. Чтобы включить эту функцию на вашем сайте, необходимо включить ссылку на этот файл описания на вашей веб-странице в html-элемент следующим образом:
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments2

Разбор текстов интерфейса на Букинге — как я делал им аудит

Reading time11 min
Views46K
Когда меня развернули на 180 градусов в аэропорту перед полётом в Грецию, я начал звонить в сервисы по билетам и отелю. AWAD, фактически, положил на меня как на клиента – «посмотрите на сайте», «войдите в личный кабинет» и так далее. С другой стороны, Букинг внимательно выслушал, в прямом эфире набрал отель и чётко перенёс моё бронирование, пока я шёл к аэроэкспрессу. Хотя в правилах отеля если что не так – постоялец идёт на хрен. Так я оценил разницу в сервисе.

Но я не про это. Дело в том, что Букинг предложил мне контракт на проверку адекватности перевода их сайта на русский. Сразу покажу, с чего началось:



А вот чем продолжилось:



А теперь расскажу и покажу, что и как с текстами интерфейсов.
Читать дальше →
Total votes 122: ↑118 and ↓4+114
Comments108

Стартап-школа Y Combinator: Нетривиальные аспекты командной работы [часть 2]

Reading time16 min
Views5K


Cтэнфордский курс CS183B: How to start a startup. Стартовал в 2012 году под руководством Питера Тиля. Осенью 2014 года прошла новая серия лекций ведущих предпринимателей и экспертов Y Combinator:


Первая часть курса
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments0

Получаем IP-адреса HTTPS-клиентов с HAProxy (frontend) на Nginx (backend) в режимах HTTP и TCP-балансировки

Reading time3 min
Views54K
Довольно часто требуется балансировать нагрузку между несколькими веб-серверами. При этом, как правило, необходимо, чтобы веб-приложения получали реальные IP-адреса клиентов, а не IP балансировщика.

В случае балансировки и терминации HTTP(S)-трафика на HAProxy (Layer 7 [1]) данная задача легко решается добавлением заголовка “X-Real-IP” и его обработкой на Nginx при помощи модуля ngx_http_realip_module [2]. При балансировке TCP-трафика от HTTPS-клиентов и передаче его на веб-сервера напрямую без модификации или терминации (Layer 4 [3]) добавить данный заголовок невозможно, поэтому требуется воспользоваться возможностями, предоставляемыми Proxy Protocol [4, 5, 6].

Рассмотрим оба варианта (балансировка L7 и L4) на примере выдержек из конфигурационных файлов haproxy 1.5.9 и nginx 1.6.2

Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments14

Умный дом (Самое начало) — ч.1

Reading time6 min
Views216K


Тема «Умный дом» уже у всех на слуху. Про неё говорят, в неё вкладывают, её развивают… По этой теме к таким гигантам как Siemens, General Electric и др. присоединились, казалось бы, не совсем профильные компании, такие как Microsoft, Google, Apple.

Единого стандарта по теме нет, равно как нет инструкции, мол, «делай так и вот так», поэтому теоретически построить свой умный дом может каждый и именно так, как ему захочется и потому эту тему я не смог пропустить и активно к ней подключился. Не скажу, что с умными домами я собаку съел… нет, скорее так, понадкусывал, но тем не менее, на основе свое опыта и своих наблюдений попробую выложить развёрнутый… ммм… How-To? Нет, не потянет. Обзор? Тоже не то… Скорее это будет напутствие или некий набор советов.

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

Самое главное — это то, что статья рассчитана на людей, которые толком ещё не поняли, нужен ли им вообще этот самый «Умный дом» и нужно ли влезать в эту тему?

Теперь термин.
Будем честны, «Умный дом» — это не только такая система с искусственным интеллектом, которая разговаривает с Вами по утрам в ванной (пока вы бреетесь) и готовит Вам ужин пока вы едете домой. Не нужно путать систему с женой.

Читать дальше →
Total votes 80: ↑57 and ↓23+34
Comments52

Создание фотомозаик с помощью языка Wolfram Language (Mathematica)

Reading time4 min
Views25K

Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно здесь (архив, ~3 МБ).

Введение


До Нового 2015-го года осталось уже менее суток:

In[1]:=

ImageMosaic_2.png

Out[1]=

ImageMosaic_3.png

Мне хотелось бы поздравить всех с Наступающим Новым 2015-м годом и рассказать о том, как вы можете сделать своим близким необычный подарок в виде фотомозаики, созданной с помощью системы Mathematica 10 и языка Wolfram Language.

Идея фотомозаики в целом довольно проста: создать изображение на основе коллекции других изображений небольшого размера.

Для того, чтобы создать фотомозаику можно действовать двумя основными способами:

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

  • Сложный способ: по сути повторяет первый способ за исключением того, что разбиение исходного изображения производится некоторым “адаптивным” алгоритмом на фрагменты различного размера.

Для упрощения рассматриваемой задачи будем создавать мозаику из квадратных миниатюр.
Читать дальше →
Total votes 45: ↑41 and ↓4+37
Comments7

Суперсилы Chrome DevTools

Reading time6 min
Views70K


Я работаю в команде Онлайн. Мы делаем веб-версию справочника 2ГИС. Это долгоживущий активно развивающийся проект, в котором JavaScript используется как основной язык как на клиенте, так и на сервере.

Важное место в работе занимают инструменты анализа и отладки приложения. Популярные JavaScript фреймворки как правило обладают собственным инструментарием, заточенным под конкретную идеологию. Наша ситуация осложняется тем, что под капотом Онлайна гудит фреймворк собственного производства — Slot — также находящийся в стадии активной доработки.

В этой статье я расскажу, как мы используем стандартные браузерные инструменты разработчика для эффективной отладки и исследования. Эти рецепты направлены в первую очередь на изучение приложения снаружи-внутрь, поэтому подойдут для любого проекта.
Читать дальше →
Total votes 83: ↑78 and ↓5+73
Comments13

Evil Icons: как мы изобретали SVG-иконки

Reading time8 min
Views48K


Мы почти полностью перевели проекты на векторную графику, хотя еще полгода назад были адептами символьных шрифтов (шучу, не такими уж и адептами). В статье я расскажу, с какими сложностями мы столкнулись в процессе, что из этого получилось, и почему вам стоит переходить на SVG уже в следующем проекте.
Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments55

Новый офис Синезис: как мы создавали пространство для рождения идей

Reading time4 min
Views38K
Всем привет!
Совсем недавно Синезис полным составом переехал на новое место. Организация рабочего пространства для сотни человек – задача не из легких. О том, как мы воплотили в жизнь мечты об идеальном офисе, смотрите и читайте в статье.

Имя Синезис гордо красуется на фасаде. Помимо бальзамического эффекта для души и самолюбия, надпись работает прекрасным ориентиром: клиенты, партнеры и пицца легко нас находят среди нескольких офисных зданий.
Читать дальше →
Total votes 28: ↑23 and ↓5+18
Comments29

Как я уехал работать программистом в Швецию (Часть 2)

Reading time11 min
Views30K
На Хабре уже писали про то, как айтишники переезжают в Лондон, Сан-Франциско и некоторые другие зарубежные локации, а также весьма толково про эмиграцию вообще. К своему удивлению, я не нашел аналогичной заметки про Швецию. Поскольку в настоящее время я проживаю в славном городе Стокгольме и работаю в шведской компании, я решил исправить эту ситуацию.
Читать дальше →
Total votes 56: ↑52 and ↓4+48
Comments106

Как я уехал работать программистом в Швецию (Часть 1)

Reading time8 min
Views32K
На Хабре уже писали про то, как айтишники переезжают в Лондон, Сан-Франциско и некоторые другие зарубежные локации, а также весьма толково про эмиграцию вообще. К своему удивлению, я не нашел аналогичной заметки про Швецию. Поскольку в настоящее время проживаю в славном городе Стокгольме и работаю в шведской компании, решил исправить эту ситуацию.
Читать дальше →
Total votes 53: ↑47 and ↓6+41
Comments7

High CPU или как Garbage Collector может убить производительность

Reading time4 min
Views24K
Добрый день.

Примерно 2 недели назад наш мониторинг тул (NewRelic) начал детектить большое количество падений сайта продолжительностью не более 1 минуты, но с очень большой частотой. Помимо этого визуально было заметно, что общая производительность веб-приложения (Umbraco 6.1.6, .net 4.0) упала.

Красные полосы на картинке — это и есть наши падения.

image

Да, оговорюсь. Перед тем, как мы это все заметили, новый модуль для блога был установлен и соответственно блог компании был мигрирован из Worldpress в Umbraco.

В итоге у нас есть следующие входные данные: приложение стало хранить больше данных (намного больше) + был установлен сторонний модуль = High CPU.
Читать дальше →
Total votes 39: ↑32 and ↓7+25
Comments43

Как разглядеть за деревьями лес: создание трехмерного изображения мировых лесов

Reading time16 min
Views42K

Как разглядеть за деревьями лес: создание трехмерного изображения мировых лесов.


Seeing Forests for the Trees and the Carbon: Mapping the World’s Forests in Three Dimensions
By Michael Carlowicz Design by Robert Simmon January 9, 2012
Перевод Lockywolf, 2012-13


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

photo duncan1_zps9999dd18.jpg
(Photograph ©2007 :Duncan.)
Можно ли скомпенсировать количество выбрасываемого углерода путем «озеленения ландшафта»? Нужно ли сажать деревья, или сократить вырубки? Важно ли, в какой точке планеты?


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

Считается, что большая часть выбрасываемого, как из-за естественных процессов, так и из-за деятельности человека, в атмосферу углерода имеет лесное происхождение. Леса покрывают около 30 процентов поверхности Земли, на них приходится около 50 процентов растений, покрывающих Землю. Почти 45 процентов всех запасов углерода на Земле находится в лесах.

photo simmon1_zpsffec9fe2.png
(Map by Robert Simmon, based on data from the MODIS Land Cover Group, Boston University.)
Леса покрывают 30 процентов поверхности Земли.


Больше или меньше был в прошлом запас углерода в лесах? Увеличится ли он со временем?
Читать дальше →
Total votes 79: ↑75 and ↓4+71
Comments11

Хороших книг пост

Reading time2 min
Views70K


А давайте давайте соберём здесь хорошие книги, которые просто стоило собрать.
Суть в том, что просто давно стоило сложить хорошие книги в одном посте, чтобы было что прочитать в дороге — или просто для души.
Читать дальше →
Total votes 84: ↑72 and ↓12+60
Comments392

StableBit DrivePool — дисковый массив с дублированием файлов

Reading time4 min
Views101K
Я постоянно пытаюсь найти какие-то альтернативы RAID'ам в плане объединения нескольких жестких дисков в единый массив. Пробовал много что, но ни на чем так и не остановился окончательно. RAID не нравится тем, что штука достаточно капризная, негибкая и требовательная до дискового пространства.

image

Что мне вообще хочется:
  1. Объединить диски с данными в один массив большого объема, чтобы не приходилось вручную сортировать файлы — что возникает при нескольких дисках (пусть даже при монтировании их в папки).
  2. Иметь возможность добавлять/удалять/заменять диски в любой момент без развала массива.
  3. Независимость информации на дисках друг от друга — чтобы смерть одного из них не приводила к недоступности остальных.
  4. В идеале — какой-то метод хранения одного файла на нескольких дисках. Бэкапы — это хорошо и я их делаю, но лучше, когда к их помощи не приходится прибегать.


Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments109

Работа для программиста в США: 5 простых шагов

Reading time5 min
Views291K
image Статья про то, что делать тем, кто хочет переехать работать в США. Я предполагаю инженерные позиции, на которые проще всего получить визы, но, возможно, статья окажется полезна и другим специалистам.

Мой опыт несколько отличается от нижеописанного (я попала на работу в США после стажировки). Но за 4 года в США пообщалась с людьми, которые попали сюда разными путями и набрала кое-какой опыт. Так что если бы я очень хотела найти работу в США сегодня, то я бы действовала примерно так, как описано ниже.

Заранее извиняюсь, если мой тон кому-то покажется наставническим — я не имею амбиций учить других жизни, просто иногда у меня получается такой стиль.
Читать дальше →
Total votes 166: ↑152 and ↓14+138
Comments138
1
23 ...

Information

Rating
Does not participate
Location
Беларусь
Registered
Activity