Как стать автором
Поиск
Написать публикацию
Обновить
288.81

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

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

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

Недельный геймдев: #194 — 06 октября, 2024

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

Из новостей: публичный бета-тест Nau Engine назначен на конец ноября, Ubisoft обдумывают возможность продажи компании Tencent’у, Nintendo убила Ryujinx, Epic Games теперь финансово стабильна.

Из интересностей: кто разрабатывает новых HoMM: Olden Era, у нас есть Game Boy дома, UE 5.5 preview и MegaLights Demo, как делали «Гномов и рыцарей».

Читать далее

Шеф, всё пропало

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

Ошибки программистов C++ — это отдельный вид искусства, вроде бы простой язык, но стоит отвлечься на чашечку кофе, как компилятор начинает вываливать простыню ворнингов пополам с ошибками, и иногда это больше похоже на древнеегипетские письмена, чем на нормальный выхлоп. Вы наверное и сами не раз сталкивались с разыменованием nullptr или перепутали (= и ==) по недосмотру. Часто причиной ошибкой является лень или невнимательность, или усталость - не зря появились суеверия "не комитить в пятницу вечером", "не кодить в состоянии изменного сознания" или "избегать кода под кофейным угаром", ну это когда три-четыре кружечки кофе навернул и пошел нести добрый код направо и налево.

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

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

Поотгадывать баги, выпить чашечку кофе...

Как создать комнату испытаний в Minecraft на Python – туториал для детей

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

Современные дети и подростки любят играть в Майнкрафт: они проводят часы за компьютером, исследуя виртуальную вселенную. Гейминг здесь – одна из основ формирования неподдельного интереса к программированию, поэтому предлагаем использовать это увлечение для погружения ребенка в написание кода. Как? С помощью создания комнаты испытаний в Майнкрафте.

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

А теперь давайте приступать.

Читать далее

Заметка про реализацию системы способностей в играх

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

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

Читать далее

The Elder Scrolls: Arena (1994). Как всё начиналось. Подробная история рождения легендарной игры

Уровень сложностиПростой
Время на прочтение50 мин
Количество просмотров8.2K

«Я посмотрел на полуобнажённую грудь на обложке и сказал: „Пффф… Это будет отстой“», — Кен Ролстон, главный геймдизайнер The Elder Scrolls III: Morrowind ©

«Я начал работать в Bethesda как раз во время выхода Арены, и когда я стал в неё играть я подумал: „Клёво, это действительно хорошая бродилка по подземельям“. Игра забрасывает вас в данжен, где вы проводите первые несколько уровней. И потом, когда я выбрался наружу, я такой: „Да вы шутите. Я могу идти куда угодно? Делать что угодно? Это. Круто“», — Тодд Эндрю Говард. Исполнительный продюсер в Bethesda Game Studios ©

В этом году «Древним свиткам» исполнилось 30 лет. Давайте вспомним как всё начиналось. «Древние свитки» — это легендарное явление. Как полагается в таком случае, история их появления полна тайн, мифов и белых пятен. Я постараюсь рассказать, что известно, с опорой на источники.
Открыть Древний свиток

Паттерны левел дизайнеров — часть 1

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

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

Читать далее

Пилим движок Arcanum. Урок 03. Работа с памятью, используем полиморфные аллокаторы

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров7.8K

Приветствую Хабравчане!

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

Читать

Kodu Game Lab для детей: учимся создавать игры в 5-6 лет

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

Даже дошкольник 5–6 лет может понять базовые принципы «взрослого» программирования на примере написания визуального кода. В этом ему поможет Коду Гейм Лаб – среда, предназначенная для разработки простых 3Д-игр. Писать программы в ней нужно с помощью готовых блоков, как в Scratch Jr: сложные конструкции и текстовые команды отсутствуют.

Kodu Game Lab – интуитивно понятная среда, доступная для понимания даже при условии, что пользователь – ребенок дошкольного возраста. Предлагаем рассмотреть Коду и разобраться в возможностях среды на наглядных примерах. А еще уделим внимание полезным ресурсам и бесплатным обучающим видео, которые помогут, если хочется освоить визуальное программирование и разработку игр в Kodu Game Lab полностью самостоятельно.

Читать далее

Nau Engine: взгляд под капот. Ядро движка

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

Nau Engine — 3D-движок для создания игр и приложений, который находится в активной фазе разработки с начала 2023 года. Одна из целей его создания — дать возможность любому разработчику реализовать проекты своей мечты, поэтому Nau Engine является Open Source-решением и будет распространяться бесплатно по лицензии 3-clause BSD. Beta-версия Nau Engine выйдет в конце ноября 2024 года.

Каждый игровой движок — это сложный механизм, состоящий из множества взаимосвязанных систем. В Nau Engine мы уделили особое внимание созданию фундамента, который станет основой для развития движка.

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

Читать далее

Чекпойнты в играх

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

Что такое чекпойнты и как с ними работать? Небольшой набор правил для более комфортной работы с ними.

Читать далее

Пул объектов и фабрика в Unity. От теории к практике

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

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

Читать далее

Как создать игру PUBG: Battlegrounds в Roblox (ПАБГ) – 12 уроков

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

Предлагаем разобраться, как сделать ПАБГ в Роблоксе. Это популярная игра в жанре батл рояль (battle royale), в которую любят играть современные дети и подростки. Если вы в их числе, изучите представленную бесплатную инструкцию и видео: они помогут понять, как сделать клон PUBG в Roblox.

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

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

А теперь предлагаем приступить к сути без лишних отступлений.

Читать далее

Почему слишком быстрые мыши могут ломать FPS в играх

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

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

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

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

Читать далее

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

Как сделать разрушение в Roblox — урок Lua для детей

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

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

Roblox Studio — отличный движок для создания первых 3D-игр. Здесь дети от 9-10 лет могут научиться моделировать объекты и программировать на несложном языке Lua. В процессе можно научиться создавать как небольшие игры, так и полноценные проекты с множеством разных функций.

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

Читать далее

От автоматонов до драконов: 9 ожидаемых игр осени 2024

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

Составили список девяти перспективных игр, которые скоро выйдут на рынок.

И еще четырех игр, которые могут зарелизить в этом году (но это не точно).

Читать далее

Машинное обучение без кодинга для фронтенд-задач. Разбираем работу фреймворка MediaPipe

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

Меня зовут Ярослав Французяк. Я фронтенд-разработчик в GARPIX. В этой статье расскажу о таком инструменте, как фреймворк MediaPipe от Google. На основе готовых моделей он позволяет разработчикам внедрять сложные функции компьютерного зрения и обработки мультимедиа в веб-приложениях — распознавать лица, анализировать изображения, отслеживать движение, обрабатывать видео в реальном времени и многое другое. Мы разберём работу фреймворка на примере, погрузимся в векторную математику в трёхмерном пространстве и сложности распознавания ключевых точек лица.

Читать далее

Просто не копируй это

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

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

- bool LoadAnimation(str::string filename);
- void DrawLines(std::vector path);
- Matrix RotateObject(Matrix m, Angle angle);
- int DrawSprite(Sprite sprite);

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

Читать далее

Как построить башню в Minecraft на Python – туториал для детей

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

Построить здание в Майнкрафте – это просто с помощью языка «Питон». Считать его сложным не стоит: с первыми шагами справится даже начинающий ребенок. А мы предлагаем бесплатный урок строительства посредством кода: он поможет нам создать полноценную башню и разместить ее в виртуальной вселенной Minecraft.

Python – достаточно распространенный и востребованный язык программирования, используемый для различных целей. Создание модов для игр – одно из соответствующих направлений. Именно «Питон» хорошо зарекомендовал себя в качестве инструмента для создания внутриигровых объектов и управления ими в Minecraft – песочнице с элементами выживания и RPG. Ее очень любят современные дети и подростки, что негативно воспринимается некоторыми родителями: они считают, что часы, проведенные за компьютером в игре, – пустая трата времени.

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

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

Читать далее

Недельный геймдев: #193 — 29 сентября, 2024

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

Из новостей: скандал в сообществе Godot, Remedy займёт у Tencent 15 миллионов евро, авторы Vampire Survivors откроют издательство, акции 11 bit studios рухнули после релиза Frostpunk 2, авторы скандальной The Day Before объявили о сборе средств на свою следующую игру.

Из интересностей: 4 года делали игру мечты, видеоигры упёрлись в потолок, как Pilotwings 64 на N64 произвел революцию в 3D-играх, величайшее зло, которое может совершить игра.

Читать далее

Анализ кода WolvenKit: что нужно знать перед созданием модов для Cyberpunk 2077

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

Все мы любим игры, но есть люди, которые любят в них не только играть, но ещё и создавать различные модификации для них. Сегодня посмотрим на WolvenKit — один из инструментов для создания модов для Cyberpunk 2077.

Читать далее

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