TGViewer
Григорий Дядиченко Григорий Дядиченко @dev_game · 2.66K subscribers
Post #1697 1.13K
"Мой худший образец полезного кода"
https://habr.com/ru/articles/923500/

Автор рассказывает о своём опыте создания кода для моддинга игр на Unity и .NET, который позволяет переадресовывать вызовы методов. Этот код, несмотря на свою простоту и кажущуюся неэффективность, получил широкое распространение среди моддеров и оказал значительное влияние на сообщество. Автор также делится своими размышлениями о важности поддержки моддинга со стороны разработчиков игр.

Если бы мне нужно было ответить на вопрос на собеседовании о том, какой у меня лучший и худший кусок кода. Как подобный объединённый ответ был бы https://github.com/Nox7atra/Triangle.Net-for-Unity. Очень лениво сделанный порт либы, но при этом довольно полезный. А так горжусь я больше всего наверное тем, что под NDA. У меня много прикольных, красивых проектов. Допустим тут последнее видео - один из самых интересных визуально проектов. Но с точки зрения кода ничего не выдающегося. А горжусь я комплексом идей.

У меня была задача визуализировать огромные графы в виртуальной реальности. И там был целый ряд проблем. Начиная с красивой укладки самого графа в трехмерном пространстве и заканчивая тем, что по графу нужно было навигироваться. А на 1000 вершин коллайдеры это банально дорого. Но к тому моменту я уже написал для подобных задач эту штуку https://github.com/Nox7atra/SimpleRaycastSystem С укладкой там был реализован многопоточный итерационный алгоритм. Что прикольно это из-за специфики алгоритма создавало красивую анимацию укладки графа (вершины медленно прилетали к равновесию) и при этом работал шустро на огромном числе вершин. На финальном тесте всё с учётом шейдеров с гпу инстансингом, простых рейкастов, оптимизированного многопоточного алгоритма работало на 10к вершин в виртуальной реальности. Технически - один из самых интересных проектов.

А стыднее всего. Ну мне особо не стыдно за код, который я писал когда не умел писать код. Я конечно не смотрю что у меня выложено на второй странице гитхаба, но я этого не помню. По проектам тоже, я очень много могу ругаться с клиентами, потому что я не люблю делать фигню. И защищать какие-то идеи часами. Такое бывает, но в основном это происходит потому что мне не пофиг на результат. То, что мне прям не нравится это пару проектов за NDA. А вот код за который стыдно. Есть одна штука, но это не стыдно даже, это самое живучее легаси. В 2017 году для проекта для одного футбольного клуба (тоже NDA по деталям) я написал ресурсный менеджер. Систему, которая скачивает ассеты разного вида по ссылкам, кеширует их (основное там скачивание тех же бандлов), управляет памятью, не даёт грузить дубликаты и так далее. Кароче такой менеджер на 700 строк кода. Который просто переезжает потому что работает) Я сам классы больше 200 строк мне кажется уже очень давно не писал. Чаще всего через композицию у меня получается сохранять небольшой размер всех файлов.

А статья прикольная. Можно почитать)

#новости
  • 🔥 7
More from @dev_game
  1. Oct 1, 2026🤔 Как продвинуть игру? Я обещал. Я сделал. Получился большой документ с шагами и действия…
  2. Sep 29, 2026И тут продублирую раз прилетело несколько вопросов. Доступ к дневнику можно будет получить…
  3. Sep 29, 2026Да, чет не анонсировал. Остановил сбор. Ну в целом донаты показывают классические для меня…
  4. Sep 25, 2026Meta VR Glasses Посмотрел кратко о чём речь. Вспомнил скупой слезой свой концепт. Будем по…
  5. Sep 23, 2026Чисто магия, что я теперь самостоятельно могу сделать такой пак + ролик к нему :) И мне нр…
  6. Sep 22, 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 →