美术与程序的配合


今天在留言板上见到了鹰翔郭魏的一番牢骚, 倒是很有些感想, 原文搬过来讨论一下.

作为一个程序员, 除了自身繁重的脑力劳动之外, 我在不断的努力与美术人员进行沟通, 把一些基本的原理不厌其繁的同他们讲解, 可得到的往往是对方的厌恶与不屑一顾. 因为他们觉得: 这是你程序员的事, 为什么要我美工来懂, 于是呼经常修修美工拿来的四分之三空白, 四分之一实际内容的图等等的琐碎事情也成了程序员的家常便饭, 因为你根本不可能跟他们交流一下内存的节约在程序设计中的重要性. 说实话, 就我个人的感受, 中国的游戏程序员真的很苦, 除了每天在脑袋里转来转去的无数的变量, 数据结构... 还要纯粹单方面的尽力与美工沟通, 同时完成许多美工所不愿去做的"琐碎杂事". 思维的负担不断在极限的边缘徘徊. 不知道BLIZZARD的程序员们是否有这样的际遇. 有一点大概是不可否认的, 在中国, 绝大多数的程序员要来作游戏程序确实是出于对游戏的热爱, 他们的成长基于对游戏制作原理的不断深入的主动学习和了解, 而大多数的美工要么他们原来是做广告的, 要么是画漫画的, 要么是做工艺美术的, 他们要做游戏的动机就不是那么单纯了. 他们绝大多数不想学习游戏制作的原理... 美术与程序的配合如此成问题, 要做出好的游戏我看很难. 如果仔细研究一下运行效率颇高的星际争霸就不难发现别人美工与程序配合的完美程度. 我想就算程序员是超高手, 引擎优化到极限, 如果美工根本不去考虑程序的运作承受度,根本不去花心思优化精简图形资源的话, 大名鼎鼎星际争霸是根本没办法以16位色在16M内存上流畅的跑起来的... (云风注:星际争霸是 256 色的, 不可思意, 不过若不是 8bit 也没有那么快了) 好了. 说了半天并不是要推卸游戏做不好的责任, 只是希望中国人能够多一些配合精神, 我想这是作好一个游戏的最起码要求.

郭巍
E-Mail: ustudio@163.net


可能是国内游戏开发组之间没有什么交流吧, 我发现各个公司之间的制作过程中, 竟然区别那么的大. 这是我几天的历程中深刻感受到的. 这次看见郭兄之言, 更是如此. 可能独行者的工作方式干多了, 以前我对美工特别的迁就, 大多美工都是出于帮忙的性质帮我点忙. 所以我无一不为美工考虑, 图象的后期处理都尽量写程序自动完成, 比如统一调色板, 调整透明色, 精灵剪裁等等, 也是苦不堪言. 这次去八爪鱼, 竟然看到美工迁就程序, 真是大吃一惊. 尤其看到《杀气I》 里的影子这次不想使用 alpha 通道, 而采用网点的方式, 美工竟然是用 PhotoShop 去一张张图的逐个处理! 如果我碰到这个问题, 一定先琢磨出一段自动处理的程序了. 这样美工的工作量的确是大了不少, 但是, 我非常赞同郭兄的观点, 美工应该同样了解游戏设计的特殊性.

下午, 我放下了正在写的网页, 专门骑车到朋友家仔细看了星际争霸, (郭兄说是 16bit 色, 而我先记得是 256 的, 要确认一下) 研究结果, 真是佩服的五体投地, 能把调色板运用的如此得心应手者, Billzard 是也. 先不论别的, 那个用色彩循环做成的水的效果, 波涛拍岸, 水波荡漾的动画 完全在于十几个调色板的循环, 真是叹为观止. (不信可以在游戏菜单里将 颜色循环关掉, 水就成了一幅静止的画) 前段时间我研究 2D 游戏中水面的处理, 写了不下三种程序, 一直是影响整个引擎速度的关键, 当然是在 16bit 色下; 而 256 色下使用调色板动画实现水也见过不少, 可 Billzard 这次在星际争霸 里运用的, 真是要用出神入化来形容了.

另一点, 在处理精灵时, 我发现精灵的轮廓真不好处理, 不是有锯齿, 就是有黑边, 随背景的色系不同, 而不不同程度的表现. 今天, 我从星际争霸里截得上十张图, 仔细分析, 发现无论精灵在白色的雪地, 绿色的植物, 还是灰色的泥巴上均感觉不到和背景有不协调的地方, 放大仔细观察后, 没有发现轮廓用程序实时处理的迹象(我将马上把写的一篇 关于精灵轮廓在游戏中实时处理的文章拿出来). 这应该是游戏美术的技巧之处.

星际争霸里的草地寥寥几笔就画的那么生动, 仅用极小的 Tile 就能拼出大的场景, 而我们的游戏想达到同样的效果可能要用几倍大的 Tile 了吧, 还难保不出现拼板的痕迹. 哎, 真嫉妒老外美工的技术, 为游戏节省了那么多的内存和 CPU 时钟周期.

闲话就说到这里了, 希望我们自己的游戏美工早日掌握游戏设计的精髓. 高效精美的游戏需要所有设计人员的共同努力.