This article needs additional citations for verification. (March 2014) |
Креативное кодирование — это тип компьютерного программирования, в котором целью является создание чего-то выразительного, а не функционального. Он используется для создания живых визуальных эффектов и для виджеинга , а также для создания визуального искусства и дизайна, развлечений (например, видеоигр ), художественных инсталляций, проекций и проекционного отображения , звукового искусства, рекламы, прототипов продуктов и многого другого.
Использование программирования для создания искусства — практика, которая началась в 1960-х годах. В последующие десятилетия такие группы, как Compos 68 [1], успешно исследовали программирование в художественных целях, выставляя свои работы на международных выставках. Начиная с 80-х годов, опытные программисты присоединились к демосцене и проверяли свои навыки друг против друга, создавая «демо»: высокотехничные визуальные творения.
Недавние выставки и книги, включая «Философию компьютерного искусства » Доминика Лопеса (2009), пытались исследовать неотъемлемую роль кодирования в современном искусстве за пределами человеко-компьютерного интерфейса (HCI). [2] Однако, критикуя Лопеса, Джулифф и Кокс утверждают, что Лопес продолжает отдавать предпочтение интерфейсу и пользователю за счет неотъемлемого условия кода во многих компьютерных искусствах. Выступая за более тонкую оценку кодирования, Джулифф и Кокс излагают современное творческое кодирование как исследование кода и преднамеренности как неотъемлемой части понимания работы пользователями. [3]
В настоящее время возобновился интерес к вопросу о том, почему программирование как метод создания искусства не процветает. Google возобновил интерес к своей инициативе Dev Art, [4] но это, в свою очередь, вызвало резкую реакцию со стороны ряда креативных кодеров, которые утверждают, что создание нового термина для описания их практики контрпродуктивно. [5]
Некоторые современные художники, которые используют креативное кодирование в своих работах: Дэниел Шиффман , Захари Либерман , Голан Левин , Бен Фрай и Джайлз Уитакер (художник) .
Хотя любая технология или язык программирования потенциально могут быть использованы в творческих целях, некоторые библиотеки и фреймворки были специально созданы для помощи в быстром прототипировании и разработке творческих работ. Программные инструменты, часто используемые в этом контексте, включают:
Имя | Описание | Операционная система | Язык программирования | Лицензия |
---|---|---|---|---|
Шлак | Библиотека для программирования с эстетическими целями, включая такие области, как графика, аудио, видео и вычислительная геометрия. | Кроссплатформенный | С++ | Лицензия BSD из 2 пунктов |
Диттитой | Платформа, позволяющая создавать генеративную музыку с использованием минималистичного API JavaScript. | Любой с веб-браузером | JavaScript | Запатентованный |
генеративныйpy | Библиотека для создания визуального генеративного искусства и математических диаграмм в виде изображений и видео. | Кроссплатформенный | Питон | Лицензия Массачусетского технологического института |
Макс МСП | Визуальный язык программирования для музыки и мультимедиа. | Windows , Mac OS | Визуальный язык программирования | Запатентованный |
Нанноу | Библиотека, призванная облегчить художникам самовыражение с помощью простого, быстрого и надежного кода. | Кроссплатформенный | Ржавчина | Лицензия Массачусетского технологического института |
openFrameworks | Набор инструментов, призванный помочь творческому процессу, предоставляя простую и интуитивно понятную основу для экспериментов. | Кроссплатформенный | С++ | Лицензия Массачусетского технологического института |
OPENRNDR | Креативная среда кодирования, разработанная и созданная для создания прототипов и разработки надежных, производительных визуальных и интерактивных приложений. | Кроссплатформенный | Котлин | Лицензия BSD из 2 пунктов |
p5.js | Платформа, которая позволяет художникам, дизайнерам, студентам и всем желающим научиться кодировать и творчески выражать себя в сети. Основана на основных принципах Processing. | Любой с веб-браузером | JavaScript | LGPL |
Обработка | Гибкий программный блокнот и язык для обучения программированию в контексте изобразительного искусства. | Кроссплатформенный | Java или Python | GPL , LGPL |
Чистые данные | Pd позволяет музыкантам, художникам, исполнителям, исследователям и разработчикам создавать программное обеспечение графически, без написания строк кода. | Кроссплатформенный | Визуальный язык программирования | Модифицированный BSD |
Шубот | Творческая среда программирования, предназначенная для создания векторной графики и анимации с помощью Python. | Кроссплатформенный | Питон | GPLv3 |
СуперКоллайдер | Среда и язык программирования для синтеза звука в реальном времени и алгоритмической композиции . | Кроссплатформенный | СуперКоллайдер | GPLv3 |
вввв | Гибридная визуально-текстовая среда программирования в реальном времени для легкого прототипирования и разработки. Она разработана для облегчения работы с большими медиа-средами с физическими интерфейсами, графикой движения в реальном времени, аудио и видео | Окна | Визуальный язык программирования | Запатентованный |
ЗИМ | JavaScript Canvas Framework добавляет множество удобств, компонентов и элементов управления с упором на упрощение кода для учащихся и профессионалов. | Кроссплатформенный | JavaScript | Лицензия Массачусетского технологического института |
Творческое кодирование иногда включает в себя аппаратные компоненты для ввода данных из окружающей среды, создания выходных данных или для взаимодействия с участниками. Примеры часто используемого оборудования включают микрофоны , веб-камеры или камеры глубины , контроллеры движения , одноплатные микроконтроллеры , MIDI-контроллеры , проекторы , светодиодные ленты , принтеры и плоттеры .