这方面发展是比较缓慢,但很多方面不为人所知,许毅相信是因为中国人不喜欢出风头的原因使然罢了。有些事情,大家并不喜欢弄得满世界的人都知道,这和中国人的处世哲学有关。譬如说中国武术,要不是那些高手都讳莫如深,哪里轮得上什么跆拳道、柔道和空手道之类的大行其道?所以说,没见过,并不代表没有,如果一定要那样想,只不过是显得自己非常无知罢了。
在以前,许毅有好几次就是因为这种原因跟别人“干过架”,当然这是他年轻气盛的时候。到后来,年纪大了,经历得多了,他也就没有这么多激情了,对类似的言论无非是一笑了之,说得难听点,就是用看待跳梁小丑的目光来看待他们。
而现在,许毅隐隐意识到,自己的性格已经和以前有了变化,在这方面是如此,有时候往往会头脑发热,自制能力下降。这点在他到达美国之后就更明显。好像一直套在自己头上的紧箍咒突然被取了下来一样,这点在他对待苏兰态度的问题上也有体现。要是在国内,他无论如何都不会像这里这样急色地。
一时冲动,接受詹姆斯的挑战,而现在,这次比试却又上升了另外一个高度,变成了“DOAY”和“黑客学院”的较量,或者说是美国和中国的技术爱好者在这个领域的较量。
许毅之所以接受这个比试项目。是因为他以前确实做过Demo。国际上,很多人都认为中国是不存在这种小Demo程序的编写者的,毕竟制作Demo需要的技术含量非常高,那些会制作地程序员们对些也讳莫如深,甚少有专门传授怎么编写这类程序的教程。
但是,没有听说过并不代表没有。
在项斌认识的哥们中,就有一个精于此道的高手。他的网名叫做“马良”,即神笔马良之意,正如其名,马良不但在编程方面有很高的造诣。而且还擅长美工。这点和他父亲是一个画家很有关系。
马良追求的正是计算机和艺术之间的完美结合。他喜欢用计算机来穿造美,所以经常喜欢一些CG动画,后来还参加过一些游戏编程小组,他又是编程又是美工。再后来,在他接触到Demo之后,他便深深地沉迷在这个光怪陆离的微型世界当中,将绝大部分时间都花在了这个上面。由于当时他找不到人来研究这个,以至于只好去国外的一些专业论坛学习。他地技术进步很快,后来加入了一些这方面地小组,很快成为那些小组地核心成员。
不过,这段时间来,他一直没有独立完成一个完整的作品,都是协助其他人做Demo。因为他后来遇到了一个自己喜欢的人,他决定,自己的第一个Demo一定是为她写的。
在向那个女孩表白之前,马良找到项斌,和他商量要他帮忙与他一起完成他的第一个Demo,而且,他要用这个Demo向那个女孩表白。
项斌的技术在马良之上,马良找他就是让他负责编程这块,而他自己则专心做图形,另外还找了个懂音乐的哥们负责音乐处理。
在此之前,项斌已经对Demo有了一些比较深刻地认识,因为他们几个哥们之间的技术几乎是共享的,找到什么好玩的技术,都会在第一时间内公布出来,谁有兴趣就自己来研究,有什么问题就问提供者。当时项斌在学加密,而Demo技术竟然以这么小的大小能够获得这么绚丽的效果,项斌当时就被吸引住了,于是展开了研究。
这可是关系到马良地终生大事,自然不能大意,项斌打起十二分精神和马良一起,两人连续努力了快半个月才终于将这个只有64K大小的程序搞定。
在此期间,项斌的主要工作就是编程,首先要写一个程序框架,用来将图形的显示和音乐同步起来,当然,那些特效也是由编程完成。刚开始的程序是用C语言编写的。后来,为了使程序的体积更小,运行更加流畅,项斌又用汇编进行了多次重写。
马良主要是负责手绘图形,其中还包括3D建模、贴图制作以及设定虚假摄像机的运行路径等。其中的贴图制作最为烦琐,要逐象素逐象素地进行描绘。
最后那个负责音乐的哥们则进行音乐的创作和制作。这是一种叫做Module的音乐,它与MIDI有点类似,但Module使用自己的乐器采样而不像MIDI使用的是声卡或软波表的乐器,因此Module可以在所有硬件平台上获得同样的播放效果,而且,文件却很小巧。Moudule允许声音完全的控制,对应着,制作的难度水平也大大增加。
各部分都完成之后,最后的工作就是许毅的了,他负责将这些元素同步起来。普通的视频是通过连续不断地播放帧来实现动画效果,而一帧的大小就已经达到几M,所以这些视频文件非常大。Demo显然不能这样,不然64K的大小,连一张图片都不只这么大。实际上,Demo程序是通过直接对显卡进行操作和计算,其中只包含一些关键帧,而中间的实现效果则完全通过算法演算出来,而且,通常情况下,Demo里面的图形都是一些比较规则的多边形,里面的图案组合往往可以重复利用,这样就大大减少了整个程序的体积。
当然,缩小体积还有最主要的一步,那就是压缩。所有Demo程序都利用了另一种名为UPX的压缩算法,这种压缩算法效率很高,甚至可以达到10%压缩比。在Demo程序运行之后,它便会自动进行解压行为,将整个映像解压到内在中,然后才开始运行。
他们三个人昏天暗地地忙活了半个月,终于把这个东东给弄出来了,心情那个激动啊,三个呆在小黑屋里面看了又看,虽然不知道到底是什么水平,但比起历届那些获奖的作品来,这个程序显然更胜一筹。在程序中,虚拟的马良向那个女孩正式表白,场面非常炫!
挑了个黄道吉日,马良将复制到一个U盘中,然后送给了那个女孩。结果几天之后,那个女孩告诉马良,她已经有男朋友了,就最近找的。她看了那个程序,只是只觉得有些好看而已,并没有多大的感觉。
“我男朋友还给我做了个FLASH呢!比这个有趣多了。”那女孩说。
马良他们几个当时听到这句话之后差点吐血,于是这件事就这么黄了,马良很受打击,将这个程序全部删除,连复本都没有留下来。
事后,有一比较风流的哥们分析说:“谈恋爱和技术没有什么关系,就拿这件事来说,她懂什么技术?认为FLASH的技术含量比你的Demo要高,这也是可以理解的。你的失败之处在于太……木头了,我说,这是你们技术员的通病,女孩子要哄,要多花时间陪,哪能像你们这样……”
虽然许毅在马良的影响下也去学过一阵画画,但毕竟是半吊子水平,真要来做Demo可就不仅如意了。所以,他现在要完成这个Demo,一个人肯定是不成的。
既然比试的性质已经变了,许毅也没打算自己将这件事一个人扛下来,他干脆就在黑客学院发了个公告,向大家简略地将这件事说了,并且说要临时组建一个DemoGnuop,邀请擅长美术和音乐的朋友共同加入这个团队,当然,有做过Demo的朋友也是可以的。最后的一点要求是,必须是中国人。
对于许毅这个做法,大家并没有什么异议,毕竟他一个人对抗整个ODAY,简直就是不可能的事情,更何况还是在他们拿手的领域中。
这件事关系重大,再加上大家对Demo的了解实在是太少,所以前来联系许毅的人少之又少,不过人并不在多,有几个关键的人就可以。
两个小时之后,三个符合条件的人联系上了许毅。
正文 第177章
这三个人是许毅从其他几十个人当中挑选出来的,根据他们附上来的简历,他们应该能够胜任这次合作。
第一个就是selina了,她在许毅的公告还没发出去之前就已经来信了,说自己可以提供这方面的帮助,她有制作Demo的经验,而且还有很多这方面的专业软件。这让许毅感到很高兴,本来他就想问她的,没想到她自己首先联系上了。许毅感到高兴的另外一个原因是发现了,原来selina也是中国人。一直以来,他们都是用英语进行交流,许毅并不知道selina是中国人。
另一个叫蓝色bay,他自称是中央美院的再读生,不过计算机和数学也非常不错,自己用3D软件尝试着做过一些东西,在附件中他附上了自己的一个作品。许毅看了下,非常不错,如果他说的消息属实的话,应该是个不错的人选。
第三个叫蜗牛,他擅长的则是音乐了,自称各种各样的乐器都能捣鼓一番,目前在学校和别人组织了一个乐队玩儿。
由于时间关系,许毅在第一时间就通过网络联系上了蓝色bay和蜗牛,然后许毅对他们进行了一场简单的网上面试,面试的结果很让人高兴,他们两个的水平的确不错,还高于许毅的预料。
另许毅感到最为庆幸地是有了selina的帮忙。她手中还竟然有这方面的详细资料!当然,也有一些专门用来3D数学建模和音乐创作的专业软件。
音乐好办,就是图形处理和编程之间地结合有些困难,由于蓝色bay再此之前并没有做过Demo。所以他的一切活动都要在许毅的吩咐下进行。好在蓝色bay并不是一个计算机菜鸟,他在以前就接触过和这方面相类似地技术,再加上还有专门的资料供他参考。所以他接受起来也挺快的,贴图制作正是他的强项所在。
实际上是selina在负责全局调配,她将整个工程拆分成几个独立的部分,然后将这些工作分配给其他几个人独立完成,而且,还会随时监督各人完成的进度。
许毅则把全部精力放在了编程上。整个Demo编程是关键,要怎么将各部分的元素很好的串联起来,其中涉及到很多算法,例如实现微型的3D引擎,生成纹理、加工图像、渲染场景以及实现粒子系统和安排动画动作的时间轴等等等等。
问题并不是仅仅只要做出一个Demo出来就可以。最重要地是怎样才能赢得这场比试,也就是说,它们做出来的东西要比对方的要好。
时间一天天过去,大家都在翘首以盼,这场较量吸引了很多人的目光。大家纷纷猜测最终的结果。大多数人对许毅这方并不抱什么乐观地态度。毕竟,ODAY是一个技术底蕴非常深厚的组织,这并不是吹出来的,历年来的有关这方面的大赛,获得第一名的往往是ODAY的成员,他们在这方面地优势实在是太明显了。在这个领域,有很多技术都是ODAY发明的。他们往往在破解后的盗版游戏盘中会附上一些自己制作的自动播放的小Demo程序。以此来宣传自己的组织、炫耀自己地技术,有时候还通过这种小程序来攻击竞争对手。这一类程序的大小在64K~4K之间,所以这类程序通常被称为Intno(intnoduction)。
尽管如此,很多人也认为,许毅也是不能忽视的一个人,这个突然冒出来的超级黑客。说不定,他能再一次创造奇迹呢。
ODAY总部专门从其他地方调来了几个专业制作Demo的好手来协助博比的制作。
“嘿,博比,这次我们要让全世界大吃一惊,让大家都知道我们ODAY的存在。”一个戴着头巾的小伙说道。说起来也真够不平衡的,他们ODAY组织存在在了这么长时间了,但是知道他们存在的也仅仅是圈内人士而已,普通大众很少有人听说过这个组织的。倒是中国的那个黑客学院,刚刚才冒出来没多久,一下子就弄得路人皆知,还真是会炒作啊!
“嗯,看我们的吧!”博比点点头,“这次的主题是——彗星撞地球,我们让大家看看64K的3D动画大片,效果绝对可以和那些动漫电影相比。”这个题材是来自一部科幻小说,作者描述了一个惊人的灾难,在某一天,一颗足以和十几颗原子弹的彗星突然偏离轨道,直接冲着地球撞来,给地球带来了一场史无前例的大灾难。
博比将这个题材的细节跟其他几个人详细说明了一下,他们纷纷同意,一致认为这个是绝好的题材,而且在技术上也绝对能够实现。
“中国许这次托大了,竟然答应和我们比制作Demo……”一个对许毅比较欣赏的小伙说道。
“就是,就是。中国有一个成语,说的是一个叫鲁班的神匠门前耍弄斧头,正好用在这件事上,他竟敢在我们ODAY门前搬弄Demo……”
……
一周的时候终于过去,两方的Demo也已经做出来,为了此事,MIT专门抽调出来一个大礼堂供他们向大家演示Demo。
这天,大礼堂里面挤满了来自剑桥小镇其他大学的学生,当然,其中还有一些是从其他地方特地来的,毕竟这种情况可不多见。
郑洁不愧是合佛姊妹会的大姐头,她竟然争取到了担任这次活动的主持人的机会。大礼堂的前台上面有一个投影仪大白幕布,等下Demo运行的时候,效果就会通过投影仪全部投射到这个大屏幕上。
活动开始,两方通过抽鉴决定谁先上台演示。最终的结果是由博比先演示。郑洁首先将ODAY的大致情况介绍了一下,然后博比便上台了,他手中拿的是最近出来的新产品——U盘,他将那个小小的64K程序复制到系统中,然后便双击运行。
屏幕突然变成黑色,接着,在屏幕中间,有一个长条形进度条在慢慢伸长,这是程序在自动解压缩。几十秒中之后,终于进入了Demo画面……
首先展现在大家眼前的是一片漆黑,然后出现一颗闪亮的白色光团,白色光团越来越亮,有些刺眼了,这个时候镜头转动,移到侧面,原来这个光团是一颗冒着火焰的宇宙彗星,背景处,一颗蓝色的星球正缓缓转动。镜头拉近,再拉近,这个时候,大家发现原来这颗蓝色的星球正是地球。
镜头进一步放大,突然一下就来到了地球之上,展现在大家眼前的是一朵白色的小花。蓝天,白云,绿草,红花……好一片生机勃勃的景象!这时,镜头缓缓移动,掠过草地,一幕瀑布展现在大家的眼前,水花飞溅,非常逼真。
背景音乐是平和的,让人听着很安宁。这个时候,远远地看到一大片现代建筑,那是一个非常繁华的现代都市,无数摩天大楼冲天而起。整个画面的颜色突然变成了灰色,刚才那平和的音乐也停止了。让人不觉地想起刚才太这空中的那一幕,那颗冲向地球的彗星!
接着,太阳突然暗了下来,好像是末日降临,镜头拔高,无数陨石流纷纷疾驰而入下,拖着常常的尾烟……
繁华的现在都市顿时被冒着浓烟的陨石轰了个面目全非,音乐的节奏这个时候也加快,让人有些心惊肉跳的,那些光影效果是这么的逼真。
突然“轰隆”一声,整个画面暗了一下,紧接着,大家看到整个繁华的都市被一颗巨大的彗星狠狠地砸了一下,好像大地都在颤抖……如同核弹爆炸一般,滚滚尘土向四周扩散……
天,已经变成了灰白色。
接下来大家看到的是灾难过后的地球,繁华都市不见了,取而代之的是满眼的荒芜,断壁残垣,到处浓烟滚滚,岩浆从地底冒了出来……
这时,地面微微晃动,从地底爬起了一只浑身冒火的怪兽,它张开巨大的翅膀,昂着头,扯着嗓子奋力嘶吼了一声……
Demo至此结束。
大家此时还没从刚才的景象中回过神来,还沉浸在刚才的大灾难中。接着,有人带头鼓起了掌,热烈的掌声响了起来,太震撼了!刚才他们简直就是在观看一部由好莱坞斥巨资拍的3D动画大片一样,虽然没有任何台词对话,但无论是画面,场