Привет любителям микро-кодирования. Вот вам кое-что невероятное: крошечный движок raycasting (метод “бросания лучей”) и генератор городов, который помещается в отдельный 256-байтовый HTML-файл.
Game/Software Developer
Как работает физика в играх
В мире видеоигр игровая физика играет важную роль, определяя реалистичность и взаимодействие игрового мира с игроком. Что же происходит под капотом? Какие алгоритмы и подходы используются в современных движках? И что же значит «застрять в текстурах»? (спойлер: чушь полнейшая)
В этой статье мы рассмотрим основные принципы и технологии, лежащие в основе работы физических движков, а также предоставим советы по ее оптимизации для улучшения производительности игрового движка.
Как написать свою маленькую ОС
Большое начинается с малого. Например, ядро Linux 0.0.1 состояло всего из 10 239 строк кода, из них 20% комментарии. Такой проект вполне может осилить студент в качестве курсовой или дипломной работы, программируя по вечерам на домашнем ПК (собственно, Линус и написал его во время учёбы в университете, когда вернулся из армии).
Если один студент смог это сделать тогда, то почему нельзя повторить? И действительно, в интернете есть даже специальные обучающие ресурсы для написания новых ОС и целые сообщества энтузиастов, которые помогают друг другу в этом непростом деле.
Уйти нельзя остаться — что делать, когда очень хочется уволиться
Согласно статистике, в РФ работу меняют в среднем раз в 3,5 года, а в США — раз в 4,1 года. Но статистика — всего лишь цифры, в неё попадают и те, кто меняет работу каждые 3-6 месяцев, и те, кто остается с компанией по 10-15 лет. Если прямо сейчас вы уже занесли ручку над заявлением об увольнении, предлагаю подумать, подышать и еще раз проверить все причины своего решения.
Я выделила несколько причин, которые могут привести к решению уволиться. На самом деле, их намного больше, но я постаралась перечислить основные.
Привет, Хабр! Меня зовут Рушана Каюмова, я — Lead HR в Экспресс 42. Эта статья посвящена скользкой и неприятной теме увольнения. Это только кажется, что уволиться — просто. На деле во всех историях, которые я слышала о смене работы, возникали какие-то шероховатости. Предлагаю пройтись по процедуре. Эта информация будет полезна всем, у кого есть работа, а также лидам и руководителям. Ведь каждый рано или поздно сталкивается с необходимостью уволиться самому или с увольнением сотрудника.
Бесплатный левел-дизайн, или как строить ландшафт в реальном времени на UE4
Всем привет! Меня зовут Влад Маркелов, и сегодня я расскажу, как можно бесплатно и быстро создавать огромные игровые уровни и как в реальном времени строить ландшафт по информации из Интернета.
Но прежде, чем перейти к сухим техническим деталям, будет небольшое лирическое отступление, о чем вообще эта статья и как я до этого докатился.
Просто о шаблонах C++
Статья для тех, кто боится слова template в C++. Вводная информация с примерами и их подробным разбором.
Slate UI Framework (UE4/5) — standalone application
Slate is written entirely in C++ and runs on all Unreal Engine 4 supported platforms. It is render interface agnostic, which allows it to be used in standalone desktop and mobile applications that do not depend on the game engine.
Gerke Max Preussner о Slate UI Framework
Последние 6 лет я много работаю с Unreal Engine 4. Вернее не с самим движком, а с его различными модулями, с помощью которых мы выстраиваем свою базу тулов и различных технических решений вокруг основного игрового проекта. Несмотря на зоопарк различных технологий, который образовался вначале, со временем наша собственная экосистема постепенно начала стандартизироваться. Всё больше ребят начали писать более качественные расширения для Unreal Editor именно на Slate UI Framework. Конечно, когда нужно сделать UI для функциональности, которую можно "впихнуть" в одну кнопку, проще реализовать это на UMG в Editor Utility widget. Но если нужно что-то посложней, например, нужна асинхронность в процессе выполнения или, например, необходимо рисовать на UI TreeView (деревья), то тут без обращения к Slate модулю - не обойтись. Так же для многих UI тулов рано или поздно встаёт вопрос о возможности их самостоятельного существования, в отвязке от конкретного проекта, а в идеале - без привязки к Unreal Editor. Про сборку Stand Alone приложения, с UI от редактора UE4/5, я и хочу вам рассказать.
(Не)официальное приложение Хабра — HabrApp 2.0: получение доступа
Одним томным и уже порядком надоевшим вечером, я, листая официальное приложение хабра, в который раз загибал пальцы, по одному за каждую нерабочую фичу. Тут, например, нельзя прокомментировать, здесь отказывают в праве голоса, и вообще, почему не видно формул на экране?
Было решено: нужно что-то удобное, приятное, своё. Что насчёт своего приложения для Хабра?
Асинхронность в программировании
В области разработки высоконагруженных многопоточных или распределенных приложений часто возникают дискуссии об асинхронном программировании. Сегодня мы подробно погрузимся в асинхронность и изучим, что это такое, когда она возникает, как влияет на код и язык программирования, которым мы пользуемся. Разберемся, зачем нужны Futures и Promises и затронем корутины и операционные системы. Это сделает компромиссы, возникающие во время разработки ПО, более явными.
В основе материала — расшифровка доклада Ивана Пузыревского, преподавателя школы анализа данных Яндекса.
Плоская Земля: эксперименты и доказательства
Интерактивность без гаджетов
Слово «интерактивный» предполагает, что если что-то с чем-то взаимодействует, то все в порядке, интеракция есть.
Но вот если присмотреться…
Простое объяснение алгоритмов поиска пути и A*
Часть 1. Общий алгоритм поиска
Введение
Поиск пути — это одна из тех тем, которые обычно представляют самые большие сложности для разработчиков игр. Особенно плохо люди понимают алгоритм A*, и многим кажется, что это какая-то непостижимая магия.
Цель данной статьи — объяснить поиск пути в целом и A* в частности очень понятным и доступным образом, положив таким образом конец распространённому заблуждению о том, что эта тема сложна. При правильном объяснении всё достаточно просто.
Учтите, что в статье мы будем рассматривать поиск пути для игр; в отличие от более академических статей, мы опустим такие алгоритмы поиска, как поиск в глубину (Depth-First) или поиск в ширину (Breadth-First). Вместо этого мы постараемся как можно быстрее дойти от нуля до A*.
Новости игровой индустрии (11-25 марта 2019)
Продолжаем серию новостей, выпуск третий.
GDC 2019! Если транслировать совершенно все новости оттуда, то ни в какой дайджест не поместится, хватит на год описывать всякие мелочи. Поэтому по верхам.
Megacity Demo
- Unity опубликовали клёвую технодемку Megacity, показывающую, на что способен Burst Compiler. Напоминаю, BC — это такая штука, которая компилирует особое подмножество C# в натив, и тем самым достигает лютейшего перформанса. Я когда-то делал для Хабра интервью с одним из разработчиков этой фичи, рекомендую ознакомиться. Сейчас видео демки можно скачать с owncloud с сайта Unity или нагуглить что-нибудь перепакованное на YouTube. Например:
Quick Draw Doodle Recognition: как подружить R, C++ и нейросетки
Привет, Хабр!
Осенью прошлого года на Kaggle проходил конкурс по классификации нарисованных от руки картинок Quick Draw Doodle Recognition, в котором среди прочих поучаствовала команда R-щиков в составе Артема Клевцова, Филиппа Управителева и Андрея Огурцова. Подробно описывать соревнование не будем, это уже сделано в недавней публикации.
С фармом медалек в этот раз не сложилось, но было получено много ценного опыта, поэтому о ряде наиболее интересных и полезных на Кагле и в повседневной работе вещей хотелось бы рассказать сообществу. Среди рассмотренных тем: нелегкая жизнь без OpenCV, парсинг JSON-ов (на этих примерах рассматривается интеграция кода на С++ в скрипты или пакеты на R посредством Rcpp), параметризация скриптов и докеризация итогового решения. Весь код из сообщения в пригодном для запуска виде доступен в репозитории.
Содержание:
DynamicData: Изменяющиеся коллекции, шаблон проектирования MVVM и реактивные расширения
В феврале 2019 года состоялся релиз ReactiveUI 9 — кроссплатформенного фреймворка для построения приложений с GUI на платформе Microsoft .NET. ReactiveUI — это инструмент для тесной интеграции реактивных расширений с шаблоном проектирования MVVM. Знакомство с фреймворком можно начать с серии статей на Хабре или со вступительной страницы документации. Обновление ReactiveUI 9 включает в себя множество исправлений и улучшений, но, пожалуй, самое интересное и значимое изменение — тесная интеграция с фреймворком DynamicData, позволяющим работать с изменяющимися коллекциями в реактивном стиле. Попробуем разобраться, в каких случаях нам может пригодиться DynamicData и как устроен внутри этот мощный реактивный фреймворк!
Предотвращение устаревания учебных материалов
Кратко о ситуации в ВУЗах (личный опыт)
Для начала стоит оговорить, что изложенный материал субъективен, так сказать "взгляд изнутри", но по ощущениям информация актуальна для многих государственных ВУЗов постсоветского пространства.
Ввиду спроса на специалистов ИТ, многие учебные заведение открыли соответствующие направления подготовки. Более того, даже до студентов вовсе не "айтишных" специальностей дошло множество предметов ИТ-ого профиля, зачастую это Python, R, менее везучим многим приходится осваивать "пыльные" учебные языки, вроде Pascal.
Если посмотреть глубже, то все не так просто. Не все преподаватели успевают за "трендами". Лично я, учась на "программистской" специальности столкнулся с тем, что у некоторых преподавателей нет актуальных конспектов лекций. Если говорить точнее, преподаватель скинул старосте на флешку фото конспектов, написанных от руки каким-то студентом. Об актуальности таких материалов как методички по WEB-программированию (2010-ого года) я вовсе молчу. Также остается догадываться, касательно того, что происходит в техникумах и худших из худших учебных заведениях.
Unity: процедурное редактирование Mesh
Статья направлена на прокачку навыков процедурной обработки мешей в Unity. Мы расскажем об операциях преобразования и генерации частей меша.
Гвозди в крышку гроба рунета
Пересечение тестирования и архитектуры: интервью с Нилом Фордом
Что может значить должность «QA architect»? А что значит совсем уж непонятная должность «meme wrangler»? С какого момента при работе над архитектурой надо подключать тестировщиков? Как менять процессы в организации так, чтобы люди при встрече с первой же сложностью не возвращались к старым?
Нил Форд на своём сайте представляется тремя вариантами: «ThoughtWorker» (сотрудник компании ThoughtWorks, которую многие знают из-за Мартина Фаулера), «Software Architect» и «Meme Wrangler». Вскоре на нашей конференции Heisenbug он расскажет о создании «эволюционных архитектур», которые возможно менять при изменении внешних обстоятельств. А пока что Михаил xomyakus Дружинин (участник программного комитета Heisenbug) расспросил Нила: и о том, как тема его выступления пересекается с тестированием, и о многом другом.
Немного о затенении по Фонгу
«Мы не можем ожидать, что у нас получится отобразить объект точно таким, каким он является в реальности, с текстурами, тенями и т.д. Мы надеемся только на то, чтобы создать изображение, которое достаточно близко к достижению определённой степени реализма».
Буй Тыонг Фонг
Буй Тыонг Фонг родился в 1941 году и стал учёным-информатиком во время Вьетнамской войны. Должно быть, ему сложно оказалось завершить своё обучение в токсичной среде 60-х, не говоря уже о том, что его призвали на фронт! Но ему удалось выжить и дожить до 1975 года, прежде чем его жизнь забрала лейкемия спустя всего два года после того, как он заложил для мира фундамент современной теории освещения и затенения: шейдер Фонга.
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity