Эссе о разработке игр, мышлении и книгах

Используем DALL-E-3 для геймдева

DALL-E: "Draw a Vrubel-style painting of an indie game developer working on her game, like The Demon Seated. With the accent on Vrubel style."

DALL-E: "Draw a Vrubel-style painting of an indie game developer working on her game, like The Demon Seated. With the accent on Vrubel style."

Получил доступ к DALL-E-3, а значит можно повторить прошлогодний эксперимент и посмотреть что изменилось.

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

Осторожно, много трафика — DALL-E отдаёт png файлы размером 1-2 мегабайта. Я их немного пожал, но пост всё равно будет тяжёлым.

Далее

Feeds Fun — читалка новостей с тегами и ChatGPT

Выглядит неприглядно, но это временно.

Выглядит неприглядно, но это временно.

Задержался с постом, а между тем читалка уже работает и экономит мне 4-8 часов в неделю.

Для нетерпеливых и ленивых:

  • Репозиторий: github.com/tiendil/feeds.fun
  • Сайт: feeds.fun — заходите, подписывайтесь на подготовленные коллекции новостей, экспериментируйте.

Суть:

  • Читалка автоматически определяет теги для каждой новости. Тут очень кстати пришлась ChatGPT.
  • Вы создаёте правила в духе elon-musk & twitter => score -100500, procedural-content-generation & hentai => score +13.
  • В интерфейсе сортируете новости по интересности и читаете только самые-самые именно для вас.

Если есть просьбы по фичам — создавайте issue, постараюсь воплощать. Хочется, чтобы штука пошла в народ.

Далее

Open source сервисы аутентификации

Потребовалось сделать регистрацию/логин пользователей для пет-проекта. А я это жуть как не люблю, прямо до скрежета в зубах. Поэтому решил поискать что-нибудь совсем готовое, чтобы минимум кода писать и можно было однотипно использовать в будущих проектах.

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

Далее будет моё предвзятое и не особо компетентное мнение. Сугубо для закрепления в истории результатов раскопок.

Есть три проекта, которые вызвали мой интерес:

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

Далее

Два примера overengineering из FastAPI

DALL-E: Vrubel painting: "demon of overengineering in software development"

DALL-E: Vrubel painting: "demon of overengineering in software development"

Решил по-хитрому использовать contextvars в FastAPI и с первого захода налетел на странные архитектурные решения, которые, откровенно говоря, ограничивают и мешают делать красиво :-(

Далее

Пара слов о GitHub Сopilot

DALL-E: "Vrubel style painting of pair programming Robot + Human. An robot is writing code, a human is reviewing code".

DALL-E: "Vrubel style painting of pair programming Robot + Human. An robot is writing code, a human is reviewing code".

Последние несколько недель использовал GitHub Сopilot, благо для Emacs есть плагин. Поделюсь впечатлениями.

Для справки, я уже лет 15 осознанно не использовал умное автодополнение. Всё моё автодополнение — это DynamicAbbreviations, по сути — дополнение написанного слова на основе словаря из открытых исходников.

Причина отказа такая: используя «умное» автодополнение (например, подсказку аттрибутов/методов объекта) перестаёшь понимать проект. Начинаешь на автомате брать предлагаемые варианты методов/переменных, не разбираясь что они конкретно делают и есть ли альтернатинвые варианты.

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

С Copilot я, похоже, вернуcь к умному автодополнению, в его более правильном варианте.

Итак, давайте посмотрим чего умеет и не умеет Copilot.

Далее