Search
Write a publication
Pull to refresh
1
0
Александр @zorggroz

User

Send message

Создание Outline эффекта в Unity Universal Render Pipeline

Reading time15 min
Views32K
В Universal Render Pipeline, создавая свои RendererFeature, можно легко расширить возможности отрисовки. Добавление новых проходов в конвеер рендеринга позволяет создавать различные эффекты. В этой статье, используя ScriptableRendererFeature и ScriptableRenderPass, создадим эффект обводки объекта (Outline) и рассмотрим некоторые особенности его реализации.

Outline Effect

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

Настоящее программирование для гуманитариев с нуля в… 3DS Max

Reading time12 min
Views9.1K

Программирование с нуля


статья расcчитана прежде всего на "гуманитариев".


Исполняемая среда и 


Почему 3DS Max?


Предлагаю немного необычный, но действенный, на мой взгляд способ знакомства с практическим программированием для “гуманитариев". 


Статья будет очень простой и доступной но для основательности попробуем начать с “истории анатомии" :


 Что есть программирование? 


  • написание программ! 

Программ чего? 


  • Программа это последовательность инструкций!

Инструкций кому?
 - В конечном итоге процессору компьютера или смартфона, т.е. физическому, реальному устройству.


Теоретически все верно, но процессор понимает только машинный код, фактически поток цифр или, если уж совсем анатомично, — электрических сигналов “высокого” (например 3 вольта) и “низкого” (1 вольта) напряжения, которое “понимается" схемотехникой процессора как нули и единицы, бинарные сигналы.


В физику полупроводников лезть не станем, но кому интересно — гуглите “полупроводники и логические элементы" )


Ничто не мешает реализовать и “десятинарные” сигналы и десятичную математику но это громоздко и не экономично. Хотя в телекоммуникациях очень много именно “троичных" элементов и математики.


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


Мы и сейчас “припаиваем" оперативную память, видеокарту или жесткий диск, да даже флэшку к своим компьютерам, но благодаря “дядьке Фон Нейману” делаем это без паяльника.


Ища более продуктивные пути взаимодействия с компьютером люди придумали сперва перфокарты а потом и просто доску с ключами-тумблерами “keyboard” для ввода данных в компьютер.


Но главная проблема — непонятность машинных кодов для человека!

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

Spelunky как пример хорошего гейм-дизайна

Reading time8 min
Views6.9K

Spelunky 2, к сожалению, так и не вышла в 2019 году, да и дату релиза в 2020 еще не объявили. Если вы не играли в первую часть, предлагаю вам пока ознакомиться с этим примером хорошего гейм-дизайна и разобраться, чем же он хорош.


В этой статье:


  • как сделать туториал и при этом оставить игроку возможности для самостоятельных открытий
  • как создать условия для роста навыка игрока
  • как стимулировать осторожный и агрессивный стиль игры

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

7 бесплатных курсов для специалистов по работе с данными (DS и DE)

Reading time3 min
Views35K
La finale! Именно этим французским выражением можно назвать эту статью. Ведь она последняя уже во второй серии подборок бесплатных курсов от Microsoft. И сегодня у нас курсы для специалистов по анализу данных и инженеров данных. Присоединяйтесь!

Кстати!

  • Все курсы бесплатные (вы даже сможете попробовать платные продукты бесплатно);
  • 6/7 на русском языке;
  • Начать обучение можно мгновенно;
  • По окончании вы получите бейдж об успешном прохождении обучения.

Присоединяйтесь, подробности под катом!

Следующая серия статей


Эта серия статей, начало 2020 года


Более ранняя серия статей, 2019 год


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

Редактор кода Visual Studio Code. Самый подробный гайд по настройке и установке плагинов для начинающих

Reading time23 min
Views934K
Бесплатный, мощный, очень популярный, с кучей дополнений, да что там говорить, сам Фейсбук выбрал его в качестве основного редактора!


Сегодня речь пойдет о редакторе кода Visual Studio Code или просто VS Code. Мы с тобой его установим, настроим, а также применим плагины, которые существенно упростят нам работу.
Читать дальше →

Zip-файлы: история, объяснение и реализация

Reading time76 min
Views105K


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

В статье очень подробно объясняется, как работают Zip-файлы и схема сжатия: LZ77-сжатие, алгоритм Хаффмана, алгоритм Deflate и прочее. Вы узнаете историю развития технологии и посмотрите довольно эффективные примеры реализации, написанные с нуля на С. Исходный код лежит тут: hwzip-1.0.zip.
Читать дальше →

Как получать 100 тысяч за код. Полное руководство для начинающих

Reading time9 min
Views61K

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


Что нужно знать, чтобы получать зарплату 100 тысяч

1. Познакомьтесь с веб-разработкой


Ситуация на 1 этапе

Продолжительность этапа: 1 месяц.


Что изучить на этом этапе.


  1. Структуру HTML.
  2. Отличия фронтенда и бэкенда.
  3. Разметку и оформление текста.
  4. Как размечать страницу по макету.
  5. Как ставить ссылки и вставлять изображения.
  6. Основы CSS — правила, селекторы, свойства и каскадирование.
  7. Хотя бы немного понимать, как работает и где применяется JavaScript.

Сначала будет много непонятных слов, аббревиатур и голова пойдёт кругом. В одном JavaScript десятка три направлений, поэтому нужно понять, ваше ли это вообще. Смотрите видео на Ютюбе или тренируйтесь на интерактивных курсах. Другой вариант — по учебникам, но с ними сложнее всего. Электронные пока держатся, а вот бумажные устарели ещё до публикации.


Ещё 7 шагов

Prerender on canvas 2D

Reading time2 min
Views3.3K

В попытках оптимизировать 2D анимацию созданную в canvas, был найден один интересный вариант.


hero image


Предварительная визуализация — prerender.


"А что если записать все кадры заранее и показать их после окончания анимации?" — подумали мы с товарищем и вот что получилось на следующий день.

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

Как восстановить светодиодную лампу за 2 минуты при минимальных навыках работы с паяльником и знаниях об электронике

Reading time4 min
Views489K

image


Исторически так сложилось, что в моем загородном доме все освещение сделано с помощью светодиодных ламп мощностью 10-11, а в последнее время и 12-13 вт с цоколем Е27. Лампы накаливания на площадь 200 м2 тратили бы слишком много электроэнергии, что не вписывалось бы в концепцию моего энергоэффективного дома с приличным утеплением, твердотопливным дровяным котлом, бесперебойником на автомобильных аккумуляторах и рекуператором. Люминесцентные "энергосберегайки" я невзлюбил с первого взгляда — они часто перегорают, не имеют той энергоэффективности что светодиодные, хрупкие, токсичные при случайном разбивании, мерцают и имеют неприятный спектр.

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

Быстрое создание чиптюн-музыки на открытом ПО

Reading time12 min
Views14K
image

Итак, вы делаете свою игру, добавляете новые функции и тестируете их. Да, получается совсем неплохо. Но чего-то не хватает — игра слишком тихая. Вам нужна музыка. Разумеется, можно найти и скачать бесплатную музыку из Интернета, но это не геймдев, это использование чужой работы. Так что давайте напишем собственную музыку. Вот как будет звучать написанная вами музыка [прим. пер.: перед прослушиванием уменьшите громкость]:


Это то, что у меня получилось к концу туториала

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

Создавать музыку непросто. Но и не суперсложно. Да, можно стать музыкантом и изучать труд композитора и т.п., но мы делаем хобби-игру, поэтому таких знаний нам не требуется. Я пошагово объясню, как создать музыку.

Как немец-хохотун лук (тот, что со стрелами) прокачал

Reading time2 min
Views23K
Увидел тут с утреца статью про пушку Гаусса и сразу вспомнил один замечательный канал на ютубе, где, вовсе не сумрачный, а очень даже жизнерадостный немецкий гений взял и сделал нечто абсолютно новое в такой (казалось бы) абсолютно завершённой области как лучное дело. Простейшее устройство одновременно:

  1. Является магазином (то есть, даёт серьёзный плюс к скорости стрельбы),
  2. Значительно упрощает прицеливание,
  3. Да ещё и в два раза снижает усилие, нужное для натяжения лука!

Впечатляет? И это вы ещё его смех не слышали! (вот здесь его компиляция на полторы минуты, лучший способ начать понедельник по моему скромному мнению). Ну а под катом краткое пояснение принципов работы, если лень смотреть видео. Как говорит сам Йорг LET ME SHOW ITS FEATURES:


Советы по использованию алгоритма коллапса волновой функции

Reading time7 min
Views13K
image

В последнее время я много экспериментировал с процедурной генерацией на основе ограничений. В частности, с алгоритмом Wave Function Collapse (WFC, коллапс волновой функции). Я даже написал собственную open source-библиотеку и ассет unity.

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

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

Принцип единственной ответственности: глубокое погружение

Reading time17 min
Views56K
Про принцип единственной ответственности (The Single Responsibility Principle, SRP) уже было написано множество статей. В большинстве из них даётся лишь поверхностное его описание мало чем отличающееся от информации в википедии. А те немногие статьи что затрагивают ключевые особенности SRP делают это вскользь, не акцентируя на них внимания и не развивая тему дальше.

Эта статья — попытка дать более глубокое объяснение принципу единственной ответственности, а также показать как его всё таки можно применять на практике. Кому интересно — добро пожаловать под кат.
Читать дальше →

Как я сделал игру для Блокнота

Reading time7 min
Views60K


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

Самодельный рекуператор для загородного дома с КПД 80%

Reading time2 min
Views119K

image


Наступила зима, и я решил усовершенствовать систему вентиляции в моем загородном доме. До этого момента ее практически не было, все вентилирование осуществлялось за счет открывания окон, выбрасывания теплого отработанного воздуха и впускания холодного свежего с улицы. Я что-то слышал о системах рекуперации (recuperatio — обратное получение, возвращение), позволяющих не просто выбрасывать тепло вместе с воздухом, а использовать его для нагревания входящего свежего воздуха с заметной экономией энергии на отоплении. Подумав — а почему бы и нет, я решил попробовать сделать такую систему самостоятельно.

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

Создание Minecraft за одну неделю на C++ и Vulkan

Reading time8 min
Views33K
Я поставил перед собой задачу воссоздания с нуля Minecraft за одну неделю с помощью собственного движка на C++ и Vulkan. Меня вдохновил на это Hopson, который сделал то же самое при помощи C++ и OpenGL. В свою очередь, его вдохновил Шейн Бек, которого вдохновила Minecraft, источником вдохновения для которой была Infiniminer, при создании которой, предположительно, вдохновлялись реальными горными промыслами.


Репозиторий GitHub этого проекта находится здесь. У каждого дня есть своя git-метка.

Разумеется, я не планировал в буквальном смысле воссоздавать Minecraft. Этот проект должен был стать обучающим. Я хотел изучить использование Vulkan в чём-то более сложном, чем vulkan-tutorial.com или демо Саши Виллема. Поэтому основной упор сделан на проектирование Vulkan-движка, а не на дизайн игры.

Задачи


Разработка на Vulkan намного медленнее, чем на OpenGL, поэтому я не смог включить в игру многие функции настоящей Minecraft. Нет ни мобов, ни крафта, ни красного камня, ни физики блоков, и т.п. С самого начала цели проекта были следующими:

  • Создание системы рендеринга рельефа
    • Мешинг
    • Освещение
  • Создание системы генератора рельефа
    • Рельеф
    • Деревья
    • Биомы
  • Добавление возможности изменения рельефа и перемещения блоков

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

Обучение программированию 2019, или в поисках идеальной программы: Последовательность

Reading time8 min
Views6K

МУРОМ


Здравствуйте, меня зовут Михаил Капелько. Занимаюсь профессиональной разработкой ПО. Увлекаюсь разработкой игр и обучением программированию.


Предисловие


Осенью 2019-го я в третий раз участвовал в курсе обучения ребят 10-15 лет программированию в качестве одного из преподавателей. Наши курсы проходили с середины сентября по середину декабря. Каждое занятие было в субботу с 10:00 до 12:00. Подробнее о структуре каждого урока и деталях создаваемой на курсе игры можно узнать из статьи за 2018-й год.


Лично для себя я выделил две основные цели, к которым иду с помощью курсов:


  • создать удобный инструмент для создания простейших игр, понятный заинтересованным людям в возрасте от 10 лет;
  • создать программу обучения программированию, позволяющая заинтересованным людям в возрасте от 10 лет самостоятельно делать простейшие игры.
Читать дальше →

Прототип многопользовательской игры за 3 вечера?

Reading time25 min
Views6.6K

И снова здравствуйте! Часто ли вам в голову приходили идеи проектов, которые буквально мешали вам спать? То чувство, когда ты волнуешься, переживаешь и не можешь нормально работать над другими вещами. У меня такое бывает несколько раз в год. Какие-то идеи пропадают сами собой после углубления в тему и понимания, что извлечь пользу из такого начинания будет крайне сложно. Но есть такие идеи, развивая которые даже пару часов, захватывают меня настолько, что аж кушать не могу. Этот пост о том, как мне удалось воплотить одну из таких идей за пару вечеров после работы и не помереть с голоду. А ведь сама идея изначально звучало довольно амбициозно — PvP игра, в которой игроки соревнуются друг с другом, отвечая на вопросы.


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

Автоматизация тестирования при создании игр

Reading time11 min
Views11K

Введение


Автоматизированное тестирование во всю свою мощь используется многими компаниями. Юнит-тесты, Интеграционные тесты, UI тесты, ручное тестирование и прочие методы. Но почему-то в такой большой области, как GameDev автоматизация тестов сводится к тому, что билды передаются в QA отдел на ручное тестирование. Постараюсь рассказать как разрабатываю игры я, и как пишу для них тесты.


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

Обзор светодиодных ламп Spectrum Led GU10 из Европы

Reading time3 min
Views7.7K


Проводим тестирование светодиодные лампы с цоколем GU10 на 6 и 10 ватт. Образцы предоставлены официальным дистрибьютором торговой марки Spectrum LED в России компанией ООО «ТСЦ «Тепломаркет». Лампочки импортированы из Европы.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity