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

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

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

Разбор рендеринга в Unity, часть вторая: посмотрим на Genshin Impact

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

Казалось бы, техническая сторона графики у игр, созданных на одном игровом движке, должна быть более-менее схожей. Вот я и приступил к реверс-инжинирингу рендеринга Genshin Impact, не питая особого энтузиазма, ожидая увидеть там что нибудь вроде Universal Render Pipeline, стандартного решения для мобильных игр на Unity, с шейдером Cell shading для отрисовки персонажей. Но реальность преподнесла немало сюрпризов...

Читать далее

Разбор рендеринга в Unity, часть первая: Built-in rendering

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

Наверное, все игровые разработчики знают, как происходит рендеринг. Ну там вертексы, треугольники, растеризация, буфер экрана... Но детали процесса для многих внезапно являются сюрпризом. Например, сколько раз рендерится объект в Unity (да и в других движках) в обычном случае? Один?... Если разработчик отключит все что можно, то да. Но как правило - минимум 2. А может быть и 8 раз. Как так? Добро пожаловать в удивительный мир рендеринга...

Читать далее

Всё, о чём должен знать разработчик Телеграм-ботов

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

Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

Как вообще устроены боты? Как они взаимодействуют с пользователями? Что с их помощью можно реализовать, а что нельзя?

Подробный гайд о том, как работать с ботами — под катом.

Читать далее

TeamCity: настраиваем CI/CD в вашей команде

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

Привет, Хабр!

TeamCity — пожалуй, один из самых популярных CI/CD-серверов, который используют разработчики по всему миру. В этой статье я расскажу про базовые концепции, на которых он построен, и на примерах покажу, как можно настроить CI/CD в вашей команде.

Читать далее

Atomic Design в веб-дизайне

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров13K

Веб-дизайн — постоянно эволюционирует, адаптируясь к новым технологиям и требованиям пользователей. Одним из последних инновационных подходов, зародившихся в веб-дизайн-сообществе, является атомарный веб-дизайн (Atomic Design).

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

Читать далее

Как гражданину РФ открыть ИП и ТОО в Казахстане?

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

Продолжение про релокацию бизнеса на постсоветском пространстве. К плюсам релокации в РК можно отнести многие факторы, среди которых:

Читать далее

Сравнение сборщиков мусора в Unity и .NET

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

В этой статье я хотел бы рассказать о различиях между сборкой мусора в Unity (IL2CPP) и .NET. Несмотря на то что IL2CPP существует более 10 лет, я до сих пор встречаю недоумение, когда беседа заходит на тему Garbage Collector (GC) касательно Unity. Считать реализацию GC в .NET, ровно как и в JVM, единственным существующим решением — не верно. А тем более принимать такую реализации как "по умолчанию" используемую в Unity — есть заблуждение. Надеюсь эта статья будет полезной, даст верное понимание и устранит заблуждения. Ну а в конце статьи затронем грядущие серьезные изменения в Unity.

Читать далее

IL2CPP: вызовы методов

Время на прочтение9 мин
Количество просмотров7.8K
Это четвертая статья из серии по IL2CPP. В ней мы поговорим о том, как il2cpp.exe генерирует код C++ для вызовов методов в управляемом коде.

Читать дальше →

IL2CPP: экскурсия по генерируемому коду

Время на прочтение11 мин
Количество просмотров10K
Перед вами вторая статья из серии по IL2CPP. В этот раз мы поговорим о коде C++, генерируемом утилитой il2cpp.exe, а также рассмотрим представление управляемых типов в машинном коде, проверки во время выполнения, которые используются для поддержки виртуальной машины .NET, генерацию циклов и многое другое.


Читать дальше →

IL2CPP: обобщенная реализация

Время на прочтение8 мин
Количество просмотров6.1K
В предыдущей статье из серии по IL2CPP мы рассмотрели вызовы методов в генерируемом коде C++. Теперь мы поговорим об одной из самых важных особенностей кода IL2CPP – обобщенной реализации методов, позволяющей существенно уменьшить размер исполняемого файла IL2CPP. Стоит отметить, что обобщенная реализация также используется в средах выполнения Mono и .NET. В IL2CPP она изначально не поддерживалась и была добавлена только со временем.


Читать дальше →

Игра на ECS и как мы там живем

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

Привет, Хабр.

Постараюсь описать наш опыт и к чему мы пришли работая над игрой на ECS. Код приведен для LeoEcs Lite, но сами мысли очень общие. Буду рад критике и вашим мыслям.

Читать далее

Что у ECS под капотом

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

Всем привет, это моя первая статья на Хабр. Давно хотел попробовать что-то написать, но всё никак не решался, да и темы подходящей не было. Наконец тема подвернулась, и пришло время закрыть этот гештальт =)

В данной статье я опишу общий принцип "подкапотной" работы ECS фреймворков и некоторые проблемы, с которыми столкнулся при написании своего.

Когда я только начал узнавать про ECS, всё это казалось очень красивым, но только на бумаге, и нужно было начать что-то на нём реально писать, чтобы на собственном опыте проверить всё, о чём пишут. Успел попробовать несколько фреймворков на разных движках и языках. В основном это был великолепный entt, который я прикручивал к Godot, и LeoECS на Unity. Родной Unity фреймворк я пробовать не стал, потому что, когда начинал своё знакомство, API у него менялось чуть ли не раз в месяц, что меня отпугнуло. 

В общем, получил достаточно опыта в использовании ECS на практике, но меня всё никак не покидал вопрос о том, как же оно работает под капотом. Есть пара хороших блогов о разработке ECS (от автора entt - https://skypjack.github.io/ и от автора flecs - https://ajmmertens.medium.com/), но все они давали мне недостаточно понимания как это можно сделать самому. В итоге я решил что лучший способ что-то понять — сделать это самому, поэтому мне пришлось писать свою ECS, как завещал старина Бендер =)

Читать далее

Всё что нужно знать про ECS

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

Привет, Хабр! В этой статье я расскажу всё, что знаю про Entity-Component-System и попытаюсь развеять различные предубеждения об этом подходе. Здесь вы найдете много слов о преимуществах и недостатках ECS, об особенностях этого подхода, о том как с ним подружиться, о потенциальных граблях, о полезных практиках, а также в отдельном разделе коротко посмотрим на ECS фреймворки для Unity/C#.

Окунуться в мир ECS

Job System. Обзор с другой стороны

Время на прочтение14 мин
Количество просмотров26K
В новой версии unity 2018 года наконец официально добавили новую систему Entity component system или сокращенно ECS которая позволяет вместо привычной работы с компонентами объекта работать только с их данными.

Дополнительная же система задач предлагает вам использовать параллельные вычислительные мощности, чтобы улучшить производительность вашего кода.
Читать дальше →

Человек не за бортом: зачем новеньким онбординг и как его проводить, чтобы первый день не стал последним + чек-лист

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

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

***

Привет! Меня зовут Валерия, я старший HR-менеджер веб-студии Pyrobyte. Наверняка многие из вас сталкивались со стрессом в первые дни на новой работе: новый офис незнакомые люди, другие обязанности. Куча эмоций, переживаний и сомнений, с которыми сложно совладать: «А понравится ли мне?», «А как меня воспримут коллеги и руководство?»‎, «А справлюсь ли я?» 

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

Читать далее

Генерирование полигональных карт для игр

Время на прочтение24 мин
Количество просмотров60K
Я хотел научиться генерировать интересные игровые карты, которые не обязательно были бы реалистичными, а также попробовать техники, с которыми раньше не работал. Обычно я создаю карты с другой структурой. Что можно сделать с тысячей полигонов вместо миллиона тайлов? Отчётливо различимые игроком области могут быть полезны для геймплея: местоположения городов, места квестов, территории для захвата или колонизации, ориентиры, точки поиска пути, зоны с разной сложностью и т.д. Я генерировал карты с помощью полигонов, а затем растеризировал их вот в такие карты:

image

Во многих процедурных генераторах карт, в том числе и некоторых моих предыдущих проектах, для генерирования карты высот используются функции шума (midpoint displacement, фракталы, diamond-square, шум Перлина и т.д.). Здесь я их не применял. Вместо неё я использовал структуру графов для моделирования элементов, определяемых ограничениями геймплея (высота, дороги, течение рек, места квестов, типы монстров) и функции шума для моделирования того, что не ограничивается геймплеем (форма побережья, расположение рек и деревьев).
Читать дальше →

Ход «Voronoi»

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

Вместо предисловия


Урок русского языка в грузинской нерусской школе.
Учительница:
— Дэти, это нэльзя понять, это надо запомнить: ОТ ВАС пишется раздельно, а
КВАС — вместе.

Анекдот взят тут.

Введение


На написание статьи вдохновила игра «Wesnoth» — пошаговая стратегия с элементами RPG. В этой игре персонажи перемещаются по карте, состоящей из шестиугольных полигонов. Таким образом, окруженный со всех сторон персонаж может быть атакован шестью вражескими. По этой причине тактическая составляющая в игре очень важна. Возник вопрос: как повлияет на игровой процесс переход от карты с фиксированной геометрией полигонов на карту с произвольной геометрией?
Читать дальше →

Создание игровых карт на основе диаграмм Вороного

Время на прочтение6 мин
Количество просмотров10K
Я написал статью о генерации полигональных карт при помощи диаграмм Вороного, но не объяснил, как писать её код. В этой статье я расскажу об основах создания вот таких карт с примерами кода на Javascript:


Многие люди хотят самостоятельно писать шум Вороного и симплекс-шум. Я обычно пользуюсь библиотеками. Вот чем я буду пользоваться:

  1. симплекс-шум: jwagner/simplex-noise.
  2. Вороной: mapbox/delaunator.

Если вы не работаете с Javascript, то для большинства языков тоже существуют библиотеки шума, а Delaunator был портирован на многие языки.
Читать дальше →

Диаграмма Вороного и её применения

Время на прочтение25 мин
Количество просмотров128K
Доброго всем времени суток, уважаемые посетители сайта Хабрахабр. В данной статье я бы хотел рассказать вам о том, что такое диаграмма Вороного (изображена на картинке ниже), о различных алгоритмах её построения (за , — пересечение полуплоскостей, — алгоритм Форчуна) и некоторых тонкостях реализации (на языке C++).



Также будет рассмотрено много интересных применений диаграммы и несколько любопытных фактов о ней. Будет интересно!
Читать дальше →

Как рисуется карта в Фараоне

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

В свободное время я восстанавливаю старенькую, но довольно известную игру Pharaoh. Это ситибилдер, выпущенный в прошлом веке и разработанный Impressions Games. Технология рендеринга в этой игре была значительным достижением для своего времени и способствовала созданию впечатляющей атмосферы Древнего Египта, которая погружает игрока в проработанное окружение, удивляет вниманием к мелким деталям и передает богатство и разнообразие древнеегипетских пейзажей. В этой статье я опишу алгоритм отрисовки города, зданий, объектов, анимации и формат карты оригинальной игры.

Городу нужно больше рабочих...

Информация

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