Sep 23
  看到一个朋友做的测试页面上有两只蝴蝶飞而产生的想法。蝴蝶可以是GIF动画的图片,通过一定的编程让它们在IE窗口范围内随机运动。当然我们见到最多的是小广告的窗口满天飞。这些是很讨厌的,蝴蝶也很单调,不过一些FLASH可以做到非常艺术的模仿逼真的动物行为,如跟随鼠标运动的鱼。
  技术方面我一窍不通,只谈想法,当然这个想法难度也太高,需要几年后才会实现(如果可以实现)。首先要一批人编写模块,然后其他人在此基础上踏着别人的肩膀继续前进。这个插件只是应用于论坛的,在线时间成为主导因素。我的想法是,并不是仅仅几只虫子在屏幕乱爬,或者跟你互动,而是要赋予这几个小东西某种简单的智能。在屏幕范围内构造一个小的封闭的生物圈,提供一定数量的物质基础,和几种初始生物。我的思维当然是定位在昆虫了,因为它们种类丰富,漂亮,生活周期短,并且可以构成完整的食物链。现在假设这个小生物圈里有:土壤、吃土壤的植物、植食昆虫、肉食昆虫、寄生昆虫、分解者。不断累积的在线时长提供阳光。会员级别较高,则会得到更丰富的物种。就像一个真正的生态系统一样,在这个小范围内保持物质守恒。具体到表现形式可以采用象素守恒的办法,比如在满屏的IE范围内用5万象素来构造这所有的一切,在物质循环的过程中象素总数维持恒定。举例说明:一块90象素的土地上,一粒12象素的种子开始萌发,它每秒钟消耗1象素的土壤让自己长大,那么1分半钟后土壤消失(如果没有分解者的补充),植物长到了102象素。这时一只植食性昆虫过来吃掉了面积20象素的叶子,它把5象素用来增加自己的体积,15象素作为粪便排出,细菌留下1象素,14象素还原为土壤……可能还有些矛盾,比如一个皱巴巴的蛹里出来一只拥有巨大翅膀的蝴蝶。我们还可以通过明度、不透明度等来控制象素各种属性乘积总和的恒定。
  把各种图片做得美观是必要的,物种间的比例因此不必严格,它们都代表一定数量单位。如一个可见的细菌形象可能代表100万个单位,一只甲虫代表一百只等。物种的基本生理行为都予以保留,如蜕皮、求偶、产卵、自然死亡率等。总之我们要让这个小圈子动起来,并且良性的循环下去。使用者可以对其进行一定程度的干预,比如可以取走某个物种的生命,但是无法让垂死的复苏。甚至干预是必须的,生态系统是脆弱的,必须精心呵护。这样防止使用者通宵挂机而浪费能源。作为某种激励措施,可以定期指定一个物种为竞争对象,如圣甲虫,在有限的物质资源的基础上看看哪位会员能培育出更多的特定物种。论坛可以举办比赛,获胜者得到100象素的物质奖励等等。
  有一个前提是不能影响论坛的正常浏览,因此需要有几个小开关来控制显示的类别、透明度等。平时调理好了就可以隐藏起来看帖子,保留大事件提示,因为当你的蝴蝶就要羽化,或者两窝蚂蚁就要开战的时候肯定想调出来看看的。

  开始的想法就这么些,还没有想到再把进化的概念加进去。这个所谓的插件的复杂程度已经远远超过一个论坛,它可以拿出来当作屏保、游戏或者任何一款独立的软件。开发刚起步的时候肯定只是一个由水、蛋白质液滴构成的简单原始海洋的模拟,把这个做好了可以为更复杂的进化打下基础。按照我们地球的进化顺序进行设定是简单而乏味的,关键是如何能够让这个系统自主进化。假设我们的这个生物圈正在全速进化,通过人为的施加一些刺激促进各个物种的变异。这时候这个程序的真正魅力才显示出来:每一个论坛都是不一样的,而用户的操作更是千差万别,进化的结果不得而知,但有一点是肯定的,那就是无论怎么进化都会充满创意,令人期待!只要程序的编写者们制定严密的逻辑规则,我们会象欣赏外星生命那样无数次再现类似地球的行星生命的演化过程。

  现在看来这个想法纯属幻想,但是我们用了这些年计算机的经验表明:现在看来无论多么奢侈和遥不可及的东西,在短短几年后就会被我们如同草芥一般使用和浪费着。
Tags:
Sep 23
  “例如,在某些情况下,巢中鲱鱼鸥的行为表现就好像他们看不见自己的蛋。如果当母鸥不在巢中的时候,移动某些蛋并把它放在巢外边,那么,母鸥会取回这些蛋。若再把蛋放得稍远一点,则母鸥会高兴地坐在空巢中看着这些蛋。若将蛋放得再远一点,但还是能清楚的看到的位置,当鸥发现这些蛋没有其他鸟保护时,就会将它们当作邻居的蛋吃掉。虽然鲱鱼鸥的幼鸟的颜色与蛋的颜色很相似,但它们的父母辨认这些幼鸟时,从来不会有任何困难。鲱鱼鸥的眼睛没有任何问题,但它们对蛋和幼鸟的反应完全不同,这是因为在通常情况下,蛋是不会离开巢的,因此,鸟父母只需记住巢的位置就足够了,但幼鸟常常到处走动,因而,必须把它们找回来(Tansley,1965)。”

  涂晓媛.人工鱼——计算机动画的人工生命方法.北京:清华大学出版社,2001
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]