为什么是gamma? 这是一个从小组活动第一期Ink就提出来的问题。每次活动也伴随着这个问题进一步推进。我并不觉得这个问题有什么让每个人都觉得完美的答案,但是这个问题对于很多人又很重要。我尝试用几个关键词来梳理我的一点感想:
惯性和喜好
惯性对于一个人来说很重要,路径依赖甚至是人性的一部分。社区的很多小伙伴包括我已经使用vvvv有10年了,使用它让人感觉快乐和安心。其实创意编程发展到今天,这些软件工具能做的差距并不大,你有的功能我也有。社区也有大有小,也没有人有足够的能力看到未来。所以,都去玩一遍吧,unity,unreal,td,processing等等,总能找到喜欢的,没有什么非什么不可的说法。
小社区
与unity,unreal相比,vvvv的社区绝对是一个微型社区。坏处在于没有那么的贡献者来贡献代码和测试,平台总不可能像成熟商业团队那样吸金,吸引眼球。好处是,每个成员都可以为社区贡献很多。很难想象我们现在该如何参与unity的社区,但是对于vvvv,我们正在做的事情就是重要的建设。我们的讨论和推进完全有可能改变这个业态。
节点编程
VVVV的核心一直是可视化编程。Beta是如此,Gamma更是如此,但是两者的方式有稍微的不同。Beta在设计上非常纯粹,节点,连接,完成!看起来特别简单直接,但是一些本来由代码写起来很简单的逻辑,用节点连接反而特别难以实现。而Gamma就是对Beta的这个缺陷的克服——依旧是节点化可视化编程,但是也想具有写代码一般的能力,各种Region,以及数据类型的节点就是这样诞生的。他们真的在尝试用可视化的方式,编写代码!当然这必然增加了操作的复杂性(想象一下学习一门编程语言要学习多少知识),势必也抛出那个悖论,“既然我已经要学编程语言了,为什么我还要学gamma?”。当然,我觉得可以编写更多开箱即用的节点包来完成中间的这一步,使得达到某种平衡,这完全值得一试。
展览展示工业
VVVV到现在为止被使用广泛的工业是展览行业,这也表明了它最常出现在博物馆,美术馆,展览馆,舞台等等。这暗示出它所具有的工程属性(Beta时代的BoyGrouping系统就是最好的例子)。它是从80年代开始蔓延到当下的计算机艺术,计算机图像学,应用到各种展厅中的结果。为了对应需求,交互,快速,GPU渲染,投影机,分辨率,mapping,像素等等是它最擅长处理。游戏,工业渲染,动画等等则明显不是它充分涉及的部分。
实验性
社区中有很多媒体艺术家,因为VVVV提供了一种探索性。它既不像成熟的软件只提供固定的功能,又不是真正去面对写代码的细节。这里有某种实验性,某种不确定性,可以去玩一玩去试一试。一个人可以并不知道技术细节,但是却可以飞快地学习,完成某些目标。
现实
正如很多成员所意识到的那样,Gamma从正式发布到现在还不到两三年的时间,未来还会有很多重大的改变——比如UI系统会升级,会支持.NET6,可以导出到其他平台等等。这当然意味还有很多的不确定性,但是软件开发就是这样,beta也经历了类似的过程,只不过当我们接触的时候,它已经有了长足的建设。很多人来了又走了,然后又有新的成员加入。
库管理
Beta时代管理社区的开发者贡献的库一直是个大问题。Gamma时代引入了现代化的工具——Nuget。同时也可以将.Net的社群资源引入到Gamma中来。这为社区建设搭建了良好的基础,同时还是需要大量辛苦和专业的工作。
暂时就想到这么多吧,其实还有很多可以聊的。
第一期的分享会正好两个月,从上海封禁到上海“解封”,生活都跟着现实变得不确定起来了,线下workshop也变得不太可能了,我们只能相聚线上。尽管如此,我们这个微型社区还是会继续运行下去,活动也会继续做下去,希望论坛的各位能够参与。