Сообщения

Диагональная решетка в Blender

Изображение
 1. Сделать клетчатую поверхность любым способом, например: - команда "Subdivide"; - loop cuts. 2. (опционально) Модификатор "Subdivision". - Режим Simple. Можно добавить позднее - влияет на размер ячеек сетки. 3. (важно) Модификатор "Decimate". - Режим Un-subdivide. - Iterations: 1 4. Модификатор "Wireframe". - дефолтные свойства, либо настроить по вкусу. 5. (опционально) Модификатор "Solidify". - утяжелит меш, но быстро сгладит артефакты, если они появились.  

Debian 101

Пишется для Debian GNU/Linux 12 (bookworm) + Gnome 43.6 Создание разделов и настройка Timeshift <расписать> Выдача sudo первому пользователю Если пользователю root при установке не задавался пароль: su - <и другие команды> Выдача нормальной "админки" первому пользователю: <расписать> Альтернативный взгляд: В последнее время пошла такая мета, что пароль на root не нужен вообще, и не нужна эскалация прав юзера через sudo. Мол, достаточно пользоваться su и всё необходимое делать от суперюзера. Но на практике на десктопе/лэптопе это выглядит сомнительно, т.к. слишком часто в GUI требуются операции с повышением привилегий. В общем, в вопросе пока надо разбираться, какой подход наиболее эффективен и удобен. Удаление мусорных программ <написать команду> Установка flatpak Инструкция Команды: apt install flatpak apt install gnome-software-plugin-flatpak flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo sudo reboot Включе...

SSH 101

Добавление SSH-ключа в репозиторий Git 1. Создать ключ ssh-keygen -t ed25519 -C "your_email@example.com" (легаси: ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ) > Enter a file in which to save the key (/c/Users/YOU/.ssh/id_ALGORITHM):<имя ключа> > Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again] 2. Добавить "pub" ключ в репозиторий. Полностью скопировать содержимое файла ключа в поле ключа в репозитории. Сохранить ключ в репозитории под каким-то именем. 3. Добавить ключ в shh-agent. Сначала ручной запуск ssh-agent в фоне: eval "$(ssh-agent -s)" Теперь добавление ключа: ssh-add ~/.ssh/<имя ключа> Управление ключами Вывести перечень зарегистрированных ключей ls -al ~/.ssh Решение проблем git@example.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the reposito...

CSS mobile Fix для WP Griddle

Фикс отображения поста. В частности, были проблемы на мобильных и небольших экранах. Фиксы: Размер заголовочного изображения, вертикальные отступы, размеры заголовков, прижимание текста поста к краям экранов. Сохраняю на тот случай, если кастомное CSS сбросится при обновлении темы.

Git 101

Типичный workflow базового уровня git clone <указатель на репозиторий> - init в таком случае не требуется git fetch (скачать изменения с сервера) git merge (слить изменения в локальную копию) эти две команды заменяются одной: git pull (по ситуации) git status или status -s (короткий формат) git add . git commit -a (all) -m "Quick description"   git push origin main Отмена локальных изменений Отменить коммит, но сохранить изменения в коде: git reset --soft HEAD Отменить два коммита вместе с изменениями кода: git reset --hard HEAD~2 Отменить изменения конкретного файла: git checkout <имя_файла> Отмена изменений на remote Откатиться до конкретного коммита: git reset --hard <commit-hash> ...а затем forced push: git push -f origin main Пара слов про .gitignore Если .gitignore был добавлен ДО версионирования (создания) конкретных файлов: git add . Проверить, какие файлы былидобавлены к индексации, и затем: git reset -- <paths> Чтобы unstage те файл...

Примеры и образцы дизайн-документов

 В основном здесь всякое старьё, но сути не меняет: полноценные диздоки. 1. GameDocs.org/documents 2. Тред на Реддите . 3. Mikael Segedi - подборка диздоков 4. Star Wars: The Front Line

Материалы по Headless CMS

Изображение
Сегодня на твиче оказался на стриме Белой Пантеры (GB), которая была занята разработкой фронта на базе Contentful . Что такое Contentful - я толком не понял. Судя по всему - продукт, сочетающий продвинутую Headless CMS и экосистему для деплоя. В общем, пошёл искать информацию о таком феномене как Headless CMS. Ссылки по теме Headless CMS Что касается ссылок, нашёл следующее. Три статьи про Headless на хабре: более общая   более конкретная техническая с примерами и анализом решений. Несколько фреймворков: VuePress Gridsome Hugo NuxtJS Gatsby Фреймворки упоминались в том или ином контексте в отношении Headless CMS и получения данных через API. Часть из них - обычные статические генераторы, и при чём здесь Headless - предстоит выяснить. Ознакомительная статья по GraphQL на Хабре Сайт GraphQL.org И бонус: DevOps статья по инфраструктуре CI/CD (хабр).

DayZ - Полезные ссылки

Изображение
Тулзы и Инфографика от WOBO DayZ Wiki / Все про выживание! (dayzona.ru)     DayZ Wiki (gamepedia.com)   DayZ Russia Wiki — DayZ Russia Wiki   Интерактивная Карта  

EVE: Навигация по вормхолам

Изображение
Веб-подготовка перед эксплорейшеном Коды вормхолов (eveuniversity) Интел по системам Данные по системам (ellatha) Список кодов вормхолов запасной (ellatha) Описание локаций eve-survival: Гайды по WH eve-inspiracy: Сигнатуры , Аномалии , Релики , Датки , Газ , Руда Безопасность Дат/Реликов Для создания карты использовался Xmind Zen. Можно использовать Pathfinder .    Впрочем, можно использовать любой аналог типа Visio.

Фреймворк «6-2-1» Уоррена Спектора

Девять вопросов, которые Уоррен Спектор задаёт сам себе, когда приступает к разработке новой игры, и рекомендует  делать так же всем разработчикам. 6 - о самой игре В чём идея игры? Почему именно эта игра? В чём состоит вызов разработчикам? Насколько хорошо игре подходят те или иные идеи? В чём заключается интерес игрока? Каковы основные глаголы игры? 2 - о её уникальности  Кто-либо уже делал это раньше? ( а так же выводы из ответа ) В чём изюминка игры? 1 - о создателе Тебе есть что сказать миру?

Инсайты из презентации "A Short Hike Postmortem"

Изображение
 Краткий обзор инсайтов и полезных идей из вот этой презентации с GDC 2020 . 1. Идея и стиль После определения основной темы игры важно определиться с визуальным стилем (lok'n'feel). Полезно использовать референсные картинки для составления основной палитры. 2. Стадии разработки Прототип Альфа Сделаны ключевые игровые механики Игру можно пройти от начала и до конца Бета  Игра завершена Игровой контекст определён и неизменен Release Candidate Исправлены баги Учтена обратная связь Запасной месяц   3. Подготовка к дедлайну Ключевые игровые особенности (список фич) Игра без них не будет работать. Точно достижимые (по срокам и ресурсам). Дополнительные цели (список фич) Игра будет интересной и без них. Возможно, достижимы? 4. Использование SCRUM Автор презентации использовал следующие колонки в Trello: Backlog Milestone (и название вехи) Sprint (номер недели или срок) Today Done 5. Как сделать игру вовремя Обозначать вехи (milestones) и оценивать силы, время и ресурсы. Иметь ...

Линки: Туториалы по Python

Решил собрать в одном месте известные мне туториалы по Python, и распределить их по полезности или назначению. I. Топовые, дающие цельную картину. ☀   Tutorialspoint - Python Классика. Огромная библиотека всевозможных туториалов. Здесь большой список туториалов по технологиям, связанным с Python: https://www.tutorialspoint.com/python_technologies_tutorials.htm Особый интерес вызывают следующие туториалы: Структуры данных Паттерны дизайна Объектно-ориентированный Python ☀   w3schools - Python Ещё одна классика. Сайт - сборник туториалов по разным языкам и технологиям. В основном - связанное с веб. Среди туториалов по пайтону есть Связка с MySQL и Связка с MongoDB . ☀   Документация на Python.org С этой страницы есть переходы на туториал для новичков , на рекомендуемые книги , на публикации Гвидо ван Россума и, собственно, Основной раздел документации , а так же другие материалы. Кроме того, здесь же попалась ссылка на сайт wiki.python.org , который является, похоже, альт...

Линк: Туториалы по Godot и не только

Изображение
Ещё один авторский сайт, посвященный информационным материалам по Godot и нескольким другим технологиям: https://www.gotut.net/category/godot/ Автор сайта, скорее всего, австриец Stefan Hoermann. Скриншот:

Линк: best practices на Godot от GDQuest

Изображение
Ещё одна статья о "лучших практиках" на Godot. Автор - известный в тусовке Nathan Lovato, он же GDQuest , автор многочисленных туториалов (кстати, тоже француз, как и энтузиаст из предыдущего поста). https://www.gdquest.com/docs/guidelines/best-practices/godot-gdscript/ GDQest, судя по информации на сайте - целая компания из, по меньшей мере, пяти человек.

Линк: организация проекта на Godot

Изображение
Себе на заметку - блог "Энтузиаста разработки игр" Olivier Boucard из Бретани (Франция). В частности, пост об организации проекта на Godot: https://www.braindead.bzh/entry/creating-a-game-with-godot-engine-ep-2-project-organization Пост написан в 2016м году, но в целом актуален. Интересный домен верхнего уровня - bzh - википедия говорит, что это спонсируемый домен, посвященный Бретонской культуре (кельты и т.п.) Скриншот из поста:

Бесплатные видеоредакторы 2020

Изображение
Себе на память.

Деревья с помощью модификатора Skin

Изображение
1. Оставляем от Plane одну точку (можно сделать Merge: Edit Mode, M, "at Center"). 2. Навешиваем на неё Skin, и сразу Subdivision Surface. 3. Экструдируем (E) точку, создавая нужную геометрию. 4. Для изменения размера ствола в конкретном месте: Ctrl+A по точкам в Edit Mode (этот хоткей меняет "размер" вертекса). Всё.   For my English-speaking friends:   Tree Branches using Skin modifier.   1. Obtain one single vertex (for example: Plane - Edit Mode - M to "Merge at Center"). 2. Enable the Skin Modifier, and instantly - Subdivision Surface modifier. 3. Extrude that single vertex in needed directions. 4. To change branches/trunks width in certain places: use Ctrl + A at certain vertices in Edit Mode (this hotkey will change the "size" parameter of vertices.   That's it.

День рождения и апгрейд ноута

Пляски с бубном lite version: * Один из слотов ddr3 не работал, на следующий день поехал менять 4гб на 8гб. * Из-под линукса писать установочные флешки с MBR затруднительно (слишком много шаманства, если не знать know-how). Особенно, когда в старом биосе uefi не uefi. Проще оказалось найти ноут с виндой и там использовать Rufus. * Винда при установке видела, но не могла осилить новый SSD, пока не вытащил старый HDD. К счастью, в итоге всё установилось и разметилось как надо. Теперь две новеньких системы: Mint 19 Cinnamon и лицензионная Windows 8.1 летают как никогда. Поздравляю себя с Днём Рождения. И со значительным апгрейдом ноутбука (laptop). В самом деле, дополнительная память + SSD творят преображение. Note: после какого-то из update-grub, почему-то перестала грузиться винда. Разбирался два дня, в итоге: - поменял местами SSD и HDD, чтобы SDD пришёлся на более ранний порядок raid; - сделал примерно восемь безуспешных переустановок, после чего поставил Oracle V...

Разбираемся в новой волне критики ООП

Изображение
1. Статья с критикой ООП https://tproger.ru/translations/oop-the-trillion-dollar-disaster/ Основная идея: при создании парадигмы (и фреймворка) ООП в шестидесятых, ключевой идеей был именно обмен сообщениями, а не дерево объектов. И при сохранении этой идеи код легче в поддержке, понимании, и более отказоустойчив. Вначале была инкапсуляция - и именно она отражала ключевую идею оригинального ООП (объекты закрыты, сигналы в приоритете). Но в дальнейшем фокус внимания сообщества разработчиков сместился от сообщений к объектам. В результате сформировались полиморфизм и наследование. Последовал эффект бойлерплейт, крупные программы стали характеризоваться сотнями объектов с тысячями возможных состояний. Открытость состояний объектов повышала связность и уменьшала коэффициент сигнал/шум в программе. В результате - избыточность кодовой базы, избыточность тестов, перегруженный процесс поддержки ПО. Объекты связывают функции и структуры данных вместе в неделимых единицах. Я дума...

Вовсе не нуль-процентный день

Итоги дня: - Запостил первую публикацию на Яндекс-дзен про нуль-процентный день. - Привёл в порядок этот блог. - Поработал над прототипом сайта в фигме. - Принял решение уходить в Django, немного привёл мысли в порядок.