TGViewer
this->notes. this->notes. @thisnotes · 4.53K subscribers
Post #401 5.31K
#books

Так как игры делать собсна?

Я не знаю! Но я читал!

«Классические» (все) источники про паттерны даются мне сложновато. Нужно хорошо понимать контекст, прям чувствовать его, чтобы действительно принять необходимость какого-то структурированного решения. Этого можно достичь применением паттерна в понятном вам домене. Домен будет вам понятен, если вы много с ним сталкиваетесь. Значит осознать можно либо на практике на работе или в любом другом проекте, где вы много задействованы.

А можно в играх, т.к. их мы обычно чувствуем «по умолчанию», просто потому что в той или иной степени играют все.

Game Programming Patterns. Robert Nystrom.

English, russian (перевод не оч аккуратный с т.з. грамматики, пунктуации и чрезмерной локализации).

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

Средняя глава выглядит примерно так:
- задача, которую мы хотим решить (?обычно? из абстрактной игры)
- описание реализации
- [?optional?] продвинутые варианты реализации шаблона в зависимости от ограничений
- [?optional?] развенчание мифов о том, что с этим паттерном не так
- реальные проблемы с рассматриваемым паттерном и когда его использовать не стоит.

Примеры в книге на простеньком C++. Потому автор заодно рассказывает про потенциальные проблемы, которые могут возникнуть, если вы реализуете паттерны неаккуратно.

Понравилось, что рассматриваются не только проблемы, связанные с C++. Или поддержанием кода. Но иногда и дебага и использования IDE при злоупотреблении паттерном. Например, большая часть главы про Синглтон была про то, как его реализовывать не надо и когда пользоваться и не стоит (это особенность синглтона).

Иногда в главе покрывается не только паттерн и юзкейсы, но и какие-то смежные темы. Например, в главе про паттерн State (Состояние) есть по верхам про конечные автоматы разных видов и как они могут быть полезны, а в главе про паттерн Bytecode рассказывается про базу-базу-базу интерпретаторов (а к игроделанию притягивается кое-как потом).

В конце книги есть 4 главы про оптимизацию в различных ситуациях. Если местами базовая концепция передана хорошо, то глава про локализацию данных имхо какая-то поверхностная и может даже вредная. Тема глубокая, а по факту ничего не сказано, хотя букав достаточно.
С другой стороны, про пул объектов и freelist'ы получилось неплохо.

В итоге книжка норм. У неё есть какой-то вайб несерьёзности, но она всё же в большинстве случаев мысль доносит хорошо, почти не врёт (в основном ради упрощения, но бывает, что чрезмерно) и, тем не менее, почти всегда хорошо покрывает заявленное.

Читается за 7 часов.

4 паттерна из 6.
  • 👍 52
More from @thisnotes
  1. Sep 17, 2026#common Сидите вы себе спокойно, разрабатываете поиск каких-нибудь объектов. Может это тов…
  2. Sep 9, 2026#cpp #books Да, книга 2001ого года. Мы ровесники. И да, в ней в основном обсуждаются какие…
  3. Sep 2, 2026#perf Попробовал собрать в кучку (кажется, немного сумбурно всё же) мысли по двум моментам…
  4. Aug 31, 2026Давайте новый тег заведём: #perf Во-первых, надо понять, что я вообще понимаю под перфом,…
  5. Aug 27, 2026#common Мы часто делаем системы, которые обладают какими-то ограничениями. Ограничения наш…
  6. Aug 24, 2026#list 0. [talk] Achieving Peak Performance for Matrix Multiplication in C++. Aliaksei Sala…
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 →