Красный блог

Justin Noel, иллюстратор Рика и Морти

Джастин Ноэл — иллюстратор, с ярким мультяшным граффити стилем, накладывающий на всё округлые искажения перспективы и вид чудовищ.

На собственном сайте https://jnoel.art/ Джастин публикует собственные работы в цифре и в акриле, а также дизайн персонажей для мультфильмов «Рик и Морти» и «Дом совы» (The Owl House). Для удобства, собрал в одну картинку опубликованных им персонажей из Rick and Morty в одну картинку, чтобы было удобно сравнить.

Дизайн ФУД-системы Лукино

Опубликовал на сайте студии «Разумный подход» рассказ про ФУД-систему Лукино. Автоматизация учёта обработки заказов на кухне интернет-магазина.
https://podhod.ru/portfolio/lukino-kitchen

Давно сделал.
Если это не продуктовый дизайн, то что.

Как запустить Python из Notepad++

В текстововм редакторе Notepad++ есть возможность запуск комманд через пункт в меню «Запуск (Run) F5». В том же меню можно сохранить эти команды как шорткаты. Таким образом можно запускать скрипты на Питоне, не надо никаких SDK устанавливать, самое простое это написать в Run:

python "$(FULL_CURRENT_PATH)"

Это подойдет для выполнения простого скрипта, но не всегда достаточно. Поскольку такое выполнение команды в Windows будет запущенно из папки выполняемой программы Notepad++. И если в вашем скрипте используется обращение к файлам относительно расположения самого скрипта, эти файлы не обнаружатся. Поэтому надо запускать выполнение не python а строчной консоли cmd с использованием оператора &, позволяющего выполнять команды друг за другом.

Правильная строчка для запуска редактируемого скрипта Python для команды Run в Notepad++:

cmd /c "cd /D $(CURRENT_DIRECTORY) & python "$(CURRENT_DIRECTORY)\$(FILE_NAME)""

или, если надо для отладки не закрывать окно Python при закрытии окна выполняющегося скрипта, добавить ключ -i:

cmd /c "cd /D $(CURRENT_DIRECTORY) & python -i "$(CURRENT_DIRECTORY)\$(FILE_NAME)""

Список Notepad++ $переменых описан в справочнике https://npp-user-manual.org/docs/config-files/#userdefinedcommands

 

Иллюстрация Rock Song

Создание tileset спрайта из тайлов для карты в 2D игре

Сколько надо кусочков платформы нарисовать для аркадной 2D игры? Какие комбинации и сочетания плиток бывают и как можно упростить их создание? Заинтересовался этими вопросами и обнаружил за ними науку.

Оказывается, за созданием тайлов для игр стоит непростая геометрия, в зависимости от того какие сочетания с соседними клетками по горизонтали, вертикали и диагоналям мы хотим предусмотреть. Вот потрясающий сайт на английском популярно рассказывающий про все виды тайлинга, навигация по главам справа в колонке: http://www.cr31.co.uk/stagecast/wang/intro.html

Кратко. Математик Ван Хао описал законы для плитки на плоскости по разным правилам, связал с машиной Тюринга и всё систематизировал. Вот заумная статья про систематизацию тайлов: https://www.boristhebrave.com/2021/11/14/classification-of-tilesets/

Квадратные тайлы можно придумывать по разным правилам. Основные это — учитывать только соединение сторон (4), или соединение углов (4), или и сторон и углов (8). В современном мире это знание применяют дизайнеры текстур — тайлингом решается всё, от обоев с цветочками до кельтских узоров. И применяют создатели 2D игр, чтобы уметь рисовать по клеточкам землю в море или землю висящую в воздухе, в зависимости от того какую двухмерную игру они делают.

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

Самая важное знание: что для того, чтобы учитывать и углы и стороны, потребуется придумать 47 видов тайлов. 47 плиточек можно расположить в один спрайт в квадрат 7×7=49 (2 лишних) или в 8×6=48 (1 лишняя) или в 12×4=48 (1 лишняя). Вот примеры как 47 плиток собрать в один спрайт, чтобы было удобно наблюдать соединения:

Кроме того, сформировался опыт, как имея 5 тайлов разрезать каждый на 4 кусочка и собрать их в 47 комбинаций. То есть из такой картинки:

Автоматически сгенерировать вот такой стандартный шаблон 12×4:

Такую текстуру стало принято использовать в 2D игровых движках, поскольку она наглядна, как палитра, например, для создания уровней в играх-платформерах или для создания лабиринтов в RPG с видом сверху вниз.