GameDev: разработка игр
7.63K subscribers
818 photos
196 videos
1 file
1.15K links
Всё про геймдев для девелоперов, художников, левел- и геймдизайнеров, сценаристов

Разместить рекламу: @tproger_sales_bot

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Давным-давно, в одной далеко не завершённой сборке...
Шла очередная неделя разработки. Одни сражались с UI, другие — с физикой, а третьи вели неравный бой с багом, который появляется только после полуночи.

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

@make_game (теперь в VK и Max)
18
Media is too big
VIEW IN TELEGRAM
Raylib — это open-source библиотека для разработки игр и графических приложений на C. Известна тем, что работает без внешних зависимостей, собирается из пары файлов и поддерживает кучу платформ — от Windows и Linux до веба и микроконтроллеров.

Так вот, на днях вышел raylib 6.0 — крупнейший релиз за 12 лет существования библиотеки. 2000 коммитов, 330 закрытых issues, 70 новых примеров и несколько изменений, которые стоит знать.

Главное, что появилось — софтверный рендерер rlsw. Раньше raylib требовал OpenGL и нормальной графики. Теперь он может работать на чистом CPU, без GPU. Это не эмуляция, отдельная библиотека, совместимая с OpenGL 1.1+, и она встраивается в существующий API без изменений в коде проекта. 30-60 FPS на базовых вещах.

Зачем это нужно? Уже работает порт для ESP32, микроконтроллеры без графического ускорителя теперь могут рендерить 2D и простую 3D. И это открывает дверь для RISC-V устройств, которые часто идут без GPU.

Три новых платформенных бэкенда:
— Memory — рендеринг в память без окна. Headless, серверная генерация изображений, экспорт кадров в файлы.
— Win32 — нативный Windows-бекенд без GLFW/SDL. Пока экспериментальный, но шаг к тому, чтобы библиотека была самодостаточной.
— Emscripten — веб без зависимостей. Поддерживает и WebGL, и 2D canvas для софтверного режима.

Переработанная скелетная анимация. Теперь можно смешивать анимации между кадрами и между разными клипами. Персонаж плавно переходит от бега к атаке, а не рубит глаз. GPU-скиннинг тоже оптимизировали.

Файловая система и работа с текстом. +40 функций для файлов, +30 для строк — всё собрали в один модуль, убрали старый utils. Полная библиотека теперь собирается из 6-7 исходников.
Система сборки. Новый config.h: отключаете ненужные модули флагом командной строки. И инструмент rexm для управления 200+ примерами.

Релиз набрал 280 реакций на GitHub за сутки. Сообщество активное: 850+ контрибьюторов за всю историю, 210 новых в этом релизе.

Полный ченжлог: https://github.com/raysan5/raylib/releases/tag/6.0

Кто-то уже использовал raylib в своих проектах?

@make_game
7👍4🔥3🤔1
Valve обновила GameNetworkingSockets впервые за 4 года

Библиотека, на которой держатся сети Counter-Strike и Dota 2, получила релиз 1.5 — первый тег с июня 2022. За это время накопилось около 350 коммитов.

GNS — транспортный слой для игр: UDP с надёжной доставкой, шифрованием end-to-end, congestion control и NAT traversal через ICE. По устройству близка к QUIC, но несовместима с RFC 9000 — Valve шла своим путём. С 2018 года библиотека open-source, и инди-разработчики получили боевой сетевой движок бесплатно.

Ключевое в 1.5: изменилась семантика SendMessages — каждое сообщение теперь возвращает собственный результат. Старый код «отправил и забыл» нужно пересмотреть. Добавлены конфиги ECN и jitter-метрики, ETW-диагностика на Windows, исправлены race-условия в P2P через WebRTC ICE, которые приводили к зависаниям. Появились community Rust bindings.

Native ICE-клиент пока в beta, для production P2P Valve рекомендует WebRTC ICE.

читать далее

@make_game (теперь в VK и Max)
6👍2👎1
Разработка должна продолжаться. Скриншоты должны течь рекой.

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

Оседлайте песчаного червя своего игрового движка и приносите в комментарии скриншоты, демки, гифки и ссылки на свои проекты. Помните: страх перед дедлайном убивает разум. Тот, кто контролирует прогресс — контролирует релиз!
4👍2🎉1
Balatro — рогалик-колодостроитель на Love2D, написанный одним человеком (LocalThunk). Игра стала хитом, а её исходники после утечки обрели мемный статус: мол, код ужасен. На деле всё интереснее — в нём полно математических трюков и неочевидных инженерных решений, которые держат игру на плаву.

На видео разбирают внутренности Balatro:

— Формула Chips х Mult: как игра распознаёт тип руки, накладывает эффекты джокеров и считает итоговый счёт с учётом модификаторов вроде foil и holo.

— Мышь как генератор случайности: позиция курсора используется как дешёвая энтропия для RNG. Просто и работает.

— Сортировка карт через float: ранг, масть и ID карты упаковываются в отдельные десятичные разряды одного числа с плавающей точкой. Элегантный способ сравнивать карты одним значением.

— Паттерны в коде: Flyweight, вариация Strategy и другие приёмы. Не всегда по учебнику, но прагматично.

— Сборка мусора: кастомный инкрементальный GC: 0,3 мс бюджета на кадр плюс emergency-проход, если память перевалила за 300 МБ. Заимствовано из nuGC Макса Кахилла.

Много технических деталей и объяснений, почему код устроен именно так, прикрепил к посту файлом или вот ютуб кому там удобнее.

@make_game (теперь в VK и Max)
Media is too big
VIEW IN TELEGRAM
6👍106❤‍🔥2👏1🎉1
😁40💯43🤩2👎1
Видео от инди-разработчика, который выпустил собственную игру и собрал весь практический опыт в один инфо-дамп. Всё, что автор узнал о разработке, маркетинге и релизе, уложенное в полчаса.

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

@make_game (теперь в VK и Max)
Media is too big
VIEW IN TELEGRAM
5🔥4👏1
Скриншотник открыт! Что сделали за неделю по своим играм? Делитесь скринами и демо, посмотрим на ваш прогресс.
6👍2🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Когда сцена должна выглядеть хорошо только с одного ракурса
😁29🗿53
Наткнулся на статью аж 2019 года, но хорошо объясняющую как правильно рисовать линии в браузере. Правильно — это чтобы красиво и быстро.

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

Не очень понятно объяснил, наверное, но вы лучше сами статью гляньте, там интерактивные демо внутри, хорошо сделано: https://wwwtyro.net/2019/11/18/instanced-lines.html

@make_game (теперь в VK и Max)
6👍3
Прошла неделя и скриншотник снова с вами! Что нового? Как продвинулись за неделю в своих играх?
6🔥10👍1
Открытый урок «Zenject в создании игр на Unity»

➡️ 21 мая в 20:00 МСК

Бесплатно. Урок в рамках старта курса «Unity-разработчик. Продвинутый уровень» от Otus.

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

На открытом уроке разберётесь, как использовать Zenject и подход DI, чтобы навести порядок в коде. Увидите, как структурировать проект, правильно связывать объекты и избежать типичных ошибок при работе с зависимостями.

📎 Ссылка на регистрацию: https://otus.ru

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👎21
В 2013 году Disney купил Lucasfilm и прикрыл LucasArts. Разработчики Raven Software поняли, что их код вот-вот закопают навсегда и в панике выложили на GitHub исходники Jedi Outcast и Jedi Academy. Прямо как есть, не успев вычистить комментарии.

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

bg_saber.c — вся система боя на световых мечах это один switch на 5000 строк;
sv_savegame.cpp — пришлось писать фейковый busy-loop, чтобы окно «Saving» висело хотя бы секунду. И комментарий: «Брошусь под автобус, если ещё раз придётся делать такую дичь»;
q_math.cpp — легендарный fast inverse square root из Quake 3, унаследованный от Кармака. Даже сами Raven годы спустя оставили в комментарии только «what the fuck?»;
ModView — функция FuckingWellSetTheDocumentNameAndDontBloodyIgnoreMeYouCunt(), родившаяся в неравной борьбе с Win32 API.

Вот тут более полная подборка интересного из их кода.

@make_game (теперь в VK и Max)
127
Steam пересобрал теги — убрал 28 старых, добавил 17 новых, кое-что переименовал.

Из новых тегов:

Bullet Heaven. Противоположность Bullet Hell: игрок прокачивает героя, а тот сам отстреливает толпы врагов. Жанр Vampire Survivors и её клонов, которые до этого валились в Bullet Hell.
Desktop Companion. Игры, занимающие только часть экрана и работающие параллельно с другими задачами.
Wuxia и Xianxia. Два жанра китайского фэнтези. Wuxia — историческое, про боевые искусства, школы и поединки. Xianxia — про культивацию ци и сверхспособностей.
Falling Blocks. Жанр Тетриса и наследников.
Cleaning, Organizing, Decorating. Уборка, разбор беспорядка, расстановка предметов и мебели. Под это попадают Powerwash Simulator, Unpacking и подобные.
Espionage. Шпионаж как отдельный жанр, отдельно от стелса и триллеров.

Переименовали:

Clicker стал Incremental. Тег теперь шире, про весь жанр игр, где числа растут.
Conversation стал Dialogue Heavy.
Pool стал Billiards. Под Pool разработчики начали постить игры с плавательным бассейном.

Из удалённых заметнее всего:

— Бренды: LEGO, Warhammer 40K, D&D, GameMaker, RPGMaker, Kickstarter.
Masterpiece, который разработчики ставили себе самому.
Mature, NSFW, Drama, Documentary, Foreign.

@make_game (теперь в VK и Max)
1🔥3
Если вы устали от бесконечных тасок и созвонов, то мы приготовили для вас игру, которая поможет отдохнуть

А заодно проверить вашу способность быстро запоминать новую инфу. Переходите по ссылке и играйте в нашу «Меморину». И делитесь результатами в комментариях!

Играть тут: https://tprg.ru/S1G2

@make_game (теперь в VK и Max)
👍1
HDR output в Godot 4.7

Команда Godot подтвердила: в 4.7 движок получит нативный HDR-output на Windows, macOS, iOS, visionOS и Linux. Сейчас бета, релиз — летом.

Что даёт HDR. Монитор показывает одновременно очень тёмные и очень яркие участки кадра — солнечный блик на металле рядом с глубокой тенью. На SDR всё сжимается в 8 бит и теряет контраст. Движок отдаёт картинку в линейном пространстве, не клампя яркость.

Технические нюансы:
- scRGB и HDR10. Windows — через DXGI, Apple — через EDR.
- Pipeline остаётся прежним, переключение делается флагом в Project Settings — никакого rework шейдеров.
- Linux — через wlroots (Hyprland, KDE 6 уже умеют). X11 — нет.

RC 4.7 beta 2 доступен для тестов.

@make_game (теперь в VK и Max)
🔥8
Джон Кармак ответил человеку, который собрался открывать игровую студию. Если коротко — не ждать благодарности от рынка:

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

Если всё-таки идти, то совет сводится к трём пунктам:

— Точно определить аудиторию. Конкретные люди, которых держишь в голове при каждом продуктовом решении. Никаких «инди-сообществ» и других абстракций.
— Сначала собрать самую маленькую игру, за которую кто-то готов заплатить. Даже она займёт сильно больше времени, чем кажется.
— Hill-climb the value: найти куски, где у игроков загораются глаза, и усилить их. Параллельно чинить то, что бесит или путает.

Звучит как стандартный стартап-совет. Только вот про семизначную сумму пугает, что сразу так жёстко то :)

@make_game (теперь в VK и Max)
😁7👍2
После почти годовой задержки наконец вышел новый LTS GameMaker. Это финальная стабильная версия текущего рантайма движка — дальше разработка движется в сторону нового рантайма GMRT.

Если вы уже сидели на свежих бетах 2024.14, то это по сути они же, только в релизном виде. А вот тем, кто переезжает со старой версии, стоит заранее заглянуть в release notes — там есть изменения, о которых лучше знать до обновления.

Все подробности расписаны в блоге GameMaker, а скачать сборку можно со страницы загрузки.

@make_game (теперь в VK и Max)
1👍1
Ещё одна неделя позади! Что у вас нового в проектах? Делитесь демками и скриншотами своих игр в комментариях. Покажите сообществу над чем работаете!

Ссылки на свои каналы разрешены.

@make_game (теперь в VK и Max)
15👍2🔥2