梦游杂记

梦游杂记 第一章 说话

庄周手里转起来圆珠笔,全身贯注地等待老师的提问。 庄周是个爱出风头的人,内心渴望被承认,但又惧怕落入俗套,不爱说别人说过的话,不爱干别人干过的事。在高中这种封闭单调的环境里,他最爱干的事,就是能回答老师哪些有难度的提问,最好是全班只有他自己会。同学听他说完后的恍然大悟,和老师欣慰的笑容每次都足以让他兴奋半天。但对于那些很多人都会的问题,他是不屑于举手的。除非他有一些奇异的看法,想借这次提问告诉大家。 现在上的是化学课,老师问道:“碳跟空气发生化学反应,能产生二氧化碳,这种说法是对的吗?” “对!”,“对!”下面有一些零星的回答。 “张伟,你说!”老师,叫到了一个学习比较好的同学。这是一个信号——这个题目是有点难度的。 在这一瞬间,庄周转动的圆珠笔停了,嘴角微微翘了起来。如同窗外屋檐下熟练织网的蜘蛛,悉悉索索,庄周打好了站起来发言的腹稿:“碳跟空气反应的确能够产生二氧化碳。但是,这是一个有陷阱的题目,因为它问的是‘这种说法对吗?’,类似这样的题目,都是要看整句话的对错,有一点错误,就不能算对。我们遇到这种说法,往往把逻辑重点放在了‘能’还是‘不能’,觉得只要‘能’就是对了,‘不能’就是不对。容易忽略句子中的其他部分。而这句话的陷阱就在前半部分,跟碳发生化学反应的是氧气,而不是空气这种混合气体。所以这句话是错的”。 先打腹稿再说话,是庄周的一个习惯,因为他说话的时候,总是会分出一部分心思,去不停的检查自己说出话的逻辑。一旦发现了自己说出的话有什么不合适的地方,就会自动停下来,快速的想办法用剩下的话去弥补已经说出部分的漏洞,或者干脆咳嗽一声重新说。这样在表现上就是他说话有的时候会卡壳、吞吞吐吐、甚至结巴。 他很讨厌这种感觉。后来就养成了习惯,在说话之前,先在心里打好腹稿,验证没有问题了再全说出来。这样的表现就是他话比较少,而且说的慢。但他比较能接受,总比前面那种情况要好。 想好之后,他慢慢的举起了手,外加一个想要发表意见的渴望眼神。 老师马上意会:“庄周,你说。” “碳跟空气反应的确能够产生二氧化碳,…” 刚说完这一句,老师脸上的肌肉马上有了些许松懈。这个细节,庄周是看的出来的,他察言观色,体悟别人内心的能力似乎是天生的。 这一刻的老师是失望的,但这正是他想要的效果,“养的儿子都是贼,偷来蟠桃孝母亲”有异曲同工之妙,想到这里,周庄的嘴角更翘了。 “不对!跟碳发生反应的应该是氧气!”前排角落里的祝飞丢出了一句话,吸引了所有人的目光。 老师的脸绽放了,其他同学的嘴也张开了——“哦!”,这些“奖赏”原本是属于庄周的!至少庄周这样想。 忽然间,周庄觉得天旋地转,他们一定认为我回答错了! 他们一定觉得我第一句的铺垫是我的答案! 我放出的烟雾弹呛到了我自己! 我放出去的鱼钩钩到了自己的鼻子! 便便拉到一半,被生生塞了回去! 周庄感到一阵阵恶心,想马上解释,但是嘴实在是张不开,还没打好腹稿呢!纠结中,大脑打腹稿的本领就像被冻结了一样,但结实的机会在一点点流逝。 老师已经用表情和语言肯定了祝飞的答案,老师已经用向下挥手的动作示意庄周坐下,你的回答结束了! 结束了… ===================================== 晓蝶醒来后,不明白自己为什么有一种非常懊恼的感觉。仿佛被别人伤害了,但又不知道伤口在哪。 她点起一支烟,原本白色的烟雾在窗帘的映衬下,变成一缕缕淡蓝。他已经记不得昨晚是否有过高潮,烟雾的无端变化,帮她回忆起了显示器上那根让她稍感兴奋的鸡0|0巴,和那个俊俏的小脸蛋。 嗯,差不多有20厘米。她想。 一只20厘米的尺子出现在晓蝶的脑海,里面的刻度渐渐延长,延长到窗帘淡蓝色的碎花上,延长到昨晚那无边的时光里。 晓蝶是一个极其独立的女人,她喜欢掌控一切。她优秀,她美丽,她被追求,她无视追求。强势的男人让她厌烦,柔弱的男生让她感觉不到需要。 对,她不需要,这是一个最明显,却最容易被忽略的理由。 那些从上个世纪逃难来得时光移民。总是怀着这个荒唐的信仰,女人一定需要一个男人,女人和男人一定需要一个孩子。 也许是她从小被培养的优秀能力,使得她已经在事实上不再需要男人的呵护;也许是事业上的成功和广泛的兴趣已经满足了她的精神需求。很多时候她的身体明明告诉她,需要一个男人了。但当她闭起眼睛却只看到一个模模糊糊的,强壮的男人身体,任凭她如何搜索,也无法具象到某一个她认识的人。 “给我看你的身体”,这是晓蝶对昨晚聊天对象说的第一句话。 单刀直入是晓蝶一向的说话风格,她喜欢将最重要、最明确的信息放在第一句。明白的自然明白,不明白的再慢慢解释。 每当身边男人拐弯抹角取悦于她的时候,总是感觉好笑。人类的进化使得求偶过程变得如此复杂。 你送花,你展示能力,你显摆财力,你炫耀人脉,你暴露肌肉,你挥洒才气,你表现幽默感。 其实就是一句话:我想操你! “我幸亏不是男人”,晓蝶想,“按照我的说话方式,我的第一句话就会把绝大部分姑娘吓跑。但,这恰恰是我喜欢的开场白。”
Continue Reading
梦游杂记

梦游杂记 题记

我是个爱做梦的人。 每天晚上都做(不要看到这句话就说我吹牛逼,注意上下文)。 早上醒来,总能记起很多细节,梦中的世界比现实丰富的多,都市,奇幻,鬼怪,仙侠,情色,无一不包。 有的时候真的不知道哪边是在做梦,哪边是现实。 于是我想,能不能写下另一边的记忆。 何为真实,何为梦幻。真的重要吗?
Continue Reading
未分类

纪念碑谷

这是一款让我玩得时候就不由自主,不停截图的游戏。

当你欣赏一件艺术品,如果能够体会到作者的用心之处,那就代表你真的懂了。这种与作者之间的心灵沟通,是最爽的事。

激动之余填了首词:

浪淘沙●纪念碑谷

独自上高楼,

点转放收。

乾坤颠倒镜花游。

梦蝶蝶梦断肠处,

明月如钩。IMG_0543

Continue Reading
游戏设计

根本停不下来

1U5J4LLBHU90_1820110h91mg4a3hoz2a32_500

前段时间火爆了的Flappy Bird让我陷入了深思,这游戏真的那么好玩吗?

作为一个游戏开发者,搞不清楚这件事,真的会睡不好觉。这游戏无论是从设计层面,技术层面,还是美术层面,都没有难度可言。从玩游戏的动力上讲,它既不能提供视听享受,又无剧情,也不益智,仅有的一点玩家之间的分数对比,也不会因此带来多强烈的成就感。相反,它带来的挫败感要远远大于成就感。那究竟是什么让玩家越挫越勇呢?百思不得其解。 read more

Continue Reading
咸吃萝卜淡操心

北京为什么美女多

1317200995_48116000-300x174

北京大街上好多美女啊!这是为什么?下面给一个充满负能量的合理性解释:

一个小伙子在大学里用尽心机找了一个漂亮的女朋友。

有一个漂亮女朋友带来的后果除了别人羡慕以外,还会给自己带来错觉:我牛逼。其实,牛逼的人家美女父母的基因,跟你没有半毛钱关系。

既然我牛逼,那就带美女去北京闯一闯吧。我们一定会成功的。

到了北京小伙子才知道,人比想象的多,机会比想象的少,最重要的——自己没有想象的那么牛逼。 read more

Continue Reading
咸吃萝卜淡操心

体验的连续性

在百度的时候,新首页就上线了,做的很漂亮。但是在讨论这个变化的时候,总有一种不太好的感觉,但是一直没有想明白。今天突然想明白了问题在什么地方。那就是这种吸引眼球的变化,破坏了百度作为一个搜索引擎的体验连续性。

例如,我在看新闻时遇到一个关键字“周元根”,想到百度去查一下,结果一打开百度,就看到了这个画面:

QQ截图20140304131701-300x217

这血淋淋的凶手图,立刻吸引了我。就打开连接看了一下。然后,然后就忘了周元根了。。。 read more

Continue Reading
游戏评论

谈谈植物大战僵尸2

597986893_5B5CE3F5-300x300

从《植物大战僵尸2》首发,就想写一篇关于它的文章,但是玩了这段时间以来只是一些零星的感受,下笔无法成文。直到今天看到这篇文章,才有了一些想法。下面就沿着这篇文章的思路谈谈我的感受吧。

原文在此:是一篇游戏邦翻译gamasutra的文章,题目是《植物大战僵尸2》为何无法跻身收益榜单之首

http://gamerboom.com/archives/77638 有《植物大战僵尸》这个王牌作品打下的江山,《2》推出自然会火热异常,文中提出了4点影响他们排名和收益的原因: 1、不适应不同的玩法环境: 意思就是《2》中的管卡设定过于紧凑,导致了玩家必须在注意力集中情况下才能进行游戏。一旦有一点分神,疏漏,就会导致闯关失败。这样游戏就无法占用一些容易分心的零散时间,例如:经常要开关店门的保安,经常要被咨询打断的前台,经常需要腾出一只手扶JJ和擦屁股的上厕所时间,经常需要分神去检查是否坐过站,或者巡视有没有空座的地铁时间。在闯关时需要集中精力这个事是无可厚非的,因为他的核心玩法就是需要不断的调整布防,应对突然出现的危机。能够调整的只能是每关的时间长度,但是如果闯关时间太短,就没有意思了,至少要通过几波僵尸表达出进攻层次,让玩家有足够的时间建立起“壮观”的防御体系。这是游戏的核心,也是乐趣所在,是不能改变的。 记得在《1》中,有一个我很喜欢的玩法,就是种花,通过种花养花来挣钱,买植物,养大树。这是一种没有任何难度的养成设定,也叫“泡温泉”。这就是一个用来吸纳大量零散时间的方法,让玩家用这些低效的零散时间堆积出成就感。记得当时在玩PC版的时候,我就会开一个游戏窗口放在后台,用来养花。不知道《2》中为何要砍掉,因为怕影响付费?还是不符合新世界观?还是没精力做了? 2、缺乏社交玩法: 人与人的竞争攀比,是游戏付费的一大支柱,相信大家都认同这一点。《2》对社交玩法的匮乏的确会影响它的收入。那我们不妨来考虑一下,《2》能够通过什么样的方式建立起PVP的机制。目前游戏的PVP分为两大类,一是玩家之间的正面冲锋,直接挑选一个敌人拼数值,拼操作,拼策略。像各类卡牌对战游戏。另一类就是大家在同一个标准下与电脑竞争,然后根据得分做排名,像微信的天天系列。那我们就来看一下《植物大战僵尸》是否能够套入这两个类型中。 一、如果要建立起玩家之间的直接对战竞争,首先要解决的就是平衡性问题。是否可以让玩家一方控制植物,一方控制僵尸进行公平竞争呢?我的理解是,塔防类游戏要改成这样比较麻烦,因为攻防两端本来就不平衡。防守要易于进攻,这跟打仗是一样的道理。而且对玩家而言,感受也是不一样的,没人愿意看到自己辛苦培养的游戏元素冲上去当炮灰。当然,要解决这些问题也不是不可能的,但是这可能会彻底改变《植物大战僵尸》作为休闲游戏的定位,而且花费的精力可能要大于《2》本身。说句题外话,如果有机会,我倒是想尝试一下,这种基于塔防的攻防平衡体系。 二、事实上,《2》已经建立起一个隐性的排名机制,那就是原文中提到的通过Facebook账户登录,可以看到好友的开图进度。这种排名的刺激是很微弱的,首先,它没有量化,不能得出一个一目了然的分数,这个就不容易对比。其次,他不够直观,不能让玩家一眼看到他在好友圈子中的地位,这也就很难激励玩家去花精力花钱去冲榜。当然,开图进度的量化对《2》团队来说不见得是件难事,为什么没做?也值得思考。 3、缺乏难度: 要说《2》缺乏难度,我有点不太苟同。记得有一颗星星我是玩很多次才获得的。其中一些星星的获取规则其实是比较苛刻的,需要在玩的过程中不断的平衡,精确的计算才能险险过关(不付费的情况下)。文中,作者说“我认识的多数人不再玩PVZ2的一个原因就是因为游戏缺乏挑战性”,让我怀疑是不是他认识的人都没去获取星星。。。 这个讨论倒是可以作为一个很有意思的议题:休闲游戏的难度把控问题。这有些像泡妞,有些女生,对她太冷淡会觉得你无聊,太热情又会把她吓跑。难易程度比较难把握。恰到好处的标准就是要适时地增加难度,给一些挫败感,但又不能让其绝望。对挫败感的控制有这么几个办法:首先,是把失败这件事做的戏剧化,也就是更有意思,例如死亡动画很可爱,很搞笑。这样就有助于减轻玩家失败后心理压力。其次,增加失败结局的多样性,让玩家觉得每一次失败都是不一样的,或许稍微调整就能离成功更接近一些。这一点做的比较好的是《愤怒的小鸟》,BOX2D物理引擎的使用,使得在一个模拟的物理世界里,每次失败对猪的建筑物都有不同的破坏程度,这就让玩家的主要感受由“不停的失败”变成了“不停的尝试”。 4、无核心循环: 这是一个比较有深度的理由。所谓核心循环,就是能让游戏不断进行的那层最大的循环。例如:卡牌游戏中的体力值,农场游戏中花时间中农作物换金钱的这种时间——金钱——时间之间的循环转化关系。这种循环其实是一种限制机制,保证玩家能在这个循环中乐此不疲的玩下去。而《2》中的循环是什么呢?不断的积攒星星通关?通关又带来什么呢?通关本身并没有带来玩家的增强,植物的增多。只有每个关卡附赠的,相对植物价格少的可怜的金币。要想获得新植物,只能不断的刷雪人,或者简单的付费。这样就没有形成一个”核心循环“,至少循环的脉络不够清晰。 好了,最后谈谈我对《植物大战僵尸2》的整体感受吧: 1、这是一款续作中的好游戏,在一的核心玩法上添加了大量的改进和新鲜元素,让玩家有了很多新鲜感。从规模上讲也是一个大作。 2、它已经背离了“让妈妈也能喜欢玩”的《植物大战僵尸1》的游戏定位,通过增大难度来迫使玩家付费的想法,在游戏中暴露无遗。 3、按照业内的盈利算法,它能冲的app榜的那个位置,说明它已经很挣钱了。多了利益,少了情怀。还记得当时玩一代时太阳花出场唱的那首歌吗? 总结:一款好游戏,但已非经典。
Continue Reading
浏览器的那些事

Chrome对GPU的使用–(3)网页的加速合成

网页渲染是浏览器内核最基本的任务,这一篇让我们研究一下,Chrome是如何利用GPU对这个过程进行加速的。

Webkit渲染基础

首先,来回顾一下Webkit内核的网页渲染流程。当Webkit拿到网页数据后,会根据网页结构生成DOM树,然后每一个DOM节点会生成对应的RenderObject,构成另一棵树RenderObject Tree。那些在同一个CSS转换坐标系下的节点,会被合并到一起,构成一个RenderLayer,像一些半透明的、独立CSS Filter的、Canvas、Video等有特殊渲染需求的RenderObject会生成单独的RenderLayer。关系如下图: read more

Continue Reading
浏览器的那些事

Chrome对GPU的使用——(2)底层实现

这一篇,我们来研究一下GPU进程的实现细节,首先是GPU对外暴露的接口形式:
GPU Command Buffer
在GPU独立进程的架构中,Command Buffer作为GPU Server 与 Client的通信协议扮演着重要角色。它将对GPU图形接口(OpenGL ES 2.0)转化成一条条命令,用来支持跨进程调用。提高了GPU调用的安全性、通用性、和并发性。其定义的协议与直接调用GPU图形接口相比,裁剪掉了一些不通用的特性,例如GLSL的高级特性。同步改为异步,这种改造对glUniform 、glDrawArrays这种比较费的接口效果尤为明显。这样,就大大提高了GPU的并行程度,而这恰好比较适合GPU的特性——善于处理并行任务。
Command Buffer本质上是一块共享内存,用于跨进程传输数据,根据OpenGL ES2接口的不同,有三种方式:
1、直接通过Command Buffer传输,这种直接将调用参数写到Command Buffer,由于Command Buffer有固定的长度,因此,参数的数据量不能太大,像glBlendColor这种调用可以采用。
2、通过共享内存,当调用需要传输大数据时,例如传送图片。就会先将图片数据拷贝如Shared memory,然后用Command传送shared memory id和便宜即可。
3、抽象的bucket,这个实际上是对共享内存的封装,它要解决的问题是如果需要传输大量数据,而shared memory不能一次传输时,bucket可以用多次传输的方式完成。而对我暴露的接口时一次调用完成的。使用起来比较方便。
下图是一个典型的跨进程调用结构: read more

Continue Reading
浏览器的那些事

Chrome对GPU的使用——(1)总体架构

GPU在Chrome中扮演着重要的角色,主要体现在两个方面:对WebGL的支持和加速绘制的合成。我们将从几个方面来看一下Chrome对GPU的使用:

1)Chrome中GPU部分的总体架构,弄清楚GPU是如何整合到Chrome的整体结构的。
2)底层实现,学习Chrome是如何将GPU封装成平台无关的Command Buffer提供给上层使用的。
3)网页绘制中的加速合成,理解GPU是如何在网页绘制中起到加速效果。

先从第一个开始。Chrome采用了独立的GPU进程结构,如下图: read more

Continue Reading
浏览器的那些事

浏览器的那些事(7)——新交互方式的尝试

一直在思考一个问题,浏览器越做越雷同,按钮,地址栏,Tab,已经定型,而且屏幕空间要更多的让给页面显示。这样,留给设计师的空间越来越小。 有没有什么方法能突破这些限制?在我平常用来做研究的demo上,做了一下新交互方式的尝试。 先上图: ibrowser_2 尝试思路: 一、蒙层UI 1、除去主界面的所有UI,这样就给页面显示让出了最大可能的空间。 其实,在用户浏览网页的绝大部分时间内,这些UI是没有用的,既然没用又为什么摆在那里占地方呢? 工具不用的时候可以收到工具箱里,但我们浏览器的工具就一直摆在桌面上。而且在一段历史时期内,我们还以桌面上的工具多为荣,这不科学! 2、把UI元素放在一个半透明的蒙层窗口上,当用户需要的时候,就用快捷键或者鼠标手势调出来。而且透明度可以通过鼠标滚轮调节。 当我把几个常用的UI元素放到这个窗口时,第一感觉就是:天地广阔兮,无所适从! 太开阔了,以至于大到不知道该怎么摆了。我Hold不住是因为我水平不行,但是我相信有水平的设计师会有如鱼得水的感觉。 3、可以看到,蒙层窗口上也是一个内核窗口,上面的UI元素全是网页。 这就意味着可以用方便快捷的Web开发UI! 这意味着可以把UI配置到线上! 这意味着换一套皮肤就是换一个网页! 这意味这全网页的显示可以让皮肤拥有无尽的可能! 4、取得上面的优势是有代价的,那就是用户需要多一步操作。因此需要将这一步的成本尽量变低。现在用的是,快捷键 或者 鼠标手势。可能有更方便的途径,可以再探索。 5、第一界面既然没有UI,那鼠标手势就成了必须之物,要是之成为习惯。如果实在适应不了,那还是换个浏览器吧。 6、这中交互在平板或者移动设备上,或许优势更大一些。手机上的浏览器非常困惑我一点的是UI太小,手指头经常戳不到位置。 这种交互方式将不存在这种问题,因为UI可以做的很大。而且用手指实现手势,用起来更方便。想调UI出来就画个圈圈诅咒你! 7、一旦UI的大小和数量被解放出来,我《工匠模式》那篇日志提到的小众浏览模式,就可以很方便的实现。在蒙层UI上可以实现各种特定的功能。 可以在音乐模式上做一个酷酷的调音UI,甚至DJ打碟机。在游戏模式的UI上方很多实用的小工具。等等等等,而且切换模式就是让蒙层UI上换一个页面的事! 二、Tab染色 要说去掉所有UI也不现实,因为有一种按钮去不掉,那就是Tab按钮,且换Tab还是保持原来的一步到位要好一些。 但是,我对Tab做了一些改动,上图: ibrowser_1 那就是为Tab染色,根据不同的host,将Tab染成不同的颜色,这样,用户在切换标签叶时,类别更加清晰更加直观。 1、人对颜色的敏感度要先于文字,因为文字是需要一个阅读+理解的过程。虽然最后选中具体的Tab还是需要读Tab上的标题,但是至少可以先根据颜色排除掉一部分不需要读的。 当然,这是一个瞬间过程,不容易体会。 2、每当我看到行政小姑娘桌子上贴着各色Tab的材料时,都会感受到一种纷乱又有序的美。或许是姑娘的美被转移了,但这不重要,我想把这种美表现出来,传达给用户。 于是,我觉得浏览器的Tab也应该是这个样子的,用另一种方式为你的网站归类! 3、如果你问我,Tab为啥要用不同的颜色,我会问你,为啥要有同一种颜色? 仅仅是个demo,也是业余时间做的,还不太成型。但这些尝试和思考,会持续下去。
Continue Reading
咸吃萝卜淡操心

成语两则

邯郸学步与作茧自缚1

梦到了两个成语,醒来之后感触良多。到百度上摘抄在此。

邯郸学步:

相传在两千年前,燕国寿陵地方有一位少年,叫寿陵少年。

这位寿陵少年不愁吃不愁穿,论长相也算得上中等人材,可他就是缺乏自信心,经常无缘无故地感到事事不如人,低人一等——衣服是人家的好,饭菜是人家的香,站相坐相也是人家高雅。他见什么学什么,学一样丢一样,虽然花样翻新,却始终不能做好一件事,不知道自己该是什么模样。
成语漫画
家里的人劝他改一改这个毛病,他以为是家里人管得太多。 亲戚、邻居们,说他是狗熊掰棒子,他也根本听不进去。日久天长,他竟怀疑自己该不该这样走路,越看越觉得自己走路的姿势太笨,太丑了。
有一天,他在路上碰到几个人说说笑笑,只听得有人说邯郸人走路姿势那叫美。他一听,对上了心病,急忙走上前去,想打听个明白。不料想,那几个人看见他,一阵大笑之后扬长而去。
邯郸人走路的姿势究竟怎样美呢?他怎么也想象不出来。这成了他的心病。终于有一天,他瞒着家人,跑到遥远的邯郸学走路去了。
一到邯郸,他感到处处新鲜,简直令人眼花缭乱。看到小孩走路,他觉得活泼、美,学;看见老人走路,他觉得稳重,学;看到妇女走路,摇摆多姿,学。就这样,不过半月光景,他连走路也不会了,路费也花光了,只好爬着回去了。 read more

Continue Reading
浏览器的那些事

浏览器的那些事(6)–QQ浏览器的登陆方案

今天早上让老婆的吹风机吵醒了,看了下贴吧,看到了这个消息 QQ浏览器内测新功能:支持Chromium组件 http://tieba.baidu.com/p/2357480980 立刻睡意全无,在我前面的blog里提到过,QQ在第七代推到重来之后,一直走的是单核路线。把工作重点放在了追求用户基础浏览的体验上。从外表看来,他们采用的是windows比较原生态的技术框架。因为这样不需要连接那么多外部库,安装包可以做的很小。跟chromium更是扯不上任何关系,如果想在这种框架下植入chromium内核,是一个很费力的事,这不太符合QQ的一贯作风。因此猜到他们可能采用了一个取巧的技术方案,那就是chromeframe。 http://code.google.com/chrome/chromeframe chromeframe是google为了抢夺ie的市场而打造的利器,把chrome包成一个IE BHO插件,插入到IE中。当用户开启这个插件后,chrome就会在IE上替代ie内核渲染。虽然这种强奸式的攻击方式很犀利,但是在国内市场不太奏效。首先,官方下载被墙了,其次,可能是因为法律上或者其他原因,即使安装了,开启也很费劲。但是这个方案很适合像QQ这种以IE内核为基础的浏览器植入,不需要触动原有框架的根基,只需要把chrome当作一个内置的BHO插件打包进来就可以。当然,要加入智能切核之类的功能,也是需要做一些工作的。 从床上爬起来,装了一个网友分享的版本来验证一下我的猜想。 1、安装包还是原来的4M,并没有增大,那一定是采用后安装的方式。默认并不开启这个功能,而是当作一个扩展工具,要用户手动开启。 qqbrowser_chromeframe_2 2、点击安装之后,会把这个组件下载到%appdata%TencentQQBrowserChromeTab,其实就是个完整的chrome。安装完了,他们竟然在用户桌面上生成一个chromium的快捷方式,不知道是出于厚道,还是其他什么原因。 qqbrowser_chromeframe_3 3、粗略观察了一下他们的进程模型和窗口结构,果然跟chromeframe一模一样 qqbrowser_chrome_frame qqbrowser_chromeframe_1 4、试了一下银行网站,他们会自动切换成ie内核,看来智能切核的工作还是做了,但是没有找到手动切换的入口。 他们的做法跟猎豹恰好相反,不过都是以其中一个内核作为基础,插入另外一个,这种“偏特化”的方案可能是最省力的。既然是内测,这应该还是一个不太完善的方案,入口还是比较深只适应高端用户。QQ7刚推出时,一度以为他们要放弃在chrome内核的世界登陆,而是只把IE内核的用户体验做到极致。 看来,跟世界接轨还是必要的。
Continue Reading
咸吃萝卜淡操心

这个世界我来过

这个世界我来过

昨晚做了一个梦,我去了浙江大学,住到了一个学生宿舍里。窗户很大,外面是无比灿烂的星空。无法用语言形容的美!这时候想拍下来发到网上,但当我掏出手机,窗户上突然凝结了厚厚的水珠,我拼命的用手去擦,想擦出一个空隙让我拍照,水雾却越擦越多,越擦越厚。醒来后,我跟老婆说,看来有些美只能自己欣赏!

我想去表达,想去输出,无非是想证明,这个世界我来过。 read more

Continue Reading
浏览器的那些事

浏览器那些事(5)——工匠模式

1364434638286 老罗的锤子发布了,说好说差都有理由。在这不再评论了,老罗将自己比作手机的“工匠”,这个比方让我产生了一些联想。 一直以来,开发浏览器的一个比较重要的思路就是不断扩充浏览器的功能。在浏览器上可以有邮件提醒、截图、游戏、电视剧、刷微薄、刷火车票、听音乐、存文件….等等的功能。甚至为了堆积更多功能,浏览器都会有开发的扩展体系,让第三方也参与到功能的开发中。我们的产品决策者无法弄清楚哪些用户需要哪些功能,就用了最省力最保守的办法——这些功能都给你,你们自己选吧。这是一个很挫的做法,理由有2 1、选择太多等于没有选择 今天看了一篇文章《网络让我们变蠢了?》http://djt.qq.com/article-434-1.html?ADTAG=email.InnerAD.weekly.20130331 有一个论点我是深信不疑的,那就当信息多到你无法甄别出有用的那一部分,也就等于没有信息。浏览器的功能也一样,IE的BHO不计其数,Chrome的扩展已经堆满了应用商店,国内浏览器也把内置玲琅满目的功能作为了卖点,其实用户真的需要吗? 一个网民的上网习惯稳定下来之后,使用浏览器的需求也会收敛到一个很小的范围里。 以玩网页游戏为主的用户,可能永远也用不到邮件提醒。 酷爱音乐的用户可能更希望把音乐的入口放在明显的位置,而不是小说。而且他们希望有更优质的音源和播放体验。 对热爱摄影和秀图的用户来说,集成一些图像处理能力,会显得更有意义。 …… 而即使我们有能力把这些功能都做好,用户从如此多的功能里面让用把真正需要的功能挑拣出来,本身就是一个很大的负担。 2、傻大全就无法做到精致 相信无论多大的公司,它的资源和优势都是有限的。要想做好一件事,必须做到集中精力。如果想用散兵游勇打游击的形式做功能,用一两个程序员去开发一个功能,开发完了就不再深加工,转战下一个。这种模式是无法打造出精致的体验的。最后只能做到满足基本“傻大全”,啥功能都有,啥功能都不好用。 温饱思“淫欲”,浏览器做到这个程度,满足本能的、基本的需求已经不是问题了。下一步的目标应该是把使用浏览器的体验做成一种享受,不同用户群,不同爱好者的享受。而这一个目标不应该是一个公司,一个团队的目标。再牛逼的产品经理恐怕也不能理解所有爱好者的情怀。 这种目标的实现依赖于另一种的开发模式,或者说生态系统。下面开始意淫: 未来的浏览器生态系统 未来的浏览器开发会更加趋向专业化,就像由两种内核分化出不同的浏览器产品来一样,浏览器本身也会产生再次的分化。而分化的依据就是用户群体。 浏览器会有两种形态,由一些大公司负责产出满足基本需求的浏览器母体,所谓的基本需求就是我们现在看到的一些浏览器厂商的主打特性:高效、安全、稳定、扩展性等等。到那个时候,这些已经不再是浏览器的亮点,而是对浏览器最基本的要求。但要实现这些并不容易,需要由这些有实力的大公司来不断维护、完善。 最终安装到用户机器上的版本应该是根据不同的用户群定制的版本,一些在某些领域更加专业的小公司或民间团体负责这些定制版本的开发工作。他们对这个领域会更专业、更有热情、更懂他们的目标群体。 例如:音乐爱好者会以发烧友的标准来打造浏览器,会集成专业的播放器带来更好的播放体验,会推送优质的音乐资源和社区入口,会更方便他们在音乐爱好者这个圈子里的交流。还有游戏圈、摄影圈、小说圈、购物圈…..总之,一旦用户被圈定范围,那目标就会更明确。 这些小团体会通过这个浏览器构建自己的盈利模式,从而在圈子内产生小的生态圈。例如:目标更明确的广告投放,为匹配类型的Web服务提供商的推广导流,Web服务的合作运营等等,都可以养活这样一个小而精的团体。而这些以兴趣结合在一起的团体干的会更加舒心。 对于开发母体的大公司,他们可以在互联网的大生态圈获利。像百度的搜索,腾讯的增值服务,淘宝的电子商务。这样围绕浏览器就会产生一个兼有大、小生态圈的生态系统。当然,在利益面前一定会有破坏生态系统的行为,但是我觉得通过长期的博弈会达到理想中的平衡。 用户群体会有交叉,这是肯定的。但是如果体验足够好,我宁愿多装几个浏览器,或者在同一个母体上进行模式转换。相当于在手机上多装了几个可以上网的APP而已嘛。 我在《浏览器的那些事》第一篇里说过,浏览器的一大特点就是通用性。因此开发浏览器的一个惯性思维就是要通用,希望能够让自己的产品适合所有的用户。如果把浏览器当做一个浏览网页的工具,那只要做到普适的高效、安全、稳定就可以了。但是如果把浏览器看做一个网络服务的延伸,要用功能打动用户,那做到这些是远远不够的。还要像顶级工匠一样把体验做到极致,而这一切要想长久,就需要演化出一个上面提到的生态系统。 PS:同事推荐了一个iPad上的看片利器——多屏互动浏览器。这个东西尽管不太成熟,但我觉得思路是对的。
Continue Reading
浏览器的那些事

浏览器的那些事(4)—关于切核

115025177_11n-1-300x217

首先热烈祝贺习总书记当选国家主席!一定要紧紧的团结在以习主席为核心的党中央周围,做好浏览器!

————–以下是跟我有关系的———————————————— 在前面的文章里,我已经吐槽过关于双核的看法。这篇说点细节的东西。 由于国产浏览器是起源于对IE控件的包壳实现的,所以Webkit当年是作为一个“高级货”引进而来,于是就产生了“高速内核”这个概念,于是同时拥有Webkit和IE内核就成了国产浏览器的标配。随着Chrome的崛起和微软的日薄西山,Webkit这个后来者渐渐的取代了原来IE的主力位置。像360,猎豹都已经将Webkit作为默认内核使用。而IE就成了为支持网银等老古董才有辅助内核了。 切换内核的策略这几家浏览器大同小异,首先,切换内核有两种形式——手动切换和自动切换 先说说手动切换: 早期的切核形式就像搜狗和傲游,在地址栏的右侧有一个按钮,上面用一个闪电和IE图标区分内核类型,只要点击一下就可以切换内核。后来出现的双核如360极速和安全浏览器6.0以后的版本,交互增加了一步,点击按钮后会先弹出如下图的选择菜单让用户选择内核类型,猎豹干脆把切核操作放到了右键菜单中。 关于切核 为什么会出现这样的变化呢? ———–以下全是猜测———————————– 首先,是双核的地位:当这个概念刚刚推出的时候,是作为很大的亮点力推的。像搜狗就用了很多推广资源来描述双核有多好,所以,他们希望用户能够尽可能方便的使用这个特性。因此在地址栏这样一个重要的位置上,加入一个点击一次就可以响应的入口。但随着产品的演化,人们发现双核的优势并没有那么大,而且在用户实际应用的时候,应该很少有人回去手动切来切去。双核手动切换的功能回归到它应有的地位上——一个不常用的功能而已。 还有,细究搜狗这种切核按钮的交互,其实这是一个很傻的设计。一个按钮上表示了一个内核类型,作为用户会有一种困惑:到底这个按钮是说当前的内核类型是IE呢还是我点了这个按钮之后会是IE?当然,搜狗的答案是前者,他表示了当前的内核类型。 搜狗切核按钮 搜狗切核按钮 但是我们来看看我们最常用的按钮:  播放器按钮3播放按钮 还有我们常用的按钮,例如播放、暂停、保存、提交、关闭……。你会发现,所有的Button都有一个共性,那就是上边的文字或者图标表征的都是点击后的状态。而什么控件是用来表征当前的状态呢?我们可以从最原始的Windows控件里面找,会发现一个最常用的——Select,也就是选择框。这也就是360的选择,也是最符合传统交互习惯的选择。另外,为了让用户能够理解,搜狗使用了鼠标指上后的Tips来解释,但谁又愿意盯着你的Tips去弄明白啥叫双核呢? 最后,从技术上讲,切核操作需要将原有内核停止、销毁,创建新的内核并同步原有内核的状态。这个过程是比较复杂的,如果快速不停的切换,内核状态很难维护。而在其中增加一个交互步骤,回避了很多有此带来的技术难题。 所以,360采用了另外一种交互,点击以后先弹出一个框,让用户做单选题。这个框有两个作用: 1、为手动切核增加了一步,减少了用户由于误操作而造成的手动切核,而且增加难度也预示着不鼓励用户进行手动切核。 2、在弹出的框中做充分的解释,这种解释效果要比Tips强100倍。猎豹做的更绝,直接藏在了右键菜单里。意思更是不言而喻。 再说说自动切核 自动切核才是双核浏览器中比较重要的部分,自动切核的策略决定了页面的内核类型,手动切核只不过是留给高端用户的万不得已的选择而已。自动切核的策略大家都差不多,一般都是在访问一个页面时,根据不同的优先级来决定这个页面应该用什么核打开。 第一优先级应该是手动切核的结果,用户手动切过核,那就把结果记下来,下一次打开会用户的最后决定选择内核类型。之所以这么做,是为了尊重用户的选择,人家就是想用这个内核打开这个页面,浏览器要记住。但是也有副作用,例如有的用户都不是本着这种目的点的切核,只是想点点试试,或者是误操作。也会按照这个决定访问页面。这样就很有可能出现用Webkit访问网银页面,不能支付。而这类用户往往又不了解双核的概念,事情就变的很麻烦。这也是为啥手动切核入口要深一些的原因。 第二优先级一般都是靠网址列表判断的,像网银类的这些“老古董”网址会收集到IE内核列表中,如果网页符合这个列表的规则,那就会自动切换到IE内核上。而这一层的用户体验拼的就是谁的列表更加细致,这才是对普通用户最有用的部分。 列表以外网址应该选择一个默认内核,这就取决于具体浏览器的决策了。像360、猎豹这种拿Chrome改出来浏览器当然默认是Chrome(Webkit)内核,比较保守的浏览器一般会选择IE作为默认内核。
Continue Reading
咸吃萝卜淡操心

双江之刃

双江之刃

这几天“坑爹之星”李天一的事闹的沸沸扬扬,正好昨天做了个梦与此有关。我也来谈谈我的看法吧。

昨晚睡前看了电视台新闻上播放的一些李双江的访谈。其中有双江对孩子教育的看法,有一家三口录制的现场节目。这些画面足可以反映李双江对孩子教育的核心
思想——培养技能是重中之重,叛逆是天性,可以纵容。孩子的培养像是雕塑,李天一有今天,多半是拜李双江这把雕刀所赐。有了这种性格和客观条件,犯事时
早晚的事。 read more

Continue Reading
游戏评论

网游之外看网游

网游之外看网游2

初入这个行业大概又开发、市场、运营几个大的方向,主要还是根据自己的特点选择大方向吧,干好了都不错。网游比较大的几个企业就是腾讯、盛大、完美、搜狐畅游、网易,这几个企业垄断了绝大部分市场。其他的小公司也很多,但份额很小。游戏开发的职位相对比较专业,主要包括程序员、美术、策划、测试。同一水平职位一般来说程序员工资水平最高,其次是美术,然后是策划和测试,每一个工种都希望能够专精。在大公司里,每一个工种都需要更加精细的分工,如程序员分为负责引擎、逻辑、服务器等等,美术分为场景、建模、动画、特效、音效(暂把音效归类到美术里)等等,策划又分为故事、数值、玩法等等。做好了待遇都会不错,当然这也取决于产品是否赚钱。 国内的游戏制作水平与国外差距比较大,原因并不在技术层面,而在于没有几家公司真正愿意在开发上花大力气去“赶日超美”。大家都把注意力花在了如何捞钱上。高品质的游戏必然需要很高的投入,钱倒是其次,关键是时间等不起。凡是那些花很多时间去打磨史诗般巨作的想法,都会被现实无情的打压下去。因为这个市场更新换代太快了,一个新的东西从出现到火到消亡时间很短。如果上线不及时,那总会跟不上玩家的喜好,跟不上竞争对手的冲击。而且还有一个很重要的是,高品质的游戏不一定大家都喜欢。因此,从公司的角度去指定策略的话,更倾向于完美以前那种用一款游戏不断的换壳,上线,快速迭代的方式,快速捞钱。因此,进入这个行业心态要调整好,不能太极端,既要理想丰满,又要面对现实。 游戏市场有一个比较大的特点就是“逆向发展”,意思就是越是大的经济环境不好的时候,游戏行业越红火。一个比较粗糙的解释就是经济环境不好,大家在家闲着没事,玩游戏的就多了。因此,在前几年经济危机的时候,游戏行业也是最受关注的时候。因为与其他传统行业相比,游戏行业的毛利率很高,可以达到70%以上,这个特点也引来了不少其他行业的钱涌入这个市场。但是,单就游戏数量来讲,市场已经是过饱和了。也就造就了渠道为王的现象。像前面说的几个大公司手握大量的优质玩家(所谓优质玩家就是愿意在游戏上投入时间和金钱的玩家)和推广渠道。如果想自己推广游戏产品,就需要真金白银往里砸而且效果不见得好,还有游戏的运营、客服等等也需要很专业的团队来支撑。更容易被接受的方式就是与这些大公司合作,让这些公司负责运营和推广,挣了钱大家分。渠道为王,现在想跟大公司合作也不是容易事情。像腾讯,要想跟他合作,首先对游戏的质量控制非常严格,有的游戏需要在他们的指导下修改很长时间才能上线。其次,分成比例也是人家拿大头,像网页游戏这种成本较低的产品,可能要分到1:9。但即使这样,像腾讯这种王牌渠道也是趋之若鹜。在这种形式下,腾讯哪能有安心做游戏的闲情逸致,做好运营平台,选好游戏分钱才是他们最关心的。这也就解释了,为啥腾讯作为行业赚钱老大,却很少产出好游戏,缺少动力。 如今,经济是一切社会活动的驱动力,商业模式决定了开发模式,运营模式。所以网游的发展历程中几个关键节点,都是伴随着新的商业模式产生而确立的。最初的网游是通过计时收费的,像《石器时代》《魔兽世界》的点卡模式。这种方式的出现确立了网游对客户端游戏模式的优势。客户端游戏通过卖拷贝赚钱,但是始终无法逃避盗版的侵害。而网游没有这个问题,游戏白送给你,但想玩就要交钱。这是一种比卖拷贝有效的收费方式,但是手段过于直接,显得简单粗暴。一种较为改进的方式就是像《万王之王》那样的月卡、季卡的时间段收费,这种收费模式看起来更有利于忠实玩家,因为只要保证更多的在线时间,就更划算。但是同样也更有利于游戏运营商,首先这样会吸引玩家更多的游戏时间,提高游戏人气。另外也会让运营商的现金流更加稳定。从这个时代起,网游在运用手段上开始加入了心理学的因素。这是一种看起来让利实际得利的方式,比上一种收费方式更加隐蔽一些。更高一级收费手段的普及是从史玉柱的《征途》开始的,这也是目前最流行的收费模式,那就是免费游戏,道具收费,或者是增值收费。这种模式充分利用了玩家想走捷径、攀比、炫耀的心理,用免费吸引人气,然后突出收费用户的价值。在实际的运营中,这种模式要比前两种有效的多。放眼现在国内网游,除了几个骨灰级游戏还在遵守的收费入网的规则,其余的基本上都是免费模式了。其实,这些收费模式在不同的历史时期也都出现过,但是要想得到认可也需要外部因素的辅助,像网络硬件的改善,网民数量的激增,网络付费方式的改进等等。 收费模式的大方向,就是让收费更加隐蔽,手段更加高级。从商贩版的“一手交钱一手交货”,到山贼版的“要想从此过,留下买路财”,再到青楼版的“客官您里面请,随便玩,但是安全套收费哦!”。当然,也有希望通过逆流而上想通过复古探索新商业模式的主,像金山的《剑侠3》,在遍地“免费”的环境下,依然恢复到收费模式,结果不甚理想。下一个网游的商业模式是啥样的?谁先想明白了这个问题,谁就是下一个史玉柱,赚的盆满钵满。让我们拭目以待吧。 如今,网游的展现形式已经越来越多元化,移动平台,网页游戏,小、快、灵的优势很大。更迎合了现在大众玩家对纯娱乐化游戏的推崇。像网页游戏的发展要快过客户端网游的发展,那些动辄几G的大客户端已经很难被接受了。而移动平台的游戏也把玩游戏的空间从电脑前扩展到了any where。对于早已成为红海的网游市场来说,网页游戏和移动端游戏就成了很好的能量出口。客户端游戏弱化,网页游戏和移动端游戏崛起的过程正在进行。 另外,以前盛行的PVP,强PK等等概念逐渐被弱化了。成功的游戏更考验的是设计者对用户心理的把握程度。注意,是玩家心理的把握而不是设计者心理。作为有追求的游戏从业者,追求产品的高新精,是理所当然的。但从商业利益上讲并非这样。因为高端用户的钱并不好挣,他们要求苛刻,要打动他们付钱需要付出更高的成本。相反低端用户是更容易“上钩”的鱼。他们喜欢低难度,喜欢刷数据。而做到这些早已不是什么难事。 网游行业嗜待解决的问题首先就是前面讲到的,对新商业模式的探索。在人的本性里面根本就没有“可持续发展”的基因。一旦有利可图,就会把它做大,做烂。这才是“原罪”。“免费模式”已经被开发的差不多了,游戏的同质化到了令人发指的程度。原因也很简单,一款游戏成功之后,团队中的头目们就会拉队单干,带着原来的代码和资源,改一改上线就能赚钱。一个游戏可以变异生成多个,这种分裂生殖方式的速度是很可观的,时间不长市场就会过饱和。然而,玩家的游戏时间增长并不迅速。于是出现了“蝗虫玩家”,一个游戏上线经过推广引来大批玩家,数量可喜,于是运营商会增加服务器支撑这些玩家,但不用多长时间,有相当部分的玩家就玩够了,就会像蝗虫一样飞到下一个吸引眼球的游戏上。最后,只剩下空转的服务器和运营商的一声叹息。 所谓游戏行业,就是一帮年轻人燃烧激情,让更多的人快乐。为了能够燃烧的更久,他们挣来了钱。于是,多了参与者,多了资本,多了欲望,多了罪恶,多了方向,迷失自我。妈妈说,迷路了就退回来。智者说,返璞归真。 游戏的本真是什么?为了快乐。
Continue Reading
咸吃萝卜淡操心

垃圾代码

吃饭了吗?没吃?太好了,看完你会省一顿饭。哈哈。 今天说点恶心的东西,垃圾代码与拉屎的关系。 前几天集中处理了一下项目到现在遗留的一些垃圾代码。所谓垃圾代码,不是说代码写的不好,而是已经不被使用的代码。但是由于种种原因,没有被删掉,依然遗留在项目中。这些代码轻则混淆代码结构,让后继的维护者很难理解代码逻辑。重则影响产品的稳定性和运行效率。这些代码就像残存在各个角落的灰尘,很不起眼,但是依然危害健康,而且不易发觉。尤其在快速迭代的团队中,开发人员为了应付新的需求疲于奔命,很难抽出时间整理这些东西。渐渐的也就养成了只管写不管擦的恶习。积累到最后,就成了顽疾,谁也看不懂,谁也不敢动。 这几天删了很多代码,删起来提心吊胆,因为这些代码都不是我写的。每删一点都要把它的来龙去脉搞清楚,删除之后还要测试,很费劲。 有没有什么办法能避免呢?没事的时候就在想这个问题。又一次做在马桶上突然有了点想法: 产生垃圾代码的过程很像拉粑粑,是很自然的过程,做新功能、重构,必然产生废物。更有甚者,如果工期安排的太紧,新功能像填鸭一样扔给开发者,必然会导致消化不良,废物就会产生的更多,更快,更臭。咋办呢? 其实,生活中有很多智慧是可以借鉴的: 1、要控制垃圾的产生范围,祖先们发明了厕所、马桶,就是用来控制排泄物的范围的。在开发一个新功能前,要意识到那一些代码是不会再被使用的,然后对这样的代码进行隔离,比如用宏开关。等开发完稳定以后,也可以很方便的逐一清理这些代码。 2、我们小时候,大人都会教我们擦屁股。如果把清理代码工作就像擦屁股一样,当成一个程序员的必备技能和必须遵守的规则。那就不至于甩的到处都是,臭气熏天。小时候不懂事,拉完粑粑也有不擦的时候,但是父母在制度上保证了不擦会受到惩罚的。久而久之,也就养成了习惯。当然懂事之后,自然也明白不擦的坏处。但是,不能指望所有人都懂事,在懂事之前,制度是最有效的工具。 坐在马桶上想了这些没觉得怎么样,但写出来才发现,真他娘的恶心!
Continue Reading