Что такое креативное кодирование?

Креативное кодирование — это выражение посредством кодирования — например, создание рисунков, историй, игр и головоломок. Как правило, результаты можно считать более веселыми или чувственными. Любой тип кодирования требует творческого решения проблем, но это не то, что мы имеем в виду, когда говорим «творческое кодирование».

ПОД ПРЕДСТАВЛЕНЫ

Быстрый поиск в Интернете показывает, что людей можно примерно поровну разделить на три группы: левополушарные, правополушарные и оба полушария (41% 27% 33% Лето+Лето). Большинство программистов склонны к левополушарному мышлению, поскольку код требует логики, и поэтому, предоставленные сами себе, они склонны делать более практичные вещи, такие как информационные приложения, а не выразительные вещи, такие как искусство.

Конечно, в веб-мире с HTML, CSS и JavaScript большая часть кодирования происходит в DOM, который в основном предназначен для отображения информации. Похоже, что большинство людей хотят изучать фреймворки JavaScript, такие как React, Angular и VUE. Это очень левое полушарие и перекос в сторону работы, которая имеет тенденцию к общественным нуждам. Это называется веб-разработка.

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

РЕШЕНИЕ, ЧТОБЫ НАЧАТЬ КОДИТЬ ХУДОЖНИКОВ

Было бы замечательно, если бы больше творческих людей научились программировать, а не думали, что кодирование — удел только левополушарных. Идеальный целевой рынок — люди с двумя мозгами, а это треть населения!

Одно из решений — предоставить более наглядный способ кодирования. Примером может служить блочное кодирование, такое как Scratch. Кодирование на основе узлов, когда вы соединяете объекты небольшими соединителями перетаскивания, также является более наглядным, и люди, использующие, например, Touch Designer, безусловно, могут создавать искусство — в первую очередь в видеоинсталляциях. Эти подходы хороши, хотя они и отклоняются от традиционного текстового кодирования.

Другое решение — получить очень наглядные результаты, например, когда мы кодируем на HTML Canvas. Холст с открытым исходным кодом заменил Adobe Flash (веб-приложения), который до этого заменил Adobe Director (компакт-диски), два основных продукта Interactive Media. Холст теперь является отраслевым стандартом для создания веб-арта, игр и других выразительных проектов.

Canvas является относительно низкоуровневым, что означает, что вы мало что можете сделать, не создавая много инфраструктуры. В мире программирования инфраструктура называется библиотекой или, если говорить более всеобъемлюще, фреймворком. Соответствующие рассуждения и доступные платформы можно найти в следующих статьях:
Когда использовать библиотеку или платформу холста JavaScript
Выбор библиотеки или платформы холста JavaScript

УЧИМСЯ ПРОГРАММИТЬ НА ХОЛСТЕ

ZIM на https://zimjs.com представляет собой общую структуру JavaScript Canvas Framework, которая имеет множество удобств, компонентов и элементов управления, которые работают простым и согласованным образом, так что вы можете сосредоточиться на изучении основ кодирования, но при этом иметь немедленную визуальный и полезный опыт.

Вы можете начать создавать искусство всего за пару строк кода! В приведенном ниже 5-минутном примере мы устанавливаем черный цвет рамки и указываем угол и цвета для зацикливания оптического узора из кругов. Точка регистрации — это точка, относительно которой вращается (и масштабируется) объект. Мы настраиваем это с помощью reg() и применяем blendMode, как в PhotoShop. Мы также можем легко анимировать!

Креативное кодирование — это больше, чем просто искусство. ZIM имеет множество компонентов и элементов управления, которые значительно упрощают создание игр, головоломок, приложений для электронного обучения и т. д. Ниже мы настраиваем масштаб круга с помощью циферблата. Мы также могли бы использовать традиционное событие изменения, но здесь мы используем ZIM wire().

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

УРОКИ ТВОРЧЕСКОГО ПРОГРАММИРОВАНИЯ

У ZIM есть отличная Learn Page с учебными пособиями, статьями и видео.

У ZIM также есть набор учебных пособий по творческому кодированию, в которых исследуются ИИ, NFT, создатели мемов и да, искусство.

ZIM Kids предлагает красочные мастер-классы по программированию, а ZIM Skool предлагает уроки творческого кодирования, соответствующие школьной программе.

Мы написали простое, но полезное руководство по началу работы с кодом на холсте. См.: ◎ Структуры Canvas API на простом английском языке. Здесь также есть подробное руководство по кодированию на холсте: ◎ Ваше руководство по кодированию на холсте.

Для получения профессионального образования мы преподаем ZIM в рамках последипломной программы Интерактивные медиа в колледже Шеридан, известном своими анимационными и цифровыми медиа.

ЗАКЛЮЧЕНИЕ

Всего наилучшего в вашем творческом путешествии по программированию! Если вы уже являетесь креативным кодером, прочитайте эту статью: ◎ Приглашение для создателей генеративного искусства и интерактивных художников, которая призывает творческих кодеров создавать инструменты, чтобы другие могли создавать искусство.

Доктор Аннотация

Следите за нами в Твиттере на ZIM Learn, а вот ZIM Learn на YouTube!