Обновить
345.73

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

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

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

Царство грибов. Симуляция мицелия на p5py. Битвы гифов. Часть первая

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

Одни из самых долгоживущих, самых скрытных и самых древних организмов на Земле. Грибы. Существа в скрытом царстве под горой. Они меня всегда увлекали.

В 1998 году внимание биологов привлекла гибель деревьев, чьи корни были опутаны грибницей. Тогда-то они и определили, что скопления опёнка темного в Орегоне не отдельные грибницы, а единый организм. Крупнейшее живое существо на Земле: размером с 880 гектаров и старше 2,4 тысячи лет.

Хочется написать симуляцию этого великолепного царства (прямо в браузере на Python и p5py). Посадить электронные споры, понаблюдать за ростом мицелия и восшедшими плодовыми телами, и проследить за спорами-путешественниками, как они создают новые колонии.

Добро пожаловать в путешествие в Царство Грибов.

Читать далее

Внедрение зависимостей в Unity — Как начать писать более чистый и тестируемый код

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

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

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

Читать далее

Недельный геймдев: #205 — 22 декабря, 2024

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

Из новостей: автор саундтрека для Sonic Adventure 2 подал в суд на SEGA, S.T.A.L.K.E.R. 2 уже окупился, Sony станет крупнейшим акционером материнской компании FromSoftware.

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

Читать далее

Оптимизация игры на UE. Часть 1. Сбор статистики

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

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

Читать далее

Ностальгические игры: Command & Conquer – Generals

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

Ещё чуть больше двадцати лет назад жанр стратегий в реальном времени был на пике своей популярности. Новые проекты появлялись с завидной регулярностью и, соревнуясь за внимание игроков, выделялись среди конкурентов оригинальными идеями. Одни предлагали масштабные сражения, как, например, Казаки, другие – глубину геймплея и идеально сбалансированные фракции, как в Starcraft. Были и те, кто шёл по пути экспериментов (отличный тому пример – Battle Realms с её оригинальной системой создания юнитов). А Warcraft 3 и вовсе смешал стратегию с RPG, добавив глубину и эмоциональную вовлечённость.

Не оставалась в стороне и Electronic Arts, поглотившая к 1998 году легендарную Westwood Studios – создателя культовой серии Command & Conquer – и желавшая доить их фрашнизы отбивая бабки порадовать фанатов новой игрой. Так в 2003 году появилась Command & Conquer: Generals. Хоть игра и не была революцией, она ярко выделялась на фоне конкурентов и благодаря захватывающему геймплею и свежему подходу к дизайну фракций быстро завоевала популярность. Хорошим примером её значимости для жанра станут и по сей день регулярно проводящиеся турниры, напряжённые катки которых очень круто смотрятся даже спустя два десятка лет.

Почему же эта игра осталась в памяти игроков, несмотря на столь сильную конкуренцию во времена, когда жанр был переполнен громкими именами? В этой статье я постараюсь найти ответ на этот вопрос, а также расскажу интересные факты о создании Command & Conquer: Generals. В конце выложу сборку игры с фанатской модификацией, которая сильно улучшит ваш игровой опыт, исправит множество багов и сделает запуск на современных системах беспроблемным и комфортным!
Читать дальше →

Как засунуть слона в чемодан

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

Меня всегда удивляло как разработчики умудряются размещать большой объем вычислений на относительно слабом железе, к каким трюкам и решениям прибегают, чтобы приложение работало быстро, это относится не только к игровым движкам, но и базам данных, системам управления и т.д., но так как моя область это все же игры и игровые движки, то рассказывать я буду про них. Особенно заметна эта разница была при портировании относительно свежих игр (поколение ps3+) на всякие портативные консоли вроде Nintendo Switch, Apple TV (это девайс тоже считается неплохой платформой, в плане что там есть платящая аудитория) и мобилки. И свитч и appletv по производительности не сильно далеко ушли от третьей плойки, и попытки перенести требовательные игры, рассчитанные как минимум на следующее (ps4) поколение консолей, приводят к значительным проблемам, которые непросто решаются. Игры - это достаточно требовательный софт, зачастую с мягким реалтаймом, надо же выдавать приемлимый фпс - иначе играть будет больно, некомфортно и её никто не купит. Небольшим подспорьем при переносе на портативки и мобилки является их стабильное железо, хотя вот для мобилок я бы так не сказал, там целый зоопарк процов, видях и окружения. На консолях с этим все получше и спеки меняются раз в пару лет. Когда речь заходит о портировании игры - оптимизации можно разделить на несколько уровней: архитектура, алгоритмы и код.

Распаковывай давай...

Как я разрабатывал хоррор-стратегию на Game Maker, что из этого вышло + пара советов

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

Всем привет!

Меня зовут Яков, и я инди-разработчик. Возможно, вы играли в мои предыдущие проекты: Dom Rusalok и Loretta. Два года назад мы с подругой решили создать стратегию. И вот, я решил подвести итоги работы, поделиться опытом, в свободной форме порассуждать обо всём и ни о чём, и дать, надеюсь, полезные советы, которые помогут другим разрабам.

Читать далее

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

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

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

Читать далее

Почему нет лучшей новогодней AAA-игры и, возможно, никогда не будет

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

Праздничный сезон уже здесь. Снег, покупка подарков, новогоднее настроение, горящие дедлайны, «коллеги, давайте уже после праздников». Для кого-то наступил сезон просмотра новогодних фильмов, а геймеры предпочитают проводить время за видеоиграми, впрочем как и всегда. И эта статья должна была быть про топ ААА-игр с новогодней тематикой, но таковых не набралось и десятка (если не учитывать классические ретро-игры). По крайней мере, создается ощущение, что их больше не разрабатывают — но почему? Давайте попробуем найти ответ на этот вопрос. С наступающим!
Читать дальше →

Делаем звонок из браузера в игре на движке Godot 4

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

Делаем звонок из браузера в игре на движке Godot 4

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

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

К счастью в активе есть жгучее желание делать игры на бесплатном движке Godot, пара свободных часов и аккаунт в МТС Exolve.

Не будем терять ни минуты и начнем эту задачу решать.

Читать далее

Как сторонние библиотеки меняют правила анализа кода

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

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

Читать далее

RUINSWORLD: Многопользовательский шутер с открытым миром для браузера на js/ts, Three и Vue. Бета-версия

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

Этой статьей я хочу представить сообществу разработку www.ruinsworld.ru, которой, по сути, посвятил пять последних лет жизни. Все начиналось с браузерного сингл‑шутера, потом была не очень удачная и быстро наскучившая попытка в стратегию, после чего я поставил себе, казалось бы, невозможную задачу. Реально ли, используя все эти наработки, построить многопользовательский шутер в браузере, да еще не просто «стрелялку внутри небольшой коробки», а с большим открытым миром и огромным количеством неписей в нем? Чтобы можно было «идти куда хочешь во все стороны и делать что заблагорассудится», как в самых лучших постапокалиптических РПГ?

Читать далее

«Из пушки по воробьям» или как подключить open source аналог ChatGPT (LLM) к игре «угадай слово» на движке Godot 4

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

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

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

Поэтому сегодня мы напишем примитивную игру на движке Godot, в которой с помощью REST API попросим нейронную сеть загадывать нам слова из 5 букв.

Читать далее

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

Spears & bits

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

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

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

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

Название статьи получилось как-то само собой: недалеко от моего дома есть хорошее кафе Chief&Bites, достаточно популярное у местных жителей, но пирожные там начинают делать после заказа, такой вот формат анти-кафе. Сами понимаете, прождать пока сделают свежайшее пирожное полчаса, а то и час - легко, там даже на чеке пишут время, когда начали делать именно твое пирожное. Заранее извиняюсь за возможные "велосипеды" в коде, но, возможно, эта тема покажется кому-то полезной.

Паковай давай...

Азраил! Какого чёрта ты там копаешься?

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

Именно так обращается к нашему протагонисту его повелитель - первый иерарх Озимандия. Я - инди-разработчик, и в этой небольшой статье хочу поделиться своим опытом работы над озвучкой инди-игры Азраил, вестник смерти. Это не гайд из 5 успешных шагов, не пошаговая инструкция, а именно пересказ личного опыта.

Читать далее

Разбирая бэклог. Часть 13.1. FMV. Спасение Sacred Pools или игра для взрослых от Sega, стоимостью в миллионы долларов

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

Оригинальный материал был опубликован в 2022 году. Перевод выкладывается с разрешения dillydylan.

В течение многих лет всё, что мы знали о Sacred Pools, исходило из нескольких сохранившихся вырезок и рекламы в игровых журналах. Слухи о возможном существовании прототипа циркулировали в интернете, но никаких фотографий или файлов стоящих за ними не находилось. В мае 2022 года Джо Кейн, страстный коллекционер игр и бывший тестировщик игр в Sega of America, сообщил Gaming Alexandria, что у их старого коллеги есть несколько дисков с Sacred Pools. Этим коллегой был Дэвид Грей, который работал в качестве сопродюсера игры вместе с высокопоставленными членами SegaSoft.

Читать далее

Недельный геймдев: #204 — 15 декабря, 2024

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

Из новостей: сценарист Disco Elysium обратился к игрокам на фоне финансовых проблем, Google Play с 26 декабря 2024 года приостановит выплаты разработчикам из России, People Can Fly сократила свыше 120 человек, акции 11 bit studios упали еще на 34%.

Из интересностей: документалка про Soul Reaver, Wicked Engine в 2024, деформации меша в реальном времени в Unity, самый ужасающий монстр, которого мы можем себе представить.

Читать далее

Игрушечный ботнет на JavaScript под BitBurner

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

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

Мы не станем вредить, а вирус напишем в компьютерной игре BitBurner. Писать вирусы - плохо, но изучать - интересно.

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

Читать далее

Цири, как протагонист Ведьмак 4 — это провал?

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

13 декабря на ежегодной церемонии The Game Awards показали первый синематик-трейлер Ведьмак 4, что всколыхнуло игровое сообщество и сразу же разделило его на два лагеря. Одни пребывают в полном восторге, другие категорически недовольны тем, что главным персонажем новой игры стала Цирилла, а не ноунейм-ведьмак.

Сам же я очень люблю эту серию: прошёл каждую из игр по несколько раз, а также прочёл оригинальную серию книг. Поэтому я хочу предложить вам абстрагироваться от эмоций и попробовать порассуждать, как говорится, с “холодной головой” — удачный ли выбор протагониста совершили CD Projekt RED?

Узнать правду!

Адаптивный UI в движке Godot

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

Пользователи играют в игры на устройствах с разными размерами экранов, так что при разработке игр очень важен адаптивный пользовательский интерфейс (User Interface, UI). Продуманный адаптивный UI обеспечивает идеальный внешний вид на любом экране. В Godot Engine есть широкий выбор настроек и нодов, упрощающих создание адаптивного UI.

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

Читать далее

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