Как стать автором
Обновить
77
-4
Сергей Чибиряев @chibiryaev

Разработчик игр

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

Игровой программный рендеринг в 2022-м году

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


Программный рендеринг был широко распространён в играх на ПК до повсеместного распространения т. н. 3d-ускорителей (видеокарт). Каждая игра содержала свой собственный код рендеринга, каждая игра имела свои уникальные особенности в нём. Но с распространением видеокарт программный рендеринг в играх умер.


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

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

Приёмы высокоуровневой векторизации на примере Card Raytracer

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

Хочу рассказать о том, как занимался оптимизацией card raytracer - минимального рейтрейсера, код которого умещается на визитке.

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

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

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

Наверное, статья в большей степени полезна новичкам, но и опытные разработчики (по привычке с 2000-го года пишущие SIMD-код интринсиками) могут найти что-то новое.

Компилятор - в основном Clang, можно GCC, в конечном итоге я адаптировал и под MSVC.

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

«Игра престолов»: строим инфографику об убийствах, сексе, путешествиях по Вестеросу и многое другое

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



Оригинал поста + Вспомогательные функции и исходные данные

Оглавление


Взаимоотношения персонажей
Кто кого родил
Кто кому брат или сестра
Кто кого убил
Кто кому служит
Кто с кем женат или помолвлен
У кого с кем был секс
Все отношения на одном графе
Связь персонажей по сценам
Кто самый «популярный» персонаж Игры престолов?
Количество экранного времени у персонажей
Сколько персонажей было в сериях?
Кто из персонажей был в самом большом количестве серий «Игры престолов»?
Самые популярные локации «Игры престолов»
Карта локаций «Игры престолов»
Перемещения персонажей «Игры престолов» от серии к серии
Кто больше всего «путешествовал» из персонажей «Игры престолов»?
Самые популярные локации «Игры престолов» (по экранному времени)
В каких фильмах ещё играли актёры Игры престолов и насколько они знакомы?
Фильмы, в которых играли самые «востребованные» актёры «Игры престолов»:
Актёры «Игры престолов» в «Гарри Поттере»
Актёры «Игры престолов» в «Звёздных войнах»
Актёры «Игры престолов» в «Пиратах карибского моря»
В каких фильмах/сериалах много актёров «Игры престолов»
Как тесно связаны между собой актёры «Игры престолов»
Разговоры в «Игре престолов»
Пол персонажей «Игры престолов»: кого больше, мужчин или женщин?
В этом посте я расскажу о том, как применять язык Wolfram Languge в анализе и визуализации данных на примере базы данных по «Игре престолов». В этой статье не уделяется особого внимания парсингу данных, об этом я расскажу отдельно. Вместо этого пост целиком посвящен интересной инфографике и её созданию.

Надеюсь, что построенные визуализации заинтересуют тех, кому нравится этот замечательный сериал).
Всего голосов 148: ↑134 и ↓14+120
Комментарии77

Выигрышная стратегия Гомоку – 35 ходов

Время на прочтение11 мин
Количество просмотров37K
При игре по стандартным правилам Гомоку для выигрыша черным требуется не более 35 ходов. В статье Вашему вниманию представлена полная выигрышная стратегия и соответствующий алгоритм игры.

Демонстрация полного решения – здесь – можно поиграть и найти самые длинные варианты. Программа всегда выигрывает и затрачивает на это не более 35 ходов. Исходные тексты приложения, само решение и примеры партий в конце статьи.
Читать дальше →
Всего голосов 64: ↑64 и ↓0+64
Комментарии25

Поиск решений в логических играх на примере гомоку

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

Вступление


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

image

За такой нехитрой игрой мы прослушали не одну лекцию. Меня всегда раздражало, что моя блестящая стратегия разбивается о собственную невнимательность. Ну ничего, думал я, вот напишу программу, которая не будет делать ошибок, я тогда всем им покажу! Раз плюнуть! Пару циклов, правда, надо повозиться с пользовательским интерфейсом, но за пару вечеров управлюсь. С момента окончания института прошло 10 лет, а программу я всё ещё не написал.
Читать дальше
Всего голосов 40: ↑39 и ↓1+38
Комментарии11

Информация

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

Специализация

Software Developer, Game Developer
Senior