Время на прочтение
10 мин
Количество просмотров 13K
Введение
Итак, вы хотите или пытались создать ритм-игру, но игровые элементы и музыка быстро рассинхронизировались, и теперь вы не знаете, что делать. Эта статья вам в этом поможет. Я играл в ритм-игры со старшей школы и часто зависал на DDR в местном зале аркадных автоматов. Сегодня я всегда ищу новые игры этого жанра, и такие проекты, как Crypt of the Necrodancer или Bit.Trip.Runner, показывают, что в этом жанре можно сделать ещё многое. Я немного работал над прототипами ритм-игр в Unity, и в результате потратил месяц на создание короткой ритм-игры/головоломки Atomic Beats. В этой статье я расскажу о самых полезных техниках создания кода, которым я научился при создании этих игр. Информацию о них я не смог нигде больше найти, или она была изложена не так подробно.
Во-первых, я должен выразить огромную признательность Ю Чао за пост Music Syncing in Rhythm Games [перевод на Хабре]. Ю рассмотрел основы синхронизации таймингов аудио с игровым движком в Unity и выложил исходный код своей игры Boots-Cut, что очень помогло мне в создании своего проекта. Вы можете изучить его пост, если хотите узнать краткое введение в синхронизацию музыки в Unity, но я рассмотрю эту тему подробнее и обширнее. В моём коде активно используется и информация из статьи, и код Boots-Cut.
В основе любой ритм-игры лежат тайминги. Люди чрезвычайно чувствительны к любым искажениям в таймингах ритмов, поэтому очень важно, чтобы все действия, движения и ввод в ритм-игре были непосредственно синхронизированы с музыкой. К сожалению, традиционные методы отслеживания времени в Unity наподобие Time.timeSinceLevelLoad и Time.time быстро терят синхронизацию с воспроизводимым звуком. Поэтому мы будем получать доступ напрямую к аудиосистеме с помощью AudioSettings.dspTime, в котором используется истинное количество аудиосэмплов, обработанных аудиосистемой. Благодаря этому он всегда сохраняет синхронизацию с воспроизводимой музыкой (возможно, это не так в случае очень длинных аудиофайлов, когда в действие вступают эффекты сэмплирования, но в случае композиций обычной длины система должна работать идеально). Эта функция будет ядром нашего отслеживания времени композиции, и на её основе мы создадим главный класс.
Класс Conductor
Класс Conductor — это основной класс управления композициями, на основании которого будет строиться остальная часть ритм-игры. С помощью него мы будем отслеживать позицию композиции и управлять всеми другими синхронизированными действиями. Для отслеживания композиции нам понадобится несколько переменных
//Song beats per minute
//This is determined by the song you're trying to sync up to
public float songBpm;
//The number of seconds for each song beat
public float secPerBeat;
//Current song position, in seconds
public float songPosition;
//Current song position, in beats
public float songPositionInBeats;
//How many seconds have passed since the song started
public float dspSongTime;
//an AudioSource attached to this GameObject that will play the music.
public AudioSource musicSource;
При запуске сцены нам нужно выполнить вычисления для определения переменных, а также записать для справки время запуска композиции.
void Start()
{
//Load the AudioSource attached to the Conductor GameObject
musicSource = GetComponent<AudioSource>();
//Calculate the number of seconds in each beat
secPerBeat = 60f / songBpm;
//Record the time when the music starts
dspSongTime = (float)AudioSettings.dspTime;
//Start the music
musicSource.Play();
}
Если создать пустой GameObject с прикреплённым к нему таким скриптом, а затем добавите Audio Source с композицией и запустите программу, то увидите, что скрипт зафиксирует время начала композиции, но больше ничего не произойдёт. Также нам понадобится вручную ввести BPM музыки, которую мы добавляем к Audio Source.
Благодаря всем этим значениям мы сможем отслеживать позицию в композиции в реальном времени при обновлении игры. Мы определим тайминг композиции, сначала в секундах, затем в долях. Доли — это значительно более удобный способ отслеживания композиции, потому что они позволяют нам добавлять действия и тайминги во времени параллельно с композицией, допустим, в долях 1, 3 и 5.5, без необходимости вычисления секунд между долями. Добавим следующие вычисления в функцию Update() класса Conductor:
void Update()
{
//determine how many seconds since the song started
songPosition = (float)(AudioSettings.dspTime - dspSongTime);
//determine how many beats since the song started
songPositionInBeats = songPosition / secPerBeat;
}
Так мы получаем разность между текущим временем по данным аудиосистемы и временем запуска композиции, что даёт общее количество секунд, которое воспроизводится композиция. Мы сохраним его в переменную songPosition.
Учтите, что счёт в музыке обычно начинается с единицы с долями 1-2-3-4 и так далее, а songPositionInBeats начинается с 0 и увеличивается с этого значения, поэтому третья доля композиции будет соответствовать songPositionInBeats, равной 2.0, а не 3.0.
На этом этапе, если вы хотите создать традиционную игру в стиле Dance Dance Revolution, то вам нужно создавать ноты в соответствии с долей, в которую их нужно нажать, интерполировать их позицию относительно линии нажатия, а затем записать songPositionInBeats, когда будет нажата клавиша, и сравнить значение с нужной долей ноты. Ю Чао рассматривает пример такой схемы в своей статье. Чтобы не повторяться, я рассмотрю другие потенциально полезные техники, которые можно надстроить поверх класса Conductor. Я использовал их при создании Atomic Beats.
Подстраиваемся под начальную долю
Если вы создаёте собственную музыку для ритм-игры, то легко сделать так, чтобы первая доля точно совпадала с началом музыки, что при правильно указанном BPM надёжно привяжет значение songPositionInBeats класса Conductor к композиции.
Однако если вы используете готовую музыку, то есть большая вероятность того, что перед началом композиции есть небольшая пауза. Если этого не учесть, то songPositionInBeats класса Conductor будет думать, что первая доля началась при начале воспроизведения композиции, а не в настоящий момент доли. Всё, что будет в дальнейшем привязано к значениям долей, не синхронизируется с музыкой.
Чтобы это исправить, можно добавить переменную, учитывающую это смещение. Добавим в класс Conductor следующее:
//The offset to the first beat of the song in seconds
public float firstBeatOffset;
В Update() переменная songPosition:
songPosition = (float)(AudioSettings.dspTime - dspSongTime);
заменяется на:
songPosition = (float)(AudioSettings.dspTime - dspSongTime - firstBeatOffset);
Теперь songPosition будет правильно вычислять позицию в песне с учётом истинной первой доли. Однако вам придётся вручную вводить смещение до первой доли, потому для каждого файла оно будет уникальным. Кроме того, во время этого смещения будет короткое окно, в котором songPosition окажется отрицательным. Это может и не влиять на игру, но какой-нибудь код, зависящий от значений songPosition или songPositionInBeats, возможно, не сможет в это время обрабатывать отрицательные числа.
Повторы
Если вы работаете с композицией, которая проигрывается от начала до конца, то для отслеживания позиции будет достаточно показанного выше класса Conductor. Но если у вас короткая дорожка, которая зациклена, и вы хотите работать с этим лупом, то необходимо встроить в Conductor поддержку повторов.
Если у вас есть идеально зацикленный фрагмент (например, если темп композиции 120bpm, а зацикливаемый фрагмент имеет длину 4 доли, то он должен быть длиной ровно 8.0 секунды при 2.0 секунды на долю), загруженный в Audio Source класса Conductor, то поставьте флажок лупа. Conductor будет работать так же, как и раньше, и передавать в songPosition общее время после первого запуска клипа. Чтобы определить позицию лупа, нам нужно каким-то образом сообщить Conductor, сколько долей есть в одном лупе, и сколько лупов уже было воспроизведено. Добавим в класс Conductor следующие переменные:
//the number of beats in each loop
public float beatsPerLoop;
//the total number of loops completed since the looping clip first started
public int completedLoops = 0;
//The current position of the song within the loop in beats.
public float loopPositionInBeats;
Теперь при каждом обновлении SongPositionInBeats мы также можем обновлять Update() позицию лупа.
//calculate the loop position
if (songPositionInBeats >= (completedLoops + 1) * beatsPerLoop)
completedLoops++;
loopPositionInBeats = songPositionInBeats - completedLoops * beatsPerLoop;
Это даёт нам маркер, сообщающий с помощью loopPositionInBeats, сколько долей мы прошли в лупе, что пригодится для многих других синхронизируемых элементов. Не забудьте ввести в GameObject Conductor количество долей лупа.
Также нам следует внимательно отнестись здесь к подсчёту долей. Музыка всегда начинается с 1, поэтому 4-дольное измерение имеет вид 1-2-3-4-, а в нашем классе loopPositionInBeats начинается с 0.0 и зацикливается на 4.0. Поэтому точная середина лупа, которая при подсчёте музыкальных долей будет равна 3, в loopPositionInBeats будет иметь значение 2.0. Можно модифицировать loopPositionInBeats, чтобы учесть это, но это повлияет на все другие вычисления, поэтому будьте внимательны при вставке нот.
Также для оставшихся инструментов будет полезно добавить в класс Conductor ещё два аспекта. Во-первых, аналоговую версию LoopPositionInBeats под названием LoopPositionInAnalog, измеряющую позицию в лупе в интервале от 0 до 1.0. Второй — это экземпляр класса Conductor для удобного вызова из других классов. Добавим в класс Conductor следующие переменные:
//The current relative position of the song within the loop measured between 0 and 1.
public float loopPositionInAnalog;
//Conductor instance
public static Conductor instance;
В функцию Awake() добавим:
void Awake()
{
instance = this;
}
а в функцию Update() добавим:
loopPositionInAnalog = loopPositionInBeats / beatsPerLoop;
Синхронизация поворота
Было бы очень полезно синхронизировать с долями движение или поворот, чтобы элементы находились в нужных местах. В моей игре Atomic Beats я использовал это для динамического поворота нот вокруг центральной оси. Изначально они размещались по окружности в соответствии с их долей внутри лупа, а затем вся игровая область поворачивалась так, чтобы ноты сопоставлялись с линией нажатия в их долю.
Чтобы добиться этого, создадим новый скрипт под названием SyncedRotation, и прикрепим его к GameObject, который нужно вращать. В функцию Update() скрипта SyncedRotation добавим:
void Update()
{
this.gameObject.transform.rotation = Quaternion.Euler(0, 0, Mathf.Lerp(0, 360, Conductor.instance.loopPositionInAnalog));
}
Этот код будет интерполировать поворот GameObject, к которому привязана эта игра, в интервале от 0 до 360 градусов, поворачивая его так, чтобы он завершал один полный оборот в конце каждого лупа. Это полезно в качестве примера, но для циклического движения или покадровой анимации более полезной была бы синхронизация анимации лупов, чтобы они идеально совпадали с темпом.
Синхронизация анимаций
Инструмент Unity Animator чрезвычайно мощный, но он не всегда точен. Для надёжного выравнивания анимаций и музыки мне пришлось побороться с классом Animator и его склонностью к постепенной рассинхронизации с темпом. Кроме того, было сложно подстроить одинаковые анимации под разные темпы, чтобы при переключении между композициями не приходилось переопределять ключевые кадры анимации под текущий темп. Вместо этого мы можем обращаться непосредственно к циклу анимации, и задавать позицию в этом цикле в соответствии с тем, где мы находимся в лупе класса Conductor.
Во-первых, создадим новый класс под названием SyncedAnimation, и добавим в него следующие переменные:
//The animator controller attached to this GameObject
public Animator animator;
//Records the animation state or animation that the Animator is currently in
public AnimatorStateInfo animatorStateInfo;
//Used to address the current state within the Animator using the Play() function
public int currentState;
Прикрепим его к новому или уже имеющемуся GameObject, который нужно анимировать. В этом примере мы просто будем двигать объект вперёд-назад по экрану, но такой же принцип можно применить к любой анимации, будь до настройка свойства, или покадровая анимация. Добавим к GameObject элемент Animator и создадим новый Animator Controller под названием SyncedAnimController, а также Animation Clip под названием BackAndForth. Загрузим контроллер в класс Animator, прикреплённый к GameObject, и добавим в дерево анимаций Animation в качестве анимации по умолчанию.
Для примера я настроил анимацию так, чтобы она сначала двигала объект вправо на 6 единиц, затем влево на -6, а потом обратно к 0.
Теперь для синхронизации анимации добавим в функцию Start() класса SyncedAnimation следующий код, инициализирующий информацию об Animator:
void Start()
{
//Load the animator attached to this object
animator = GetComponent<Animator>();
//Get the info about the current animator state
animatorStateInfo = animator.GetCurrentAnimatorStateInfo(0);
//Convert the current state name to an integer hash for identification
currentState = animatorStateInfo.fullPathHash;
}
Затем добавим в Update() следующий код, чтобы задать анимацию:
void Update()
{
//Start playing the current animation from wherever the current conductor loop is
animator.Play(currentState, -1, (Conductor.instance.loopPositionInAnalog));
//Set the speed to 0 so it will only change frames when you next update it
animator.speed = 0;
}
Так мы позиционируем анимацию в точном кадре анимации относительно одного полного лупа. Например, если использовать представленную выше анимацию, то при нахождении посередине лупа, позиция GameObject как раз будет пересекать 0. Это можно применить к любой созданной вами анимации, которую вы хотите синхронизировать с темпом Conductor.
Стоит также заметить, что для создания бесшовного цикла из анимаций необходимо настроить касательные отдельных ключевых кадров анимации на кривой анимации. Настройка Linear создаст прямую линию, выходящую из одного ключевого кадра в следующий, а Constant будет сохранять анимацию в одном значении до следующего ключевого кадра, что даст дёрганое и резкое движение.
Хоть этот способ и полезен, он влияет на все переходы анимации, потому что заставляет animationState оставаться в том состоянии, в котором оно было при первоначальном запуске скрипта. Этот способ полезен для объектов, которым требуется только бесконечно использовать одну синхронизированную анимацию, но для создания более сложных объектов с разными синхронизированными анимациями необходимо добавить код, обрабатывающий эти переходы и задающий переменную currentState в соответствии с нужным состоянием анимации.
Заключение
Это всего лишь некоторые аспекты, которые оказались полезными для меня при создании Atomic Beats. Часть из них собрана из других источников или создана из необходимости, но большинство я не смог найти в Интернете в готовом виде, поэтому надеюсь, это вам пригодится! Возможно, часть моей системы перестанет быть полезной в больших проектах из-за ограничений ЦП или аудиосистемы, но она будет хорошим фундаментом для игры на гейм-джем или хобби-проекта.
Создание ритм-игры, или игровых элементов, синхронизированных с музыкой, может быть сложной. Чтобы всё соответствовало единому темпу, может понадобиться хитрый код, результат, позволяющий играть с постоянным темпом, может оказаться очень привлекательным для игрока. В этом жанре можно сделать гораздо больше, чем игры в традиционном стиле Dance Dance Revolution, и я надеюсь, что эта статья поможет вам реализовать такие проекты. Рекомендую также при возможности оценить мою игру Atomic Beats. Я сделал её за один месяц весной этого года, в ней есть 8 коротких композиций и она бесплатна!
Первый вопрос, который задает себе разработчик, планирующий сделать ритм игру — “А будет ли реально ритм влиять на геймплей?”. Если ответ утвердительный, и разработчику мало простого визуального отклика пары эффектов на сцене, то в самое ближайшее время возникает второй вопрос — “Хочу ли я давать игроку загружать свою собственную музыку?”. Конечно, этот вопрос может возникать, даже если вы делаете просто интерактивную музыкальную сцену, но по-настоящему критичным он становится только для тех, кто привязывает геймплей к музыке. Ведь дать пользователю возможность загружать желаемые трэки — значит вложиться в разработку анализатора и генератора игрового уровня именно по этому трэку, а также проводить объемное тестирование на большом количестве различной музыки, сопровождаемое всесторонней отладкой. А переложить создание уровней на самих игроков и пользователей через Steam Workshop — идея сомнительная, если не имеешь устоявшегося сообщества.
Работая над игрой TERRORHYTHM, мы понимали, что программный анализ звука — задача хоть и популярная, но все же нетривиальная, и взяться за нее небольшой студией — дело ответственное и в чем-то даже рискованное. И все же мы не решились отказаться от реализации это killer-фичи, дать пользователю кромсать мобов в ритм его любимой композиции.
Ритм — вот центр нашего геймплея. Тот самый пресловутый BPM (beats per minute), с частотой которого вы качаете головой, или барабаните пальцами по столу под драйвовый трэк. Но чтобы строить игру вокруг ритма, его сначала нужно добыть. Музыка для игрового движка — это по сути всего лишь пачка сэмплов, которые этот движок умеет воспроизводить своими силами, плюс немного информации о них.
Задача извлечения из музыки BPM не новая, даже если игнорировать сегмент ритм-игр, производители DJ-оборудования и программных секвенсеров музыки проделали огромную работу в этом направлении. И даже после всех этих исследований производители часто доверяют определение темпа человеку.
Мы изучили множество публикаций и материалов, прежде чем пришли к какому-то промежуточному решению, которое сработало для нас.
Музыка — сложная звуковая волна, колебания воздуха в вашей комнате, в клубе, или же между мембраной ваших наушников и барабанной перепонкой. Преобразование этих колебаний в нечто мелодичное и ритмичное (то, что наш мозг делает автоматически), требует определенных вычислений. В большинстве своем эти вычисления — быстрое преобразование Фурье, которое представляет комплексный звуковой сигнал в виде суммы синусоид определеных частот и громкостей. Для тех, кому сложно с ходу понять, как кривая связана со звуком, поясним: звуковая волна синусоидальной формы — это простейший музыкальный тембр, знакомый каждому, например, по телефонным гудкам. Частота этой синусоиды — это высота звука, а амплитуда — его громкость. Для наглядности приведем разложение на синусоиды простейших форм звуковой волны:
Конечно, для музыки спектр получаемых частот выглядит куда сложнее, практически по всему спектру есть частоты разной громкости. Хотя, если вы вспомните любой музыкальный спектроанализатор (люди часто ошибочно называют это “эквалайзер”), объяснения не потребуются — это наглядная картина того, во что превращается звук после быстрого преобразования Фурье
Так вот благодаря игровому движку, который сделал это преобразование за нас, мы можем работать с музыкой, как с массивом сэмплов (количество которых на секунду зависит от качества и сжатия записи), из которых в каждый момент времени мы можем понять — какие частоты сейчас звучат и с какой амплитудой.
Используя эти данные нам нужно решить несколько задач. Задача первая и главная — определение BPM песни. К ритму композиции привязаны почти все внутриигровые параметры — от скорости движения и спавна монстров до скорости проигрывания отдельных анимаций и роста комбо-счетчика.
Чтобы определить BPM, нужно сначала понять, что такое бит. Обычно под битом мы понимаем начало короткого повторяющегося музыкального отрезка, зацикливание которого (с небольшими изменениями) задает основной темп песни. Классической основой ритм-секции является сочетание ударных и баса (будь то рок, металл, джаз или электронная музыка). Знание об этом дает нам примерное представление, пики громкости каких частоты мы будем искать в нашей музыке. Наша цель основная цель — диапазон до 120Гц, однако помимо него мы проанализируем еще небольшую полосу в районе 1кГц, где часто “сидят”, например, электро-гитары, поддерживающие ритм секцию.
Во-первых нам нужно понять, в каком диапазоне громкости звучат данные чистоты на протяжении песни, чтобы делать какие-то относительные выводы. Получив значения минимальной и максимальной громкостей, можно приступать к анализу. Если говорить коротко, анализ представляет собой последовательный проход по сэмплам от начала песни к ее концу, сравнивая значения частот на выбранном диапазоне с минимальнымимаксимальными значениями и между собой. Составив своеобразную “карту перепадов громкости низких частот”, мы стараемся выявить периодические последовательности — пики, повторяющиеся через равные промежутки времени (к счастью для меломанов и к сожалению для анализирующих звук, басовые и ударные партии могут быть сложными и разнообразными). Наиболее часто встречающееся значение такого промежутка мы берем в качестве длительности бита, от которого уже вычисляем BPM.
Анализатор реагирует по-разному на разные песни — разумеется, хаус-музыка, где бас-бочка отбивает четкий постоянный ритм, проще всего поддается анализу. С агрессивными жанрами металла, где барабанщики вытворяют невиданной быстроты и сложности финты, ситуация обратная. Тут как раз нам помогает дополнительная полоса частот, в которой сидят гитары и “рабочий барабан” (самый пронзительный и звонкий из барабанов установки). К тому же не стоит забывать про музыкальные жанры с плавающей размерностью, где музыкальные фразы могут быть разного размера и длины — джаз, матрок и другие.
Еще одним препятствием анализу является компрессия звука. Этот прием пост-обработки музыки сейчас применяется многими продюсерами в различных жанрах. Суть его такова, что разницу между самыми тихими и самыми громкими звуками (т.н. динамический диапазон) в песне намеренно сокращают с целью без потери качества и “перегрузки” оборудования на пиках увеличить конечную громкость записи. Очевидно, что экстремальная компрессия (которой иногда грешат поп и электро продюсеры) может значительно усложнить составление “карты перепадов громкости” и сделать конечный результат анализа слишком неточным.
Для того, чтобы создать еще одну опору алгоритму определения BPM, нами была добавлена синхронизация в процессе проигрывания музыки. Предварительный анализ трэка давал нам усредненные значения, которые мы брали за основу. В соответствии с этими значениями мы устанавливали время бита и запускали главный таймер игры. В процессе воспроизведения музыки мы периодически синхронизируем этот таймер с составленной ранее “карты перепадов”. Если отклонение большое — следующая синхронизация назначается через короткое время и в геймплей вводятся некоторые послабления, чтобы игрок не получал штрафы из-за технической ошибки анализа, если отклонение небольшое — значит все идет хорошо и следующую синхронизацию можно провести позже.
Добавив к этим основам еще несколько тонкостей анализа и синхронизации, мы получили относительно рабочую версию механизма, улавливающего бит песни. Теперь можно и пошаманить над интерактивностью уровня — спавн более сложных цепочек мобов в наиболее напряженные моменты песни, красивый отклик сцены и т.п.
Но на случай, чтобы у игрока не было неприятных эмоций в игре под старинную пластинку его дедушки, или аритмичный металл-команды его друзей, мы честно говорим при попытке загрузить песню — извините, но у нас не получилось поймать ритм этого трэка, попробуйте что-нибудь попроще.
С уважением,
EvilCoGames Team
Автор | Тема: Анализ плагин или как сделать ритм-игру в gamemaker (Прочитано 4573 раз) | |
0 Пользователей и 1 Гость смотрят эту тему. |
|
||||||
|
||||||
|
||||||
Привет всем.В голове давно крутится идея создать ритм игру,где основной задачей будет нажимать на кнопки в такт музыки,но я не понимаю как сделать прослушивание музыки в самой программе.Иными словами,мне нужно знать,где расставлять объекты,по которым кликать,мне нужно каким-то образом зафиксировать нажатия в тестовом виде.Объяснил я,конечно,ужасно,но по другому просто не могу
- Сообщений: 1
- Я тут с 03 окт 2018
- Репутация 0 [ ? ]
Ритм-игра
» 04 окт 2018, 07:54
Работаешь с музыкой через объект Audio. Надо заранее знать ритм музыки (удары в минуту, bpm). Создаёшь массив в котором прописываешь на какой секунде / доле секунды нужно нажатие. При запуске песни запускаешь таймер, или запоминаешь в переменную var=wallclocktime и используешь формулу текущего времени трека = wallclocltime — var.
Сижу с телефона, исходники смотрю редко.
Магазинчик
Игры
Исходники игр (C2Free)
Полезное на форуме
Видео по конкурсам форума
- Сообщений: 5310
- Я тут с 18 сен 2015
- Откуда: Екатеринбург
- Двиг: С2/С3
- Лицензия: Personal
- Репутация 801 [ ? ]
Ритм-игра
» 14 окт 2018, 07:02
Можно использовать аудиоанализатор. При выборе нового проекта вбей в строку поиска analyser.
Пики определяются визуально, всё что нужно — создать переменные со временем игры, временем нажатия и временем пика. Сравнивать время пика и время нажатия. По идее, всё очень просто.
- Сообщений: 1300
- Я тут с 31 май 2017
- Репутация 253 [ ? ]
Вернуться в Вопрос-Ответ по Construct 2
Сейчас эту тему просматривают
Зарегистрированные пользователи: нет зарегистрированных пользователей
[Перевод] Создание процедурного генератора головоломок
В этом посте описывается генератор уровней для моей игры-головоломки Linjat. Пост можно читать и без подготовки, но он легче усвоится, если сыграть в несколько уровней. Исходный код я выложил на github; всё обсуждаемое в статье находится в файле src/main.cc.
Примерный план …
[Перевод] Пишем клон движка Doom: чтение информации карт
Введение
Цель этого проекта — создание клона движка DOOM, использующего ресурсы, выпущенные вместе с Ultimate DOOM (версия со Steam).
Он будет представлен в виде туториала — я не хочу добиваться в коде максимальной производительности, а просто создам работающую версию, и п…
[Перевод] Шейдеры 3D-игр для начинающих
Хотите научиться добавлять в свою 3D-игру текстуры, освещение, тени, карты нормалей, светящиеся объекты, ambient occlusion и другие эффекты? Отлично! В этой статье представлен набор техник затенения, способных поднять уровень графики вашей игры на новые высоты. Я объясняю к…
B&D — необычное, но очень уютное музыкальное приключение для iOS
Большую часть ритм-игр можно поделить на два типа. Первый — те, где разработчики не заморачиваются с сеттингом, а игровое поле представляет собой набор элементов интерфейса, с помощью которых вы и играете. Второй — те, где музыка вплетена в игровой процесс. Это могут быть го…
Что (не)нужно знать для создания игр на Unity
Unity — игровой движок, с далеко не нулевым порогом вхождения (сравнивая с тем же Game Maker Studio), и в этой статье я расскажу с какими проблемами столкнулся начиная его изучение, и какие решения этих проблем нашел. Я буду описывать подобные моменты на примере своей 2d и…
[Перевод] История создания первой Diablo
Больше двадцати лет назад Дэвид Бревик участвовал в создании Blizzard North. Также он сыграл важную роль в разработке хита студии — Diablo.
«Оригинальный концепт я придумал ещё в старшей школе», — рассказывает Бревик, посещавший школу в Области залива Сан-Франциско (назван…
[Из песочницы] Когда использовать var, let и const в Javascript [перевод статьи Tyler’а McGinnis]
Привет, Хабр! Представляю вашему вниманию перевод статьи «var vs let vs const in JavaScript» автора Tyler McGinnis.
В этой статье вы узнаете 2 новых способа для создания переменных в Javascript (ES6), let и const. На протяжении этой статьи мы рассмотрим разницу между var,…
[Перевод] Создание игры Tower Defense в Unity, часть 1
Поле
Создание тайлового поля.
Поиск путей с помощью поиска в ширину.
Реализация поддержки пустых и конечных тайлов, а также тайлов стен.
Редактирование контента в режиме игры.
Опциональное отображение сетки поля и путей.
Это первая часть серии туториалов, посвящённых созда…
[Перевод] Создание дизайн-документа миссии повествовательной игры на примере Last of Us
Я всегда начинаю с того, что задаю много вопросов и провожу активные исследования. За свою карьеру я успел поработать над множеством сиквелов уже существовавших франшиз. Лучшее, что ты можешь сделать в этом случае — полностью освоить жанр игры и изучить мир. Среди прочих пр…
[Из песочницы] Как создать 2D игру с Python и аркадной библиотекой
Привет, Хабр! представляю вашему вниманию перевод статьи How to create a 2D game with Python and the Arcade library автора Paul Vincent Craven
Как создать 2D игру с Python и аркадной библиотекой
Узнайте, как начать работу с Arcade, простой в использовании библиотеки Python д…
[Перевод] История сохранений в играх: от паролей на бумаге до облаков
В начале этого года пользователь Twitter по имени Paul Hubans поделился скриншотом, сделанным его 87-летней бабушкой в Animal Crossing: спустя четыре года ежедневных игр она накопила 3 580 часов — почти 150 дней общего игрового времени. Возможность сохранения прогресса и во…
[Перевод] Краткая история 3D-текстурирования в играх
В этом посте я расскажу об истории текстурирования в трёхмерных видеоиграх. С момента первого появления 3D реального времени на домашних консолях мы прошли долгий путь, но и сегодня при создании игровых текстур применяются некоторые практики, уходящие корнями в те ранние год…
[Перевод] Создание игровых 3D-моделей «для бедных»: путь инди
Вы когда-нибудь задумывались о том, как работает небольшая инди-студия, занимающаяся разработкой видеоигр?
Создавать игры с очень маленьким бюджетом можно, но для этого необходима смекалка, много труда и ещё больше любви к своему делу.
Мы — небольшая команда из Польши. Нас…
[Перевод] Эволюция разработчиков: каких игр нам ждать в будущем
В своей предыдущей статье я представил общий обзор видеоигровой экосистемы. Теперь я бы хотел рассмотреть по отдельности каждую категорию игр, описать их свойства, смысл их инноваций в функциональности и особенностях, а также рассказать о лучших стартапах в каждой из катего…
[Перевод] Особенности рендеринга в игре Metro: Exodus c raytracing
Предисловие
После выхода последней игры из серии «Метро» я потратил несколько часов на изучение её внутренней работы и решил поделиться тем, что может показаться интересным с технологической точки зрения. Я не буду проводить подробный анализ или изучать дизассемблированный …
Как сделать правильную раскраску кода на «Хабре» и почему это так сложно
Несколько месяцев назад я опубликовал свой первый пост на «Хабре». Возможно, кто-то из вас заметит, что код в статье раскрашен необычным образом, а главное — раскрашен правильно, несмотря на то, что встроенный редактор текстов на сайте не поддерживает исходную разметку код…
[Перевод] Алгоритм размещения тайлов на основе ограничений
В этом посте описывается алгоритм, используемый в Generate Worlds — инструменте, позволяющем пользователям создавать и исследовать процедурные миры построением небольших множеств воксельных тайлов. Я приведу краткое описание алгоритма, а в следующих постах расскажу о его пр…
[Перевод] Обзор инструментов для безопасности GitHub репозиториев
Введение
Когда вы начинаете создавать репозиторий на GitHub, одной из первых вещей, о которых вы должны подумать, является безопасность.
В случае, если вы создаете свой собственный репозиторий GitHub или часто контрибьютите в репозиторий, вам необходимо знать, содержит ли…
[Перевод] Пишем игру «Карточки памяти» на Swift
В этой статье описывается процесс создания простой игры для тренировки памяти, которая мне очень нравится. Кроме того, что она сама по себе хороша, во время работы вы немного больше узнаете о классах и протоколах Swift. Но прежде чем начать, давайте разберемся в самой игр…
[Перевод] Введение в Redis с использованием Spring Boot
Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework».
В этой статье мы рассмотрим основы использования Redis через Spring Boot с помощью библиотеки Spring Data Redis.
Мы создадим приложение, которое демонстрирует, как выполнять CR…
[Из песочницы] Переносим проект с Swift 4.2 на Swift 5.0
Привет, Хабр! Представляю вашему вниманию перевод статьи «Swift 5.0: How to migrate your project and frameworks» автора Antoine Van Der Lee.
Swift 5.0 был выпущен в марте 2019 года и является первым стабильным выпуском ABI Swift. Несмотря на то, что многие ресурсы освещают …
Все о правильном написании текстов
В интернете есть огромное количество информации, которая может нам пригодиться в разных случаях жизни. Все люди, которые так или иначе связаны с созданием какого-то контента, обязательно используют интернет для поиска свежих идей, а также для поиска интересных статей и замет…
Учебные проекты на Godot — Pong (часть 1) Создание и настройка сцены игрового процесса
Приветствую вас, хабровчане! Как и обещал в конце прошлой статьи, я обратил свой взгляд на игровой движок. Правда мне больше приглянулся Godot.
Почему? Тема для отдельной статьи размышления, а я не умею долго думать и, тем более, размышлять.
Несмотря на то, что Pong имеетс…
[Перевод] Я самый большой скупердяй в инди-разработке игр
Скриншот из Queen’s Wish. Учтите, что я использую игровой арт, который мне нравится. Это необходимо, потому что потом придётся смотреть на него годами, и я не хочу сойти с ума.
Неделю назад я опубликовал в блоге пост «Почему все мои игры выглядят так отстойно» (оригинал). …
[Перевод] Создание игры Tower Defense в Unity: сценарии и волны врагов
[Первая, вторая, третья и четвёртая части туториала]
Поддержка врагов малого, среднего и крупного размеров.
Создание игровых сценариев со множественными волнами врагов.
Разделение конфигурации ассетов и геймплейного состояния.
Запуск, пауза, победа, поражение и ускорение и…
[Из песочницы] JavaScript в 3D: введение в Three.js
Привет, Хабр! Представляю Вашему вниманию перевод статьи «JavaScript in 3D: an Introduction to Three.js» автора Брета Кемерона (Bret Cameron).
Введение
Three.js это мощный инструмент. Он помогает использовать 3D дизайн в браузере с приемлемой производительностью. По нач…
Хорошее не бывает дешёвым. Но бывает бесплатным
В этой статье я хочу рассказать о Rolling Scopes School – бесплатном курсе по JavaScript / фронтенду, который прошла, и который мне очень понравился. Узнала я об этом курсе случайно, информации в сети о нём, на мой взгляд, немного, а курс отличный и заслуживает внимания. Дум…
Расширяем возможности UObject в Unreal Engine 4
Всем привет! Меня зовут Александр, я уже более 5 лет работаю с Unreal Engine, и почти все это время — с сетевыми проектами.
Поскольку сетевые проекты отличаются своими требованиями к разработке и производительности, нередко необходимо работать с более простыми объектами, та…
[Перевод] Собственная реализация библиотеки ECS
На этой неделе я начал работать над своим движком для игры Vagabond и приступил к реализации шаблона entity-component-system.
В этой статье я хочу рассказать о своей реализации, которая свободно доступна на GitHub. Но вместо простого комментирования кода я хочу объяснить, …
Искусственный интеллект помог музыкантам записать новый альбом
Теперь ИИ научился быть соавтором песен
В США существует музыкальная группа YACHT. Возможно, что вы о ней даже и не слышали, хотя играют они аж с 2002 года и записали уже немало композиций. В целом эта команда музыкантов всегда подходила к своему творчеству довольно креативн…
Создание таблиц в дизайн системе Figma и реализация в Storybook (React)
В предыдущей статье на тему дизайна таблиц в Фигме мы выяснили, что базовый элемент создания любого data grid — это компонент ячейки, внутри которого спрятано все необходимое для того, чтобы оставаться в одном экземпляре и строить таблицы ячейка-за-ячейкой. Теперь поговори…
Один из методов получения истории блокировок в PostgreSQL
Продолжение статьи «Попытка создать аналог ASH для PostgreSQL «.
В статье будет рассмотрено и показано на конкретных запросах и примерах — какую же полезную информацию можно получить с помощью истории представления pg_locks.
Предупреждение.
В связи с новизной темы и незавер…
Крадущийся тигр, затаившийся SQLAlchemy. Основы
Доброго дня.
Сегодня хочу рассказать про ORM SQLAlchemy. Поговорим о том, что это, про его возможности и гибкость, а также рассмотрим случаи, которые не всегда понятно описаны.
Данная ORM имеет порог вхождения выше среднего, поэтому я попытаюсь объяснить всё простым языком …
[Перевод] Модульные спрайтовые персонажи и их анимация
Эта запись девлога целиком посвящена моей системе анимации персонажей, она наполнена полезными советами и фрагментами кода.
За последние два месяца я создал целых 9 новых действий игрока (такие забавные вещи как блокировка щитом, уворачивание в прыжке и оружие), 17 новых но…
[Перевод] Учебник по JavaFX: основные макеты
Перевод статьи «JavaFX Tutorial: Basic layouts» автора Vojtech Ruzicka.
Как организовать и разместить GUI компоненты в приложении JavaFX.
Это четвертая статья в серии о JavaFX. В предыдущей статье я описал, как использовать FXML и SceneBuilder для создания вашего пользоват…
[Перевод] Совет от создателя RimWorld: когнитивные искажения при прогнозировании фана от игры
(статья 2007 года)
Чтобы разрабатывать игры, нам нужно оценить, будут ли они веселыми или нет. Учитывая описание игры, хорошо узнать, будет ли она работать, прежде чем мы ее создадим.
Этот пост посвящен общему наивному методу, который часто используется для демонстрации не…
[Из песочницы] Визуализация времени возрождения Рошана
В данной статье рассматривается перехват функций графического API на примере DirectX 9 под x64 применительно к игре Dota 2.
Будет подробно рассказано, как внедриться в процесс игры, как изменить поток выполнения, приведено краткое описание внедряемой логики. В конце поговор…
Приложения для электронных книг на операционной системе Android. Часть 4. Игры
В сегодняшней, четвёртой (предпоследней), части статьи о приложениях для электронных книг на операционной системе Android будет рассмотрена только одна, но обширная тема: игры.
Краткое содержание предыдущих трёх частей статьиВ 1-ой части были подробно рассмотрены причины, п…
Основы движков JavaScript: общие формы и Inline кэширование. Часть 1
Привет, друзья. В конце апреля мы запускаем новый курс «Безопасность информационных систем». И уже сейчас хотим поделиться с вами переводом статьи, которая непременно будет очень полезной для курса.
В статье описаны ключевые основы, они являются общими для всех движков Jav…
[Перевод] Специальные игровые режимы в контексте Roguelike
По своей природе игры жанра roguelike обладают высокой реиграбельностью, но в то же время они могут служить отличным фундаментом, на котором эту реиграбельность можно многократно увеличивать. Измени несколько переменных здесь, добавь немного контента там, и получишь соверше…
[Из песочницы] Создание сторис для Instagram из PHP
Вступление
В последнее время люди более охотно смотрят в социальных сетяx видео, нежели просматривают фотографии. Сторис в инстаграм набирает в 3-4 раза больше просмотров, чем просто выложенная фотография.
Ну и конечно же, не перестаём забывать, что социальные сети это не т…
[Перевод] Создаём собственный игровой контроллер
Источник вдохновения
На игровых выставках разработчики Objects in Space показывали демо своей игры с контроллером на кокпите огромного космического корабля. Он был дополнен загорающимися кнопками, аналоговыми приборами, световыми индикаторами состояния, переключателями и т.д…
Android-приложения, которые обучат вас игре на гитаре
Сразу играть как легендарный Slash из Guns’n’Roses у вас вряд ли получится, но вот сделать первые шаги к этому при помощи приложений вы запросто сможете Кажется, что обучиться игре на гитаре — это довольно сложное занятие. Которое к тому же требует от вас п…
[Из песочницы] Тестирование локализации мобильных игр для чайников от чайника
Введение
Я уже полгода работаю тестеровщиком мобильных игр и хотел немного рассказать о своём самом любимом тестировании — Тестировании локализации. В этой статье я поделюсь своим опытом тестирования именно локализации, в основном будет опора именно на локализацию текста.
Н…
[Перевод] Руководство по Docker Compose для начинающих
Автор статьи, перевод которой мы сегодня публикуем, говорит, что она предназначена для тех разработчиков, которые хотят изучить Docker Compose и идут к тому, чтобы создать своё первое клиент-серверное приложение с использованием Docker. Предполагается, что читатель этого мат…
Оптимизируем ассеты для WebGL правильно
Так часто бывает, что техники оптимизации, хорошо работающие для обычной десктопной или мобильной графики, не всегда дают нужный эффект в случае WebGL. В этой статье я собрал (а точнее перевёл на русский язык и изложил в текстовом виде нашу презентацию с Verge3Day) те методы…
[Из песочницы] ClusterJ — работаем с MySQL NDB Cluster из Java
Привет, Хабр! В этой статье я хочу рассмотреть такую библиотеку для Java, как ClusterJ, которая позволяет очень просто работать с движком MySQL NDBCLUSTER из Java кода, которая представляет собой высокоуровневое API, схожее по концепции с JPA и Hibernate.
В рамках статьи со…
[Перевод] Создание многопользовательской веб-игры в жанре .io
Вышедшая в 2015 году Agar.io стала прародителем нового жанра игр .io, популярность которого с тех пор сильно возросла. Рост популярности игр .io я испытал на себе: за последние три года я создал и продал две игры этого жанра..
На случай, если вы никогда раньше не слышали о…
[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 26. DNS и DHCP
Система распределения доменных имен DNS и протокол динамической настройки узла DHCP являются очень важными для сетей, особенно для сети Интернет, так как позволяют настроить доступ к интернету, сконфигурировать браузер и т.д. На предыдущих уроках мы уже рассматривали настрой…
[Перевод] Почему жульничает дружественный ИИ в Ghost Recon Wildlands
При создании игр разработчики одержимы желанием создать для игроков интересный и увлекательный игровой процесс: поставить их в новые условия или по-новому взглянуть на знакомые. И иногда для этого необходимо немного сжульничать. Разработчики вносят небольшие изменения в сист…
[Перевод] Рендеринг кадра Resident Evil 2
Общие примечания
Все результаты получены на довольно старой машине (i7 3770+GTX 770), игра запускалась в DirectX 11 со средним качеством. Для анализа использовались RenderDoc и Nsight.
Игра работает на движке Re Engine, ставшем наследником MT Framework — движка предыдущего…
Дизайн игровых интерфейсов. Брент Фокс. О чём книга?
Данная статья — это краткий обзор книги Game interface design от автора Брента Фокса. Для меня эта книга была интересна с точки зрения программиста, занимающегося разработкой игр в качестве хобби в одиночку. Здесь я опишу, насколько полезной она оказалась для меня и моего хо…
[Перевод] Как консольные войны стимулировали прогресс консолей и видеоигр
С тех пор, как консоли начали набирать популярность и стали появляться в домах по всему миру, они заняли особое место в сердцах людей. Настолько большое, что игроки начали идентифицировать себя со своими консолями. Поэтому когда у их любимых приставок появлялись конкуренты,…
[Перевод] Пиксель-арт: от черновика до игрового ассета
→
В этой статье я постараюсь визуализировать общий подход к работе. Итак, вы решили учиться арту: вы скачали какое-то ПО, запустили его и увидели все эти опции, бесконечные цвета и многое другое, быстро всё закрыли, удалили программу и выбросили свой ноутбук в окно.
Возможн…
Эффективное управление подключениями SignalR
Здравствуй, Хабрахабр. В настоящий момент я работаю над созданием движка чата в основе которого лежит библиотека SignalR. Помимо увлекательного процесса погружения в мир real-time приложений пришлось столкнуться и с рядом вызовов технического характера. Об одном из них я и х…
Crytek сообщила о разработке новой ААА-игры
Представители компании Crytek, которая подарила миру легендарную серию Crysis и шутер про выживание Hunt: Showdown, сообщили о создании новой ААА-игры. На текущий момент проект находится на самой ранней стадии разработки и, к сожалению, никакой информации о жанре или сеттинг…
Один из методов получения профиля рабочей нагрузки и истории ожиданий в PostgreSQL
Продолжение статьи «Попытка создать аналог ASH для PostgreSQL «.
В статье будет рассмотрено и показано на конкретных запросах и примерах — какую же полезную информацию можно получить с помощью истории представления pg_stat_activity.
Предупреждение.
В силу довольно большого …
Google сделала сайт для создания игр под Android
Игры составляют значительную часть магазина приложений Google Play, а также библиотеки приложений многих пользователей устройств на ОС Android. Игры всегда были трендом, и сейчас, когда играть можно где-угодно и когда угодно, достав лишь смартфон из кармана, игровая индустр…
[Перевод] Создание игры «Крестики-нолики» при помощи TypeScript, React и Mocha
Представляем вам перевод статьи Josh Kuttler, опубликованной на blog.bitsrc.io. Узнайте, как создать приложение «Крестики-нолики», используя React и TypeScript.
Простая игра в крестики-нолики создана по модульному принципу и загружена на сайт Bit. Вы можете изменять компо…
Видео: композитор Sekiro: Shadows Die Twice рассказывает о создании музыки для игры
После многочисленных публикаций, посвящённых Sekiro: Shadows Die Twice, изданию Gameinformer ещё есть чем порадовать читателей. На этот раз журналисты опубликовали видео с композитором Юкой Китамурой (Yuka Kitamura), отвечающей за музыку в следующей игре студии From…
[Перевод] Процедурные паттерны, которые можно использовать с тайловыми картами
Процедурная генерация используется для повышения вариабельности игр. Среди известных проектов можно упомянуть Minecraft, Enter the Gungeon и Descenders. В этом посте я объясню некоторые из алгоритмов, которые можно применять при работе с системой Tilemap, появившейся как 2D-…
Основы формата GLTF и GLB, часть 2
Данная статья является продолжением рассмотра основ GLTF и GLB форматов. Вы можете найти первую часть статьи здесь. В первой части мы рассмотрели с вами зачем изначально планировался формат, а также такие артефакты и их атрибуты GLTF формата как Scene, Node, Buffer, BufferVi…
Вулкан Удачи играть прямо сейчас
Можно ли зарабатывать в казино? На этот вопрос легче всего ответить только тем людям, которые уже пытались играть. Но и здесь есть свои нюансы. Некоторые играли на действительно плохих сайтах, и даже не подозревали об этом. Да, такое тоже возможно, и если вы считаете, что п…
Текстурирование, или что нужно знать, чтобы стать Художником по поверхностям. Часть 1. Пиксель
О чем эта серия уроков?
В данной серии статей, которые я собираюсь написать, я постараюсь максимально раскрыть теорию создания текстур для игровой индустрии, начиная от самого понятия «пиксель» и заканчивая построением сложных материалов (шейдеров) в игровом движке на пример…
[Из песочницы] Настройка поиска Sphinx для интернет-магазина
Информации по Sphinx не так много, как хотелось бы. Лишняя статья не помешает.
Первые шаги в освоении Sphinx мне помогли сделать статьи Создание ознакомительного поискового движка на Sphinx + php и Пример Sphinx поиска на реальном проекте — магазин автозапчастей Tecdoc Совет…
[Перевод] Самодельный сборщик мусора для OpenJDK
Это перевод статьи Алексея Шипилёва «Do It Yourself (OpenJDK) Garbage Collector», публикуется с согласия автора. О любых опечатках и других багах сообщайте в личку — мы их поправим.Процесс создания чего-нибудь в рантайме языка — весёлое упражнение. По крайней мере, создание …
Конференция по игровой индустрии GAMEDEV.HOUSE
22 сентября 2019 года в Высшей школе бизнес-информатики НИУ ВШЭ состоится конференция от Gamedev.House, посвященная созданию и запуску игровых проектов. Мероприятие пройдет при поддержке образовательных программ по игровой индустрии ВШБИ – «Менеджмент игровых проектов» и «Ос…
[Перевод] Splatter tiles: как без особой возни создавать тайлы для игр
Я единственный художник в нашей игровой студии, а это значит, что мне приходится заниматься анимацией, UI, рекламными материалами, ресурсами для соцсетей, персонажами, предметами и окружениями. Всё, в чём нужно хотя бы немного искусства, ложится на мои плечи. Я часто ощущаю…
Основы формата GLTF и GLB, часть 1
Что такое GLTF и GLB?
GLTF (GL Transmission Format) — это формат файла для хранения 3Д сцен и моделей, который является крайне простым в понимании (структура записана в стандарте JSON), расширяемым и легко взаимодействующим с современными веб-технологиями. Данный формат хоро…
Аудио через Bluetooth: максимально подробно о профилях, кодеках и устройствах
Из-за массового выпуска смартфонов без аудиоразъема 3.5 мм, беспроводные Bluetooth-наушники для многих стали основным способом прослушивания музыки и общения в режиме гарнитуры.
Производители беспроводных устройств не всегда пишут подробные характеристики товара, а статьи …
[Из песочницы] Способы сегментации точек в Point Clouds
Введение
Некоторое время назад мне потребовалось решить задачу сегментации точек в Point Cloud (облака точек — данные, полученные с лидаров).
Пример данных и решаемой задачи:
Поиски общего обзора существующих методов оказались неуспешными, поэтому пришлось собирать информац…
[Перевод] Десять заповедей React компонентов
Написано Kristofer Selbekk, в сотрудничестве с Caroline Odden. Основано на лекции с таким же названием и с теми же людьми, состоявшейся на встрече ReactJS в Осло в июне 2019 года.От переводчика — оригинальное название The 10 Component Commandments не упоминает React, но бол…
Яркий экшен Hamsterdam доступен на iOS и Android за 149 рублей
Студия Muse Games выпустила экшен Hamsterdam, изначально проспонсированный на Kickstarter. Игру можно купить на iOS и Android всего за 149 рублей и играть без рекламы и микроплатежей.
В Hamsterdam вы играете за хомяка Пимма, который использует боевые искусства, чтобы сражат…
Играйте с казино Вулкан в самые увлекательные онлайн игры
Казино в интернете дает прекрасный шанс зарабатывать солидные суммы денег не покидая собственного дома. Сайт http://www.tvoj-wulcan.com/avtomaty-na-dengy/ дает возможность играть в самое разнообразное время суток, вход на портал осуществляется с самых разнообразных компьютер…
[Из песочницы] Создание Redux-подобного глобального хранилища, используя React Hooks
Привет, Хабр! Представляю вашему вниманию перевод статьи «Build a Redux-like Global Store Using React Hooks» автора Ramsay.
Давайте представим, что я написал интересное предисловие к этой статье и теперь мы сразу можем перейти к по-настоящему интересным вещам. Если…
Про Godot, GLSL и WebGL, шейдеры используемые в мини игре
Статья в основном про GLSL-шейдеры, и как я их использовал в этой мини-демке-игре.
Статья разбита по такой очередности:
Ссылки и краткое описание.
Очень краткое описание игровой логики, и используемых возможностей Godot.
Про используемые шейдеры.
Еще немного про Godot, и е…
Как распознать текст на изображении. Самый простой способ
Распознать текст можно в два счета. Главное — иметь доступ к сети Бывают случаи, когда вам нужно распознать текст на изображении, чтобы в итоге у вас была не картинка, а то, что можно распечатать или отредактировать. Можно, конечно, перепечатать текст самостоятельно, н…
[Из песочницы] Создание игры «35ММ». Постапокалипсис в России
Всем доброго времени суток, меня зовут Сергей Носков. Сегодня я бы хотел рассказать о создании моего первого полноценного инди-проекта под названием 35ММ, вышедшего в Steam в 2016 году. История конечно давняя, и с тех пор уже было опубликовано несколько статей и интервью н…
[Перевод] Как происходит рендеринг кадра A Plague Tale: Innocence
Предисловие
Как и в других моих исследованиях, давайте начнём с введения. Сегодня мы рассмотрим последнюю игру французского разработчика Asobo Studio. Впервые я увидел видео этой игры в прошлом году, когда коллега поделился со мной 16-минутным геймплейным трейлером. Моё вни…
[Перевод] 10 советов и приемов, которые помогут вам стать лучшим разработчиком на VueJS
Перед вами вольный перевод статьи 10 Tips & Tricks to make you a better VueJS Developer с сайта Dev.to. Автор расскажет нам об интересных и полезных вариантах применения привычных нам средств VueJS.
Введение
Мне действительно нравится работать с VueJS и каждый раз, когда…
Создаем простой сервис коллтрекинга, часть 2
В предыдущей статье мы реализовали генерацию и проверку наличия coockie, используемой для подстановки номера на странице, а так же добавили логирование отображаемых номеров с привязкой к источнику перехода. В этой статье будет рассмотрен процесс создания интерфейса вывода ин…
Создание моментальных игр на Unity в Google Play Instant
Привет! Перевели статью от Google с пошаговой инструкцией создания Instant Game в Google Play для игр на Unity.
Google анонсировал сервис Google Play Instant в марте 2018-го; с тех пор гейм-девелоперы могут создавать игры с мгновенным погружением. Существует несколько спо…
[Из песочницы] Краткое введение в рекурсию. JavaScript
Перевод: Привет, Хабр! Представляю вашему вниманию перевод статьи «A Quick Intro to Recursion in Javascript» Yazeed Bzadough.
Примечание. Рекурсия не единожды обсуждалась на хабре, но данная статья даёт базовое понимание рекурсии. Это будет полезно начинающим разр…
Император — онлайн казино для каждого
Для того чтобы заработать огромное количество денег, прилагая при этом минимальное количество усилий, вам обязательно потребуется зайти на сайт онлайн-казино Император. Если вы любите рисковать и самые разные азартное развлечение, то вам точно понравится на данном уникальном…
Новая консоль Amico от Intellivision,
Прошло 40 лет с тех пор, как Intellivision выпустила свою новаторскую игровую консоль. Теперь они вернулись в игру с Intellivision Amico, недорогой консолью, предназначенной не для хардкорных геймеров, а для более социальных и казуальных игроков. Amico больше похож на Ouya, …
[Перевод] Системы внутри картриджей: как инженеры расширяли возможности игровых консолей
В прошлой статье мы говорили о трёх картриджах с интересной особенностью: у них был разъём, в который вставлялись другие картриджи. Некоторые другие картриджи развили эту идею, позволив подключить в разъёмы своих консолей отдельные видеоигровые консоли. Это не были обычные …
[Перевод] Игра на Rust за 24 часа: личный опыт разработки
В этой статье я расскажу о личном опыте разработки небольшой игры на Rust. На создание рабочей версии ушло около 24 часов (преимущественно я работала по вечерам или на выходных). Игра еще далека от завершения, но я думаю, что опыт будет полезным. Я расскажу, чему научилась…
Как создать UI kit, который продается. Этапы разработки коммерческой дизайн-системы
Сегодня у любого дизайнера есть возможность заработать на собственном дизайн-продукте. Иконки, иллюстрации, шаблоны сайтов и приложений можно превратить в цифровой продукт и продавать по всему миру. Кому-то ваша поделка поможет ускорить работу и человек за нее заплатит. Др…
Elements
Откройте для себя игру Стихии! Увлекательная головоломка с HD графикой !
Цель игры проста. Перемещайте элементы стихии к соответствующим меткам. Выберите элемент и перетащите его к цели
Вместе с вашим прогрессом, будут открыты новые уровни, где необходимо применять…
[Перевод] Создание AR-игры с помощью Vuforia
[Под катом есть объёмные GIF]
Дополненная реальность (Augmented reality, AR) внезапно стала очень популярным термином. Благодаря Vuforia разработчики с лёгкостью могут дополнять физический мир цифровым контентом.
Хотя выпуск ARKit и ARCore позволил повысить известность до…
Игровая индустрия с 11 по 17 февраля 2019 года
В сегодняшнем выпуске: Take-Two обещает выпустить большую игру в течении года. Sony поменяет главу игрового подразделения. Основатель студии Sledgehammer Games создает новую студию для Take-Two. EA вспомнила про Jade Empire. Все самое интересное из мира игр и игровой…
Подборка новостей игровой индустрии с 8 марта по воскресенье
Глава FromSoftware Хидетака Миядзаки заявил о возможности создания своего батл-рояля.
Игры этого жанра, безусловно, хороши, и мы заинтересованы в том, как они устроены. Но если мы и возьмёмся за создание «королевской битвы», то сделаем это по-своему.Эти товарищи зарекомендов…
Минус уши или как не испортить звук в игре с самого начала
Статья о звуке, но адресована скорее не саунд-дизайнерам (которым всё известно), а продюсерам, ПМ-ам игровой индустрии и начинающим разработчикам. Собранные здесь ошибки — это наш собственный опыт из времён, когда War Robots была ещё прототипом в новой для компании нише.
…
[Перевод] Шейдерный эффект дудла
В этом туториале я расскажу о том, как с помощью шейдеров воссоздать популярный спрайтовый эффект дудла в Unity. Если для вашей игры необходим такой стиль, то из этой статьи вы узнаете, как достичь его без отрисовки кучи дополнительных изображений.
Последние несколько лет э…
Школьники Ханты-Мансийска научатся создавать 3D-игры
Создание игр – процесс непростой, но современные технологии способны сделать его максимально увлекательным. В этом смогут убедиться участники воркшопа, который пройдет в рамках инициативы Meet and Code.
Ребят ждет знакомство с интерфейсом программы Roblox. Это популярная…
[Перевод] Краткая история читерства в видеоиграх
Сразу с тех пор, как человечество начало играть в игры, появились люди, стремящиеся ради победы нарушать правила. Будь то шулерская игральная кость, подсчёт карт или удар бедром пинбольного автомата — можете спорить на что угодно: если есть игра с вероятностями, то кто-нибу…
[Перевод] Ограничения 8-битных игр и их точное воссоздание в Unity
Ретро-игры с простыми механиками и пиксельной графикой способны пробуждать тёплые воспоминания у опытных игроков, и в то же время вполне доступны для более юной аудитории. Сегодня многие игры называются «ретро», но для создания ностальгического стиля требуются усилия и план…
[Из песочницы] Создание простой кликер-игры с нуля
В последние несколько лет набирают большую популярность игры такого жанра, как «кликеры». Мне самому очень интересно играть в них, но не менее интересно создавать игру — кликер самому. Благодаря такому движку как Unity, создать свой шедевр не составит труда даже простому нов…
[Перевод] Создание игры для Game Boy
Несколько недель назад я решила поработать над игрой для Game Boy, создание которой доставило мне большое удовольствие. Её рабочее название «Aqua and Ashes». Игра имеет открытые исходники и выложена на https://github.com/InvisibleUp/AquaAndAshes.
Как мне пришла в голову эт…
AI-интерфейсы и где они обитают
Недавно мы написали на Хабр колонку о том, как выпустили собственную онлайн-игрушку. Одной из фишек, над которой мы серьезно заморочились, стала AI-генерация аватарок для своего персонажа «на лету» по фотографии (пока работает в прототипе и частью игры не является). При этом…
[Перевод] Создание игры для SEGA Mega Drive/Genesis в 2019 году
Даже сегодня люди по-прежнему продолжают создавать новые игры для старых консолей. Мы называем их «homebrew». Иногда это способ реализовать детскую мечту о создании игры для консоли, на которой играл ребёнком. Но кроме того это ещё и интересная задача для любого дизайнера и…
Xbox Game Bar теперь доступен для Windows 10
В прошлом месяце Microsoft анонсировала ряд улучшений, которые должны были появится в ее игровой панели Xbox Game Bar. Сегодня обновление доступно для Windows 10 версии 1809 и выше.Обновление добавляет кучу новых виджетов с новым функционалом. Например, есть виджет Broadcast…
[Перевод] Создание игры для Game Boy, часть 2
Несколько недель назад я решила поработать над игрой для Game Boy, создание которой доставило мне большое удовольствие. Её рабочее название «Aqua and Ashes». Игра имеет открытые исходники и выложена на GitHub. Предыдущая часть статьи находится здесь.
Фантастические спрайты…
Приложение «Фотографии» для Windows 10 лишается синхронизации видеопроектов в OneDrive
Видеоредактор в приложении «Фотографии» для Windows 10 лишится возможности синхронизации видеопроектов при помощи OneDrive. В настоящее время в облачное хранилище загружается информация о порядке клипов, музыке и тексте, благодаря чему видеопроекты выглядят одинаково на все…
[Перевод] 10 самых распространенных ошибок при работе с платформой Spring. Часть 1
Всем привет. Сегодня делимся первой частью статьи, перевод которой подготовлен специально для студентов курса «Разработчик на Spring Framework». Начнём!
Spring — пожалуй, одна из самых популярных платформ разработки на языке Java. Это мощный, но довольно сложный в освоении…
Самое выгодное казино Вулкан
В мире азартных развлечений наибольшей популярностью на сегодняшний день пользуется виртуальный клуб Вулкан. Его сайт https://kasino-vylkan.com/ открывает посетителям массу возможностей быстро и без труда пополнить свой счет золотыми монетами. На этом портале предложены неве…
Геймдизайн в жизнь. Экономика игры (Часть II)
Доброго дня!
Немного об авторе: меня зовут Мария, гейм дизайнер. Это третья статья из цикла по применению теории геймдизайна в жизни.
Ссылки:
Первая статья: «Гейм дизайн в жизнь. Пример разбора механики игры»
Вторая статья: «Геймдизайн в жизнь. Экономика игры (Часть I)»
…
Сетевой мониторинг и выявления аномальной сетевой активности с помощью решений Flowmon Networks
В последнее время в Интернете можно найти огромное кол-во материалов по теме анализа трафика на периметре сети. При этом все почему-то совершенно забыли об анализе локального трафика, который является не менее важным. Данная статья как раз и посещена этой теме. На примере …
[Из песочницы] Кухонный робототехник
Здравствуйте, уважаемые участники и гости сайта. Постараюсь быть краток насколько это возможно в данной теме. Бум робототехники последних лет, большое внимание к этой теме не могли оставить меня равнодушным.
Преследуя детскую мечту сделать робота, я попал на форум cyber-pla…
[Перевод] Картриджи консолей как модемы
Многие современные игроки в видеоигры воспринимают онлайн-соединения как нечто само собой разумеющееся — и правда, онлайн-сервисы являются стандартной функцией консолей уже почти пятнадцать лет1. Однако ещё до того, когда проникновение Интернета стало повсеместным, существо…
Первое время игровой сервис Google Stadia на смартфонах будет доступен только владельцам аппаратов Pixel последнего поколения
компания Google продолжает раскрывать детали касательно своего облачного игрового сервиса Stadia. Основную информацию нам рассказали 6 июня, но пробелов осталось всё-таки немало.
Теперь же стало известно, к примеру, о том, что в случае, если какая-либо игра покинет сер…
[Из песочницы] Создаем элементы интерфейса программно с помощью PureLayout
Привет, Хабр! Представляю вашему вниманию перевод статьи Creating UIViews Constraints Programmatically Using PureLayout автора Aly Yaka.
Сегодня я проведу вас через создание простого пользовательского интерфейса мобильного приложения кодом, без использования раскадровок и…
[Из песочницы] UICollectionView всему голова: Изменение представления на лету
Привет, Хабр! Представляю вашему вниманию перевод статьи «UICollectionView Tutorial: Changing presentation on the fly».
В данной статье мы рассмотрим использование различный способов отображение элементов, а также их переиспользование и динамическое изменение. Зде…
Игровая индустрия с 12 по 18 августа 2019 года
В сегодняшнем выпуске: GSC Game World ищет сотрудников. Игроки No Man’s Sky строят огромный город. The Outer Worlds может получить продолжение. Splinter Cell возвращается. Все самое интересное из мира игр и игровой индустрии за прошедшую неделю.
GSC Game World ище…
Книга «Kafka Streams в действии. Приложения и микросервисы для работы в реальном времени»
Привет, Хаброжители! Эта книга подойдет для любого разработчика, который хочет разобраться в потоковой обработке. Понимание распределенного программирования поможет лучше изучить Kafka и Kafka Streams. Было бы неплохо знать и сам фреймворк Kafka, но это не обязательно: я ра…
Краш-тесты СХД AERODISK ENGINE N2, проверка на прочность
Всем привет! Этой статьей компания AERODISK открывает блог на Хабре. Ура, товарищи!
В предыдущих статьях на Хабре были рассмотрены вопросы об архитектуре и базовой настройке СХД. В этой статье мы рассмотрим вопрос, который ранее не был освещен, но его часто задавали – об от…
Разработка Unix подобной OS — Драйверы символьных устройств (8)
В предыдущей статье мы ввели многозадачность. Сегодня пришло время рассмотреть тему драйверов символьных устройств.
Конкретно сегодня мы напишем драйвер терминала, механизм отложенной обработки прерываний, рассмотрим тему обработчиков верхних и нижних половин прерываний.
…
Создание voice & tone вашего продукта
В статье была затронута тема тональности и голоса продукта. Понятие в наших краях не слишком-то и обсуждаемо, практически не используется осознанно. И, если быть честными, голос и тон обычно входят в брендбуки и аналогичные документы, либо прописываются в неявном виде в реда…
В Делюкс Вулкан самые успешные игровые автоматы.
Если вы устали от бытовых проблем, то перейдя по данной ссылке, вы сможете окунуться в невероятно интересный мир удачи и всевозможных азартных развлечений. Здесь представлено онлайн-казино Делюкс Вулкан европейского класса, которое предлагает вам невероятные возможности для …
[Перевод] Анатомия сокола
Недавно мы объявили о разработке игры Falcon Age о выращивании взрослой птицы из птенца сокола и совместном противостоянии силам, стремящимся колонизировать планету. Falcon Age выйдет в 2019 году на PS4 и PS VR.
На прошлой неделе мы показали игру на PAX и получили замечате…
Как рендерится кадр в Shadow Fight 3
Технический 3D-художник Banzai Games Роман Терский рассказал о том, как происходит отрисовка кадра и устроены материалы для персонажей в мобильной игре Shadow Fight 3, а также раскрыл небольшие хитрости в настройке окружения
Shadow Fight 3 — игра в жанре файтинг/РПГ, разр…
[Перевод] Стильный водопад из RiME в игровом движке: делаем водяной поток
Это вторая (и последняя) часть гайда по созданию водопада в Unity или UE4 после вдохновения игрой RiME. В первой разобрались с инструментами, выбрали среду разработки и создали шейдер кругов на воде. Почему начали именно с этого? Все просто: там используется большинство мето…
Музыка для ваших проектов: 12 тематических ресурсов с треками по лицензии Creative Commons
Подборка пригодится разработчикам, дизайнерам, видеорежиссерам и контент-мейкерам, которые ищут музыку для своих проектов — приложений, игр или видеороликов.
Представленные ниже площадки предлагают скачать полноценные композиции. О ресурсах, на которых можно найти отдельные…
[Перевод] Чему можно научиться у дизайна гиперказуальных игр
Кто-то может сказать, что гиперказуалки, вероятно, один из простейших жанров для анализа гейм-дизайна. Кто-то может сказать что гиперказуальные игры даже не стоят анализа, потому что этот тренд скоро исчезнет, но у меня есть другое мнение.
Не могу сказать, что являются спе…
О записи багов, или Найди кота
Эта статья родилась из поста на внутреннем форуме нашей конторы, немножко пообсуждалась, слегка дополнилась, а потом я решил выложить её в итоговом виде тут, чтобы ссылаться было удобнее.
Да, пост капитанский, это ожидаемое поведение я просто хочу это иметь собранным, упо…
[Перевод] 4 шага для создания профиля кандидата
Всем привет. В этом месяце в Отус стартует новый поток курса «IT-Recruiter.» К этому запуску мы приурочили новый полезный перевод, которым делимся с вами.
Создание профиля кандидата
Ваш профиль кандидата – это внутренний документ, который, по сути, представляет собой спис…
[Перевод] Подумайте дважды, прежде чем использовать игровые движки
Холивар о том, нужно ли использовать для создания игр движки, начался сразу после появления первых игровых движков. Этот пост на reddit не является идеальным примером разумных контраргументов против постоянного использования движков, но я считаю, что непреодолимое желание их…
Flying Squirrel
Беги и прыгай часами! Помогите своей белке-летяге найти потерянный запас орехов в этой бесплатной новой игре Magma Mobile. Эта быстро развивающаяся игра с графикой в формате HD и великолепной музыкой очарует всю семью! Соберите как можно больше монет и желудей, чтобы ваша бе…
[Из песочницы] Stadia — революция в игровой индустрии?
Для тех, кто в танке: 19-го марта 2019 года, Google анонсировала стриминговый сервис Stadia. Сервис, который позволит играть во все игры, по сути, прямо в браузере. С любого устройства, будь то планшет, смартфон, TV-приставка, ПК, тостер, калькулятор, холодильник.
В этой …
Nintendo делает игровой смартфон по аналогии с приставкой Switch
У компании Nintendo, судя по всему, есть планы на создание продукта, который не получилось создать у Sony. Даже будучи игровым гигантом, Sony не смогла заразить успехом игровой приставки PlayStation свое подразделение, занимающееся разработкой смартфонов, и это при том, что…
DrumHero: Как я делал первую в жизни игру
В этом году социально-образовательной программе IT ШКОЛА SAMSUNG исполняется 5 лет (читайте об IT ШКОЛЕ здесь), и по этому случаю мы предложили нашим выпускникам рассказать о себе и опыте создания своих мобильных приложений. Мы верим, что при большом желании каждый может дос…
[Перевод] Unity: отрисовываем множество полосок здоровья за один drawcall
Недавно мне нужно было решить задачу, достаточно распространённую во многих играх с видом сверху: рендерить на экране целую кучу полосок здоровья врагов. Примерно вот так:
Очевидно, что я хотел сделать это как можно эффективнее, желательно за один вызов отрисовки. Как обыч…
10 новых бесплатных курсов по когнитивным сервисам и Azure
Недавно мы выложили около 20 новых курсов на нашу обучающую платформу Microsoft Learn. Сегодня я расскажу и первых десяти, а немного позже выйдет статья и о второй десятке. Среди новинок: распознавание голоса с когнитивными сервисами, создание чат-ботов с QnA Maker, обработк…
[Перевод] Дизайн уровней и геймплея roguelike на примере Cogmind
Многие годы я использовал довольно стандартизированный подход к дизайну каждой новой карты Cogmind, и хотя сейчас их счёт уже идёт на десятки, в своём блоге я его никогда не рассматривал. В основном это вызвано тем, что подробный анализ всего процесса потребует раскрытия ку…
Лучшее из опыта создания чистых и быстрых Angular приложений
На написание этой статьи сподвигли поиски JavaScript front-end разработчиков в свою компанию в Ставрополе. Т.к. длительное время не удавалось найти толкового программиста и тогда мы решили запустить программу стажировки с большим количеством обучающего материала по Angular &…
Сайт Капитан Бездеп — актуальная информация о бонусах 2019
Многие игроки знают, что сегодня в казино можно получить отличные подарки, поэтому постоянно ищут новые казино, где можно было бы получить подарки без депозита или очень выгодные бонусы за депозит. Конечно, можно все делать самому, но гораздо удобнее зайти на сайт Капитан Бе…
[Перевод] Лямбды: от C++11 до C++20. Часть 2
Привет, хабровчане. В связи со стартом набора в новую группу по курсу «Разработчик C++», делимся с вами переводом второй части статьи «Лямбды: от C++11 до C++20». Первую часть можно прочитать тут.
В первой части серии мы рассмотрели лямбды с точки зрения C++03, C++11 и C+…
Make Your Database Dream of Electric Sheep: Designing for Autonomous Operation
Как вы думаете, кто лучше настроит PostgreSQL — DBA или ML алгоритм? И если второй, то пора ли нам задуматься, чем заняться, когда нас заменят машины. Или до этого не дойдет, и важные решения все-таки должен принимать человек. Наверное, уровень изоляции и требования к устойч…
Qualcomm и Tencent объединились для создания игрового …
Еще в апреле в сети появилась информация о планах Tencent выйти на рынок смартфонов со своим устройством. И вот сегодня было официально объявлено, что китайский интернет-гигант действительно выпустит геймерский мобильник, а поможет в этом американский чипмейкер Qualcomm.
&nb…
[Из песочницы] Оптимизация скриптов с Webpack SplitChunksPlugin
В этой статье я бы хотел поделиться своим опытом по разбиению бандлов для многостраничного сайта с помощью Webpack 4. Cначала создадим для каждой страницы свою точку входа. Рассмотрим на примере 4 страниц:
const path = require(«path»);
const PATHS = {
src: path…
Казино Вулкан 24
Одним из самых популярных и проверенных клубов, которые находятся на просторах интернета, являются онлайн казино Вулкан 24. Как только вы самостоятельно окажетесь на сайте этого клуба, вы поймёте, что своё звание он получил не просто так. Всё дело в том, что здесь действител…
[Перевод] Машинное обучение агентов в Unity
Эта статья об агентах машинного обучения в Unity написана Майклом Лэнхемом — техническим новатором, активным разработчиком под Unity, консультантом, менеджером и автором многих игр на движке Unity, графических проектов и книг.
Разработчики Unity внедрили поддержку машинног…
[Перевод] Как работает kubectl exec?
Прим. перев.: автор статьи — Erkan Erol, инженер из SAP — делится своим изучением механизмов функционирования команды kubectl exec, столь привычной для всех, кто работает с Kubernetes. Весь алгоритм он сопровождает листингами исходного кода Kubernetes (и связанных проектов),…
Новые лучшие игры для Sony PlayStation 4 временно распродают с огромной скидкой
За все время существования игровой приставки Sony PlayStation 4 на рынке, для нее успели создать и выпустить более чем 1 500 игр от различных игровых студий, в которые теперь на постоянной ежедневной основе играют миллионы
Сообщение Новые лучшие игры для Sony PlayStation 4 …
[Перевод] Оптимизация стратегии игры в Блэкджек методом Монте-Карло
Перевод статьи подготовлен специально для студентов курса «Machine learning».
Обучение с подкреплением штурмом взяло мир Искусственного Интеллекта. Начиная от AlphaGo и AlphaStar, все большее число видов деятельности, в которых раньше доминировал человек, теперь завоевано…
Как стать разработчиком игр, если ты риелтор
Добрый день, Хабр.
Два года и несколько месяцев назад, я написал здесь своей первый и единственный пост, как, не имея никакого опыта разработки игр, я создал свое первое android-приложение. Пусть и потратил на это весь свой тогдашний отпуск. Хотя игрой это было и сложно наз…
Чудо Пазлы 5.10.5
Чудо Пазлы – одно из самых популярных приложений с головоломками. Множество интересных пазлов, огромное количество уровней.
В нашем приложении вы найдете огромное количество крутых пазлов. Огромная галерея полная интересных картинок для собирания. Игра постоянно пополн…
[Перевод] SVG фильтры 101
Это первая статья в серии об SVG фильтрах. Это руководство поможет понять, что это такое, и покажет, как использовать их для создания собственных визуальных эффектов.
CSS в настоящее время предоставляет нам способ применения цветовых эффектов к изображениям, таких как насыщ…
[Перевод] Python в Visual Studio Code: сентябрьское обновление расширения
Мы рады сообщить, что сентябрьское обновление расширения Python для Visual Studio Code уже доступно. Вы можете загрузить расширение Python из Marketplace или установить его прямо из галереи расширений в Visual Studio Code. Если у вас уже установлено расширение Python, вы так…
CodeSide. Новая игра для знаменитого соревнования Russian AI Cup
Сообщество участников чемпионатов и команда Mail.ru Group в сотрудничестве с Codeforces.com приглашают вас на самую настоящую бойню, от которой вы получите бессонные ночи и мозоли на руках, поскольку будете участвовать в одном из самых живых и интересных чемпионатов по про…
[Перевод] Порождение событий, CQRS и Laravel
Перевод статьи подготовлен для студентов профессионального курса «Framework Laravel»
________________________
Введение
Эта статья посвящена основам создания событийных CQRS-систем на языке PHP и в фреймворке Laravel. Предполагается, что вы знакомы со схемой разработки с …
[Перевод] Введение в реверс-инжиниринг: взламываем формат данных игры
Введение
Реверс-инжиниринг незнакомого файла данных можно описать как процесс постепенного понимания. Он во многом напоминает научный метод, только применённый к созданным человеком абстрактным объектам, а не к миру природы. Мы начинаем со сбора данных, а затем используем э…
Читать между нот: система передачи данных внутри музыки
Высказать то, что слова не могут передать; почувствовать самые разнообразные эмоции, переплетающиеся в ураган чувств; оторваться от земли, неба и даже самой Вселенной, отправившись в путешествие, где нет карт, нет дорог, нет указателей; придумать, рассказать и пережить цел…
Открытый лекционный вечер по геймдизайну в ВШБИ
22 марта 2019 года в Высшей школе бизнес-информатики НИУ ВШЭ состоится Лекционный вечер по геймдизайну в рамках программ «Менеджмент игровых проектов», «Основы создания игр в виртуальной реальности» и «Основы создания игр».
22 марта 2019 года в 19:00 в Высшей школе бизне…
[Перевод] Внутренности JVM, Часть 1 — Загрузчик классов
Перевод статьи подготовлен специально для студентов курса «Разработчик Java».
В этой серии статей я расскажу о том, как работает Java Virtual Machine. Сегодня мы рассмотрим механизм загрузки классов в JVM. Читать дальше →
Сценарное и исследовательское тестирование мобильных игр
На глобальном игровом рынке приложения для смартфонов и планшетов в 2018 году обеспечили 45% продаж, обогнав игры для консолей (32%) и ПК (23%). Рынок мобильных игр ежегодно растет как минимум на 10% – около 7 миллиардов долларов в денежном выражении – по данным Global Games…
[recovery mode] Почему не нужно тратить свое время на создание нишевых тематических сайтов
К настоящему моменту я владею несколькими тематическими порталами, которые успешно загибаются. И в этой статье я расскажу о том, как я их сделал, сколько получил, и почему им приходит конец, и я не могу ничего с этим сделать.
Буду рассказывать на примере сайта по мужской…
[Перевод] Дизайн декбилдинга в видеоиграх
Карточные игры и элементы декбилдинга (построения колоды) используются в видеоиграх уже давно, иногда смешиваясь с известными жанрами для создания нового, но в то же время знакомого игрового процесса. Разработчики разными способами экспериментируют с этим поджанром, то созд…
Работа с внешними ресурсами в Unity 3d
Введение
Здравствуйте уважаемые читатели, сегодня речь пойдет о работе с внешними ресурсами в среде Unity 3d.
По традиции, для начала определимся, что это и зачем нам это надо. Итак, что же такое эти внешние ресурсы. В рамках разработки игр, такими ресурсами может быть все…
Apple объявляет о кроссплатформенном сервисе подписки на игры Apple Arcade с доступом к более чем 100 играм
Сегодня Apple анонсировала Apple Arcade, новый игровой сервис на основе подписки для мобильных устройств, настольных компьютеров и тв в гостиной, в котором представлены сотни изданий от ведущих издательств видеоигр, включая Disney, Sega, Lego, Cartoon Network и Konami.
Подпи…
Угадай бойцов Brawl Stars 1.3
Тебе нравится играть в Brawl Stars? Тогда эта игра для тебя.
Знаешь всех бойцов из Brawl Stars? Тогда эта игра для тебя.
Особенности игры Угадай бойцов Brawl Stars:
Все герои Brawl Stars! 💪 Полезные подсказки! 🆘 Каждый ответ дает вам монету, которую…
Natural Language Processing онлайн-чеков: курс уроков волшебства для обычного кота и другие проблемы
Компания CleverDATA занимается разработкой платформы для работы с большими данными. В частности, на нашей платформе есть возможность работать с информацией из чеков онлайн-покупок. Перед нами стояла задача научиться обрабатывать текстовые данные чеков и строить на них вывод…
[Из песочницы] WWDC19: Приступим к работе с Test Plan для XCTest
Привет, Хабр! Представляю вашему вниманию перевод статьи «WWDC19: Getting Started with Test Plan for XCTest» автора Shashikant Jagtap.
На прошедшей конференции WWDC компания Apple показала новые классные фичи для разработчиков. В Xcode 11 так же добавлено несколько потряс…
[Перевод] Подготовка к Spring Professional Certification. Spring Security
Эта статья является переводом статьи по подготовке к Spring Professional Certification.
В ней будет рассмотрена тема Spring Security и основные вопросы по ней.
Ее также можно использовать для подготовки к собеседованию.
↓ Остальные статьи доступны по ссылкам в оглавлении ↓
…
[Из песочницы] Как начать программировать в Adobe Illustrator. Скрипт Expand Clipping Mask. Часть первая
Сразу хочу предупредить, что эта серия постов не для матёрых программистов и даже не для программистов вообще. Понимаю, что это звучит крайне вызывающе, учитывая IT-тематику ресурса, и все же позвольте объяснить… В качестве аудитории, я вижу обычных дизайнеров, которые хотел…
Ритм-безумие под названием Thumper теперь доступно и на Android
Музыкальная игра Thumper, которую многие называют одним из лучших музыкальных развлечений, официально вышла на Android. До этой платформы проект добрался последним, но лучше поздно, чем никогда.
Игра очень динамичная и яркая. Вы играете за космического жука, который на окол…
[Перевод] Почему все мои игры выглядят так отстойно
Мы потратили на создание этой игры несколько лет. От неё зависит будущее нашей семьи. Почему же она так ужасно выглядит?
Я уже 25 лет зарабатываю на жизнь написанием инди-игр. У нас с женой есть небольшой семейный бизнес. Мы создаём низкобюджетные ролевые игры в ретро-стил…
[Перевод] Нейросети и глубокое обучение: онлайн-учебник, глава 1
Примечание
Перед вами – перевод свободной онлайн-книги Майкла Нильсена «Neural Networks and Deep Learning», распространяемой под лицензией Creative Commons Attribution-NonCommercial 3.0 Unported License. Мотивацией к его созданию послужил успешный опыт перевода учебника по п…
[Перевод] Создание игры Tower Defense в Unity: башни и стрельба по врагам
[Первая и вторая части туториала]
Размещаем на поле башни.
Целимся во врагов при помощи физики.
Отслеживаем их, пока это возможно.
Стреляем в них лазерным лучом.
Это третья часть серии туториалов о создании простой игры жанра tower defense. В ней рассмотрено создание баше…
Тесты или типы? — Rust version
Пару дней назад 0xd34df00d опубликовал здесь перевод статьи, описывающей, что можно узнать о функции в разных языках, если рассматривать её как «чёрный ящик», не используя информацию о её реализации (но, разумеется, не мешая ей пользоваться компилятору). Разумеется, получаем…
WRATH: Aeon of Ruin — старомодный шутер на движке первой Quake
Студия 3D Realms анонсировала свой новый проект — «мясной» ретро-шутер старой школы WRATH: Aeon of Ruin. По словам разработчиков, при создании игры они вдохновлялись классикой жанра в лице Doom, Quake, Hexen, Unreal, Blood…
[Перевод] Генерация подземелий в Diablo 1
Diablo 1 — это классический roguelike 1996 года в жанре hack and slash. Это была одна из первых успешных попыток познакомить широкие массы с roguelike, которые до этого имели нишевую графику в виде ASCII-арта. Игра породила несколько сиквелов и множество имитаций. Она извес…
Алиса приобретает навык
В этой статье речь пойдёт о голосовых интерфейсах (Voice User Interface — VUI), а также будет показано, как на Node.js можно создать приложение (навык — в терминологии платформы Яндекс.Диалоги) для голосового помощника Алисы. С помощью стороннего API наше приложение будет …
7 бесплатных плееров Apple Music и программ для Mac (macOS), которые могут сделать прослушивание музыки более удобным
Хотите слушать свою музыку через популярный стриминговый сервис Apple Music с ещё большим комфортом? Присмотритесь к этим небольшим, но очень полезным программам из нашей подборки! ПО ТЕМЕ: Как создать собственные «горячие» клавиши для любой программы в macOS. 1. Spot…
[Перевод] Руководство для чайников: создание цепочек DevOps с помощью инструментов с открытым исходным кодом
Создание первой цепочки DevOps за пять шагов для новичков.
DevOps стал панацеей для слишком медленных, разобщенных и прочих проблемных процессов разработки. Но нужны минимальные познания в DevOps. Здесь будет рассмотрены такие понятия, как цепочка DevOps и как создать ее за…
[Перевод] 39 новых фич, которые будут доступны в Java 12
Из замечательного интервью на Хабре: «Саймон Риттер — человек, который работал над Java с самого начала и продолжает делать это в роли заместителя технического директора Azul — компании, работающей над виртуальной машиной Zing JVM и одним из лучших сборщиков мусора, C4 (Cont…
Трогательная My Brother Rabbit на русском языке уже доступна на iOS и Android
My Brother Rabbit— это трогательно приключение от создателей десятка разнообразных игр в жанре «поиск предметов».
«В любящей семье заболевает дочь. Пока родители пытаются найти нужное лекарство, заботливый старший брат не хочет сидеть сложа руки и использует силу воображени…
Обзор Radio Commander. В такое вы еще не играли
Достаточно часто нам в руки попадают очень необычные игровые проекты, которые удивляют своими геймплейными особенностями и механиками. Даже странно, что до этого всего не догадались разработчики из других крупных компаний, которые работают в индустрии столько лет. Сегодня мы…
Вклад дизайнера в разработку мобильных приложений
Дизайнер и его роль в разработке мобильных приложений
Все мы знаем, что дизайн играет очень важную роль в проектировании и разработке мобильных приложений. У каждого дизайнера свои подход, методы и инструменты для работы над приложениями. От того, на каких платформах будет р…
Apollo : A Dream Odyssey — сказочное приключение с элементами головоломки
Apollo: A Dream Odyssey – это красивое сказочное приключение девушки, которая потеряла все свои мечты, достигнув совершеннолетия. Однажды загадочный голос приглашает ее в красивый мир, где она сможет восстановить утраченное.
Вам предстоит в роли этой девушки путешествовать …
[Перевод] Комбинирование Signed Distance Fields в 2D
В предыдущем туториале мы научились создавать и перемещать простые фигуры с помощью функций расстояний со знаком. В этой статье мы научимся комбинировать несколько фигур для создания более сложных полей расстояний. Большинству описанных здесь техник я научился из библиотеки …
[Перевод] Физика игрового торнадо: как реализована аэродинамика в Just Cause 4 (трафик)
Жак Кернер — старший инженер-разработчик ПО в Avalanche Studios.
Как будто раньше игра была недостаточно безумной
Введение
Серия игр Just Cause и Avalanche Studios известны своей технологией открытого мира, обеспечивающего разнообразный и увлекательный игровой процесс. В …
[Перевод] Правильная передача цветов ретроконсолей в эмуляторах
Почти все игровые ретроконсоли генерируют цвета в каком-нибудь из вариантов RGB-кодирования.
Но эти цвета пикселей часто предназначены для экранов, совершенно отличающихся от тех, на которых обычно работают эмуляторы. В этой статье я расскажу о важности эмуляции цветов, …
[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 2: С++
В этой статье мы разберем на двух примерах, как написать смарт контракт на языке C++, используя WASM на основе блокчейн сети Ontology. Сегодня, после нескольких месяцев стабильной работы в тестовом режиме, Ontology запустила WASM в основной сети, что позволяет безболезненн…
[Из песочницы] Изучение комбинаторных парсеров с Rust
Привет, Хабр! Представляю вашему вниманию перевод статьи «Learning Parser Combinators With Rust».
Эта статья учит основам комбинаторных парсеров людей, которые уже знакомы с Rust. Предполагается, что никаких других знаний не требуется, а всё, что не имеет прямого о…
На Android в режиме пробного запуска вышла Big Truck Drag Racing
Мне сложно объяснить популярность CSR Racing 2 и других игр в жанре дрэг-рейсинга. Да, в них разработчики часто очень круто работают над качеством автомобилей, но неужели в это интересно играть изо дня в день? Однако вкусы у всех разные, а количество загрузок — штука объекти…
Гамбол и Подземелья 0.49
Гамбол и Подземелья – игра в которой вы сможете исследовать разнообразные пещеры, вам понадобиться все ваше логическое мышление чтобы выиграть.
В нашей игре вы будете брать по огромному лабиринту, полному разнообразных ловушек и головоломок. Соберите как можно больше г…
Гиперконвергентное решение AERODISK vAIR. Основа — файловая система ARDFS
Привет, читатели Хабра. Этой статьей мы открываем цикл, который будет рассказывать о разработанной нами гиперконвергентной системе AERODISK vAIR. Изначально мы хотели первой же статьей рассказать всё обо всём, но система довольно сложная, поэтому будем есть слона по частям….
Свистать всех на Linux, гром и молния
Привет, Хабр! Сегодня я хочу рассказать о собственном опыте перевода рабочего места на Linux. Статья не претендует на 100% охват всех проблем и их решений, но кое-какие рецепты, позволяющие сделать жизнь лучше, тут все же будут. Также в статье будет некоторое количество флеш…
Казуальная музыкальная аркада OCO вышла на iOS и Android
На прошлой неделе на iOS вышла аркада OCO, которую мы пропустили. Но о ней уже написали почти все специализированные западные издания, а сама она успела добраться до Android, так что теперь точно стоит рассказать.
Сначала кажется, что это очередная гиперказуальная аркада в …
Новая видеокарта ASRock Phantom Gaming X Radeon VII 16G с мощной памятью
ASRock представила видеокарту Phantom Gaming X Radeon VII 16G.
Новинка обеспечивает исключительную графическую производительность, позволяя работать с самыми требовательными играми и программами для создания контента в реальном времени. Благодаря технологии 7 нм Radeon …
Как правильно сделать бэкап данных Android-смартфона
Очень важно иметь резервную копию файлов для того, чтобы ничего не потерять Согласитесь, не очень весело из-за поломки телефона вдруг взять и лишиться всех важных номеров контактов, документов, фотографий и видеозаписей. Зачастую среди всех этих файлов могут быть и такие, ко…
[Перевод] История 3dfx Voodoo1
Это вторая статья из серии «3D-карты конца 90-х, на которых работал Quake». В первой части мы рассмотрели Rendition Vérité 1000 конца 1996 года и специальный порт игры для неё под названием vQuake. Rendition удалось победить всех на рынке Quake. На короткий промежуток време…
[Из песочницы] Как я программирую движки для ролевых игр в Google-таблицах
Идея использовать электронные таблицы в качестве среды для разработки игрушек не нова. В этой статье я поделюсь опытом в создании движков для ролевых игр живого действия и тимбилдингов, которые смогут сильно облегчить жизнь игропрактикам.
Читать дальше →
[Перевод] Краткий и бодрый обзор архитектуры компиляторов
Большинство компиляторов имеют следующую архитектуру:
В данной статье я собираюсь детально препарировать эту архитектуру, элемент за элементом.
Можно сказать, что эта статья — дополнение к огромному количеству существующих ресурсов на тему компиляторов. Она является а…
[Перевод] ValueTask<TResult> — почему, зачем и как?
Предисловие к переводу
В отличие от научных статей, статьи данного типа сложно переводить «близко к тексту», приходится проводить довольно сильную адаптацию. По этой причине приношу свои извинения, за некоторую вольность, с моей стороны, в обращении с текстом исходной статьи…
H.I.D.E. 0.20.6
Хочешь поиграть в прятки в Белом доме?
Устанавливай одну из лучших игр в жанре Prop Hunt.
Тебе нравятся игры в жанре Prop Hunt?
Сегодня миллионы игроков в играют в такие игры.
Что такое жанр Prop Hunt? Это командная игра, где игроки делятся на Охотников и Предм…
[Из песочницы] Применение Go в производственных системах. Валидаторы
Добрый день, Хабр!
Я довольно часто начинаю утро с просмотра хабра и наконец решил внести свой вклад в данный процесс изучения интересного. Если всё сложится, то это первая моя статься из цикла применения языка GO на производственных системах. Я хочу рассказать некоторые т…
[Перевод] Про «Open» Distros, Open Source, и создание компании Elastic
В контексте событий про Open Distro, открытие исходников X-Pack, а также статьи «The Cloud and Open Source Powder Keg» — перевод поста Шейя Бэнона (основатель и CEO Elastic).
Читать дальше →
[Перевод] Великий исход из индустрии видеоигр
История о том, как Фрэнк Д’Анджело попал в индустрию видеоигр, трогательна и типична одновременно.
Когда ему было десять лет, он писал письма разработчикам и издателям любимых видеоигр. В них Фрэнк рассказывал о том, как любит их игры и просил совета, чтобы стать создателе…
[Перевод] Deno — новый Node.js?
В нашем проекте, IDE для работы с API TestMace, в качестве основного языка используется TypeScript, поэтому мы активно интересуемся проектами, связанными с данным языком. Сегодня вашему вниманию представляется перевод статьи об инструменте Deno — runtime для TypeScript (но э…
Вулкан Старс — казино, которое вас покорит
Если вы хотите с головой окунуться в разнообразный мир онлайн-казино, то вам обязательно поможет площадка Vulkan Stars. Их основная цель сделать все свои услуги такими, чтобы каждый игрок получил самые лучшие впечатления от их игрового зала, и поэтому они дополняют его на е…
[Из песочницы] Опыт переезда iOS Developer в Германию по визе на поиск работы
Добрый день, дорогой читатель!
В этом посте я бы хотел рассказать о том, как я переехал в Германию, в Берлин, как нашел работу и получил Голубую Карту, и какие подводные могут ожидать людей, решивших повторить мой путь. Я надеюсь, что моя статья будет полезна тебе, если ты …
[Из песочницы] Путь от хирургии к геймдеву или первый опыт мобильной разработки на Unity
Зачем, кому и от кого
Всем привет! Меня зовут Анатолий. Я хочу рассказать историю о наших первых шагах в геймдеве, чтобы поделиться пусть и небольшим, но всё же опытом. Зачем? Потому что всего 6 месяцев назад сам искал подобные публикации, перечитывал и выписывал советы. Над…
Загружайте Barnyard Bonanza в лучшем качестве. Выбирайте Faraonkasino для игры в онлайн слоты
Игровой клуб Faraon понимает все интересны игроков и предоставляет им реально интересные условия. Сейчас на сайте можно найти десятки самых прибыльных игровых слотов. Все это по ссылке faraonkasino.ru представлено в оригинальном исполнении. Действительно можно делать ставки …
[Перевод] Воссоздание старой DOS-игры на C++ 17
В 2016 году я начал работу над хобби-проектом по реверс-инжинирингу игры Duke Nukem II и воссозданию с нуля его движка. Проект имеет название Rigel Engine и выложен в open source (его страница на GitHub). Сегодня, более чем два с половиной года спустя на моём движке уже можн…
[Перевод] Исследование шейдера песка игры Journey
Среди множества инди-игр, выпущенных за последние 10 лет, одной из самых любимых для меня определённо является Journey. Благодаря своей потрясающей эстетике и красивому саундтреку Journey стала примером превосходства практически в каждом аспекте разработки.
Я разработчик иг…
[Перевод] Реалистичная каустика отражений
Большинство технических художников на каком-то этапе карьеры пытается создать правдоподобные отражения каустики. Если вы разработчик игр, то одна из основных причин чтения Twitter заключается в бесконечном потоке вдохновения, которое из него можно почерпать. Несколько дней …
Лучшие программы для создания презентаций на Android
Создать красивую презентацию в наше время проще простого Все мы в своей жизни делали презентации. Будь то школьный проект или же доклад в университете. А кто-то продолжает создавать презентации до сих пор на своей работе. Но мало кто задумывался о том, что существует множест…
Лучшие онлайн игры на лучшем сайте Вулкан
Среди множества преимуществ, что получило человечество в последнее время, есть возможность, о которой не мечтали люди еще несколько десятилетий назад. Несмотря на то, что всемирная сеть создавалась, в первую очередь, для расчета и передачи больших объемов деловой информации,…
[Из песочницы] Чеклист для создания и публикации веб-приложений
Для того, чтобы создать свое веб приложение в наше время недостаточно уметь его разрабатывать. Важным аспектом является настройка инструментов по развертыванию приложения, мониторингу, а также управление и администрирование среды, в которой оно работает. Эра ручного разверты…
[Перевод] Архитектура программного обеспечения переоценена, простой и понятный дизайн — недооценен
Вашему вниманию предлагается перевод поста Гергелия Ороса, занимающего должность Engineering Manager в Uber. В нем он делится своим взглядом на проектирование крупномасштабных систем, основанном на собственном практическом опыте работы в Uber и Microsoft. В сочетании с ком…
Coroutines :: опыт практического применения
В этой статье расскажу о том, как работают корутины и как их создать. Рассмотрим применение при последовательном, параллельном выполнении. Поговорим об обработке ошибок, отладке и способах тестирования корутин. В конце я подведу итог и расскажу о впечатлениях, которые остали…
«Ритм-игры, которые стоит знать»: какие проекты поставили на звук и сделали его частью жанра
Довольно часто музыкальную составляющую компьютерных игр затмевают геймплей и сюжет. Однако есть проекты, в которых звук не просто выходит на первый план, но становится неотъемлемой частью игрового процесса — например, в ритм-играх. В этой статье мы обойдем стороной такие ку…
Новый движок для новой Call of Duty
Одним из заметных событий прошедшей недели стал анонс новой части Call of Duty — ведь Call of Duty: Modern Warfare, ребут одноименного хита 2007 года, будет первой за 14 лет игрой серии, которая работает на новом движке, и к тому же будет поддерживать кросс-плей на PC, PS4 и…
[Перевод] Современная игра для NES, написанная на Lisp-подобном языке
What Remains — это повествовательная игра-адвенчура для 8-битной видеоигровой консоли NES, выпущенная в марте 2019 года как бесплатный ROM, запускаемый в эмуляторе. Она создавалась небольшой командой Iodine Dynamics на протяжении двух лет с перерывами. В настоящий момент игр…
Разработка Unix подобной OS — Виртуальное адресное пространство (6)
В предыдущей статье мы рассмотрели основы работы в защищенном режиме IA-32. Сегодня пришла пора научиться работать с виртуальным адресным пространством. Читать дальше →
Развитие игровой стратегии Microsoft: Game Core и игры с Xbox на ПК
Последние несколько лет компания Microsoft достаточно агрессивно развивает собственное игровое направление. Вначале свет увидела самая мощная в мире консоль под названием Xbox One X, а теперь же ведётся работа над сервисом потоковой передачи игр Project xCloud, публичное те…
9 типовых проблем в сети, которые можно обнаружить с помощью анализа NetFlow (на примере Flowmon)
Относительно недавно мы публиковали статью “Сетевой мониторинг и выявления аномальной сетевой активности с помощью решений Flowmon Networks”. Там мы кратко рассмотрели возможности этого продукта и процесс установки. Неожиданно для нас, после статьи и вебинара, поступило бо…
Безопасности нет: создан универсальный способ взлома Android-смартфонов
Фрагментация всегда была главной проблемой Android, которая существенно стопорила развитие операционной системы. Из-за широкого разброса сборок все игры и приложения, которые попадали в Google Play, не могли одинаково хорошо работать на всех устройствах с Android, страдал у…
Обзор Stickman Epic Archery. Стань лучником
Достаточно часто мне на глаза попадаются мобильные игры, которые выглядят интересно, но потом оказывается, что они ужасны и рекомендовать их точно нельзя. Сегодня речь пойдет именно о такой игре — Stickman Epic Archery лишь кажется увлекательной, но если провести в ей хоть н…
Казино Рокс создано для вас
Современное онлайн казино, это невероятное место, где люди предпочитают получать невероятные эмоции, но и конечно же, реальный шанс крупного выигрыша. В данном случае, если вас интересует именно это, то посетите онлайн казино Рокс, ведь именно здесь вы сможете узнать, что та…
[Перевод] Исследование глубин аннотаций типов в Python. Часть 1
C 2014 года, когда в Python появилась поддержка аннотаций типов, программисты работают над их внедрением в свой код. Автор материала, первую часть перевода которого мы публикуем сегодня, говорит, что по её оценке, довольно смелой, сейчас аннотации типов (иногда их называют «…
Вулкан24 — технологии победы в казино
Посетив виртуальный клуб Вулкан, игрок понимает, что на этом портале созданы самые комфортные и качественные условия для проведения игры. Сайт https://вулкан-24.com/casino/ имеет оригинальное и привлекательное оформление, которое сразу же манит отправиться в игровые путешест…
[Из песочницы] 10 самых распространенных ошибок Spring Framework
Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 10 Most Common Spring Framework Mistakes» автора Toni Kukurin.
Spring, вероятно, один из самых популярных Java-фреймворков, а также могучий зверь для укрощения. Хотя его базовые концепции довольно легко понять, д…
[Из песочницы] Система генерации ландшафта лабиринта с улучшенным визуальным реализмом [перевод статьи Jinmo Kim]
Привет, Хабр!
В этой публикации я расскажу о статье автора Jinmo Kim: «Maze Terrain Authoring System in Immersive Virtual Reality for New Visual Realism». Она была опубликована 4.04.2019. Полный текст статьи можно посмотреть здесь.
Краткое описание системы
В стать…
А вы уже знаете, где можно скачать Counter Strike 1.6 совершенно бесплатно и без регистрации
Как вы отдыхаете и расслабляетесь? Кто-то ходит в кино, кто-то является частым посетителем местных баров и пабов, кто-то любит ночные клубы. А как насчет компьютерных игр? Компьютерные игры – это один из способов отдыха и времяпрепровождения. Они помогают расслабиться и отдо…
[Из песочницы] Новичку only: 10 вещей, которые вы должны знать как веб-разработчик
Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Things You Should Know As a Web Developer» автора Anuupadhyay.
Написание тысячи строк кода и превращение в веб-сайт — одна из творческих и сложных вещей для веб-разработчиков. Если вы в этом деле новичок, увидели …
Во сколько Apple обошёлся сервис Arcade
На презентации 25 марта представила нетипичный для себя сервис — Apple Arcade. Игровая платформа будет доступна основных операционных системах компании — macOS и iOS. Аналитики полагают, что Apple может совершить очередную революцию в игровой индустрии — в…
YIMP — Панель управления для Yii 2 на Bootstrap 4
Уверен, что у многих разработчиков, предпочитающих фреймворки готовым CMS, есть в запасе решение на Bootstrap или его аналогах, которое используется в для создания интерфейсов админок и прочих бэк-офисов. И у меня такое есть. Успешно работает много лет, но безнадежно устарел…
Текстурирование, или что нужно знать, чтобы стать Художником по поверхностям. Часть 3. PBR и материалы
В прошлой части тутора мы разобрали принцип работы масок, что такое «текстура», и что абсолютно для всего используются каналы — параметры пикселя. Теперь рассмотрим всеми любимый PBR И соберем текстуры для создания мокрого грязного асфальта.
В этом уроке я буду очень много…
Самое выгодное онлайн казино
Игровые порталы наперебой предлагают испытать удачу и погрузиться в мир игровых фантазий. Но, к сожалению далеко не все имеют необходимое техническое оборудование и инструменты для проведения азартных игр. Опытные геймеры давно сделали свой выбор и он очевиден, ведь самым ма…
Лучшее онлайн казино Вулкан НЕОН
Наиболее крупным и популярным среди игровых порталов является онлайн казино Vulcan Neon. Перейдя по ссылке на его сайт можно смело выбирать игровые автоматы и запускать игру. Этот клуб считается наиболее безопасным ресурсом для проведения платных игр. Он готов предоставить с…
Как редактировать видео на Android
Большинство сервисов Google пользователями рассматриваются лишь как средство для синхронизации файлов. А кто-то и вовсе не задумывается об их существовании, пользуясь своим смартфоном «на автомате», А зря, ведь хранилище фотографий Google Фото (как и сопутствующее…
Исповедь графомана
Меня часто спрашивают о моей писанине. Не о конкретных событиях, или фактах, или вымыслах, изложенных в том или ином тексте, а о процессе создания текстов. Как я это делаю, когда, зачем, с какой скоростью, как совмещаю с работой, и есть ли у меня вообще работа, и т.д.
Я, ка…
[recovery mode] Что показывает вольтметр или математика розетки
О чем эта статья
Сегодня я ненадолго отступлю от своей обычной темы о визуальном программировании контроллеров и обращусь к теме измерений напряжения прямо в ней, в розетке!
Родилась эта статья из дискуссий за чаем, когда разразился спор среди «всезнающих и всеведающих» п…
[Перевод] Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS
Привет, Хабр! представляю вашему вниманию перевод статьи «How to make your HTML responsive by adding a single line of CSS» автора Per Harald Borgen.
В этой статье я научу вас, как использовать CSS Grid для создания крутой сетки изображений, которая изменяет количество сто…
Как сделать солнечный фонарик своими руками (часть 2)
В предыдущей статье были рассмотрены нюансы сборки классических солнечных фонариков на столбике. В этой статье я хочу поделиться моим опытом сборки настольных солнечных фонариков – ночников и штучных, можно сказать «пафосных» солнечных фонариков на основе готовых, или хрус…
[Перевод] Создаём границы процедурно генерируемой карты
Скотт Тёрнер продолжает работу над своей процедурно генерируемой игрой и теперь решил заняться проблемой оформления границ карт. Для этого ему предстоит решить несколько непростых задач и даже создать собственный язык описания границ.
Важным элементом фэнтезийных карт, кот…
Выбор музыки для торговых центров
Торговые центры стали в жизни современного человека местом где можно не только приобрести качественные и брендовые вещи, но и отлично отдохнуть всей семьей. Впервые торговые центры появились в Америке и стали настоящим атрибутом стильной и комфортной жизни. На сегодня такие …
[Перевод] «Хранители» видеоигр шаг за шагом сохраняют игровую культуру
Игры — ключ к пониманию современной культуры, однако создание игровых архивов может быть на удивление трудной задачей
Много ли стоит история? В мае мы получили ответ на этот вопрос — по крайней мере для мира видеоигр: $14 000.
Именно такой была победная ставка на прототип…
[Перевод] Плюсы и минусы Django
Прим. перев.: Эта статья рассчитана в основном на тех кто только выбирает фреймворк для веб-разработки. Опытные разработчики на Django вряд ли узнают что-то новое.
Django описывают как «веб-фреймворк для перфекционистов с дедлайнами». Его создали, чтобы переходить от протот…
Состоялся релиз NecroDancer: AMPLIFIED — приквела популярного ритм-рогалика
Crypt of the NecroDancer – безумно популярная и любимая пользователи игра. В Steam за 3 года с момента релиза она собрала почти 13 000 отзывов, 96% из которых положительные. Это рогалик с элементами ритм игры, dungeon crawler и пошаговым игровым процессом.
Еще в декабре 201…
Про подсчёт битов, беззнаковые типы в Kotlin и про ситуации, когда экономия на спичках оправдана
К написанию статьи подтолкнул вот этот комментарий. А точнее, одна фраза из него.
… расходовать память или такты процессора на элементы в миллиардных объёмах — это нехорошо…
Так сложилось, что в последнее время мне именно этим и пришлось заниматься. И, хотя, случай, которы…
Создание бэкенд приложения для онлайн чата Apollo, Node.js
Некоторое время назад я работал над мобильным приложением, функционал которого включал в себя удобный онлайн-чат. И теперь я решил написать статью с краткой инструкцией, как создать чат, используя apollo server и node.js на бэкенде, а так же react native и apollo client на к…
Stop the line или прокачай свой pipeline, йоу
Если ваши релизы быстры как молния, автоматизированы и надежны, можете не читать эту статью.
Раньше наш процесс релиза был ручным, медленным и напичканным ошибками.
Мы проваливали спринт за спринтом, потому что не успевали сделать и выложить фичи к следующему Sprint Revie…
Очки для плавания Form Swim Goggles начнут показывать сердечный ритм
В прошлом месяце компания Form выпустила очки для плавания Form Swim Goggles. Теперь она собирается добавить ещё одну полезную функцию: отслеживание сердечного ритма
[Перевод] Как решить «Сапёра» (и сделать его лучше)
«Сапёр» (Minesweeper) — это простая игра с простыми правилами, однако некоторые её конфигурации создают любопытные трудности. В этой статье мы создадим солвер «Сапёра» с увеличивающейся сложностью, и поразмышляем над тем, как меняется динамика игры при постепенном повышении…
Лучшие Android-приложения для поиска текстов песен
Знаете лишь пару строчек из песни? Не проблема. Эти приложения помогут вам найти нужный трек! Если вам нужно распознать песню, которая играет в данный момент, то вы, наверняка, в курсе того, какие программы для этого использовать. Тем более, что мы недавно делали подборку по…
Как выиграть в автоматы Rox casino
Каждый геймер знает, что для игры на деньги стоит выбрать самые лучшие и проверенные онлайн казино. Одним из таких клубов является rox casino. Данный игровой портал имеет отличную репутацию, которую зарабатывал долгими годами и доказывая своим клиентам свою преданность, чест…
Crytek добавила SpatialOS GDK в CryEngine и пообещала новую AAA-игру с этой технологией
Crytek объявила, что работает с известным технологическим стартапом Improbable с целью помочь разработчикам создавать игры, использующие связку движка CryEngine и облачной технологии SpatialOS. Согласно заявлению, уже достигнут прогресс в отношении полнофункциональн…
Все свое: туториал по созданию новых действий для UiPath RPA
Данная статья – обучающий материал, который позволяет по шагам пройтись по процессу создания и публикации нового компонента для платформы UiPath RPA. Это удобно в разных случаях, например, для простой интеграции с системами компании или в ситуациях, когда компания хочет помо…
Советы по GWENT: The Witcher Card Game — с чего начать?
GWENT: The Witcher Card Game не так давно появилась на iOS, и ею сразу же заинтересовалось множество поклонников карточных баттлеров. И неудивительно, ведь GWENT — это легендарная игра из The Witcher 3.
В этом кратком гайде мы расскажем вам, с чего начать свои карточные с…
Ученые создали искусственную клетку, которая сама вырабатывает энергию
Исследователи со всего мира пытаются создать искусственные клетки, которые подобно настоящим, могут могут естественным образом создавать и синтезировать свои составные части. Большой шаг к созданию независимых клеток уже сделан — ученые из Токийского технологического инстит…
[Перевод] API IntersectionObserver и ленивая загрузка изображений
Использование ленивой загрузки изображений для улучшения производительности веб-проектов — востребованная техника оптимизации. Всё дело в том, что изображения — это «тяжёлые» ресурсы, которыми переполнены современные веб-сайты. Мы уже кое-что об этом публиковали. Здесь можно…
[Из песочницы] Как работают денежные переводы с карты на карту
Несмотря на то, что популярность данного вида переводов с каждым годом растёт все больше, в интернете очень мало информации о том как они работаю «изнутри», и в этой статье я простым языком расскажу что такое p2p-переводы, какие они бывают и как они устроены.
Читать дальше…
[Перевод] О сетевой модели в играх для начинающих
Последние две недели я работал над сетевым движком для своей игры. До этого я вообще ничего не знал о сетевых технологиях в играх, поэтому прочитал множество статей и провёл множество экспериментов, чтобы уяснить все концепции и иметь возможность написать собственный сетево…
Игровая индустрия с 21 по 27 октября 2019 года
В сегодняшнем выпуске: Игры и контроллер от Xbox One будут совместимы с Xbox Scarlett. Sony Bend Studio трудится над новым проектом. Diablo IV может быть анонсирована в ближайшее время. Опасность игр здоровью может быть переоценена. Все самое интересное из мира игр и игрово…
Статическое распределение объектов FreeRTOS
По умолчанию все объекты в системе FreeRTOS распределяются динамически — очереди, семафоры, таймеры, задачи (потоки), и мьютексы. Программист видит только «кучу» — область где динамически выделяется память по запросу программы или системы, а что там творится внутри – не ясно…
Обзор Idle Mafia. Виртуальный бандитизм
Игры в жанре Idle очень хороши для убивания времени — вроде сел на пару минут проверить свои бизнесы и все улучшить, как уже доехал до нужной остановки и можно выходить. Это удобно, приятно и легко — игроку не нужно иметь хорошую реакцию или долго постигать основы игрового п…
Обзор Factory Inc. Классная казуальная игра
В последнее время разработчики игровых проектов стали все чаще и чаще обращать внимание на казуальные игры, так как для реализации подобных проектов совершенно не нужно тратить много сил и времени. Достаточно взять уже придуманную другими стратегию, использовать ее для созда…
Пишете сценарии или объемные тексты? Присмотритесь к этим приложениям для Android
Для того, чтобы дать выход своему творчеству, достаточно обычного смартфона Творческое письмо — это навык, который развивается с течением времени. Но, как говорится, отличные идеи приходят в случайных местах. А что, если в этот момент у вас под рукой не будет блокнота …
[Из песочницы] Права в Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)
Всем привет. Это перевод статьи из книги RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 and EX300.
От себя: Надеюсь статья будет полезна не только начинающим, но и поможет более опытным администраторам упорядочить свои знания.
Итак, поехали.
Читать дальше →
[Перевод] Ограничения 16-битных игр и их воссоздание в Unity
В нашем первом туториале по ретро-играм мы показали, как настраивать инструмент 2D Pixel Perfect и как создавалась графика в эпоху 8-битных игр. В этом посте мы перенесёмся в 16-битную эру. С помощью Mega Cat Studios мы узнаем, как создавать аутентичную графику для игр в ст…
Обзор The Escapists 2: Pocket Breakout — песочница с душой и юмором
The The Escapists 2: Pocket Breakout – это игра не для всех.
Brawl Stars универсальна — ею смогут насладиться как те, кто раньше не играл ни во что, кроме солитера, так и киберспортсмены, готовые десятки часов тратить на то, чтобы досконально изучить особенности местного уп…
20 проектов, 20 языков, срок вчера. Часть 3
Заключительная статья об интеграции Serge+Smartcat. В этой статье я расскажу, как мы масштабируем Serge на всю компанию, рассмотрю 4 нестандартных интеграции и, в качестве бонуса, расскажу о 2 фичах которые могут упростить вам жизнь.
Предыдущие статьи:
20 проектов, 20 язык…
Cоздание визуальных компонентов в Unity UI. Система частиц
Привет! Эта статья о создании собственных визуальных компонентов в UI на примере компонента для визуализации системы частиц в Canvas’e.
Данная информация будет полезна для реализации различных эффектов в пользовательском интерфейсе, а также может использоваться для генераци…
Использование DiagnosticSource в .NET Core: практика
В предыдущей статье я рассказал про механизм DiagnosticSource и на простом примере показал, как с его помощью можно перехватывать запросы в базу данных через классы SqlConnection и SqlCommand и измерять время их выполнения.
В настоящее время DiagnosticSource уже используется…
[Перевод] Извлечение данных при машинном обучении
Хотите узнать о трех методах получения данных для своего следующего проекта по ML? Тогда читайте перевод статьи Rebecca Vickery, опубликованной в блоге Towards Data Science на сайте Medium! Она будет интересна начинающим специалистам.
Получение качественных данных — это пе…
Математическая модель игры Доббль
Математическая модель игры Доббль
Уровни сложности чтения
Я слишком молод, чтобы думать
Введение и правила игры
Как они это делают?
Матрица инцидентности для игры Доббль
Каких двух карточек не хватает в комплекте игры?
Почему в игре на 2 карточки меньше максимально возможн…
Игровой портал для настоящих геймеров
Индустрия компьютерных игр сегодня широко распространена во всем мире и уже давно вышла за рамки простого развлечения для детей и подростков. Сегодня «геймер» или «киберспортсмен» — настоящая профессия, а игровая тематика захватывает не только младшее, но и старшее пок…
[Из песочницы] Прибыльность сайтов и сервисов
Эта статья будет полезна всем, кто хочет сделать собственный бизнес на веб-сайтах и сервисах. Здесь приведены примеры прибыльности и средней посещаемости сайтов через год работы. Основная цель статьи — дать приблизительное представление о сложности развития проектов для тех,…
[Перевод] Пространство генерации и пространство возможностей
В этом туториале я расскажу о двух терминах, которые используются мной для описания процедурных генераторов: пространство генерации (generative space) и пространство возможностей (possibility space). Мы дадим определения этим двум терминам, а затем рассмотрим интерактивные п…
Первые шаги в IT: как Meet and Code объединяет единомышленников
Европейская неделя программирования объединяет IT-энтузиастов, которые помогают юному поколению сделать первые шаги в мире программирования. В российских городах проходят хакатоны, воркшопы и мастер-классы. Как школьники осваивают технологии и что для них значит цифровое тв…
[Перевод] Как 17-летний парень портировал на компьютеры аркадный хит 80-х
6 часов, ноябрьское холодное утро 1987 года. 17-летний программист Мартин Уэбб сидит перед компьютером в каком-то доме в Шропшире. Отец Мартина, Дэннис Уэбб тоже здесь, как и Джефф Браун, руководитель компании-издателя игр US Gold. Они не спали всю ночь.
Прошлым вечером, з…
Разработчики аркадной гонки Touring Karts ищут бета-тестеров на iOS
Mario Kart Tourпоказала один из самых успешных запусков в истории мобильных платформ, поэтому не удивляйтесь, если до конца года количество анонсов проектов в жанре аркадных гонок будет зашкаливать.
Touring Karts от студии Ivanovich Games вышла на ПК еще в сентября, а тепер…
Гайд для разработчиков по созданию ИИ-приложений
Создайте вашего первого умного бота с Microsoft AI
Искусственный интеллект ускоряет цифровую трансформацию в каждой отрасли, включая производство, розничную торговлю, финансы, здравоохранение и многие другие. При таком уровне каждая отрасль сможет использовать ИИ для улучшен…
[Перевод] Зачем использовать python -m pip
И снова здравствуйте. В преддверии старта нового потока по курсу «Machine Learning», хотим поделиться переводом статьи, которая имеет довольно косвенное отношение к ML, но наверняка будет полезна подписчикам нашего блога.
Мариатта — разработчик из Канады, спросила в Тви…
Призы и подарки на официальном сайте казино Вулкан
Одним из самых популярных и известных игровых клубов в сети является официальный сайт Вулкан. Он достаточно давно осуществляет свою деятельность и за годы работы смог расширить спектр своих услуг и повысить уровень обслуживания. Геймеры отдают свое предпочтение данному игров…
ShIoTiny: узлы, связи и события или особенности рисования программ
Основные тезисы или о чем эта статья
Тема статьи — визуальное программирование ПЛК ShIoTiny для умного дома, описанного тут: ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска».
Очень кратко рассмотрены такие понятия, как узлы, связи, события, а такж…
bear_hug: игры в ASCII-арте на Python3.6+
Для своих игр в ASCII-арте я написал библиотеку bear_hug с очередью событий, коллекцией виджетов, поддержкой ECS и прочими полезными мелочами. В этой статье мы посмотрим, как с её помощью сделать минимальную работающую игру.
Читать дальше →
[Из песочницы] Построение пакета RPM для Rosa Linux на практике
Если Вы уже давно пользуетесь операционной системой Linux и хоть немного разбираетесь в программировании, рано или поздно Вам может понадобиться собрать программу из исходного кода. Может быть, нужной программы не окажется в репозиториях дистрибутива. Или в этих репозиториях…
Опыт создания первого робота на Ардуино (робот-«охотник»)
Здравствуйте.
В данной статье я хочу описать процесс сборки своего первого робота на ардуино. Материал будет полезен другим таким же новичкам, как и я, которые захотят изготовить какую-нибудь «самобеглую тележку». Статья представляет собой описание этапов работы с моими доп…
Игровая индустрия с 18 по 24 ноября 2019 года
В сегодняшнем выпуске: Valve анонсировала Half-Life. Стартовая линейка Google Stadia. Obsidian трудится над рядом ролевых игр. Джон Кармак больше не верит в VR. Все самое интересное из мира игр и игровой индустрии за прошедшую неделю.
Valve анонсировала Half-Life
Val…
[Из песочницы] Создание многомодульного Gradle проекта SpringBoot + Angular в IDEA
Достаточно часто в моей практике используется связка Spring + Angular. Хочу поделится своим опытом по подготовке подобного проекта в среде разработки IntelliJ IDEA.
Создаем пустой Gradle проект
Для начала создадим пустой Gradle проект в IDEA, при этом снимите все галочки би…
Угловые эффекты
Добрый день, дорогой читатель! Это вторая переводная статья из цикла статей о создании физического движка авторства Chris Hecker. Если Вы ещё не ознакомились с первой, то рекомендую это сделать, т. к. всё сразу станет понятнее. Большое спасибо за поддержку первого перевода: …
[Перевод] Современное окружение для React Native приложений
В этой статье мы рассмотрим настройку React Native окружения с использованием expo-cli, Typescript, и Jest.
Typescript поможет нам избежать ошибок при разработке и написать более эффективное мобильное приложение.
Современные разработки позволяют интегрировать Typescript в …
[Перевод] Секреты работы с тканью в игре Alan Wake
[Программист анимаций компании Remedy Хенрик Энквист рассказал, как его команда создала убедительную симуляцию твидового пиджака главного героя игры в жанре хоррор-триллер Alan Wake.]
Главный персонаж нашего экшн-триллера — Алан Уэйк, писатель, попавший в кошмар, где он в…
5 способов сделать Python-сервер на Raspberry Pi. Часть 2
Привет Хабр.
Сегодня мы продолжим изучать сетевые возможности Raspberry Pi, а точнее их реализацию на языке Python. В первой части мы рассмотрели базовые функции простейшего веб-сервера, работающего на Raspberry Pi. Сейчас мы пойдем дальше, и рассмотрим несколько способов, …
198X — обзор игры про нелёгкую жизнь подростка-геймера из 80-х
Не так давно в Steam состоялся релиз игры 198X, рассказывающей о жизни простого подростка 80-х годов, с походами в зал аркадных автоматов и возможностью опробовать свои силы в играх разных жанров, благодаря чему он находит своё место в этом мире. Тем, кого одолевает ностальг…
Зеркало букмекерской конторы Марафон
Среди нас существует огромное количество людей, которые ценят в жизни азарт, настоящие острые эмоции, а также мечтают о крупном финансовом состоянии. Стоит отметить, что мы живём в то время, когда буквально каждый имеет возможность полностью изменить свою жизнь. Если с азарт…
Играть в игровые автоматы
Выбирайте только лучшее для себя и своего время прохождения, и если вы решили начать играть в игровые автоматы или хотя бы попробовать, то конечно стоит выбрать лучшее казино, с высоким рейтингом, проверенное и безопасное, а значит это будет онлайн казино: http://slotokub.co…
Signpost: когда брейкпоинтов недостаточно
В предыдущей статье мы узнали о причинах нестабильности unit-тестов и способах борьбы с этим. Теперь мы хотим рассмотреть один из новых инструментов Apple для отладки и профилирования кода. Речь о представленном на WWDC 2018 фреймворке для логирования os_log, который был рас…
Официальные игровые автоматы казино Вулкан
В азартные игры люди играют с давних времен. Интерес к этому увлечению постоянно растет, а с недавних пор посетить казино можно даже в режиме онлайн. Виртуальная игра ни чуть не уступает реальной, в ней есть много преимуществ и многие геймеры считают её более удобной и комфо…
Описание архитектур процессоров в LLVM с помощью TableGen
На данный момент LLVM стала уже очень популярной системой, которую многие активно используют для создания различных компиляторов, анализаторов и т.п. Уже написано большое количество полезных материалов по данной тематике, в том числе и на русском языке, что не может не радов…
На iOS вышел аркадный футбольный симулятор Super Soccer Champs 2019
Игры студии Uprising Games относятся к тому типу, о которых нельзя судить по внешнему виду. Tennis Champs и Super Soccer Champs – отличные аркадные спортивные симуляторы с графикой в ретро-стиле, но очень затягивающим игровым процессом.
Новая часть Super Soccer Champs 2019 …
Fancade — приложение для создания собственных миниатюрных игр на мобильных
Martin Magni – автор популярной головоломки Mekorama – выпустил свой новый проект Fancade. Пока что он доступен только в Google Play в режиме пробного запуска. Если вы хотите получить доступ и на iOS, напишите автору в Discord – ссылку него и другие полезные материалы можно …
Абсолютно все инструменты для победы в казино Вулкан
Пожалуй, для каждого любителя азартных игр очень важно иметь большой ассортимент такого рода развлечений. Ведь однообразные игры могут быстро наскучить. Именно поэтому специалисты онлайн казино Вулкан предлагают отличные условия для того, чтобы весело провести свое свободное…
Ученые назвали песни, которые опасно слушать за рулем
Какие песни делают водителей более агрессивными? У ученых есть ответ!
Все, кто учился в автошколе (да и те, кто не учился тоже) знают, что отвлекать водителя во время движения не стоит. Конечно, безопасность на дороге зависит не только то этого, но следует заметить, что любы…
3D-печать и airsoft: как я печатал «привод»
Всем привет! Я попробую немного рассказать о том, как я пытался сделать страйкбольный привод при помощи 3D-принтера, что из этого получилось и с какими сложностями пришлось столкнуться. Статья может оказаться интересной для тех, кто любит airsoft, DIY или 3D-печать. Для те…
Как я создавал Recycle! VR
В предыдущей статье мы попробовали создать базовую сцену в A-Frame, чтобы опробовать основные концепции фреймворка на практике. В этой статье я хотел бы поделится своим опытом создания игры на A-Frame — Recycle! VR. Репозиторий проекта доступен по следующей ссылке.
Перера…
В этом году выйдет игра DeLight — головоломка с незрячей девочкой в главной роли
GDC 2019 закончилась почти неделю назад, а новости с нее продолжают поступать. DreamTree Studios на выставке показывала интересную головоломку DeLight, которая должна выйти в этом году на ПК и мобильных устройствах.
Вы играете за девушку, которая живет в мире, где идет войн…
Игровые автоматы для вашего прекрасного времяпровождения
Многие современные люди ищут определённые для себя варианты развлечения, отдыха, или возможно заработка. Всё это сегодня можно найти в интернете, если знать где искать, и как правильно выбрать надежную платформу. Например, если вас интересуют игровые автоматы, то прямо на са…
Классическая мобильная метроидвания Waking Mars теперь доступна по подписке GameClub
Сервис GameClub прошел в наших широтах почти незамеченным, особенно на фоне Apple Arcade. Для тех, кто не знает, о чем речь, GameClub — это такая же возможность играть в десятки игр по подписке. Даже цена та же — всего 199 рублей в месяц для России. Главное отличие в том, чт…
Ritual: Sorcerer Angel — простой, но зрелищный аркадный экшен от авторов Reaper и Radiant Defense
Студия Hexage, ответственная за создание отличных Reaper, REDCON, Radiant Defense и других, представила новый проект под названием Ritual.
Начать стоит с недостатков. Разработчики даже особо не скрывают и уже не официальном сайте пишут, что игра играет сама в себя. Но для м…
Как создать Python wrapper и не сойти с ума
Недавно на Хабре прочитал статью про очень полезный инструмент, и так как я уже давно искал какой-то проект, чтобы начать контрибьютить, решил посмотреть, что там есть на гитхабе и чем можно помочь. Одно из issue было на счет создания обертки (дальше буду использовать wrappe…
Кольца Сатурна могут быть гораздо моложе, чем предполагалось
NASA/JPL-Caltech
Не так давно ученые выяснили, что Сатурн может уже относительно скоро — через 100 миллионов лет — потерять свои кольца. При этом, как установили специалисты теперь, кольца газового гиганта существуют, возможно, совсем не так долго, как полагалось ранее….
25 лучших MMORPG на iOS и Android в которые можно поиграть прямо сейчас
MMORPG — один из самых популярных игровых жанров всех времен — и на то есть веские причины. Игры такого типа предлагают исследования в открытом мире, создание персонажей и стратегические сражения, подобно классическим RPG, но полностью онлайн, когда сотни, если не тысячи игр…
[Из песочницы] Dagger 2 – это элементарно (Часть 1)
Содержание
Введение
Что такое Dependency Injection, Пример зависимости
Dagger 2 – введение
Первое использование Dagger 2
Введение
Статья написана не продвинутым программистом для таких же, обычными и понятными словами
В статье используется пример кода на Kotlin. Версия da…
[Перевод] Как была устроена графика NES
Выпущенная в 1983 году домашняя консоль Nintendo Entertainment System (NES) была дешёвой, но мощной машиной, достигшей феноменального успеха. При помощи блока обработки изображений (Picture Processing Unit, PPU) система могла создавать достаточно впечатляющую по тем времена…
Blitz Engine & Battle Prime: ECS и сетевой код
Вступление
Battle Prime — первый проект нашей студии. Несмотря на то, что многие члены команды имеют приличный опыт в разработке игр, мы, естественно, сталкивались с разными сложностями во время работы над ним. Они возникали как в процессе работы над движком, так и в процес…
Разбор заданий конкурса AI CTF на Positive Hack Days 9
На PHDays 9 мы решили рассмотреть с практической стороны модную сегодня тему безопасности машинного обучения. Для этого мы создали онлайн-конкурс AI CTF (capture the flag) формата task-based, с заданиями, посвященными безопасности применения техник искусственного интеллекта….
Псевдо Lens Flare
Привет, Хабр! Представляю вашему вниманию перевод статьи «Pseudo Lens Flare» автора John Chapman.
Lens flare (блики на линзах) ― это фотографический артефакт, возникающий при рассеивании и преломлении света в системе линз. Хотя он является артефактом, существует множество…
Разрабатываем педальную прошивку для обучения игре на балалайке
Я очень люблю видеоуроки. Почему-то информацию с текста лично я воспринимаю весьма и весьма плохо. А есть вещи, в которых информации на бумаге не так много. Возьмём, к примеру, уроки игры на балалайке: на YouTube есть замечательные разборы, как играть ту или иную мелодию (ко…
Онлайн игры про зомби. Топ лучших игровых проектов
Зомби — это, наверное, одна из самых старых и многочисленных тем для создания игр. Правда последнее время, они многим стали надоедать. Вернуть интерес к подобным проектам может грамотно реализованный мультиплеер. Ведь играть с друзьями всегда веселее.
Топ лучших онлайн игр п…
Как распилить монолит на сервисы и сохранить производительность In-memory кэшей без потери консистентности
Всем привет. Меня зовут Александр, я Java-разработчик в группе компаний Tinkoff.
В данной статье хочу поделиться опытом решения проблем, связанных с синхронизацией состояния кэшей в распределенных системах. Мы столкнулись с ними, разбивая наше монолитное приложение на микр…
Как решает типичные проблемы программист Google
От переводчика: публикуем для вас перевод статьи Стива Меррита, сотрудника Google, который рассказывает о том, как он решает типичные проблемы программирования. Пост будет полезен, в первую очередь, начинающим программистам.
В этой статье я расскажу о своей стратегии ре…
Мотивация, делегирование и автоматизация: рецепт создания суперкоманды
Знакомьтесь, это Дима. Он тимлид и отвечает за техдолг и код-ревью, за планирование и технические процессы, за выполнение разработчиками задач в срок — мотивирует, нанимает и, если надо, увольняет. Дима хочет работать только над важными задачами, но работает над миллионом са…
Epic Games открыла бесплатный доступ к тысячам материалов Megascans для разработчиков
Разработчик компьютерных игр Epic Games приобрёл компанию Quixel, создавшую крупнейшую в мире библиотеку фотограмметрических материалов Megascans. Теперь огромная библиотека из более 10 тыс. текстур и объектов, которые ранее использовались для создания фотореалистичных сцен …
Bitfury Group анонсировала создание блокчейн-платформы для музыкальной индустрии
Ведущий поставщик технологических решений The Bitfury Group объявил в среду, 16 января, о запуске ориентированного на индустрию музыки и развлечений подразделения, которое работает над созданием музыкальной платформы на основе блокчейна биткоина. В заявлении компании говорит…
Microsoft анонсировала игровую приставку Xbox нового поколения
Компания Microsoft, как и предполагалось, использовала игровую выставку E3 в качестве арены для анонса своей игровой консоли Xbox нового поколения. Она выйдет только в следующем году к осеннему праздничному сезону, но ключевые возможности платформы стали известны уже се…
Определяем породу собаки: полный цикл разработки, от нейросети на Питоне до приложения на Google Play
Прогресс в области нейросетей вообще и распознавания образов в частности, привел к тому, что может показаться, будто создание нейросетевого приложения для работы с изображениями — это рутинная задача. В некотором смысле, так и есть — если вам пришла в голову идея, связанныя …
Обзор Steamcraft. Строим машины смерти
Игровые проекты от крупных студий достаточно быстро надоедают по одной простой причине — в них нет возможности для фантазии или создания чего-то своего. Вы можете зайти в абсолютно любую соревновательную игру и посмотреть на то, как там реализованы механики, насколько там кр…
Казино Вулкан 24 — популярные предложения рунета
Казино Вулкан 24 – место, где сбываются мечты
Казино Вулкан 24 — относительно новый игрок на игровом рынке, и сайт поразил сеть, быстро став одним из самых популярных игровых клубов. Казино предлагает большой выбор популярных игровых автоматов, традиционных игр казино,…
[Из песочницы] Выигрышная стратегия Гомоку – 35 ходов
При игре по стандартным правилам Гомоку для выигрыша черным требуется не более 35 ходов. В статье Вашему вниманию представлена полная выигрышная стратегия и соответствующий алгоритм игры.
Демонстрация полного решения – здесь – можно поиграть и найти самые длинные варианты. …
[Перевод] Service mesh для микросервисов. Часть III. Более глубокий взгляд на Istio
Перевод статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes».
Это третья статья из серии публикаций, посвященных Kubernetes и технологии service mesh (также известной как «сеть микросервисов» и «mesh-сеть микросервисов»). В …
[Из песочницы] 9 Принципов для создания качественных iOS приложений
Принципы основаны на известной методологии от heroku, адаптированы под реалии айос разработки (Отсутствие контейнеров, ревью которые занимают несколько дней и тормозят развертывания, работа Xcode только на маке).
Эта статья является коротким введением, полную серию можете на…
Ломаем игру на память: целый детектив
Эта игра не давала нам покоя несколько месяцев. Правила очень простые: надо выкладывать карточки с картинками и придумывать сказку. Потом вспомнить её.
Простая штука на запоминание, подумали мы. Сто раз в такое играли, и всё наше образование просто вопит, что сейчас буд…
Game of Evolution — смесь из кликера и merge-механики в сеттинге эволюции
Кликеры — очень необычный жанр. По сути, это развлечение с доведенным до абсолюта уровнем простоты. В кликерах действительно можно ничего не делать и «получать удовольствие». Если, конечно, не считать активными действия процесс периодического входа в игру, чтобы собирать наг…
В чем моделировать или делать модель? Бесплатные онлайн ресурсы и софт в целом.
Привет, друг.Очень часто вижу вопросы, в чем делать детали или как моделировать тот или иной объект. Хочу собрать в кучу самый распространенный софт и краткое описание к нему. И на десерт рассказать о ресурсах, про которые мало кто знает, хотя они позволяют делать многие вещ…
[Из песочницы] Фантазии на тему метаклассов в C#
Программистам вроде меня, которые пришли в C# с большим опытом работы в Delphi, часто не хватает того, что в Delphi принято называть ссылками на класс (class reference), а в теоретических работах – метаклассами. Я несколько раз натыкался в разных форумах на обсуждение, прохо…
Деливерим фичи быстрее. Опыт Android-разработки в Badoo
Всем привет! Меня зовут Анатолий Варивончик. Я работаю в Badoo уже больше года, а мой общий стаж Android-разработки — более пяти лет.
В своей практике я и мои коллеги часто сталкиваемся с необходимостью тестировать идеи максимально быстро и просто. Мы не хотим тратить много…
[Из песочницы] Обзорная статья по A-Frame
A-Frame — это веб-фреймворк позволяющий создавать различные приложения, игры, сцены в виртуальной реальности (ВР). Все вышеописанное будет доступно прямо из браузера вашего шлема ВР. Этот инструмент будет полезен как тем кто хочет заниматься разработкой ВР игр в браузере, …
[Перевод] Настройка НА-кластера Kubernetes на «голом железе» с kubeadm. Часть 1/3
Всем привет! В этой статье я хочу упорядочить информацию и поделиться опытом создания и использования внутреннего кластера Kubernetes.
За последние несколько лет эта технология оркестровки контейнеров сделала большой шаг вперед и стала своего рода корпоративным стандартом дл…
[Из песочницы] Опыт разработки ассета Unity для поиска пути в 3D пространстве
Вас приветствует команда «Graceful Algorithms»!
В качестве эксперимента нами было принято решение вести «дневники» разработчиков, в которых мы будем делиться опытом и освещать некоторые интересные результаты проводимых нами экспериментов. Это наша дебютная статья по проект…
Обзор современных протоколов в системах промавтоматики
В прошлой публикации мы рассказали о том, как работают шины и протоколы в промышленной автоматизации. В этот раз сфокусируемся на современных рабочих решениях: посмотрим, какие протоколы используются в системах по всему миру. Рассмотрим технологии немецких компаний Beckhof…
Как убедить всех, что у тебя защищённый ЦОД?
Преамбула. Статья носит исключительно информационный характер. Предназначена для потенциальных клиентов ЦОД, которые слышали про 152-ФЗ, 149-ФЗ, хотят потратить бюджетные средства и не знают, что такие схемы бывают. Для удобства восприятия материала автор будет излагать схем…
[Из песочницы] Личный бренд в помощь бизнесу: 8 шагов для создания концепции
Запрос на аутентичность и человеческий контакт в социальных сетях привел к популярности личного бренда. Множество компаний и частных специалистов продают свои продукты с его помощью. Личный бренд не имеет «порога вхождения», он давно перестал быть атрибутом только знаменит…
Apple ищет главного разработчика для создания нового поколения медиа-приложений для Windows
Компания Apple формирует команду разработчиков программного обеспечения, которая займется разработкой медиа-приложений для Windows. Об этом свидетельствует соответствущая вакансия на сайте Apple — компания ищет старшего разработчика ПО для «создания нового поколения медиа-пр…
Слушаем SID-музыку через OPL3 на современных ПК
Наверное не все любители чиптюн музыки знают, что SID музыку можно слушать через FM-синтезатор OPL3. Кто-то может подумает, что это будет что-то ужасное, а оказывается если сделать простой маппер, то можно получить весьма хорошее звучание, как это сделали несколько разрабо…
Для головоломки Ticket to Earth вышло обновление с парой уровней сложности
Ticket to Earth– необычная научно-фантастическая RPG с элементами пошаговой стратегии. Разработчики ее активно поддерживают, периодически выпуская контентные обновления.
Сегодня состоялся релиз обновления, которое добавляет в игру пару уровней сложности: Новичок и Ветеран. …
Как быстро делать прототипы устройств и почему это важно. Доклад Яндекс.Такси
Любой технически сложный hardware-проект — всегда уравнение с множеством неизвестных: платформа, компоненты, технологии, производство, функциональность, реализуемость. «Пощупать», что получается, можно, когда пройдены дорогостоящие этапы: R&D, выбор комплектующих, разраб…
Доступные варианты отдыха для всех с казино Вулкан
В жизни каждого человека наступает тот момент, когда хочется не просто заняться ничего неделанием, но полностью отвлечься от бытовых и рабочих проблем. Как бы мы не стремились мыслить позитивно, замечать в каждом эпизоде жизни только положительное, всегда есть шанс устать от…
Почему летом так мало конференций?
Конечно, они проводятся, но их количество по сравнению с осенними и весенними очень невелико. Хочется изменить эту тенденцию, так как все в нашей команде уверенны, что летние мероприятия — это здорово. В этой короткой статье мы изложим мысли на эту тему и будем рады подиску…
[Перевод] Создание калькулятора чаевых на Kotlin: как это работает?
Рассказываем, как создать простое приложение для расчета чаевых на языке Kotlin. Если точнее, то Kotlin 1.3.21, Android 4, Android Studio 3. Статья будет интересной, в первую очередь, для тех, кто начинает свой путь в разработке Android-приложений. Она позволяет понять, ч…
Бесплатные игровые автоматы
На игровом сайте «Igry-na-dengi» могут играть все любители современных и азартных слот – машин. Данный портал является одним из самых надежных и полностью соответствует всем требованиям со стороны законодательства. Несмотря на полные запреты онлайн казино, данный сайт осущес…
Приложения для электронных книг на операционной системе Android. Часть 5. Облачные хранилища и плееры
В этой, последней, части статьи о приложениях для электронных книг на операционной системе Android будут рассмотрены две темы: Облачные хранилища и Аудиоплееры.
Бонус: список бесплатных библиотек с каталогами OPDS.
Краткое содержание предыдущих четырёх частей статьиВ 1-ой ч…
Введение в программирование: простой 3Д шутер с нуля за выходные, часть 2
Продолжаем разговор про 3Д шутер за выходные. Если что, то напоминаю, что это вторая половина:
Часть первая: отрисовка стен
Часть вторая: населяем наш мир + оконный интерфейс
Как я и говорил, я всеми силами поддерживаю желание в студентах делать что-то своими руками. В ча…
[на правах рекламы] AirTune Sport — в ритме тренировок
Во время занятий спортом мы обычно фоном слушаем музыку — басы подчеркивают ритм песни и бодрят в процессе тренировки. Благодаря любимым песням мы забываем об усталости после физических нагрузок. Поэтому очень важно подобрать гарнитуру, которая бы не просто держалась в…
[Перевод] Основы движков JavaScript: прототипы оптимизации. Часть 1
Всем привет. Все меньше времени остается до запуска курса «Безопасность информационных систем», поэтому сегодня мы продолжаем делиться публикациями, приуроченными к запуску данного курса. Кстати, нынешняя публикация является продолжением вот этих двух статей: «Основы движков…
Конкурсы проектов: что, зачем и почему?
Типичная КДПВ
За окном август, школа за плечами, скоро ВУЗ. Чувство того, что ушла целая эпоха не покидает меня. Но ты хочешь увидеть в статье не лирику, а информацию. Так что я не буду тянуть и расскажу про редкую тему для Хабра — про школьные конкурсы проектов. Конкретнее…
[Из песочницы] Создание Google пользователей из PowerShell через API
Привет!
В этой статье будет описана реализация взаимодействия PowerShell с Google API для проведения манипуляций с пользователями G Suite.
В организации мы используем несколько внутренних и облачных сервисов. По большей части авторизация в них сводится к Google или Active …
[Перевод] Создание шейдера травы в движке Unity
Из этого туториала вы научитесь писать геометрический шейдер для генерации травинок из вершин входящего меша и использовать тесселяцию для управления плотностью травы.
Статья описывает поэтапный процесс написания шейдера травы в Unity. Шейдер получает входящий меш, и из ка…
Две стороны WebView: о быстром запуске проектов и краже персональных данных
Привет, Хабр!
Меня зовут Евгений, я Full Stack JS разработчик, текущий стек Node.js + React + React Native. В разработке я более 10 лет. В мобильной разработке пробовал разные инструменты от Cordova до React Native. Получив опыт работы с Cardova, я понял, что мне хотелось …
Играть в казино Вулкан на рубли
Вы наверняка должны были заметить, что в последние годы в интернете всё больше и больше появляется разнообразных азартных клубов. Дело в том, что любителей подобного проведения досуга тоже становится больше, и соответственно, предложения для них также увеличиваются. К сожале…
Возможно ли без Redux?
На сегодняшний день можно найти уйму позиций, где требуется react/redux. React прекрасен, вопросов нет. Вопрос к Redux — возможно ли без него. Если погуглить чуть-чуть, найдется добротная статья на хабре (https://habr.com/ru/post/350850/), где автор задается таким же вопросо…
[Из песочницы] Немного о стандартах космической связи
Спутник Метеор М1
Источник: vladtime.ru
Введение
Эксплуатация космической техники невозможна без радиосвязи, и в этой статье я постараюсь объяснить основные идеи, которые легли в фундамент стандартов, разработанных Международным Консультативным Комитетом по космическим сис…
Xiaomi опубликовала исходные коды Redmi K20, Redmi 7 и Redmi 7A
Бренд Redmi выложил в общий доступ исходный код ядра нового смартфона Redmi K20, который теперь могут использовать разработчики для создания своих прошивок. ***
Самое большое казино Вулкан Победа
В сети есть масса разнообразных предложений от игровых клубов, но наибольший успех и популярность имеет казино Вулкан Победа. Дело в том, что данный клуб достаточно давно осуществляет свою деятельность, и он постоянно растет и расширяется, в интернет есть масса положительных…
«Игра престолов»: строим инфографику об убийствах, сексе, путешествиях по Вестеросу и многое другое
Оригинал поста + Вспомогательные функции и исходные данные
Оглавление
Взаимоотношения персонажей
— Кто кого родил
— Кто кому брат или сестра
— Кто кого убил
— Кто кому служит
— Кто с кем женат или помолвлен
— У кого с кем был секс
— Все отношения на одном графе
Связь перс…
Cockpit – упрощение типичных административных задач в ОС Linux через удобный веб-интерфейс
В этой статье я расскажу про возможности инструмента Cockpit. Cockpit создан с целью облегчения администрирования ОС Linux. Если говорить кратко, то он позволяет выполнять наиболее типичные задачи администратора Linux через приятный веб-интерфейс. Возможности Cockpit: устано…
Про установку и использование LineageOS 16, F-Droid
Предлагаю вашему вниманию инструкцию как оптимально(по моему мнению) перейти на свободное программное обеспечение при использовании смартфона на примере операционной системы LineageOS(далее сокращённо LOS) и приложений из F-Droid.
Я думаю, что это статья будет вам интересна,…
[Перевод] Псевдослучайность нам поможет: подборка инструментов генерации ассетов для игры
Отгремели выстрелы минувшего Ludum Dare 44, но тяга делать игры, оттачивать свое мастерство ещё не покидает меня, да и думаю многих. Проглядывая главную страницу онлайн-мероприятия, я наткнулся на интереснейший пост, где автор задался вопросом составления инструментария, пом…
[Из песочницы] NeoBook: среда программирования для непрограммистов
NeoBook: среда программирования для непрограммистов
Для кого эта статья
Статья написана, в первую очередь, для тех, кто не является профессиональным программистом, но хочет уметь создавать свои собственные компьютерные программы для компьютеров с Windows. Программирование …
В Apple Arcade добавлено 5 новых игр
Вчера в Apple Arcade произошло еженедельное обновление с пятью новыми играми на iPhone, iPad, Apple TV и Mac. В сервисе теперь доступно 94 игры для iOS и tvOS, а также 87 тайтлов на Mac.
Выпущенные новинки:
The Mosaic от разработчика Raw Fury: Мозаика – это мрачная сюрреали…
Связный список на Python: Коты в коробках
И снова здравствуйте! В преддверии старта курса «Разработчик Python» подготовили для вас небольшой авторский материал о связных списках на Python.
Python очень удобный и многогранный язык, но по умолчанию не имеет такой структуры данных как связный список или LinkedList. …
Drag-&-Drop компоненты для слепых пользователей? Вы шутите?
Что объединяет Trello, Gmail, Aviasales и Google Keep? В каждом из них есть Drag-&-Drop-компоненты, которые можно перетаскивать мышкой. Использование этих компонентов делает сайты по-настоящему удобными, потому что в реальной жизни мы часто используем этот паттерн. Перед…
[Перевод] Интервью — 10 вопросов про Swift. Часть 3
Профессиональная программа «iOS Разработчик» — 5 месяцев Best Practice по разработке мобильных приложений с помощью Swift 5. Лучших выпускников ждут на собеседованиях 12 компаний-партнёров OTUS, поэтому публикуем перевод заключительной статьи из серии «iOS Interview Question…
Геймплейный ролик головоломки Photographs с GDC 2019
Пока Google на GDC делилась планами по революции в игровой индустрии, обычные разработчики традиционно показывали свои игры. Редакторы портала Touch Arcade сыграли в головоломку Photographs от автора 10000000 и You Must Build a Boat, которая выйдет уже 3 апреля.
Несмотря на…
[Перевод] Обход подводных камней Angular и экономия времени
С помощью Angular можно сделать всё что угодно. Или почти всё. Но иногда это коварное «почти» приводит к тому, что разработчик губит время, создавая обходные решения, или пытаясь понять, почему что-то происходит, или почему что-то не работает так, как ожидается.
Автор ста…
Поймай меня, если сможешь. Версия менеджера
Ты – программист. Я – эффективный менеджер. Ну, ты так считаешь. Может, даже статью про меня напишешь, наберешь кучу плюсов – тема-то благодатная. В статье обязательно слово «эффективный» в кавычки поставишь.
Я уже не работаю в вашей компании. Решил рассказать тебе, как всё…
[Перевод] Запуск Bash в деталях
Если вы нашли эту страницу в поиске, то наверняка пытаетесь решить какую-то проблему с запуском bash.
Возможно, в вашем окружении bash не устанавливается переменная среды и вы не понимаете, почему. Возможно, вы засунули что-то в различные загрузочные файлы bash или в профил…
[Перевод] Как Крис Жуковский учился клиентской поддержке своих игр в аэропорту
Это перевод недавнего письма из рассылки от игрового инди разработчика Криса Жуковского [1]. Автор успешно выступал на конференциях, в том числе на GDC [2]. Статьи этого автора пользуются заслуженной популярностью на Гамасутре и регулярно переводятся на русские площадки. В д…
Окей, Google: как пройти капчу?
Здравствуйте. Меня зовут Ибадов Илькин, я студент Уральского федерального университета.
В данной статье я хочу рассказать о своем опыте автоматизированного решения капчи компании «Google» — «reCAPTCHA». Хотелось бы заранее предупредить читателя о том, что на момент написани…
[Перевод] Цепи Маркова для процедурной генерации зданий
Примечание: полный исходный код этого проекта можно найти [здесь]. Так как он является частью более масштабного проекта, я рекомендую смотреть коммит на момент выпуска этой статьи, или файл /source/helpers/arraymath.h, а также /source/world/blueprint.cpp.
В этой статье я х…
Официальный сайт booi казино
На сайте казино Буй можно играть в самые современные и оригинальные игры круглосуточно. Сайт находится в открытом доступе для всех и позволяет играть в лучшие игровые автоматы бесплатно. Конечно же, данный сайт предоставляет возможность игры на деньги, но этот режим открыт т…
Адмирал Х — отличное место для вашего азарта
Если вы устали от серых будней, то обязательно посетите игровое казино Admiral X, которое непременно подарит вам невероятные эмоции, и вы точно забудете, что такое плохое настроение. На самом деле, онлайн казино Адмирал Х, это заведение, которое посещают очень многие, в перв…
Вулкан Deluxe и его преимущества
Если вы давно чувствуете, что вам не хватает каких-то эмоций, что вы хотели бы получать более яркую жизнь, то обязательно обратите свое внимание на азартные игры, которые однозначно способны будут подарить вам необходимое и желаемое. Дабы всё это было действительно возможно …
Мнение математика из Оксфорда: сможет ли ИИ творить как человек?
Игра го, в которую компьютерная программа DeepMind обыграла чемпиона среди людей, создала своего рода сумятицу для Маркуса дю Саутоя, математика и профессора Оксфордского университета. «Я всегда сравнивал математику с игрой в го», говорит он. И го не должна быть игрой, в ко…
[Перевод] В двух словах о привилегиях Linux (capabilities)
Перевод статьи подготовлен специально для студентов курса «Администратор Linux».
Привилегии (capabilities) используются всё больше и больше во многом благодаря SystemD, Docker и оркестраторам, таким как Kubernetes. Но, как мне кажется, документация немного сложна для понима…
[Из песочницы] Интерактивная карта субъектов России для новичка. Ошибки, которые допустил я и которые не должны допустить вы
В этой статье я расскажу, как мы столкнулись с типовыми ошибками при создании интерактивной карты, а главное — дам вам ссылки на нормальные, актуальные карты субъектов РФ.
Наша задача. Создать интерактивную карту, чтобы при наведении на регион срабатывал обработчик событий …
[Перевод] Новости из мира OpenStreetMap № 480 (24.09.2019-30.09.2019)
CyclOSM is a brand new bike-oriented map 1 | Leaflet | CyclOSM v0.2 | Map data OpenStreetMap contributors
О нас
Уточнение: пользователь AndiTabinas не является участником программы стипендии SotM-2019 (об этом мы ошибочно написали в прошлом выпуске № 479). Информация (пос…
Казино Вулкан на деньги
Для желающих сыграть в азартные игры всегда открыта онлайн игровая площадка Vulcan. Virtual casino Вулкан на деньги позволяет играть клиентам, получившим свой аккаунт и счет в заведении. Многие стараются понять, как именно устроен игровой процесс, в котором можно заработать …
Как делать деньги на турнирах в ДОТА 2
Ставки на игру DotA 2 сегодня в тренде и значительно опережают прогнозы на другие исходы киберспорта. Причина проста — ДОТА 2 популярна и проста для понимания. Как же зарабатывать на турнирах, где соревнуются команды опытных дотеров — https://stavkidota2.com/tournament…
Один из самых популярных игровых движков получил поддержку трассировки лучей
Видеокарты Nvidia поколения Turing выделяются не только отличной производительностью и огромными ценами, но и поддержкой аппаратного ускорения трассировки лучей. Технология, о которой писали многие годы, наконец-то добралась до геймеров, но проблема в том, что наличие с…
Dynasty Warriors: Unleashed 1.0.26.3
Dynasty Warriors: Unleashed — игра которая в свое время покорила множество сердец геймеров. Игра которая задала тон многим играм и жанрам игровой индустрии теперь доступна и на андроид платформе. В игре вы будете изучат история древнего Китая вместе с многими великими полков…
Играть онлайн в Вулкан Платинум
Казино Вулкан Платинум является одним из самых популярных и масштабных онлайн казино в сети Интернет. Данный сайт достаточно давно начал свою работу и является на сегодняшний день одним из самых безопасных и надежных.
Игровой клуб вулкан предлагает своим клиентам самые лучши…
[Из песочницы] Hunt the Wumpus или опыт написания классической игры для Android
Слышали ли вы когда-нибудь про Вампуса? Независимо от ответа — добро пожаловать в его владения!
В этой статье я хочу поведать вам свою историю создания игры под Android. В зависимости от компетенции читателя передаваемые мною опыт, мысли и решения будут более или менее по…
Щедрые игровые автоматы за деньги
Виртуальные игровые клубы открывают перед игроками новые возможности. Теперь играть можно не выходя из собственного дома или прямо из офиса. Чаще всего геймеры играют через ПК, но сейчас в свободном доступе есть мобильное приложение от казино «Игровые автоматы за деньги». Да…
[email protected] в России: расширение горизонтов гейминга
Совсем недавно в Москве состоялось мероприятие в рамках программы для независимых разработчиков игр [email protected] Участники показали 14 новых инди-игр, включая Felix the Reaper, King’s Bounty 2 и другие, а также пообщались с европейским руководителем [email protected] Агостино Симонетта….
Лучшие игры для тренировки вашего мозга
Что наша жизнь? Игра! В данном случае — игра, которая поможет вам натренировать мозг Современный смартфон позволяет вам получить доступ ко множеству самых разных приложений. Вы можете читать в интернете интересные статьи (в том числе и на нашей страничке в Яндекс.Дзен)…
[Из песочницы] GameBoy на C#
Когда я только начинал программировать, думаю, как и многим, мне хотелось делать игры. Но передо мной стояло множество архитектурных вопросов, которые я не знал как решить, про двойную буферизацию я даже не слышал, а получить результат хотелось как можно скорее. Поэтому неда…
Как Android Q улучшит производительность бюджетных смартфонов в играх
Игровой потенциал современных смартфонов довольно высок. Постоянно растущая производительность позволяет запускать на мобильных устройствах игры, для которых раньше требовался неслабый компьютер или даже консоль. Казалось бы, все логично, но Google считает, что возможность …
Лучшие логические для Android
Размять мозг — это всегда полезно Среди массы игр, доступных на самых разных платформах, логические игры и пазлы стоят особняком. Они не предлагают вам развивать реакцию или ловкость пальцев, выцеливая врага на экране. Зато они могут предложить нечто большее — пр…
OTRS: LDAP аутентификация, авторизация и синхронизация (FreeIPA, AD)
OTRS — система обработки заявок с открытым кодом (Open-source Ticket Request System), написанная на Perl.
Существует в двух вариантах:
OTRS Business Solution — платная версия
((OTRS)) Community Edition — бесплатная версия
Перечислю немного из того фукционала, который …
[Из песочницы] Инструмент для сравнения CSS фреймворков
Привет, я Александр. Активно изучаю и занимаюсь веб разработкой уже около года. Все началось с удаления клиента любимой игры и поиска ментора. Совершенствуясь в веб-разработке создал проект CSS Comparator. Сама суть проекта заключается в сравнении CSS фреймворков по размерам…
В Epic Games Store раздают игры Layers of Fear и Q.U.B.E. 2
Как всегда, в четверг вечером началась раздача очередной порции «халявы» от игрового магазина Epic Games Store. Геймеры смогут добавить в свою коллекцию аркадную головоломку Q.U.B.E. 2 и хоррор Layers of Fear в издании…
[Перевод] Создание системы боёв в RPG
Боевые системы наших игр Rimelands: Hammer of Thor и Trulon: The Shadow Engine были высоко оценены игроками. Несмотря на то, что это два сильно отличающихся взгляда на систему боя в RPG, они имеют много общего в дизайне механик и иллюстрируют мою личную философию дизайна. В…
Escape Funky Island — красочная головоломка от издателя серии Faraway
Snapbreak — популярный издатель игр в жанре квеста-головоломки. В частности, именно благодаря ему на iOS и Android вышла потрясающая серия Faraway. Escape Funky Island — проект о той же компании, но с более яркой и мультяшной картинкой.
В этот раз темой игры станет поиск со…
Что такое логическое программирование и зачем оно нам нужно
У того, кто в детстве не писал на Прологе — нет сердца, а у того, кто пишет на нём сегодня — нет мозгов. (оригинал) Если вас всегда терзали мучительные сомнения — что за фигня это Логическое Программирование (ЛП) и вообще зачем оно нужно? То это статья для вас.
Можно по-раз…
[Из песочницы] Angular. Понимание @Input, @Output и EventEmitter
Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding @Input, @Output and EventEmitter in Angular» автора foolishneo.
Приветствую всех желающих накапливать информацию о тонкостях работы фреймворка Angular.
Сегодня посчитал нужным лучше изучить информацию,…
Обзор GeForce NOW в России: плюсы, минусы и перспективы
В октябре этого года облачный игровой сервис GeForce Now начал работу в России. Собственно, он был доступен и раньше, но для регистрации нужно было получить ключ, который доставался далеко не каждому игроку. Теперь можно зарегистрироваться и играть. Об этом сервисе я уже …
Обзор Strategic Mind: The Pacific. Реальная война
Жанр стратегий в последнее время умирает — на создание качественной игры нужно потратить тьму ресурсов, а геймеры потом все равно купят шутер или ролевую игру. Тем не менее, на рынке все еще есть редкие представители, которые могут удивить и порадовать чем-то действительно и…
[Перевод] Операционная система на Rust. Страничная память: продвинутый уровень
В этой статье объясняется, как ядру операционной системы получить доступ к фреймам физической памяти. Изучим функцию для преобразования виртуальных адресов в физические. Также разберёмся, как создавать новые сопоставления в таблицах страниц.
Этот блог выложен на GitHub. Есл…
[Перевод] Sketch + Node.js: генерируем иконки для множества платформ и брендов. Часть 2
Это вторая часть статьи о создании инструмента, способного экспортировать все помещённые в Sketch-файл иконки: в разных форматах, для разных платформ, с возможностью A/B-тестирования каждой из иконок.
Первую часть вы можете прочесть по ссылке.
В прошлый раз мы подготов…
[Перевод] Понимаем Property Wrappers в SwiftUI
Перевод статьи подготовлен специально для студентов курса «iOS Разработчик. Продвинутый курс v 2.0.»
На прошлой неделе мы начали новую серию постов о фреймворке SwiftUI. Сегодня я хочу продолжить эту тему, рассказав о Property Wrappers в SwiftUI. SwiftUI предоставляет нам…
Давайте поговорим. О тлене и депрессии
«Мужчина приходит к врачу. Жалуется на депрессию, говорит, жизнь груба и жестока, что он чувствует себя одиноким в угрожающем мире. Врач предлагает простой рецепт: «Великий клоун Пальячи сегодня в городе, сходите, это вас подбодрит». Мужчина взрывается слезами. «Но доктор», …
[Перевод] Пишем операционную систему на Rust. Реализация страничной памяти (новый вариант)
В этой статье разберёмся, как реализовать поддержку страничной памяти в нашем ядре. Сначала изучим различные методы, чтобы фреймы физической таблицы страниц стали доступны ядру, и обсудим их преимущества и недостатки. Затем реализуем функцию преобразования адресов и функцию …
Анонсирована ArchAge Walk — MMORPG с геопозиционированием
MMORPG популярны. Вне зависимости от качества проекта, студии, которая участвовала в разработке, и оригинальности отдельных элементов, игра в этом жанре по умолчанию привлекает огромнейшую аудиторию.
ArchAge — это компьютерная MMORPG от корейской студии XLGames. В 2017 выхо…
[Из песочницы] Работа с JSON RPC в Symfony 4
Всем привет, сегодня поговорим о том, как подружить Symfony 4, JSON RPC и OpenAPI 3.
Данная статья рассчитана не на новичков, вы уже должны понимать как работать с Symfony, Depedency Injection и другими «страшными» вещами.
Сегодня рассмотрим одну конкретную реализацию JSON …
ООП, «святая троица» и SOLID: некоторый минимум знаний о них
Необходимое вступление
Я не гарантирую, что изложенные здесь трактовки общепринятых терминов и принципов совпадают с тем, что изложили в солидных научных статьях калифорнийские профессора во второй половине прошлого века. Я не гарантирую, что мои трактовки полностью разделя…
Вывод денег с щедрым казино Вулкан 777
Получить дополнительный доход, да еще и во время досуга желают многие. Именно такой шанс и открывает казино Вулкан 777 своим посетителям. Играть на деньги на сайте http://777.iwanvulkanoff.com/igrat-na-dengi/ можно без опасений, этот портал давно отлично себя зарекомендовал,…
Лучшие стимуляторы от компании Игрософт
Каждый игровой портал стремиться предложить своим посетителям самые лучшие и качественные софты. Наиболее популярными и востребованными стимуляторами является продукция от компании Igrosoft. Данный разработчик специализируется на создании уникальных и многофункциональных сти…
[Перевод] Создаём портативную платформенную игру на микроконтроллере Cortex M0+
Введение
(Ссылки на исходный код и проект KiCAD приведены в конце статьи.)
Хотя мы родились в 8-битную эпоху, нашим первым компьютером был Amiga 500. Это великолепная 16-битная машина, обладавшая потрясающими графикой и звуком, благодаря чему она отлично подходила для игр….
Перевод и интерпретация рекламы с английского языка на русский
Реклама — двигатель торговли. И ее значение за последние 10 лет выросло просто астрономически. По сути никакой товар или услуга не может рассчитывать на нормальные продажи, если его активно не рекламируют.
По данным агентства Dentsu Aegis Network, в 2019 году глобальный рын…
Самые увлекательные онлайн игры с казино 777-SLOTS-CLUB
Все без исключения знают, что в казино можно выиграть солидную сумму денег. Возможность посещать данное игровое заведение теперь есть у каждого совершеннолетнего игрока. На сайте 777-slot-club.com находятся самые лучшие и новейшие стимуляторы. Именно тут можно подобрать на л…
Dell G5 5590: один из самых доступных игровых ноутбуков с RTX 2060
Большинство игровых ноутбуков всем своим внешним видом кричит «эй, смотрите, я сделан для геймеров и только для них!». Наш новый игровой лэптоп Dell G5 5590 не такой. Здесь современный и, возможно, немного футуристический, но всё же совершенно не кричащий дизайн. А ещё на мо…
[Перевод] Советы для кандидатов от программиста, проводящего собеседования в Facebook
В прошлом году я провел бессчетные часы на собеседованиях с кандидатами на разные должности в компании Facebook. И, так как теперь мне довелось побывать по обе стороны процесса отбора, я хотел бы помочь вам – студентам, которые пытаются попасть на первую в жизни интернатур…
[Перевод] ИИ в 2019 году: текущее положение вещей
Этот перевод — часть статьи The Real-World AI issue.
Общеизвестный факт — если вы станете повторять любое слово много раз, то в итоге оно потеряет всякое значение, превратится в фонетическое ничто. Это причина того, почему для многих из нас термин «искусственный интеллект…
[Перевод] Распределенная трассировка в Istio
Примечание от нашей редакции переводов: в представляемой статье описывается закрытый продукт конкретной компании и, к сожалению, пока нет никаких данных о том, что его когда-либо планируют открывать — в столлмановском понимании этого слова. Тем не менее, нам показалось оче…
Игровая индустрия с 4 по 10 февраля 2019 года
В сегодняшнем выпуске: Respawn не делает Titanfall 3. Rocksteady все же делает новую игру про Бэтмена? 4A Games может выпустить следующую игру Metro только на консолях. CD Projekt Red не заплатит Сапковскому $16 млн. Все самое интересное из мира игр и игровой индустр…
Google раскроет подробности об игровом сервисе Stadia уже на этой неделе
Еще в марте Google представила свою игровую платформу Stadia, которая позволит играть в качественные игры независимо от возможностей используемого устройства. Тем не менее, информации о ценах и дате запуска платформы по-прежнему не было. И наконец то, Google объявила дату пр…
Sony запатентовала PlayStation Assist — голосового помощника с ИИ, который поможет проходить игры
Ассистент может подсказать местоположение ближайшей аптечки, рецепт создания меча или рассказать больше информации о персонаже.
[Перевод] HTTP-заголовки для ответственного разработчика
Сегодня быть онлайн — это привычное состояние для многих людей. Все мы покупаем, общаемся, читаем статьи, ищем информацию на разные темы. Сеть соединяет нас со всем миром, но прежде всего, она соединяет людей. Я сам пользуюсь интернетом уже 20 лет, и мои отношения с ним изм…
[Перевод] Как разработчики процедурно создали кучу «мусорных» мобильных игр и заработали 50 тысяч долларов
Два инди-разработчика рассказывают, как использовали автоматизацию, один аккаунт Google Play и единственный шаблон игры про слот-машины для создания и публикации более тысячи приложений.
На проводимой в этом году Game Developers Conference выступили два разработчика игр, с…
[Из песочницы] Пишем VLC плагин для изучения английского
В данной статье я расскажу о том, как написать плагин на языке C для медиаплеера VLC. Я написал свой плагин для упрощения просмотра сериалов и фильмов на английском языке. Идея создания этого плагина описывается в разделах Идея и Поиск решения. Технические детали реализаци…
Онлайн покер
Карточные игры являются самыми старыми и популярными азартными играми во все времена. Но, наибольший интерес все же вызывает у большинства игроков – покер. Это не просто азартная игра, она требует от игрока аналитических умений и логического мышления. Когда впервые появилась…
Как создать квиз лендинг: основные способы и пошаговая инструкция
Может показаться, что больше нет никаких новых инструментов, способных помочь увеличить продажи и добиться новых высот в конверсии. Однако маркетологи придумали новый инструмент под названием — квиз, который завоевал сердца многих предпринимателей и стал источником привлечен…
[Перевод] Создание пиксельной туманности при помощи шума и Median Cut
Я хотел, чтобы в моей игре The Last Boundary была туманность. Они потрясающе выглядят и космос без них не космос, а просто разбросанные по фону белые пиксели. Но так как игру я делаю в стиле «пиксель-арт», то мне нужно было как-то заставить мою библиотеку шума генерировать п…
[Перевод] DeepMind и Google: битва за контроль над сильным ИИ
Демис Хассабис основал компанию по созданию самого мощного в мире ИИ. Затем её купила Google
В августе 2010 года в конференц-зале в пригороде Сан-Франциско на сцену вышел 34-летний лондонец по имени Демис Хассабис. Он вышел неторопливой походкой человека, который пытается …
[Перевод] Полное руководство по массивам и срезам в Golang
Перевод статьи подготовлен специально для студентов курса «Разработчик Golang», занятия по которому начинаются уже сегодня!
Поначалу легко воспринимать массивы и срезы как одно и то же, но с разными названиями: и то и другое является структурой данных для представления ко…
Как включить музыку на нескольких Android-устройствах одновременно
Сегодня у многих из нас есть беспроводные колонки. И если вам нужно в компании включить музыку, то с громкостью проблем не возникнет. А что делать, если колонка разрядиласьсломалась? Выход есть — можно запустить музыку на нескольких устройствах одновременно. При этом…
Делаем современное веб-приложение с нуля
Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт?
В этой статье мы попробуем набросать boilerplate простейшего веб-приложения…
[Перевод] Искусственный интеллект Horizon Zero Dawn
Horizon Zero Dawn находится в списке одних из лучших эксклюзивов для Playstation 4. В роли охотницы Элой игроки путешествуют по постапокалиптическим ландшафтам будущего, чтобы раскрыть тайны её прошлого и узнать о причинах разрушения мира. Упадок человечества привёл к расцве…
Old School Musical — Pocket Edition — безумное ритм-приключение на Android
В прошлом году в Steam и на Nintendo Switch вышло необычное ритм-приключение под названием Old School Musical.
Это откровенно безумная игра, в которой вы играете за двух братьев — Роба и Тима, которые ищут свою маму. Основная механика напоминает другие ритм-игры. Нужно прос…
[Перевод] Универсальность картриджей: датчики в играх для Game Boy
К концу 90-х большинство игровых домашних консолей перешли с картриджей на оптические диски. Однако большинство портативных консолей, за несколькими исключениями, никогда не переходили на диски; они продолжали работать на картриджах и постепенно мигрировали в сторону скачив…
[Из песочницы] О реализации известного жанра на платформе Minecraft
Целью данной статьи является помощь начинающим игровым проектам с нестандартной тематикой избежать базовых ошибок в реализации. Данная статья рассказывает о личном опыте ведения игрового стартапа в рамках Minecraft.
Как всё начиналось
Мои интересы во многом не совпадали с и…
На мобильных вышел оригинальный платформер EMMA
Студия SandBloom выпустила на мобильных экшен-платформер с элементами головоломки под названием EMMA.
Действие игры происходит в загадочном, но красивом, нарисованном вручную мире. Главная героиня, девочка по имени Эмма, покидает дом и отправляется вслед за совой, но быстро…
Легендарные игры Doom и Doom II вышли для Android
Более четверти века прошло с тех пор, как геймеры впервые узнали Doom. Игра быстро обрела популярность — такого увлекательного шутера от первого лица мир еще не видел. Было выпущено еще две части — Doom II и Doom III, которые также имели оглушительный успех. В честь 25-летне…
Введение в аннотации типов Python. Продолжение
Автор иллюстрации — Magdalena Tomczyk
В первой части статьи я описал основы использования аннотаций типов. Однако несколько важных моментов остались не рассмотрены. Во-первых, дженерики — важный механизм, во-вторых иногда может оказаться полезным узнать информацию об ожидае…
[Перевод] Как работает оптимизирующий компилятор
Оптимизирующие компиляторы — основа современного ПО: они позволяют программистам писать код на понятном для них языке, затем преобразуя его в код, который сможет эффективно исполняться оборудованием. Задача оптимизирующих компиляторов заключается в том, чтобы понять, что де…
Dubai Drift 2 2.5.1
Dubai Drift 2 – это крутая и современная гоночная игра, в которой ты почувствуешь себя самым настоящим гонщиком. Заводи мотор и вперед к победе.
В нашей игре множество самых разнообразных машин, подходящих для гонок. Машины самых разных марок и расцветок. Вы можете мен…
[Из песочницы] TON: рекомендации и лучшие практики
Эта статья является переводом документа, опубликованного на странице блокчейна TON: smc-guidelines.txt. Возможно кому-то это поможет сделать шаг в сторону разработки для этого блокчейна. Также, в конце я сделал краткое резюме. Читать дальше →
[Перевод] Руководство для начинающих по серверной веб-разработке с Node.js
Большую часть своей веб-карьеры я работал исключительно на стороне клиента. Проектирование адаптивных макетов, создание визуализаций из больших объемов данных, создание инструментальных панелей приложений и т. Д. Но мне никогда не приходилось иметь дело с маршрутизацией или …
[Перевод] Разработчикам игр пора перестать слушать своих фанатов?
Тут был спор из-за статьи и я решил выложить ее перевод на всеобщее обозрение. С одной стороны, автор говорит, что разработчики не должны потакать игрокам в вопросах сценария. Если смотреть на игры, как на искусство, то я согласен — никто не будет спрашивать у комьюнити, как…
Объектное хранилище в подсобке, или Как стать самому себе сервис-провайдером
Первый прототип объектных хранилищ мир увидел в 1996 году. Через 10 лет Amazon Web Services запустит Amazon S3, и мир начнёт планомерно сходить с ума от плоского адресного пространства. Благодаря работе с метаданными и своей возможности масштабироваться, не проседая под нагр…
Dagaz: Эпизоды (часть 1)
Мы расшатали ваши умственные фильтры, и в результате появился ответ. Метод сработал, он будет действенным всегда. Все, что необходимо сделать — это избавиться от лишнего груза предрассудков…
Раймонд Джоунс «Уровень шума»
Dagaz появился не на пустом месте. Я всегда увлекалс…
Теперь Google Ассистент поможет всем говорить на одном языке
Компания Google продолжает постоянно совершенствовать свои сервисы, программы и устройства. Так, недавно мы рассказывали про глобально обновленный переводчика от поискового гиганта, о чем можно прочитать здесь. А чуть больше месяца назад Google анонсировала новую возможност…
Игры стрельба по шарикам — секреты, стратегия
Шарики стрелялки нравятся пользователям любого возраста и пола. Данные игры затягивают, позволяют расслабится и с интересом провести свободное время. Суть сюжета таких игр, как например «Пузырьковая ферма» или «Стрельба шариками в лесу» предельно понятна….
[Перевод] 12 возможностей ES10 в 12 простых примерах
Перед вами перевод статьи из блога Carlos Caballero на сайте Medium.com. Автор расскажет нам о функциях, которые появились в версии ES10 2019 года.
ES10 — это версия ECMAScript, актуальная для 2019 года. Она содержит не так много нововведений, как версия ES6, выпущенная в…
Скачать Grand Theft Auto VI можно бесплатно
Если учесть, что на создание действительно качественной игры нужно потратить по меньшей мере два года, игровая студия Rockstar Games в настоящее время гарантированно создает такой шедевр, как Grand Theft Auto VI. Все данные об этой
Сообщение Скачать Grand Theft Auto VI можн…
[Из песочницы] Передача данных между сценами в Unity — применение мультисценности в разработке простых игр
Данная статья будет полезна начинающим разработчикам игр. В ней я расскажу о собственном опыте реализации мультисценного взаимодействия и проблемах с которыми я столкнулась.
Поговорим о статических классах для хранения данных, различных способах подгрузки сцен движком Unity,…
Как сделать частичную копию iPhone и создать рингтон в одном приложении
С этого года Apple прекратит поддержку iTunes в привычном для нас виде — в компании считают, что в эпоху беспроводных технологий и «облаков» полноценный инструмент для трансфера данных с iPhone на компьютер (и наоборот) по проводу просто не нужен. Доля правды, конечно…
Как поиграть в Apple Arcade раньше официального запуска
Apple Arcade запустился на 3 дня раньше срока
Неожиданно для всех игровой сервис Apple Arcade стал доступен не 19 сентября, как обещали на презентации новых iPhone, а на три дня раньше — 16 сентября. Поиграть в эксклюзивные игры, а также получить бесплатный доступ ко м…
Онлайн казино Вулкан Голд — отличное азартное заведение
В онлайн казино прежде всего ценится, конечно же, возможность заработать неплохую сумму. На сайте площадки, с которой вы можете ознакомиться, кликнув по данной ссылке: https://vlk-gold.net/, вы сможете получить уйму возможностей для заработка в первый же день пребывания на р…
Регистрация в популярном клубе Вулкан
В онлайн казино Вулкан можно не только отдохнуть от будней в хорошей компании за занимательной игрой, и при этом пополнить свой бюджет, то еще можно участвовать в турнирах, лотереях и получать бонусы и поощрения, с помощью которых можно играть фактически без больших личных в…
Школьники станут 3D-разработчиками на воркшопе
Создание 3D-игр – одна из самых интересных и сложных профессий. Подробнее узнать о ней и попробовать себя в качестве гейм-разработчиков смогут школьники в Иркутске.
Бесплатный воркшоп, который станет частью Европейской недели программирования, пройдет в рамках иниц…
[Перевод] Создание игры Tower Defense в Unity: баллистика
[Первая, вторая и третья части туториала]
Поддержка разных типов башен.
Создание башни-мортиры.
Вычисление параболических траекторий.
Запуск взрывающихся снарядов.
Это четвёртая часть туториала, посвящённого созданию простой игры в жанре tower defense. В ней мы добавим ба…
[Перевод] Доступное объяснение алгоритма коллапса волновой функции
Алгоритм коллапса волновой функции (Wavefunction Collapse Algorithm) учит компьютер импровизировать. На входе он получает архетипичные данные и создаёт процедурно генерируемые данные, похожие на исходные.
(Источник)
Чаще всего он используется для создания изображений, но …
[Перевод] Подготовка к Spring Professional Certification. Spring REST
Сегодняшняя статья рассмотрит основные вопросы про REST в Spring. Она будет особенно полезна для начинающих программистов.
Официальный гид от Pivotal, в котором написано про темы для подготовки.
Оглавление
Внедрение зависимостей, контейнер, IoC, бины
AOP (аспектно-ориентир…
[Перевод] Опасность внутриигрового сбора данных
Ник Йи торгует секретами.
Он знает, что вам нравится, не нравится, и, что более важно — почему. Он знает, что вас мотивирует, что мешает вам достигнуть своей цели, что отталкивает вас, и всё, что находится посередине этого спектра. По крайней мере, в том, что касается игр…
Игра в прятки с оптимизатором. Гейм овер, это CTE PostgreSQL 12
Эта статья — продолжение рассказа о новом в PostgreSQL 12. Мы уже разобрали SQL/JSON (патч JSONPath) в статье «Что заморозили на feature freeze 2019. Часть I. JSONPath», теперь очередь CTE.
CTE
CTE это Common Table Expression — общие табличные выражения, их еще называют к…
Автомобили будут проектировать в виртуальной реальности
Планшеты и маркеры дизайнерам заменили гарнитуры для виртуальной реальности и контроллеры, при помощи которых создаются трёхмерные скетчи. Программа отслеживает движения, имитирующие рисование на бумаге, и воспроизводит линии непосредственно перед автором. Полученную констру…
Microsoft начала тестирование синхронизации уведомлений через Your Phone
За последние несколько недель приложения «Ваш телефон» обзавелось несколькими весьма полезными функциями, включая возможность трансляции экрана смартфона на ПК с Windows 10. Теперь же участникам программы Windows Insider постепенно становится доступен просмотр уведомлений с…
[Из песочницы] Элементарные шифры на понятном языке
Привет, Хабр!
Все мы довольно часто слышим такие слова и словосочетания, как «шифрование данных», «секретные шифры», «криптозащита», «шифрование», но далеко не все понимают, о чем конкретно идет речь. В этом посте разберемся, что из себя представляет шифрование и рассмотрим…
Перевод «Подготовьте ваши приложения к 64-бит требованиям»
Перевод статьи Get your apps ready for the 64-bit requirement блога «Android Developers Blog».
Современные 64-бит процессоры увеличивают скорость и обогащают опыт ваших пользователей. Добавление 64-бит версии приложения даёт улучшение производительности, открывает пути для…
Нейрокомпьютерные интерфейсы многократно расширят возможности технологий VR
Технологии виртуальной реальности (VR) уже достаточно неплохо «научились» обманывать наш мозг, глаза и уши, заставляя их считать, что мы действительно находимся в каком-то другом мире и являемся главным персонажем той или иной игры. Однако «скоро» эти технологии могут выйти…
[Перевод] Программный поиск общего кода с помощью oEmbed
Всем доброго времени суток! Хочу поделиться переводом статьи «»Programmatically Discovering Sharing Code With oEmbed» автора Drew McLellan.
Введение
На многих сайтах размещены мультимедиа и контент, которыми можно поделиться в другой платформе с помощью некоторого HTML-кода…
Облачный гейминг от Microsoft приходит в Google Play
Скриншот приложения из Google Play Компания Microsoft продолжает работать над развитием стриминговой технологии, транслирующей игры на планшеты и смартфоны. Известно, что технология Project xCloud позволит нам играть на любых устройствах, когда и где угодно. В 2019 году комп…
[Перевод] Тестирование инфраструктуры как код с помощью Pulumi. Часть 2
Всем привет. Сегодня делимся с вами заключительной частью статьи «Тестирование инфраструктуры как код с помощью Pulumi», перевод которой подготовлен специально для студентов курса «DevOps практики и инструменты».
Тестирование развертывания
Рассмотренный стиль тестирования —…
Онлайн казино Оптимус
Лучшие игровые стимуляторы ждут посетителей на сайте клуба Оптимус. Данный игровой портал работает достаточно давно и предоставляет своим клиентам самые качественные и безопасные условия для участия в разных азартных играх. Этот клуб является одним из самых популярных и масш…
[Перевод] Нужна небольшая клавиатура – сделайте её сами
Если вам нужна клавиатура, вы можете её приобрести. Если вам нужна небольшая клавиатура, то тут всё сложнее. Кроме вариантов с переделкой клавиатуры от Blackberry или возни с крохотными тактильными переключателями, нормальных решений для получения небольших, тонких и специ…
Клон Auto Chess, Arena of Evolution: Chess Heroes, теперь доступен в России на русском языке
Auto Chess – набирающий популярность жанр мультиплеерных развлечений, который вырос из пользовательского мода для Dota 2, как когда-то сама Dota появилась из карты-модификации для Warcraft III.
Пока что самым популярным представителем жанра является одноименная Dota Auto Ch…
Как изменить тему на Samsung Galaxy
Одной из вещей, которая нравится пользователям в платформе Android, является то, что она намного больше поддаётся всяческой настройке и кастомизации, чем другие ОС. Смартфоны Samsung, работающие под управлением One UI, фирменным ПО южнокорейского производителя, созданного н…
Решаем судоку с помощью Алгоритма X
В этой статье рассмотрим «Алгоритм X» Кнута и его применение для решения судоку. Прелесть алгоритма в том, что судоку при этом решается быстро без программирования каких-то продвинутых техник решения. Читать дальше →
[Из песочницы] Работа начинается с тестирования
В жизни каждого разработчика наступает момент, когда он задумывается над созданием тестовой составляющей для своего детища. Поправлюсь — в жизни каждого хорошего разработчика. Когда ты джуниор и не несешь особой ответственности, имеешь право на уйму ошибок и можешь их исправ…
ИИ научился создавать видео с одного кадра. Старые картины теперь можно сделать живыми
Технология из Гарри Поттера дошла до наших дней. Теперь для создания полноценного видео человека достаточно одной его картинки или фотографии. Исследователи машинного обучения из «Сколково» и центра Samsung AI из Москвы опубликовали свою работу о создании такой системы, вм…
Как Apple Arcade повлияет на игровую индустрию
В конце марта Apple показала общественности свой новый игровой сервис Arcade. По заверениям представителей компании, амбициозный проект будет включать в себя более сотни эксклюзивных игр от именитых разработчиков и издателей. К созданию сервиса компания подошла действительн…
[Перевод] Как генерируются подземелья в Enter The Gungeon
В последнее время я много играл в Enter The Gungeon. Это потрясающая, ужасно сложная игра в жанре bullet hell, сильно напомнившая мне Binding of Isaac. Но чем больше я играл в неё, тем больше осознавал малозаметную гениальность дизайна подземелий.
Существует много процедур…
[Из песочницы] SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM
В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM.
SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его …
Лучшие программы для создания музыки на Android-устройствах
Ваш Android-смартфон может создавать музыку Хорошая музыка не обязательно должна быть создана в стенах дорогих студий и записана модными исполнителями. Конечно, того самого «студийного качества» без профессионального оборудования добиться проблематично. Однако, есл…
Памятка начинающему разработчику компьютерных игр
Данная статья ориентирована на школьников, студентов, и тех, кто постарше, кто никогда не пробовал, но очень хочет начать писать компьютерные игры. Кто в детстве не играл в компьютерные игры, и не хотел написать свою игру, которая будет лучше, чем GTA или Crysis? И я хотел,…
Подборка: 5 книг по маркетингу, которые нужно прочитать основателю стартапа
Создание и развитие новой компании – всегда непростой процесс. И одна из главных сложностей зачастую заключается в том, что основатель проекта поначалу вынужден погружаться в самые разные области знаний. Он должен улучшать сам продукт или услугу, выстроить процесс продаж, …
Космики: моделирование эволюции многоклеточных организмов. Отчет за 7 лет
Здравствуй, Хабр!
В 2012 году я написал пост о своем увлечении — Космики: моделирование эволюции многоклеточных организмов
С того момента прошло без малого 7 лет, в течение которых я работал над развитием этого проекта. Сегодня я хочу рассказать немного о том, что научил…
Supercell закрывает Rush Wars: разработчики не смогли справиться с репетативностью геймплея
В конце лета студия Supercell анонсировала и сразу же выпустила в режиме пробного запуска стратегию Rush Wars. Проект позиционируется как новый, но в нем узнаются элементы как прошлых игр студии, так и игр других разработчиков. Несмотря на то, что запуск привлек миллионы игр…
Лицензионные игры от SPIN CITY
Большой выбор азартных и современных игровых автоматов можно найти на игровой площадке spin city. Данный клуб предлагает посетителям исключительно лицензионные слоты, которые являются продукцией популярных и востребованных разработчиков. Наибольшую популярность имеют игровые…
GTA 5 портировали на Android. Как установить
У студии Rockstar Games, разрабатывавшей серию игр Grand Theft Auto была хорошая традиция. Каждый раз, когда очередному тайтлу исполнялось 10 лет, выходила его портированная версия для мобильных платформ. В результате мы можем поиграть в такие игры, как GTA Vice City, GTA I…
[Перевод] Реверс-инжиниринг аркадного автомата: записываем Майкла Джордана в NBA Jam
Прошлым летом меня пригласили на тусовку в Саннивейле. Оказалось, что у хозяев в гараже есть аркадный автомат NBA JAM Tournament Edition на четверых игроков. Несмотря на то, что игре уже больше 25 лет (она была выпущена в 1993 году), в неё по-прежнему очень интересно играть…
[Из песочницы] Создаем свой компонент с микро-шаблонами
Всем привет. Все кто так или иначе писал на фреймворке Angular сталкивался или работал с библиотекой Angular Material. Это очень хорошо написанная библиотека компонентов способная к гибкой стилизации, которая реализована через возможность создания различных тем вашего прилож…
[Из песочницы] Новые рубежи в Физике
Здравствуй, уважаемый читатель! Представляю вашему вниманию перевод с английского языка статьи «Physics, The Next Frontier» авторства Chris Hecker.
Я, начинающий Java-разработчик, столкнулся с тем, что материалы по созданию физического внутриигрового движка представлены ли…
[Перевод] Как CSS Grid меняет представление о структурировании контента
Каждый, кто хотя бы немного занимался созданием веб-сайтов, знает, что теги <div> — являются важным строительным блоком для контроля над макетом.
HTML5 представил новые семантические элементы, чтобы помочь в этом. И хотя они являются фантастическим дополнением к языку…
Inside Xbox на Gamescom 2019: обновление каталога Xbox Game Pass и улучшение приложения Xbox для ПК
В ходе специального выпуска шоу Inside Xbox на Gamescom 2019 компания Microsoft поделилась информацией о новых играх, которые будут включены в каталог подписки Xbox Games Pass, а также рассказала об обновлении бета-версии приложения Xbox для ПК.
Итак, начиная с сегодняшнего…
Игровая индустрия с 22 по 28 апреля 2019
В сегодняшнем выпуске: Бывший руководитель BioWare о Ренессансе RPG. Cyberpunk 2077 сильно отличается от прошлогодней демонстрации. Сбор средств на настольную игру Bloodborne на Kickstarter. Нолан Норт об Uncharted 5. Rockstar работает над GTA 6. Анонс ремейка XIII. …
Commute: Heavy Traffic 2.05.5
Добро пожаловать в ближайшее будущее, в город, где все автомобили управляются компьютерами. Казалось бы, что теперь не должно быть пробок и аварий… Но это не так. Пробки не искоренить ездой по правилам. И вот вы выезжаете на своем автомобиле с полностью ручным управлением, д…
2. Обзор технической поддержки и гарантии коммутаторов Extreme Networks
Введение
Друзья, добрый день. В предыдущей статье мы рассмотрели коммутаторы Extreme уровня Enterprise. Теперь я немного изменю порядок статей и сегодня продолжу цикл статьей про сервисные контракты и гарантийные обязательства Extreme. У Extreme, как и у всех остальных бол…
Популярная головоломка вышла на Android
Если у вас нет VR-устройства, совместимого с Android-приложением для виртуальной реальности Daydream, вы, возможно, не в курсе, что кооперативная игра-головоломка Keep Talking and Nobody Explodes доступна на Android с 2016 года. Неделю назад на YouTube появился официальный …
One Person Story — аркада-головоломка с оригинальным философским сюжетом
Студия Sacralium выпустила на Android оригинальную аркаду с элементами головоломки и… сюжетом. One Person Story – это полноценная история, рассказываемая по частям.
Если верить разработчикам, сюжет олицетворяет собой жизненный путь человека, который мы проходим, иногда слуш…
Книги, которые стоит прочитать каждому продакт-менеджеру
Никогда не читайте книги для самообразования просто так, без практики. Это самое плохое, когда человек прочитывает кучу книг, а затем пытается устроиться работать продакт-менеджером, размахивая книжными знаниями. Таких соискателей сразу видно. И замечательно, если человек …
[Перевод] Что нужно знать о массивах JavaScript
Представляем вам перевод статьи автора Thomas Lombart, которая была опубликована на сайте medium.freecodecamp.org. Перевод публикуется с разрешения автора.
Пример использования метода reduce для сокращения массива
Позвольте мне сделать смелое заявление: циклы часто бывают…
Кадровая алхимия: каков оптимальный состав команды центра ГосСОПКА?
Эта статья пригодится тем, кто работает в компании, признанной субъектом критической информационной инфраструктуры (КИИ), а значит — обязанной выполнить требования №187-ФЗ и построить центр ГосСОПКА (Государственной системы обнаружения, предупреждения и ликвидации последст…