Обновить
365.51

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

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

Сначала показывать
Порог рейтинга
Уровень сложности

Как лучше учить и для чего нужен Unreal Engine?

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

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

Читать далее

Триггербот для Rainbow Six Siege на Python

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

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

Одной из "фишек" игры являются индивидуальные умения оперативников. И в данной статье рассмотрена реализация бота-помощника, написанного за 5 минут на Python, который помогает играть за российского оперативника GLAZ.

Читать далее

От нуля до Тетриса: наше приключение с Python

Время на прочтение3 мин
Охват и читатели4.6K

Часть 1: Денис, 10 лет

Привет всем! Меня зовут Дениска, и я хочу рассказать вам о нашем с папой увлекательном проекте! Всё началось с того, что играл с другом в мобильную игру. Мне стало очень интересно, как всё это работает: персонажи, графика, всё-всё! Я побежал к папе и спросил: "Папа, ты знаешь, как это приложение работает?".

Читать захватывающее приключение!

26 техник, которыми геймдизайнеры манипулируют игроком в видеоиграх

Время на прочтение15 мин
Охват и читатели13K

В области геймдизайна наджи (англ. nudge) или "подталкивания" — это такие тонкие элементы дизайна, стимулы, которые направляют игроков по намеченному геймдизайнером пути, улучшая их игровой опыт, но не навязывая им каких-либо действий напрямую. Ниже вашему вниманию представлен список таких техник подталкивания игрока с их описанием, применением и реальными примерами использования в видеоиграх.

Дисклеймер:

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

Надж сам по себе не несет никакой моральной окраски. Именно вы решаете, использовать ли его во благо или во вред игрока.

Читать далее

Назад в прошлое. Часть 2. Интервью с Митчем Гителманом. MechCommander, MechAssault, Battletech, Shadowrun

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели1.1K

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

Читать далее

Летающий Санта и танцующие снегири: опыт реализации и оптимизации CSS-анимации

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

Привет! На связи Кристина, фронтенд-разработчик в KTS.

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

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

Читать далее

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

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

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

Читать далее

Нейропиксели для небогатых

Уровень сложностиПростой
Время на прочтение22 мин
Охват и читатели11K

В наше время только ленивый не пишет статей про ИИ, нейросети, ChatGPT, и вот это всё. Но вот незадача, я-то пишу про мало кому интересные старые компьютеры из далёкого прошлого, где никакими нейросетями отродясь не пахло. Как же с таким багажом влиться в модно-молодёжную струю и хайпануть немножечко на горячем тренде?

Не волнуйтесь, решение есть. Сегодня речь пойдёт про следующую ядрёную смесь: пиксельная графика и нейросети применительно к разработке инди-игр. Примитивные технологии древности, новейшие достижения прогресса и бедные свободные творцы. High tech, low life — киберпанк ещё никогда не был так близок!

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

Идеальная симуляция или как хаос делает мир интересным

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели1.1K

Наш мозг способен на невероятные абстракции. Например, когда мы читаем книгу, мы можем представить дуновение ветра, прохладное утро или вкус еды, просто читая текст. Эта способность к абстракции позволяет нам воспринимать мир, основываясь на неполных данных. Однако даже при этом мы замечаем ошибки в симуляциях. Что делает наш мир таким уникальным и реалистичным, и почему современные виртуальные реальности так часто кажутся искусственными и предсказуемыми?

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

Читать далее

Сказ о том, чему в немецких вузах игроделов учат

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

Продолжаем тему, начатую в предыдущей статье.

Итак, отучившись уже год в Cologne Game Lab, могу смело разобрать что тут к чему, чем местные игроделы занимаются, а уж хорошо это или никуда не годится судите сами.

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

Первый год для всех специализаций одинаковый и делится на следующие блоки:

Читать далее

Недельный геймдев: #176 — 2 июня, 2024

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

Из новостей: продажи стратегии Songs of Conquest превысили 500к копий, SEGA несколько раз отказывала авторам Yakuza, поколение PS5 — самое прибыльное в истории компании, превью DirectSR, новая книга про DOTS.

Из интересностей: про зкрытие Arkane Austin и будущее Immersive Sims с Диллоном Роджерсом, анимации Little Kitty Big City, секрет фотореалистичной и стилизованной графики, lerp smoothing is broken.

Читать далее

Age of Empires – культовая попытка сделать Цивилизацию в реал-тайме

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели11K
image

Age of Empires является одной из лучших стратегий своего времени, которая покорила сердца игроков и обзавелась несколькими продолжениями. Несмотря на то, что вторая часть считается чуть ли не идеальным видеоигровым сиквелом, который грамотно взял всё лучшее из первоисточника и приумножил это, сделав больше и интереснее, моему сердцу гораздо ближе именно первая часть, ведь она стала для меня одной из первых стратегий, сыгранных на компьютере. А кроме того, обладает притягательной атмосферой первооткрывателя древнего мира и позволяет прочувствовать появление первых цивилизаций.

Как сейчас помню крутой (так мне тогда казалось) Пентиум 2 моего брата, благодаря которому началось знакомство с миром компьютерных игр. Забавно, но большинство людей в те годы называли свои компьютеры по названию линейки процессоров: «У меня Пентиум 2!» – «Фигня! У меня третий Пень!». Подобные разговоры были вполне обыденны для той эпохи, хоть сейчас это и звучит нелепо. Так вот, этот самый Pentium II стал для меня вратами в мир компьютерных развлечений. Именно он позволил мне познакомиться с такими играми, как самый первый Command & Conquer (в т.ч. его продолжения и спин-оффы вроде С&C:Tiberian Sun или С&C: Red Alert), Midtown Madness, Штырлиц: «Операция Бюст», Commandos и, конечно же, Age of Empires. О некоторых из этих игр я уже рассказывал в своих статьях и выкладывал к ним сборки, а сегодня хочу отдать дань уважения одной из лучших стратегий своего времени – Age of Empires, ведь, помимо огромного вклада в развитие RTS жанра, она оставила значимый след в формировании моего игрового вкуса.
Читать дальше →

Об управлении esp32-машинками (и не только) через wifi/websocket-ы с помощью пульта на базе смартфона

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

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

Однако, в целом, сам код прошивки таких машинок, и вся система управления в целом достаточно сложные, и, может быть, чуть позже, я расскажу о прошивке более подробно.

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

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

Ближайшие события

Почему я отказался от разработки игр на Rust, часть 4

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

Часть 1
Часть 2
Часть 3

Dynamic borrow checking вызывает неожиданные вылеты после рефакторинга

В процессе написания статьи я обнаружил ещё один случай вылета нашей игры из-за пересекающегося World::query_mut. Я работаю с hecs уже около двух лет, такие проблемы — это не тривиальные «ой, я случайно сделал вложенными два запроса», с которыми сталкиваешься, только начав работать с библиотекой. Скорее, это ситуация, когда одна часть кода, находящаяся на верхнем уровне, запускает выполняющую что-то систему, а затем независимая часть кода делает что-то простое с ECS где-то глубоко внизу; после крупномасштабного рефакторинга они неожиданно оказываются пересекающимися.

Такое у меня случается не впервые; обычно советуют такое решение: «твой код просто плохо структурирован, поэтому ты сталкиваешься с такими проблемами; необходимо его отрефакторить и спроектировать правильно». Спорить с такими аргументами довольно сложно, потому что по сути своей они правдивы — это происходит, потому что какие-то части кодовой базы спроектированы неоптимально. Проблема в том, что это ещё один случай, когда Rust вынуждает делать рефакторинг там, где бы этого не требовал никакой другой язык. Пересекающиеся архетипы — не всегда преступление, и ECS-решения не на основе Rust (например, flecs) вполне их допускают.

Но эта проблема возникает не только в ECS. У нас она много раз возникала при использовании RefCell<T>, когда два .borrow_mut() создают пересечение и вызывают неожиданный вылет.

Дело в том, что это не всегда вызвано «плохим кодом». Люди говорят, что обойти эту проблему можно, «выполняя заимствование на кратчайшее время», но за это приходится расплачиваться. Очевидно, что это тоже зависит от правильного структурирования кода, но, как мы уже определили, геймдев — это не разработка серверов, а код в нём не всегда организуется оптимальным образом. Иногда в коде может быть цикл, которому нужно использовать что-то из RefCell, и бывает очень логично расширить заимствование на весь цикл, а не заимствовать только там, где это необходимо. Если цикл достаточно большой и вызывает систему, которой та же ячейка может понадобиться где-то ещё (обычно для условной логики), то это способно сразу создать проблему. Кто-то снова может сказать «просто используй косвенность и выполняй условную логику через событие», но в таком случае мы снова идём на компромисс: геймплейная логика не будет двадцатью строками понятного читаемого кода, а окажется разбросанной по всей кодовой базе.

Читать далее

Недельный геймдев: #175 — 26 мая, 2024

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели2.2K

Из новостей: IGN Entertainment купила пять изданий, российская игровая индустрия отстаёт от мировой на 10-15 лет, Ghost of Tsushima стала самой успешной одиночной игрой Sony по пиковому онлайну в Steam, Atari поглотила Intellivision Brand.

Из интересностей: создание детализированной одежды и исторической кольчуги в 3D, Nokia N-Gage не была предназначен для игр, как работали 2D-игры на кнопочных телефонах нулевых.

Читать далее

Как разрешить спор в команде, если вы геймдизайнер?

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели4.7K

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

Представим такую ситуацию. Вы - геймдизайнер. К вам приходит программист, дизайнер, неважно, член вашей команды. И начинает предлагать что-то изменить в проекте. Например, дизайнер хочет, чтобы у дракона было не одна голова, а три. У вас начинается дискуссия, которая переходит в спор. Не будем углубляться в подробности, почему это может произойти и к чему это может привести. Что случилось - того не изменить. Вы говорите, как самый лучший геймдизайнер: "Хорошо, поступим таким образом". И начинаете рисовать таблицу, как на рисунке 1.

Читать далее

Чтение на выходные: «Мозг игрока. Как нейронауки и UX влияют на дизайн видеоигр» Селии Ходент

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели2.3K

Принесли в рубрику шикарную рекомендацию для всех, кому интересны когнитивистика и видеоигры. Если сразу к делу: книга подойдет и просто любопытным читателям, которые хотят узнать больше про восприятие, внимание, память и мотивацию, и «продвинутым пользователям» вроде художников, программистов, гейм- и UI-дизайнеров и других представителей креативных индустрий.

Читать далее

С++: освобождение ресурсов в деструкторах с использованием вспомогательных функций

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели11K

Про освобождение ресурсов в деструкторах с использованием вспомогательных функции


В этой статье мы рассмотрим, как правильно разрушать объекты в ООП программе на языке C++, не выполняя избыточных операций. Этим мы завершим цикл публикаций, посвящённый обзору ошибок в игровом движке qdEngine.

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

VFX Система в одном шейдере

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

Кастомная VFX система для юнити обходящая по производительности стандартную ParticleSystem в идеальных для неё условиях на 11%, используя возможности графического процессора для всех вычислений и рендеринга. Она разработана для платформ Android и iOS и предлагает значительные преимущества в производительности и возможности к широкой кастомизации. Однако она имеет ограничения, которые необходимо учитывать в некоторых случаях использования.

Читать далее

Как мы спасаем жизни с помощью геймификации

Время на прочтение9 мин
Охват и читатели13K

Привет, Хабр! Меня зовут Илья Ульянов, я архитектор информационных систем и руководитель проекта «Охота на риски» в ЕВРАЗе. Расскажу вам, что необычного в дизайне этого проекта. 

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

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

Реальность, как это нередко бывает, оказалась куда неожиданнее самых смелых предположений. Идея совместить две, казалось бы, слабо совместимые вещи принесла хорошие результаты. О том, как мы запустили мобильное приложение “Охота на риски”, рассказываем в этой статье.

Читать далее

Вклад авторов