Как стать автором
Обновить
0
0

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

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

Linux для игр, Windows для работы. С чего начать, как установить и настроить

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров79K

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

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

Читать далее
Всего голосов 68: ↑64 и ↓4+78
Комментарии196

Зачем процессорам нужен кэш и чем отличаются уровни L1, L2, L3

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


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

Наверно, он важен, иначе зачем бы его устанавливать? Но что же делает кэш, и для чего ему разные уровни? И что означает «12-канальный ассоциативный кэш» (12-way set associative)?
Читать дальше →
Всего голосов 35: ↑33 и ↓2+37
Комментарии40

Сборка мусора в Unreal Engine

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

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

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

Эта статья более релеватна к Unreal Engine 4.27 однако много всего работает так же и на версии UE 5.0 и на более низких версиях. Однако, стоит отметить, что, с версии 4.0 до 4.27 сборка мусора претерпела весьма значительные изменения и стала сильно лучше.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии1

Поля расстояний Raymarching-а: объяснение и реализация в Unity

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

Raymarching — это достаточно новая техника, используемая для рендеринга сцен реального времени. Она особенно интересна тем, что полностью вычисляется в шейдере экранного пространства. Другими словами, рендерер не получает доступа к данным мешей и сцена отрисовывается на одном четырёхугольнике, покрывающем всю область видимости камеры. Объекты в сцене задаются аналитическим уравнением, описывающим кратчайшее расстояние между точкой и поверхностью всех объектов сцены (поэтому полностью техника называется полями расстояний Raymarching-а). Оказывается, что даже при наличии только этой информации мы можем создавать поразительно сложные и красивые сцены. Более того, благодаря тому, что мы не используем полигональные меши (и вместо них применяются математические уравнения), здесь, в отличие от традиционного рендерера, можно задавать идеально плавные поверхности.


Snail Иниго Килеза была полностью создана при помощи raymarching. Другие примеры подвергнутых raymarching-у сцен можно найти на Shadertoy.

В этой статье мы сначала расскажем о фундаментальных понятиях и теории raymarching, а затем покажем, как реализовать простейший raymarcher в игровом движке Unity. Далее мы продемонстрируем, как на практике встроить raymarching в настоящую игру на Unity, позволив объектам с raymarching-ом перекрываться обычными GameObjects.

Полный код можно найти в этом репозитории Github.
Всего голосов 21: ↑21 и ↓0+21
Комментарии5

Космические лучи — причина случайных компьютерных сбоев?

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


Если ваш компьютер внезапно завис, выдал «синий экран смерти» или не смог скопировать файл — не спешите обвинять производителя компьютерной техники или глючной памяти. Возможно, причина сбоя — космическая радиация. Такие события называются «нарушением в результате единичного события» (single-event upset, SEU).

Нарушение в результате единичного события — это изменение состояния электронного компонента, вызванное одной частицей ионизирующего излучения (ион, фотон, протон, нейтрон и т.д.), которая сталкивается с чувствительным узлом системы, таким как микропроцессор, полупроводниковая память или мощный транзистор. Изменение состояния происходит из-за возникновения свободного заряда, который появляется в результате ионизации внутри или рядом с чувствительным узлом системы или логическим элементом, таким как бит памяти. В итоге устройство выдаёт ошибку. Эту единичную ошибку и называют «нарушением в результате единичного события», SEU или просто случайным сбоем (soft error).
Читать дальше →
Всего голосов 32: ↑26 и ↓6+20
Комментарии70

Неклассические контейнеры в C++

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

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

В стандартную библиотеку C++ входит несколько контейнеров. Кроме этого, в Open Source есть несколько контейнеров, которые покрывают больше юзкейсов. Я опишу устройство интересных контейнеров вне STL и их отличия от классических контейнеров.

Читать далее
Всего голосов 56: ↑54 и ↓2+64
Комментарии24

Продвинутый левел-дизайн: киноприемы в играх, кор-луп и силуэты

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

Всем привет! Пришло время третьей, кульминационной статьи цикла про левел-дизайн. Ранее мы уже говорили об общих терминах и принципах производства локаций, но многим хотелось более существенного deep-dive. Сказано — сделано. Приготовьте блокноты, потому что местами придется записывать!

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

Читать далее
Всего голосов 31: ↑31 и ↓0+31
Комментарии3

Что находится в Антарктиде

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

Текст: Александра Гордиенко, редактор проекта “Антропогеос. География людей”

Фото: Дина Караваева

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

Научные станции

По международному договору, любая страна может открыть в Антарктиде научную станцию южнее 60 градуса южной широты. На сегодняшний день таких станций набралось больше 90. Часть из них заброшена или ликвидирована, какие-то функционируют сезонно, а какие-то весь год без остановок.

На этих станциях ведутся метеорологические наблюдения, а также исследования в области геологии, географии, биологии, астрономии.

Первую станцию открыли в 1898-99 годах на мысе Адэра участники Британской антарктической экспедиции под руководством норвежского полярника Карстена Борхгревинка. Хижина, которую они построили, сохранилась до сих пор. Ее периодически использовали другие экспедиции, а сейчас это, скорее, туристический объект.

В 1903 году Шотландская экспедиция построила так называемый Дом Омонда на острове Лори - он стал первым капитальным строением на территории Антарктиды и использовался как круглогодичная метеорологическая станция. В 1904 году его передали в управление Аргентины, где она основала действующую по сей день станцию Оркадас.

С тех пор открылись и закрылись более 90 станций, которые принадлежат разным странам. Сейчас на континенте открыты станции  России, США, Китая, Индии, Австралии, Бразилии, Аргентины, Бельгии, Германии, Японии, Украины, Италии, Франции, Швеции, Великобритании, Южной Кореи. Еще несколько стран имеют исследовательские станции на близлежащих островах.

Читать далее
Всего голосов 41: ↑40 и ↓1+54
Комментарии32

Собираем «Тревожный чемоданчик». Мнение спортивного туриста

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

Мне почему-то не хочется делать вид, что ничего не происходит. Потому что нынешняя военная эскалация напоминает затишье перед бурей, похожие ощущения были в январе 2020, когда «коронавирус же не у нас, он в Китае». В итоге жизнь подтвердила несостоятельность подобного «психологического» трюка. Поэтому, думая про худшее и надеясь на лучшее, я написал недавно эмоциональную заметку про «тревожный чемоданчик». Написана она с учетом моего опыта спортивного туризма (инструктор гор/пеш), поэтому профессиональные военным (выживальщикам?) просьба отнестись с пониманием. Писалось с акцентом на беларускую аудиторию, и вот искренне надеюсь, что (НЕ) пригодится всем. Просьба не политизировать данную статью, а воспринимать as is. Те кто затевает войны — Хабр не читают. Мы все в одной лодке, надеюсь написанное под катом хоть немного поможет этой «лодке» быть на плаву…


Собираем тревожный чемоданчик вместе
Всего голосов 225: ↑198 и ↓27+223
Комментарии391

Веб-сервер на старом смартфоне Android

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


Бывает такое, что смартфон становится ненужным — например, на нём разбивается экран или он просто старенький, тормозит даже браузер. Что делать с таким гаджетом, не выбрасывать же его? В самом деле, американцы летали на Луну с компьютерами, у которых характеристики много хуже, чем в вашем старом смартфоне. Скорее всего, в нём 4−8 процессорных ядер, 2−4 гигабайта оперативной памяти, блок бесперебойного питания с аккумулятором. Не слабее, чем некоторые компьютеры.

Попробуем найти этому смартфону полезное применение.
Читать дальше →
Всего голосов 40: ↑38 и ↓2+50
Комментарии91

Почему графику в видеоиграх по-прежнему так сложно создавать?

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

Введение


В этом посте будут рассмотрены трудности и аспекты производства, которые нужно учитывать при создании новых методик и алгоритмов рендеринга/графики, особенно в контексте прикладных исследований рендеринга реального времени. Я буду рассказывать о своём личном опыте работы над Witcher 2, Assassin’s Creed 4: Black Flag, Far Cry 4 и God of War.

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

Я слышал вопросы типа «почему эта великолепная исследовательская методика X не используется в продакшене?» и от геймеров, и от коллег из научных кругов. На то всегда бывают очень веские причины!

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

Я вспоминаю об этой теме ещё и каждый раз, когда слышу дискуссии о том, что «фотограмметрия, трассировка лучей, нейронный рендеринг, [вставить любую другую новую тему] станет универсальным решением для рендеринга и заменит всё остальное!». Спойлер: этого не случится (по крайней мере, в ближайшее время).
Читать дальше →
Всего голосов 60: ↑60 и ↓0+60
Комментарии40

История одного острова и одного человека

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

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

Тортуга была открыта в 1499 году экспедицией Колумба. По легенде, он, увидев форму острова, даже воскликнул: "Вот место для черепахи, на которой покоится мир!", но это крайне сомнительно. Во-первых остров был настолько мал и незначителен, что они его даже на карту не стали наносить, а во-вторых, довольно сложно разглядеть очертания острова, находясь на палубе. Скорее всего это было так:

-Чё там за остров?

-Да какой-то мелкий остров с черепахами.

-Ну ок, будет остров черепах. Всё, двигаем дальше.

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

Читать далее
Всего голосов 56: ↑48 и ↓8+54
Комментарии12

«Автостопом по галактике» — история невероятного текстового приключения 1984 года

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


Жанр интерактивных текстовых игр промелькнул ярким болидом в истории цифровых развлечений. «Автостопом по галактике» стала одним из самых успешных бестселлеров Infocom, который прославился чутким юмором, странной, местами абсурдной, логикой, и, конечно же, безумными головоломками (помните Babel Fish?). Многие игроки бесились от дикой сложности загадок игры, для других же проведенное за ними время легло в память исключительно приятными воспоминаниями.
Читать дальше →
Всего голосов 60: ↑60 и ↓0+60
Комментарии9

Совместная игра в Factorio — лучшее собеседование для программистов, что мы проводили

Время на прочтение11 мин
Количество просмотров81K
В последнее время много копий сломано вокруг технических собеседований. Очевидно, что инвертирование двоичного дерева на доске практически никак не связано с практическими навыками реального программиста. Примитивный Fizzbuzz по-прежнему остаётся самым эффективным тестом. Как следствие, выросло внимание к опенсорсным проектам, но оказалось, что это тоже не очень хороший показатель, потому что у большинства профессионалов нет на них времени.

У нас в компании самое эффективное собеседование по программированию на сегодняшний день — это обычно какое-то домашнее задание на несколько дней, в котором кандидата просят исправить баг или реализовать небольшую функцию. Это не очень хорошо, потому что занимает много времени, и человек может получить внешнюю помощь (или погуглить, если функция достаточно распространённая). С другой стороны, некоторые крупные компании вместо этого удвоили количество собеседований с доской (и алгоритмами), подвергая будущих инженеров многочасовым сессиям онлайн-программирования с различным уровнем инвазивного наблюдения.

Все эти методы интервью не сравнятся с очень простой метрикой: совместная игра в Factorio. Прохождение всего цикла Factorio — практически идеальный показатель, насколько хорошо человек решает общие технические проблемы. Можно даже настроить прохождение игры на основе будущей должности, чтобы лучше понять, как кандидат справится со своей ролью.
Читать дальше →
Всего голосов 78: ↑74 и ↓4+102
Комментарии144

8-битный Тьюринг-полный компьютер в Factorio

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

Хочу поделиться своим проектом, созданным в Factorio на основе предлагаемой этой игрой логики. На этот проект меня вдохновил великий ум, записавший пошаговое руководство по созданию практически такой же машины, но в реальном мире. Рекомендую посмотреть его, оно поможет вам понять и воссоздать этот проект: 8-bit computer

Я преклоняю голову перед Беном Итером, с помощью своего канала научившему меня столь многому, и хочу посвятить этот небольшой проект ему. Отличная работа, Бен!

Вот компьютер, вычисляющий число Фибоначчи, после превышения лимита 8 бит (числа 255) он выполняет условный переход и начинает заново:

image

Давайте разберёмся, как работает этот компьютер. И не бойтесь — уверен, что, разобравшись с основами, вы тоже сможете его сделать! Начнём с общей схемы компьютера. Здесь я выделил важные области. Ниже я объясню, как создал их.
Всего голосов 32: ↑32 и ↓0+32
Комментарии15

Альтернативные аллокаторы памяти

Время на прочтение13 мин
Количество просмотров90K
Написал Стивен Тови в 2:29 утра по программированию (шутка юмора Google Translate)
Вступление от себя: эта заметка, прорекламированная Алёной C++, предназначена в основном разработчикам игр для консолей, но будет, наверное, полезна и всем, кому приходится сталкиваться с экстремальным аллоцированием динамической памяти. Возможно, любители посравнивать управление памятью в C++ и Java тоже найдут над чем задуматься.

Оригинал с небезынтересной дискуссией в комментариях: altdevblogaday.org/2011/02/12/alternatives-to-malloc-and-new


Обязательная вступительная басня

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

Сейчас объясню, почему...
Всего голосов 75: ↑72 и ↓3+69
Комментарии59

[Личный опыт] «Повзрослевшая Россия»: тонкости переезда в Канаду

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

В июле 2020 года, в разгар уже опостылевшей всем пандемии, ValCanada получил статус резидента Канады и переехал с семьёй в Северную Америку.


Откровенно и искренне он поделился с нами особенностями страны, про которые мало говорят в инструкциях о релокации: как получить максимум баллов для ПМЖ, каким IT-специалистам легче найти работу, как законно сэкономить на съёмном жилье (но, возможно, заработать невроз), почему при переезде стоит одеваться теплее, и как обстоят дела с новомодным дайверсити.


Впереди лонгрид!




Читать дальше →
Всего голосов 39: ↑33 и ↓6+34
Комментарии128

Gameplay Ability System: как мы используем плагин для разработки Survival RPG

Время на прочтение14 мин
Количество просмотров22K
В Social Quantum сейчас кипит работа над новыми проектами, которые мы разрабатываем на Unreal Engine 4. Для одной из этих игр мы активно используем плагин Gameplay Ability System (далее GAS). Многие о нем слышали, но редко применяли для своих проектов. Этому есть несколько причин: количество документации, объемность и сложность подсистемы. Наша команда решила подготовить серию материалов, где мы подробно расскажем об опыте работы и развеем некоторые мифы.

Для начала разберем самые базовые принципы GAS и основные ее сущности, а также копнем чуть дальше, чем «делаем зелье для пополнения здоровья».



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

Оцениваем работодателя на собеседовании. Как понять, что за компания перед тобой?

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

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

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

Читать далее
Всего голосов 39: ↑39 и ↓0+39
Комментарии69

«Группа смерти» изнутри: люди, которые играют в опасные игры

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


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

Сегодня мы попробуем увидеть происходящее глазами рядовых участников — не тех, для кого в конечном итоге все кончилось плохо, а того подавляющего большинства, которое играло, а потом продолжило жить.
Читать дальше →
Всего голосов 267: ↑256 и ↓11+321
Комментарии345

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность