前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Creative Coding的世界

Creative Coding的世界

作者头像
mixlab
发布2018-12-25 14:16:45
8800
发布2018-12-25 14:16:45
举报

一直以来,工程师和艺术家之间是泾渭分明的。

两种职业所需的背景知识、学习路径、成长曲线都不一样。一个需要理性地看待世界,从现实的约束条件下寻求解决问题的最优方案,另一个需要发散想法、打破边框,找到自然中那些能够感动人心的事物带给大众。

就拿我所从事的互联网行业,程序员和设计师之间的思维模式很多时候都非常不一样(交互设计师/产品经理可能是介于程序员和视觉设计师两者之间的存在)。当设计师在思考如何让产品更加性感的时候,程序员可能更加在意的是怎样让产品的性能更加稳定,而这两种都能让产品变得更好的事情分明就是两个截然不同的努力方向。

但是有这样一群人。他们可能是程序员,也可能是设计师,不过他们并不是很在意自己所谓的背景。他们更关心的是怎样综合地调动两方面的知识,进行更加「高级」的创作。

他们既要有一些基本的设计知识和美学素养,也要能够充分利用程序开发中的种种技巧来帮助实现头脑中的创意想法。这群人给自己起了一个名称叫「Creative Coder」。

维基百科上面已经有人对Creative Coding做了解释:

Creative coding is a type of computer programming in which the goal is to create something expressive instead of something functional. 翻译一下,大致意思是说Creative Coding可以算作计算机编程的一种方面,但是相比于解决功能性的问题,它更偏向于创造出那些具有很强的表达性的东西。

毕业至今,我一直是以设计师的职业从事工作。但是从学生阶段开始就对编程感兴趣,对编程的学习和实践也从来没有断过。因此我一直也有在关注Creative Coding方面的相关人物、作品以及项目。

这个领域也许国内的程序员/设计师不算太了解,至少在我工作的几年里,身边程序员和设计师的分界线是比较明显的。偶尔有对设计感兴趣的程序员,会跟我聊起界面设计的种种话题,也遇到了像Mixlab创始人志炜这样逆天的全栈程序员+设计师。但是更多的时候,大家在日常中所经手的工作还是会本分地留在自己的专业领域。

这本身并没有问题。我也一直笃信专业的分工能够带来更高的效率、更大的价值,是我们今天这个时代人与人之间协作所必须采取的组织形式。

但是在创新的方面,如果想要创造出前所未有的事物,有的时候,则需要有一些跨界,需要多了解一下其他方面的专业知识。

图片来自Uber公司的数据可视化团队负责人:http://philogb.github.io/

数据可视化常常也被认为是Creative Coding的一类工作

但会更加严谨和学术一些,而且需要更多地考虑用户体验

创意程序员

放眼海外,欧美、日韩有很多这种Creative Coder,他们的职业甚至就是专门使用代码来构建充满想象力的空间。

从这篇文章开始,打算隔三差五地写写我平时经常关注的那些全球的创意程序员(Creative Coder)们。他们中很多人的作品、项目非常的值得玩味,既充分利用了前沿的计算机技术、作品本身还具有非常高的美学或艺术价值。

只是很多时候,由于我们目前所处在的这堵墙里,不是很容易能够看到他们的成果。(就连Behance现在都被墙掉了,一声叹息)。

今天先来介绍一个我一直关注的大神,Matt DesLauriers。

看他在Twitter上的自我介绍会发现,这名充满艺术气质的英国人平时正是以Creative Coder自居的。另外,他还给自己打上了Generative Artist,生成艺术的标签。的确是这样,Creative Code中的一个很大的分支就是生成艺术。

他将自己做过的项目分别放在了Behance、Vimeo等平台上,他的个人主页算是浏览他项目的一个集中入口:www.mattdesl.com,。

他的作品通常都会给人一种「雕塑感」。擅长利用点线和光影,贴几个他的作品感受一下:

图片截取自 Matt DesLauriers 的 Behance作品

这位仁兄甚至还专门开了自己的网店,售卖自己的作品:

图片截取自 Matt DesLauriers 的 Behance作品

一幅作品35...英镑,好吧,我相信这是有市场的

有些作品看起来真的还是很有艺术价值的,比如下面这一幅《Crystal Towers》:

这是他利用生成艺术算法,进行的某种城市数据可视化的尝试,展现了一座城市的中心区域,各个摩天大楼的高度比例。图中左侧为悉尼,右侧为上海,是不是还挺耐看的。

Matt DesLauriers除了致力于将设计和技术做融合之外,也是一名比较有开源精神的开发者。他在Github上面有很多高star数的项目。比如说下面这个目前还在维护的项目Canvas-Sketch:

这是一个能够方便人们在浏览器环境通过JS和Canvas进行生成艺术创作的工具。它提供了一个非常便捷的初始条件,不用考虑过多的开发环境的事情,可以快速地上来让人试验创作想法。

下面是我用他提供的工具,重制了一下自己之前的2d-canvas的小作品。

他的另一个高Star项目,是一个结合了Node.js和Canvas的随机艺术生成器。

此外,我还发现这位仁兄不光平时各种项目做的溜,而且还特别喜欢知识的积累和产出。在他的个人博客上,有大量的讲解自己项目的文章,随便看看都是干货满满:

对他的介绍就到这里。考虑到微信公众号是一个传播资讯的地方,在这里放太多深入的讲解尤其是贴代码的话,并不适合阅读,因此针对这些大神的各种干货教程,我最近也考虑在知乎或简书这样的地方专门开辟一块空间,做一些搬砖工作。

可以说从计算机图形学成为一个单独的学科门类开始发展的那天起,就伴随着产生了Creative Coding这个有趣的分支。早在上古的1960年代就有先驱程序员们尝试利用编程来制作艺术效果,十几年前Flash大行其道的时候,也能够在网上看到大量的ActionScript写出的动人特效,今天则是利用Arduino、Processing、Canvas、WebGL甚至VR、AR等时髦的技术,在性能更加优越的计算设备上创造更加丰富的效果,明天会不会就是利用AI来进行更加突破脑洞的创作呢?

一旦进入这个领域,你将会被艺术、算法、Github、开源等等这些丰富有趣的事物所环绕。打开别有洞天的一个世界。

最后放一张图:

这张图引自维基百科,是1980年代,在一款叫做《Breakout》的电视游戏中,程序员们用算法创造的glitches视觉特效。

希望感兴趣的朋友能够喜欢今天的内容

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 无界社区mixlab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创意程序员
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档