TGViewer
Channel Public Channel
GameDev: разработка игр

GameDev: разработка игр

@make_game

Всё про геймдев для девелоперов, художников, левел- и геймдизайнеров, сценаристов

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

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

Другие наши проекты: https://tprg.ru/media
Subscribers
7.63K
Photos
908
Videos
203
Links
1.3K

Showing posts older than #1895 · Back to latest

Older Posts 20 shown
Post #1893 1.96K
  • ❤ 29
  • 👍 1
Post #1892 2.34K
Прошла неделя и скриншотник снова с вами! Что нового? Как продвинулись за неделю в своих играх?
  • 🔥 10
  • 👍 1
Post #1891 2.78K
Наткнулся на статью аж 2019 года, но хорошо объясняющую как правильно рисовать линии в браузере. Правильно — это чтобы красиво и быстро.

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

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

@make_game (теперь в VK и Max)
  • ❤ 6
  • 👍 3
Post #1890 2.33K
Когда сцена должна выглядеть хорошо только с одного ракурса
  • 😁 31
  • 🗿 5
  • ✍ 3
Post #1889 2.91K
Скриншотник открыт! Что сделали за неделю по своим играм? Делитесь скринами и демо, посмотрим на ваш прогресс.
  • ❤ 6
  • 👍 2
  • 🤔 1
Post #1888 3.36K
Видео от инди-разработчика, который выпустил собственную игру и собрал весь практический опыт в один инфо-дамп. Всё, что автор узнал о разработке, маркетинге и релизе, уложенное в полчаса.

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

@make_game (теперь в VK и Max)
  • ❤ 5
  • 🔥 4
  • 👏 1
Post #1887 2.48K
  • 😁 45
  • 💯 4
  • ❤ 3
  • 🤩 2
  • 👎 1
Post #1886 2.54K
Balatro — рогалик-колодостроитель на Love2D, написанный одним человеком (LocalThunk). Игра стала хитом, а её исходники после утечки обрели мемный статус: мол, код ужасен. На деле всё интереснее — в нём полно математических трюков и неочевидных инженерных решений, которые держат игру на плаву.

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

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

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

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

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

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

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

@make_game (теперь в VK и Max)
  • 👍 10
  • ❤ 6
  • ❤‍🔥 2
  • 👏 1
  • 🎉 1
Post #1885 2K
Разработка должна продолжаться. Скриншоты должны течь рекой.

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

Оседлайте песчаного червя своего игрового движка и приносите в комментарии скриншоты, демки, гифки и ссылки на свои проекты. Помните: страх перед дедлайном убивает разум. Тот, кто контролирует прогресс — контролирует релиз!
  • ❤ 4
  • 👍 2
  • 🎉 1
  • 💯 1
Post #1884 2.39K
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
Post #1883 2.66K
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
Post #1882 2.26K
Давным-давно, в одной далеко не завершённой сборке...
Шла очередная неделя разработки. Одни сражались с UI, другие — с физикой, а третьи вели неравный бой с багом, который появляется только после полуночи.

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

@make_game (теперь в VK и Max)
  • ❤ 8
Post #1879 2.46K
Разработчик поделился историей о том, как стратегия, принёсшая ему 40к долларов и 10 млн просмотров на первой игре, полностью провалилась на второй.

Его первая игра (Spellmasons) была пошаговым рогаликом про крафт заклинаний. Разработчик сделал ставку на TikTok, YouTube Shorts и Reels. Он записывал короткие ролики с процессом создания заклинаний: зритель видел, как собирается магия, а потом смотрел на сочный визуальный результат. Это сработало великолепно.

Когда он начал продвигать вторую игру (Some of You May Die — автобаттлер в том же визуальном стиле), он применил ту же тактику. Но просмотры упали с миллионов до ~20 тысяч на ролик.

В чем оказалась проблема?

Разработчик понял критически важную вещь: у каждой игры есть свой «edge» (уникальная цепляющая фича), и она должна быть визуально читаемой (legible).

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

Как только он сделал ролик про конкретного героя-суммонера, где было чётко видно, как из одного юнита постепенно вырастает огромная армия (понятный визуальный прогресс), ролик сразу собрал в 7 раз больше просмотров.

Главные выводы из его опыта для инди-разработчиков:

— Плохое качество видео с хорошей историей всегда бьёт идеальный продакшен с плохой историей.
— Делайте ставку на количество на старте. Лучше выпустить 8 шортсов и научиться на них, чем 2 месяца пилить один лонгрид.
— Первые 10 секунд шортса решают всё. Тратьте на них непропорционально много времени.
— Создавайте «любопытный зазор» (curiosity gap). Название «Я чуть не удалил этого персонажа из игры» работает лучше любых прямых вопросов, потому что заставляет зрителя самого спросить себя: «А почему?».
— Формула успеха = (Фан от игры) х (Визуал/упаковка) х (Охват). Маркетинг влияет только на последний множитель. Если первые два стремятся к нулю, маркетинг не спасёт.

@make_game (теперь в VK и Max)
  • 👍 9
  • ❤ 4
Post #1878 2.22K
На седьмой день новой недели ваш герой вступает на клетку под названием «Субботний скриншотник».

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

Даже если в армии пока только один юнит по имени «рабочий прототип», это уже достойно хода.
  • ❤ 7
  • 🔥 1
Post #1877 2.86K
Соло-разработчик 10 лет делает ARPG, которая выглядит как 3D, хотя она полностью 2D

Bridgebourn — нарисованная от руки action-RPG в духе Diablo 2. Никаких 3D-моделей, никаких ригов: всё — плоские спрайты, разложенные на десятки параллакс-слоёв. Ближние деревья проматываются быстрее, дальние холмы — еле-еле, и глаз читает сцену как объёмную.

Второй трюк — манипуляция вершинами 2D-спрайтов в шейдере. Дерево остаётся одной текстурой, но его верхушка слегка наклоняется и покачивается — и плоская декорация внезапно читается как объект с геометрией. То же работает с травой, водой, башнями.

Всё это делает один человек под ником 2HeadedHero — около десяти лет, в соло. Разбираем технику подробно: как параллакс и sprite vert складываются в живую боёвку, не разваливаясь при летающей камере.

@make_game (теперь в VK и Max)
  • 🆒 7
  • 👍 3
  • 🔥 2
Post #1876 2.56K
Пропустил вчера пост, прошу прощения, ребят. Сегодня у нас будет воскресный праздничный скриншотник!

Что у вас нового по проектам? Делитесь скриншотами, видео, демками в комментариях. А мы будем смотреть и ставить огонёчки! 🔥
  • 🔥 8
Post #1875 2.86K
Как Pizza Tycoon крутила городской трафик на 25 МГц 486-м

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

Первый: направление зашито прямо в тип тайла дороги. Машинам не нужен поиск пути — они просто читают клетку под собой.

Второй: коллизии — наивный O(n²), 625 пар на 25 машинах, но с ранним выходом по направлению. Восточная и западная не могут оказаться на одной односторонней дороге, пара отваливается за пару инструкций.

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

@make_game (теперь в VK и Max)
  • 🔥 10
  • 👾 1
Post #1874 2.58K
Разработчик на Reddit поделился болью, с которой рано или поздно сталкивается каждый, кто делает хардкорную игру. Он строил механику перманентной смерти как основу всего геймплея, где каждая смерть это прям событие. Пришли плейтестеры. Начали rage quit'ить и уходить.

Главный инсайт из треда: пермасмерть работает, когда игрок сам выбирает этот уровень риска, а не когда он навязан. Лучшие примеры (Path of Exile Hardcore, Baldur's Gate 3) — это всегда опция, а не единственный режим.

Что реально помогает, если хочется сохранить напряжение без потери аудитории:
Мета-прогрессия. Часть достижений сохраняется между ранами, игрок чувствует рост, даже умирая. Hades как классический пример.
Короткие сессии. Если рана занимает 20 минут, смерть болезненна, но не катастрофична. Если вечер, то теряете игрока навсегда.
Честный онбординг. Игрок должен понимать ставки ещё до того, как инвестировал несколько часов.

Раздел комментариев в треде — отличный срез мнений для всех, кто сейчас принимает эти решения в дизайне своей игры.

@make_game (теперь в VK и Max)
  • 👍 10
  • 🏆 3
  • ❤‍🔥 1
  • 🆒 1
Post #1873 2.77K
Итак, что мы имеем?
Следы ночной сборки, отпечатки дедлайна на календаре, подозрительно молчащий трекер задач и папку, полную скриншотов, которые явно кто-то собирался показать ещё вчера.

Вывод очевиден: настало время Субботнего скриншотника.
Публикуйте в комментариях свои демки, гифки, видео, скриншоты и ссылки на проекты.
Никакая улика не будет проигнорирована, особенно если она работает в 60 FPS.

@make_game (теперь в VK и Max)
  • ✍ 7
  • 🔥 6
  • ❤ 2
Post #1872 2.77K
Прямо в браузере: разработчик написал софтверный 3D-рендер в стиле Commodore 64 на чистом C и скомпилировал его в WebAssembly. Проект называется Pommidore64.

Никакого WebGL или аппаратного ускорения, всё рисуется исключительно силами процессора. Движок умеет парсить стандартные .OBJ модели и рендерить их в эстетике ретро-машин: поддерживается отрисовка сплошными полигонами (solid), wireframe-каркасы и несколько алгоритмов дизеринга для имитации ограниченной цветовой палитры C64.

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

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

Пощупать движок:
https://kureca8.github.io/Pommidore64/

@make_game (теперь в VK и Max)
  • ❤ 13
  • 😁 4
  • 👍 2
  • 😍 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →