Pull to refresh
0
@KnightMirkoread⁠-⁠only

User

Send message

Unreal Engine 4 для развития своих способностей

Reading time6 min
Views169K
Доброго времени суток, Хабр!

В этой статье я бы хотел поговорить с вами о недавно вышедшем Unreal Engine 4, который на данный момент набирает все большую популярность среди разработчиков игр. И хотя статья о UE4, однако она совсем не про игростой, хоть и связана с ним.



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

Саму статью я бы хотел разделить на две основные части: Программирование с логикой и Дизайн с творчеством. Но прежде скажу пару слов о себе, что бы вы понимали, почему именно этот движок и что меня натолкнуло на эту статью.
Итак, приступим.
Читать дальше →
Total votes 42: ↑35 and ↓7+28
Comments28

Есть две функции

Reading time16 min
Views53K
Привет

Есть две булевы функции n аргументов, одна — константная, другая — сбалансированная. На какую сам сядешь, на какую фронтендера посадишь? Вот только функции неизвестны, а вызвать их разрешается лишь один раз.

Если не знаешь, как решить подобную задачу, добро пожаловать под кат. Там я расскажу про квантовые алгоритмы и покажу как их эмулировать на самом народном языке — на Python.
Hello darkness, my old friend
Total votes 121: ↑115 and ↓6+109
Comments61

Несколько JavaScript хаков для хипстеров

Reading time3 min
Views55K
image
JavaScript занимательный язык программирования.

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

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

Я подобрал для вас несколько интересных сниппетов, которые радуют меня самого, и которые я сам использую вместо скучного кода, занимающего много места. Некоторые из них делают код короче, другие четче и яснее. Еще парочка — это хаки для отладки.

Все это я узнал, изучая проекты с исходным кодом, но здесь я пишу так, как будто бы это я их придумал.
Читать дальше →
Total votes 217: ↑131 and ↓86+45
Comments128

Поиграл == покодил

Reading time3 min
Views72K
image

Мой рекорд скорости написания кода «на C» был в консоли Quake II. Причем абсолютно без ошибок. В темноте, не глядя, трясущимися руками надо было набрать примерно такое:

bind SHIFT "+snipe"
alias +snipe "sensitivity 2.5; fov 30"
alias -snipe "fov 90; sensitivity 4"

Боги умели прописывать RocketJump.

RocketJump
bind t "superrjr"

bind a "superrjn"

alias superrjr "echo SuperRocketJump enabled; bind a +srj; bind t superrjc"

alias superrjn "echo SuperRocketJump disabled"

alias superrjc "echo SuperRocketJump disabled; bind a superrjn; bind t superrjr"

alias +srj "lookdown1;hand 2;rjump"

alias -srj "lookdown2"

alias lookdown1 "cl_pitchspeed 999999;+lookdown"

alias lookdown2 "-lookdown;cl_pitchspeed 200;-attack;-moveup;wait;wait;wait;centerview;hand 2;cl_maxfps 80"

alias rjump "+moveup;+attack;wait;wait;wait;wait;cl_maxfps 0"

alias +QLD "+lookdown;cl_pitchspeed 999"

alias -QLD "-lookdown;cl_pitchspeed 200"

alias +RocketJump "hand 2;+QLD;wait;wait;+attack;+moveup"

alias -RocketJump "hand 2;-QLD;-attack;-moveup"

alias SuperRocketJump "hand 2;+QLD;wait;wait;wait;wait;+attack;+moveup;wait;cl_maxfps 0;LWX3;cl_maxfps 90;-QLD;-attack;-moveup;hand 2" 


Под катом — подборка дюжины проектов, которые заточены на то, чтобы играючи повысить кодерское мастерство.
Total votes 57: ↑51 and ↓6+45
Comments41

21 бесплатный учебный ресурс для разработчиков игр

Reading time8 min
Views133K
В интернете полным-полно создателей контента, и каждый хочет привлечь к себе внимание. Но, как ни странно, хороший учебный ресурс найти нелегко, а бесплатный – еще сложнее. Мы публикуем перевод материала, в котором автор собрал ссылки на самые авторитетные и полезные обучающие площадки.


Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments7

Евклидов алгоритм генерации традиционных музыкальных ритмов

Reading time17 min
Views19K
Перевод статьи Godfried Toussaint The Euclidean Algorithm Generates Traditional Musical Rhythms.

От переводчика


В Sonic Pi есть функция spread, которая принимает два числовых параметра и возвращает набор значений для генерации ритма. В описании этой функции есть ссылка на работу «The Euclidean Algorithm Generates Traditional Musical Rhythms». Эта блестящая статья, вышедшая аж в 2005 году, похоже, так и не была переведена на русский язык. Не будучи специалистом по переводам, я попытался, тем не менее, восполнить этот пробел.
Небольшое пояснения по поводу слова «ожерелье»: в тексте статьи «necklace» — в музыкальной теории такого термина нет, насколько мне известно. Я полагаю, что это просто некая визуальная интуиция автора, действительно ведь ритмическое кольцо, в том виде, в каком оно представлено на рисунках, напоминает ожерелье — поэтому так и перевожу.

Конспект


Евклидов алгоритм (дошедший до нас из «Начал» Евклида) подсчитывает наибольший общий делитель двух целых чисел. Настоящая работа демонстрирует, что структура евклидова алгоритма может быть использована для того, чтобы очень эффективно генерировать большое семейство ритмов, используемых в качестве пульсаций (остинато), в частности в музыке тропической Африки, и в традиционной музыке вообще. Эти ритмы, называемые здесь евклидовыми ритмами, имеют то свойство, что их ударные рисунки распределяются насколько возможно равномерно. Евклидовы ритмы также находят приложение в ускорителях в атомной физике и в компьютерных науках, и тесно связаны с несколькими семействами слов и последовательностями, изучаемыми комбинаторикой слов, такими как евклидовы строки, с которыми сравнивают евклидовы ритмы.
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments17

Байки «инженерного спецназа», ну или просто наша весёлая работа

Reading time10 min
Views75K


Шли по трассе от Магадана на Якутск, везли комплектующие для одного дата-центра. Холода в этих краях стоят такие, что машины не глушат. Потому что до весны уже не заведёшь. Машины надо ставить в тёплые гаражи или ангары. Мы уже под вечер как раз нашли такой ангар и стали стучать. Открывает сильно поддатый хозяин, такой простой сибирский мужик в ватнике и ушанке:
— Здравствуйте, можно у вас машину поставить?
— Не. Идите отсюда, я вас не знаю!
— Да ладно тебе, мужик, мы же тебе денег дадим.
Мужик вынимает из кармана котлету пятитысячных сантиметров пять толщиной и сообщает:
— Да я те, ик, сам денег дам ща! Вот бухнёшь со мной — тогда поставим.

Обязательства по госконтракту для этого дата-центра мы тогда выполнили.

А вы заходите внутрь, буду дальше рассказывать наши байки. Кстати, да, кто беспокоился за нашу крысу (ещё живую на фотографии в прошлом посте) — хоть ей и прилетело 380 В, но она оклемалась и начала немного ходить. Мы её отпоили сладким чаем и отпустили, убегала она уже весело. Правда, что с ней было дальше, не знаем.
Читать дальше →
Total votes 143: ↑140 and ↓3+137
Comments19

От действий над матрицами к пониманию их сути…

Reading time5 min
Views140K
Очень уважаю людей, которые имеют смелость заявить, что они что-то не понимают. Сам такой. То, что не понимаю, — обязательно должен изучить, осмыслить, понять. Статья "Математика на пальцах", и особенно матричная запись формул, заставили меня поделиться своим небольшим, но, кажется, немаловажным опытом работы с матрицами.

Лет эдак 20 назад довелось мне изучать высшую математику в вузе, и начинали мы с матриц (пожалуй, как и все студенты того времени). Почему-то считается, что матрицы — самая лёгкая тема в курсе высшей математики. Возможно — потому, что все действия с матрицами сводятся к знанию способов расчёта определителя и нескольких формул, построенных — опять же, на определителе. Казалось бы, всё просто. Но… Попробуйте ответить на элементарный вопрос — что такое определитель, что означает число, которое вы получаете при его расчёте? (подсказка: вариант типа «определитель — это число, которое находится по определённым правилам» не является правильным ответом, поскольку говорит о методе получения, а не о самой сути определителя). Сдаётесь? — тогда читаем дальше…
Читать дальше →
Total votes 60: ↑49 and ↓11+38
Comments74

Работа с email: Как свести количество входящих сообщений к нулю

Reading time10 min
Views20K


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

Некоторые из них используют подход Inbox Zero — Тиаго Форте, руководитель компании Forte Labs, занимающейся вопросами повышения эффективности, написал в своем блоге статью о том, как начать применение этой методики и свести число входящих писем к нулю. Мы представляем вашему вниманию основные моменты этого материала.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments4

Покопаемся в «режиссёрской версии» Wasteland 2: механики и интерфейсы

Reading time10 min
Views50K


На мой взгляд, самый «фаллаутный» фаллаут после второго — это Wasteland 2 в полной версии, которая Director’s Cut. В эпоху зеркальных римейков игр и фильмов эта штука очень радует и старым духом, и новыми решениями. Поэтому я предлагаю покопаться немного у неё под капотом в плане механик GameDev.

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

Так вот, миру Wasteland 2 плевать на вас. Там нет счастливых прибытий в последний момент, чтобы всех спасти, нет ожидающих чего-то NPC. Реальное время. Например, когда вы входите в Хайпул, там горит дом. Не успели потушить – ну, он тупо сгорит. Второй важный аспект – крутой постоянно движущийся сюжет, скорее, характерный своими поворотами для серии Биошоков. Захватывающий с первых минут, без долгой раскачки. И этот сюжет – реально высокого разрешения. Постоянно предлагающий суровый выбор между моралью, порядком и законом.

И это три разных выбора.
Читать дальше →
Total votes 70: ↑62 and ↓8+54
Comments46

Считаю рассмотрение необязательным

Reading time8 min
Views23K
Менделеев, как принято считать, увидел периодическую таблицу во сне. Кекуле там же увидел формулу бензола.

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

Фразу «да жалуйтесь хоть господу богу!» можно практически в любой момент рабочего дня услышать от одного из сотрудников ближайшего к автору ЖЭУ. Собственно, зарисовка ниже так и родилась.

Приятной вам пятницы!
Читать дальше →
Total votes 58: ↑52 and ↓6+46
Comments53

7 примеров использования процедурной генерации в играх, о которых полезно знать всем разработчикам

Reading time9 min
Views50K
Процедурно-генерируемый контент «правильных» игр — Diablo, Rogue, Spelunky, Daggerfall, Elite, Spore и даже аналогов Football Manager — не перестает удивлять. Он позволяет иначе взглянуть на дизайн и подчеркивает элегантность основных показателей системы. С его помощью вы экономите время и можете зарабатывать. Именно благодаря ему Skyrim и Minecraft привлекают огромное количество игроков, которые не изменяют своему выбору даже через несколько лет после выхода этих продуктов. Процедурная генерация – надежное основание, на котором построена концепция столь ожидаемой "No Man’s Sky" от Hello Games.

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

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

1.Crusader Kings II: Сложные родственные связи становятся динамичными благодаря генерируемым персонажам


image
Читать дальше →
Total votes 48: ↑27 and ↓21+6
Comments15

«Галоп пикселя — часть первая» — базовые понятия, этапы взросления, прикладные упражнения

Reading time42 min
Views265K


«Галоп пикселя», часть I — базовые понятия, этапы взросления, прикладные упражнения (линк)
«Галоп пикселя», часть II — перспектива, цвет, анатомия и прикладные упражнения (линк)
«Галоп пикселя», часть III — Анимация (линк)
«Галоп пикселя», часть IV — Анимация света и тени (линк)
«Галоп пикселя», часть V — Анимация персонажей. Ходьба (линк)
«Галоп пикселя», часть VI — Анимация персонажей. Бег (линк)

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

В данной публикации мы не рассматриваем программы, но копаем нечто большее. Сами пиксели. От истоков, начав с четырехцветной CGA-эры, вплоть до эпохи ренессанса. В публикации мы не рассматриваем игры, не поем дифирамбы художникам прошлого (разве что самую малость), занимаясь именно процессом создания простейшего пиксель-арта. Данный материал будет интересен начинающим артистам и интересующимся. Статья практически не содержит теории, нудных умозаключений и представляет сторонний взгляд на мир пиксель-арта со стороны некоего самоучки, который предпочел открыть каждую из Америк самостоятельно, не оглядываясь на официальных, общепризнанных и задокументированных Колумбов. Статья снабжена обильным количеством поясняющих иллюстраций, примеров, и советов.

Материал разделен на несколько публикаций в виду объема текста и изображений. Каждая статья имеет свою степень сложности, однако, все из них наглядны и могут быть использованы как руководство к действию.


Лопатить пиксели
Total votes 190: ↑185 and ↓5+180
Comments86

Джон Хортон Конвей: Жизнь, как игра

Reading time11 min
Views43K
Джон Хортон Конвей утверждает, что не работал ни дня в своей жизни. Этот отрывок из биографии «Гений за игрой» показывает, какие серьёзные математические теории, вроде сюрреальных чисел, могут появиться из развлечений и игр.

image

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

Он работает в Принстоне, хотя славу он обрёл в Кембридже (будучи сначала студентом, а затем профессором с 1957 по 1987 года). Конвей, 77-и лет, утверждает, что не работал ни дня в своей жизни. Он имеет в виду, что тратит почти всё свое время на игры. И в то же время, он профессор Принстона по прикладной и вычислительной математике (сейчас уже почётный). Член Королевского сообщества. И признанный гений. «Титул „гений“ часто неправильно используют»,- говорит Перси Дьяконис, математик из Стэнфорда. – Джон Конвей – гений. При этом он может работать в любой области. И у него чутьё на всякие необычные вещи. Его нельзя поставить в какие-то математические рамки".
Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments8

Распознавание бирманского языка: теперь мы умеем даже это

Reading time6 min
Views24K


Может, кому-то из вас покажется это удивительным, но текст, аналогичный тому, что вы видите на картинке (а это бирманский язык) тоже можно распознать. Некоторое время назад по интернету ходил забавный комикс про различие азиатских языков, но он слишком неприличный, чтобы публиковать его в корпоративном блоге :) О том, зачем нам понадобилось распознавать бирманский и с какими проблемами пришлось при этом столкнуться, – под катом.
Читать дальше →
Total votes 64: ↑62 and ↓2+60
Comments26

Как мы проектируем и прототипируем всякую фигню

Reading time8 min
Views37K


Главный враг раздолбайства — план.

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

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

Подобный подход рождает несколько довольно странных выводов. Например, если речь идёт о новом сайте – явно, что все тексты должны быть готовы до начала работ по дизайну. При работе с игрой виртуальные прототипы (в симуляциях) работают только на последних этапах балансировки, вначале же куда важнее быстро собрать на бумаге. Если уж говорить шире, то мы знаем, что новый XCOM (и XCOM2) тестировали и тестируются как настолки, а потом уже гонятся на компьютер.

Может показаться, что прототипировать — это вроде как не очень нужно. Херак-херак — и в продакшн. На самом деле, это чертовски важно в любом процессе; например, по заветам юзабелистов — это 70% работы. Вопрос только в том, как это можно делать.

Я не претендую на истину в этом вопросе, и мне очень интересен ваш опыт. Давайте сначала расскажу, какие мы вывели для себя вещи в прототипировании, а потом попрошу вас рассказать о своих прототипах и процессах проектирования.
Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments49

400 потрясающих бесплатных сервисов

Reading time16 min
Views718K

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →
Total votes 108: ↑89 and ↓19+70
Comments38

Фишинг в корпоративной среде

Reading time7 min
Views24K


Фишинговые сообщения электронной почты в корпоративной среде обычно знаменуют собой таргетированную атаку, хорошо продуманы и реализованы. В отличии от рядовых пользователей, сотрудники компаний могут быть проинструктированы должным образом о существующих угрозах информационной безопасности. За сообщениями электронной почты может быть установлен тот или иной контроль со стороны сотрудников ИТ/ИБ подразделений.
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments0

Титаник на Kaggle: вы не дочитаете этот пост до конца

Reading time31 min
Views81K
Привет, хабр!

#{Data Science для новичков}

Меня зовут Глеб Морозов, мы с Вами уже знакомы по предыдущим статьям. По многочисленным просьбам продолжаю описывать опыт своего участия в образовательных проектах MLClass.ru (кстати, кто еще не успел — до конца еще можно получить материалы прошедших курсов — это, наверное, самый краткий и максимально практичный курс по анализу данных, который можно себе представить).

Данная работа описывает мою попытку создать модель для предсказания выживших пассажиров «Титаника». Основная задача — тренировка в использовании инструментов применяемых в Data Science для анализа данных и презентации результатов исследования, поэтому данная статья будет очень и очень длинной. Основное внимание уделено исследовательскому анализу (exploratory research) и работе по созданию и выбору предикторов (feature engineering). Модель создаётся в рамках соревнования Titanic: Machine Learning from Disaster проходящего на сайте Kaggle. В своей работе я буду использовать язык «R».
Читать дальше →
Total votes 42: ↑35 and ↓7+28
Comments5

Russian AI Cup 2015: гонки на выживание для программистов

Reading time1 min
Views20K


Мы рады сообщить о начале очередного международного чемпионата по программированию искусственного интеллекта — Russian AI Cup. В этот раз чемпионат получил название CodeRacing. Храбрецам, которые отважатся принять участие, предстоит программировать искусственный интеллект для управления гоночным автомобилем. Но он должен будет не просто исполнять роль водителя, но и одновременно расстреливать соперников. В «игровом» мире предусмотрено четыре типа юнитов: кодемобили, снаряды, бонусы и лужи мазута. Самые «грязные» приёмы на трассе будут только поощряться: можно толкать чужие машины, повреждать их и ломать.
Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments15

Information

Rating
Does not participate
Registered
Activity