随意的想法

| No Comments | No TrackBacks

因为今天周六,杭州天气又阴蒙蒙的,在家被迫搞了下卫生什么的,突然想到一直做的游戏世界地图编码好像有点小问题--我惭愧,因为整个编码快一年了我都没有改进掉,当时打了个fixme就丢在svn了

今天重新看了下编码,因为我记忆已经开始衰弱,这份地图引擎做的时候很多数学上的证明我都快忘掉了,中间也结合地图编辑器做过一些像素融合操作,整个地图引擎有c代码、c++代码还有java代码,理了一遍,想想算了,都忘了现在在用编码文件的源是美术做的哪份

于是果断的再建了一个c#工程,哈哈,visual studio 2010果然好用呀,这个工程就不管之前其他语言的代码了,直接用现在用的编码文件,进行了再编码,位操作就是烦呀,现在还有一个数学模型还没有证明下来,所以只能把原来1800+kb的编码文件重新编码成630+kb,本来我预计应该到400kb应该差不多--由此可以证明之前随手写的一个浅显的编码是多少的挫

 

突然想到一个问题,大致看了下现在很多as3、flex项目,包括as3cn论坛讨论,其实都是利用flash ide以及结合jsfl把美术资源打包成一个swf,之后载入进行反射来获取class的方式得到资源,如果都是矢量文件,这方法还是不错的,因为做一个资源缓存池--次次都反射是一件很愚蠢的事情,大部分工程流程上的问题就都解决了

但如果很多都是png、jpg图片,其实这并不是一个非常优越的方法,当然你可以每次用到了再异步去load也可以,不过我内心是不大喜欢这种方法,我喜欢load完之后,之后所有的过程都应该是相当平滑的,中断我娴熟的操作我非常反感,所以我喜欢打包资源,恩,看来应该换一种打包方式

 

不过我坚持认为,世界上事情其实都很少完全创新的,这个时候应该借鉴之前单机游戏的图片资源打包格式,当年那些单机游戏ui以及人物、建筑、地图的打包方式真是优美,看看什么时候搞一个,又是一个面临选择的时候,现在讨论什么优化其实也没什么意义,当所有东西都按正常点的方式做的时候,面临的只是什么时候选择内存换速度而已

 

Good Luck & Have Fun

最近干了些什么

| 10 Comments | No TrackBacks

太久没有更新blog了

现在我对待blog的心态跟两年前已经完全不一样了,很多时候我会把我有blog这件事情忘记掉,以前我不明白为什么有些人的blog之后就不更新了,现在我终于明白我为什么不再更新

以前我喜欢把一些代码方面的东西发上来,同时也上传一些自己写的例子,这非常有趣;两年后,我发现这些问题依旧有人在论坛提及,之后我就再也不想发了,当然这只是其中一部分原因,更多的原因在于,我已经开始觉得这种blog式的共享代码行为,其实是相当无谓的,特别现在我觉得这非常的无趣

很多东西其实很简单,我发现我现在越来越厌恶一些能通过文档就能查询到的问题,所以如果之后我再发一些源代码包,你们最好不要相信那些都是完全对的,嘿嘿

最近睡觉睡得比较早,今天晚上是个特例吧,因为在泡咖啡前,我还不想写这篇,前阵子晚上10点半就睡觉了

白天要处理的事情太多了,技术上的问题,如果都是单纯对于技术而言,我现在感觉都不是问题,所以现在大部分烦我的问题都不是技术上的问题,但又不得去解决,我觉得很多问题之所以难以解决,是因为没有分析出问题到底是由什么导致的,当然这的确是一个非常难的问题,所以我决定明天接着想,不能让我睡不着觉

最近有时候晚上洗澡完无聊的翻翻《算法导论》,我觉得我有点蛋疼,就像我上上周末把tamarin编译了下,看看里面的实现一样

 

哦,对了,最近很热门的话题呀:html5与flash,我其实蛮喜欢看cnbeta里面关于这方面的文章下面的评论,看看对骂真的是一件相当让人放松的事情

其实有时候我真的不明白,为什么人会对两个工具的比较上升到人格的高度,至于flash player这个activeX,当然出现分担了浏览器的一些功能,现在浏览器想做回去,其他我是不知道,但是如果用html5做一个广告动画,我能肯定的是,我那工作室的动画师照样能做到跟现在一样卡的,哈哈

不过我看到一篇关于html5的文章里面说什么几年之后能看到html5做到类似wow的网游,我只能说这句话写出来都没有过脑子,可能我太认真了吧,被浙大教育了4年,有时候太求是也是不好的

不要说类似wow了,能做出一个流畅的主流玩法都有的3d mmorpg网页游戏已经非常非常非常非常非常非常非常非常非常非常非常非常非常非常牛逼了

用不了GPU一切都是假的,用得了GPU这一切又变得一团乱麻,很简单的,桌面3D客户端网游是那么好做嘛,凭什么网页3d游戏会好做,至于偷菜这种我在有资源情况下一两天就弄一个出来的,我压根就没有把他们归为游戏一类

 

好了,不提这个了,不知道星际2什么时候出,工作室的通用账号都被打到白金组了,想想蛮无奈的,不舍得去台服一个人,却老也等不到wlk,现在都要ctm了,最郁闷还经常被人认为有内部消息

 

一直听说Unity3D不错,不过需要装个插件么,我觉得问题也非常大,还不如做客户端游戏,前同事在做这个玩意,希望有突破呗;可惜被人说"只要是用Unity3D就一个字-'死'",悲剧了呀。其实我并不这么觉得,至少活下去还是可以的

 

最后是一点发现,虽然我很长一段时间不怎么参与管理as3cn,现在已经改名:http://flash.9ria.com/,可惜一年了,当年的问题依旧是现在的问题,这并不是一个什么好现象,至少我对于as3程序员这个团体感到担忧

 

恩,差不多睡觉了,明天有空还要去弄下c#的一个小程序,又要多白头发了

恩,地址

http://www.demonsterdebugger.com/

我也忘了哪里看到这个东西,还不错的玩意

 

Good Luck & Have Fun!

说实在,真没啥惊喜

倒是版本升迁还麻烦,算了就停留在flex 3 sdk也不错,有时间去迁移下

spark框架嘛,看看感觉应该比没以前臃肿,不过我相信也就看看不臃肿

 

好久没有发过关于flex相关的文章

主要这方面技术也没什么突破性进展,说来说去都是什么内存控制、重绘之类的

我非常讨厌看到这些,因为这些问题又不是flex as3出来才有的,之前怎么干现在就这么干,换个语言而已

相当无趣

 

就像这阵子什么html5跟flash之争,还是无趣的问题,我要GPU功能,我要多线程

晚上抱了下大腿,竞技场55打到了2050,准备好下周换把武器,为了庆祝,做了下mc的开门任务,跟moon一起试着去刷下风头,他之前猎人号第一次单刷mc就搞到了右脸

我小战士怀着当年第一次进mc的心情(太多年没去过了),发现现在好多小怪都可以不打-  -

打完迦顿男爵之后随后一摸,比较让我震惊,居然真出了左脸,满足了moon

WestGateQing就是我啦,哈哈,性感的id

fengtou.jpg

关于pixel bender的使用

| 2 Comments | No TrackBacks

没错,pixel bender出来很久了,目前的很多实例还是蛮基础的

下面这个是偶尔看到一个利用pixel bender运算的,为什么好什么的这里就不谈了,先看看例子

http://blog.frankula.com/?p=8

里面弄了alchemy作对比

 

哦,还有一篇

http://www.boostworthy.com/blog/?p=243

 

周末先弄一个多图片合成试试先

 

Good Luck & Have Fun!

win7下玩星际

| 8 Comments | No TrackBacks

因为看别人的星际2 replay实在不爽,所以随意点开了下星际

前阵子换了win7 X64-我的可是正版呀,嘿嘿,有段时间联想官网有个操作系统升级服务,正版win7那个便宜呀

不过在win7下开星际遇到了可耻的失败,主要是花屏,颜色抖得受不了

不太想装虚拟机,解决的办法也是有的

1:桌面右键调整样式-选windows经典,之后这个窗口不要关闭

2:桌边右键选出调整分辨率的窗口,也不要关闭

3:把StarCraft.exe什么兼容性都去掉,直接点开就ok了

 

也有直接使用bat干explorer进程的办法,不过联网不好用

 

Good Luck & Have Fun!

距离文明4出来都好久了,突然收到文明5要出来的消息,有点期待

http://www.civilization5.com/

 

毫无疑问的没有弄到星际2 beta的key,只能默默看看别人的replay,好郁闷呀

星际2正式版快点出吧,回归

Good Luck & Have Fun!

给出一个比较老的链接http://www.uza.lt/codex/as3-global-object/

当时这个出来还是蛮受欢迎的

就我当年而言,我是不喜欢这种监听的,其实现在也不大满意

原因有蛮多,就当年而言,我的代码模式是我更乐意在一个逻辑体中对数据集合修改后或者发事件,或者直接调用绘制工具保持某个显示保持数据更新

因为一直做游戏的原因,其实发事件并不是一种高效的办法,这里要特指下是那种直接new一个event dispatch出去,因为无形中会产生创建的消耗,而as3创建一个对象并不快,虽然很多人很乐意谈论gc机制如何如何,但要意识到一点就是:gc是消耗cpu达到清理的目的。能事先预估到这种更新频率高的发送调用,还不如直接用内存换速度的方法实现

这又会引入一个新的争执,就是事件机制好不好,看了上面这段,估计都认为我厌恶事件,其实一个玩意采不采用事件发送,这要看具体想实现什么要的逻辑功能

比如一个component,大家会发现为什么open source包给出的component都是dispatch event来实现的,原因也很简单,因为人家给出的是共享给大家,方便通用性而言,事件机制相当不错,如果一个项目的某个component只有一个地方使用到,那我觉得还发送事件就有点问题了

对于最上面的地址,重温下代码,发现不是跟flex sdk中的ChangeWatch功能很类似么,也就是mxml中用得很频繁,也是相当核心[BIndable]和在flex component的属性中是使用{},把mxml解析出as3再编译,其实就是使用ChangeWatch实现,你的绑定数据集合跟上面的GlobalObject就差不多了

对于现在我在做的这个项目,其实框架我还保持了flex框架,因为这为我节省了很多ui的功夫,包括皮肤制作、组件功能相当多的部分,至于很多人喜欢谈论的flex框架大小问题,如果我重复去造下轮子,估计大小比flex的还大,而且用不到的功能组件,你是可以方便剔除掉的,比如一个button,自己写一个当然小了,但焦点管理、tab管理、皮肤九宫其实都未做考虑,而这我都需要

同样,这也是我保持使用[Bindable]的根本缘由,我见过很多自己用as3重做一个ui框架失败的项目,而且我也没有时间耗在这上面,再说小心点使用,其实内存效率都可以保持在一个我非常满意的效率,只是有一点比较不爽的就是,我虽然有办法让vo(就是上面的GlobalObject)在我需要的时候停止发送事件,也有办法在需要的时候重新激活继续发事件,但这步骤相当的麻烦--就是让给我不爽呀

我估计Cairngorm普及了这么久,估计很多人已经很习惯的把ModelLocator进行绑定,之后分发到各个不同的flex component,这是Cairngorm最核心的,也因为这个,它一出现跟flex框架相当的吻合,不过其他地方的转发,比如command delegate在具体项目中,是相当浪费的行为,就是说Cairngorm太学术性质了

不过就是因为太习惯ModelLocator的绑定,也导致了非常多的滥用绑定,而事后发现"哎呀,一用flex框架、Cairngorm内存就这么大呀,而且越跑内存越大",对于一般自己写的,event是比如容易去移除的,毕竟你写的嘛,但bindable是生成的,当然也是有办法去移除,就是不那么方便了

所以要回到原来,就是ModelLocator的绑定不应该这么随意,这其实太多教程、代码例子起了很不好的示范,就是把远程数据拿过来就直接绑定,利用PropertyChangeEvent分发到flex component界面,这看起来很爽,只要注意远程Delegate数据赋值,一切界面是视图上调整下,一个实例出来了,简单,清爽,代码也不多

其实这些实例大多对于本身来说他做法也没错,错的只是太过简单了,因为一个界面数据集合永远都不会是界面显示数据集合这么简单,内在相互逻辑都被忽略掉了,明白我的意思没,ModelLocator中有太多其实不需要绑定的数据被迫绑定,而且不会去解除绑定

 

Good Luck & Have Fun!

给大家出道题目

| 1 Comment | No TrackBacks

我前几天晚上突然想到的

 

假设一块地域,有3个蚂蚁窝,两两之间的距离直线相等,地域中没有任何障碍,窝有一个出口一个入口,每个蚂蚁窝初始有n个可供使用的蚂蚁,每一次窝出口最多出m个蚂蚁,每个窝出来的蚂蚁与其他两个都是敌对状态,当遇到其他两个窝的蚂蚁将一起消失,如果进入其他两个窝的入口,该窝的可供使用蚂蚁数-1,同时该蚂蚁消失,可供使用蚂蚁数=0时,该窝消失;进入自己窝的将在下一轮后重新出来

最后会只剩下一个窝吗

 

当然,考虑极限比如n=1呀之类的会快速得出一个可能性,但何不往全局方面看看呢

 

Good Luck & Have Fun!

Recent Comments

  • magicianzrh: @yile 是呀,我在想办法弄点新奇的玩意 read more
  • magicianzrh: @sevear 你要思维全面点、理性点 read more
  • magicianzrh: @ sayhelen 最近是太寂寞了 read more
  • magicianzrh: @Qizhi Zhang 我要给自己找点有趣的事情做做 read more
  • magicianzrh: @N神 没事,不太喜欢喧嚣的气氛 read more
  • yile: 没有激情了呀 read more
  • sevear: 我还是更喜欢写blog的你啊。上班见到你都太可怕了。 read more
  • sayhelen: [quote]这个领域里技术只是工具而已,了解大众并有效利用各渠道把游戏传播出去才是正道。[/quote] 同意这句。 之所以一些旧的问题老有人重复的问,是因为不停的有人加入,而总有人是要重新走别人走过的入门之路,不过是有人走的快有人走的慢而已。 read more
  • Qizhi Zhang: 老兄此言差矣。这个世界除了gamer,上到70岁老头,下到4岁小p海,从国内到国外,种种菜养养鱼的social game似乎才更大众化的,把游戏还原到小时候我们对游戏的理解,而不是打打怪,升升级。这个领域里技术只是工具而已,了解大众并有效利用各渠道把游戏传播出去才是正道。 当然我同意你的关于客户端游戏的看法,真正的gamer们又怎么会在意去下载一个庞大的客户端呢?web的表现力毕竟有限. read more
  • N神: 祝你早日重燃斗志 read more

Recent Assets

  • fengtou.jpg
  • p_large_vOud_404b000254042d11.jpg
  • p_large_ve73_46e10007e99d2d0e.jpg
  • p_large_NxRJ_3efa0007315f2d0b.jpg
  • p_large_D5wf_04a60008bded2d12.jpg
  • Getting Started with Flex3.JPG
  • art simulation.gif
  • zhou_jiang.jpg
  • zheng_chen.jpg
  • yuan_jian_ping.jpg

Find recent content on the main index or look in the archives to find all content.

3D Live Statistics