TGViewer
GameDev: разработка игр GameDev: разработка игр @make_game · 7.63K subscribers
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
More from @make_game
  1. Sep 22, 2026Как пул объектов защищает эффекты от фрагментации памяти Один взмах посоха порождает сотни…
  2. Sep 22, 2026Как сервер засчитывает точный выстрел при сетевой задержке В быстрой сетевой игре ваш клие…
  3. Sep 22, 2026Как Binding of Isaac генерирует подземелья Сначала генератор строит план на сетке 9×8, зат…
  4. Sep 21, 2026Как генерировать высоты и биомы карты с помощью шума Red Blob Games показывает генерацию д…
  5. Sep 21, 2026Как проектировали Navigation Server для Godot 4.0 В 2020 году команда Godot описала новую…
  6. Sep 21, 2026Зачем игровому циклу собственные часы Типичный цикл событий ждёт клика или клавиши, а игро…
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 →