Pull to refresh
Roman Naumov @sithread⁠-⁠only

Software Engineer

Send message

6 книг по геймдизайну, которые стоит прочитать начинающим специалистам и всем фанатам игр

Reading time4 min
Views13K

Привет, Хабр! Меня зовут Идар Табухов. Я скрам-мастер в МТС Диджитал, а в свободное время веду канал с прохождением игр и провожу стримы. Эта тема моя на все 100%: я играю в PlayStation с пяти лет, интересуюсь созданием игр и, конечно, геймдизайном.

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

Читать далее
Total votes 18: ↑16 and ↓2+24
Comments5

Чистая архитектура для начинающих

Reading time7 min
Views11K

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

Читать далее
Total votes 21: ↑12 and ↓9+7
Comments32

Насколько реалистична отрицательная масса в контексте современной физики

Reading time7 min
Views17K

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

Напомню, что время от времени я обращаюсь к истории естественнонаучных идей, в том числе, заведомо тупиковых и развенчанных. Три ярких примера исходно неверных допущений, которые привели к великим научным открытиям, я привёл в моей последней февральской публикации «Случай является на помощь тому, кто неустанно ищет». Ещё несколько публикаций такого рода, которые приятно вспомнить — это «Из чего состоит мировой эфир. Последняя теория Менделеева» (+65, 46k просмотров), «Тяжёлое золото Сиборга и алхимические отголоски ядерных реакций» (+25, 4,8k просмотров) и «Не надувайте варп-пузырей, работая на оборонку» (+89, 80k просмотров). В последней из упомянутых публикаций я слегка затрагивал теоретические проблемы (не)существования отрицательной массы и отрицательной энергии. Получение этих субстанций открыло бы нам путь к мгновенным перемещениям в пространстве (пресловутый варп-двигатель и искусственные червоточины) и к антигравитации. В настоящее время существование материи с отрицательной массой считается практически невозможным, так как не согласуется с физикой Эйнштейна, хотя, и здесь есть место для построения моделей и планирования экспериментов. В сегодняшней публикации я хочу рассмотреть новейшую историю поисков отрицательной массы.

Читать далее
Total votes 39: ↑33 and ↓6+52
Comments85

Самое понятное объяснение парадокса близнецов

Level of difficultyMedium
Reading time5 min
Views49K

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

Кратко напомню суть парадокса

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

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

Попросим бегущего кота четыре секунды (по его часам) бежать вправо со скоростью 75% скорости света, потом развернуться и прибежать с той же скоростью назад.
Вот визуализация на диаграмме.

Читать далее
Total votes 85: ↑81 and ↓4+98
Comments408

Как калькуляторы вычисляют синус?

Level of difficultyEasy
Reading time3 min
Views56K

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

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

Читать далее
Total votes 77: ↑75 and ↓2+95
Comments52

Обмани меня, если сможешь

Level of difficultyEasy
Reading time13 min
Views10K

Первый игровой автомат Atari Pong, был выпущен в 1972 году. Это игра для двух игроков, основанная на настольном теннисе, где каждый игрок управляет ракеткой и должен отбить мяч на другую сторону. Если игрок промахивается, соперник набирает очки. Первый кто наберет 11 очков становится победителем. Kent Steven в своей книге "The Ultimate History of Video Games" (Вся история видеоигр) описывает, что проект был отдан инженеру Aлану Алькорну (Alan Alcorn), который до этого не занимался играми и игровыми автоматами. Учитывая, что в кармане основателя Atari было немногим больше 500$, и привлечь опытных разработчиков для работы над неизвестным проектом шансы были минимальные, то Нолан Бушелл представил это как выполнение контракта для General Electric.

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

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

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

Осторожно, много картинок
Total votes 23: ↑21 and ↓2+22
Comments15

Обзор языка Crystal

Level of difficultyEasy
Reading time7 min
Views4.2K

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

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

На первый взгляд, код на Crystal может показаться почти идентичным коду на Ruby — это было сделано намеренно, чтобы разрабы, уже знакомые с Ruby, могли без труда перейти на использование нового языка. Однако, несмотря на внешнее сходство, Crystal вносит ряд улучшений: система статической типизации с автоматическим выводом типов, обработка параллельных вычислений и возможность компиляции в машинный код.

Читать далее
Total votes 12: ↑9 and ↓3+11
Comments2

Мечтают ли нейроовцы о генеративных трубах? Кратко о процедурной генерации контента (PCG) в контексте игровой индустрии

Level of difficultyMedium
Reading time16 min
Views6.8K

Привет, Хабр! Меня зовут Владимир Садовский и я трудоголик (вялые аплодисменты) работаю программистом инструментария в Nau Engine. А ещё — обожаю игры. С детства. Компьютер у меня появился, когда мне было восемь. Предполагалось, что для учебы, но на глаза мне попалась Carmageddon, и дальше всё как в тумане. Потом были Command & Conquer: Generals, Fallout 2, и, кажется, сотни других. Детское увлечение со временем превратилось в карьеру. 

Увлекаться PCG я начал ещё в вузе (ИТМО). Тогда меня интересовало, как процедурная генерация контента помогает создавать игры с открытым миром и влияет на реиграбельность. Когда я стал игровым разработчиком, то заметил, что даже профессионалы часто путают процедурную генерацию и генеративный ИИ. 

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

Погнали!

Читать далее
Total votes 27: ↑27 and ↓0+27
Comments3

Шаг за шагом: Как интегрировать ChatGPT для ревью пулл-реквестов на GitHub с помощью GitHub Actions

Level of difficultyEasy
Reading time2 min
Views11K

В статье я поделюсь, как интегрировать ChatGPT для ревью пулл-реквестов на GitHub без покупок иностранных номеров, карт и различных ВПНов, используя, GitHub Actions

Читать далее
Total votes 16: ↑14 and ↓2+15
Comments24

Зарплаты и отношение к кадрам в российском ИТ как отображение заката эпохи «среднего класса»

Reading time9 min
Views141K

Зарплаты и отношение к кадрам в российском ИТ как отображение заката эпохи «среднего класса».

Для лиги лени: «9 из 10 российских работодателей испытывают ужасающий дефицит высококвалифицированных низкооплачиваемых работников, но Юрьев День для оставшихся официально никак не введут, это огорчает эффективных сов».

Эта заметка — приквел к циклу статей «Равновесие Нэша или почему эта музыка будет вечной» и ответ на пост «Вас просто стало слишком много».

Читать далее
Total votes 283: ↑216 and ↓67+205
Comments497

Разработал 50 игр. Мои самые первые игры (Часть 1)

Level of difficultyEasy
Reading time2 min
Views9.4K

С 2005 года я решил попробовать создавать игры и меня затянуло. Самоучка, у меня тогда еще интернета не было я был школьником) Рисовать и программировать я не умел, но было большее желание что-то создать)

Тут я поделюсь кратким списком своих первых игр. Все они были разработаны на flash. А подробнее как я их создавал, ухищрялся и как у них выглядит геймплей, можно посмотреть в видео.

Читать далее
Total votes 23: ↑13 and ↓10+8
Comments7

Unreal Engine vs Unity vs GoDot. Что нужно знать, если ты не программист

Level of difficultyMedium
Reading time17 min
Views23K


Доброго времени суток, дорогие хабражители. Продолжаем разбор строения игр, игровых движков и их особенностей с точки зрения человека, которому никогда в жизни не говорили «тыжпрограммист». Сегодня на повестке дня выбор игрового движка из двух гигантов игростроя: Unity и Unreal Engine.
Читать дальше →
Total votes 24: ↑17 and ↓7+18
Comments52

«Импортозамещение» в видеонаблюдении. Часть четвертая: разбираю камеру от НИЦ «Технологии» сам

Level of difficultyEasy
Reading time4 min
Views20K

Наконец пришла моя долгожданная двухмегапиксельная ip-камера, произведенная, как написано на стикере, в Краснодаре.

Разберу начинку, ПО и попытаюсь определить насколько она отечественная.

Читать далее
Total votes 30: ↑25 and ↓5+29
Comments60

Маленький да удаленький: лучшие миниатюрные лазерные граверы 2023 года

Reading time5 min
Views12K

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

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

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments5

IntelliJ IDEA 2023.2. Долгожданный LSP, встроенный AI-чат, апгрейд до Windows 10 и -Xmx2G

Level of difficultyEasy
Reading time6 min
Views15K

Это ретроспективный пост фичей IntelliJ IDEA 2023.2, в преддверии 2023.3 (которая сейчас в состоянии Beta 2). Несмотря на то, что эта версия вышла еще в июле, не все в точности помнят, что же там произошло, и какую версию они вообще используют.

Идея раздулась до 2 гигабайт хипа, появилась поддержка LSP-серверов, и теперь вам нужно проапгрейдиться с Windows 7 минимум до Windows 10.

Из мелочей: появился чата с нейронкой "AI Assistant". Профилировщик научился отображать подсказки прямо в редакторе, а интеграция с GitLab позволяет меньше переключаться между браузером и IDE.

Хотите узнать подробней?

Восхитительно! Читать далее
Total votes 20: ↑16 and ↓4+17
Comments22

Про unit-тесты кратко

Level of difficultyEasy
Reading time7 min
Views13K

Компания, в которой я сейчас работаю, занимается разработкой программного обеспечения, краеугольным камнем которого являются различные алгоритмы: расчёта значений, построения графов связей, проверки состояний и т.п. В связи с этим, нам очень важно уделять особое внимание unit-тестированию.

Один из моих коллег-автоматизаторов упомянул, что к нему обращаются разработчики с вопросом: "А как написать unit-тест?". Не конкретный тест, а "в принципе". Это послужило для меня поводом подготовить эту статью, и адресована она молодым программистам. Они смогут ознакомиться с рекомендациями, которым стоит следовать при разработке unit-тестов. Но также может быть любопытна и QA-инженерам - ведь полезно получить представление об аспектах тестирования, выполняемого разработчиками.

Читать далее
Total votes 5: ↑4 and ↓1+5
Comments25

Романы, получившие одновременно и «Локус», и «Небьюлу»

Reading time3 min
Views19K

«Локус» и «Небьюла» вместе с «Хьюго» составляют тройку престижнейших фантастических литературных премий. При этом устроены они совершенно по-разному. За «Хьюго» голосуют участники фестиваля WorldCon. «Локус» вручается с 1971 года, а победителей выбирают читатели одноименного издания. А победители «Небьюлы» (впервые вручена в 1966 году) выбираются членами жюри. Любопытно, что в последние годы читатели «Локуса» и судьи «Небьюлы» проявляют удивительное единодушие. Четыре раза за последние пять обе премии имели общего лауреата.

Читать далее
Total votes 12: ↑9 and ↓3+8
Comments23

Развлекательное чтиво на выходные

Level of difficultyEasy
Reading time4 min
Views13K

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

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

Расслабон
Total votes 34: ↑26 and ↓8+26
Comments50
1
23 ...

Information

Rating
Does not participate
Location
Victoria, British Columbia, Канада
Date of birth
Registered
Activity

Specialization

Mobile Application Developer, Game Developer
Lead
Unity3d
Unreal Engine
AR and VR development
C++
C#
Game Development