Author Archives: Benny Chen

Unity Developer ++

去新公司工作已经有一个月了。通过这一个月时间的努力,使得这个世界上又多了一位Unity Developer – ME! 这一个月围绕Unity 3D引擎基本上做了这样一些事情: 前两个星期用Unity完成了一个基本的demo; 利用Unity的shader system完成物体的silhouette outlined effect,目前效果已经实现,但是在算法的优化和实现上还有一些问题。在国庆前给Unity公司的Ole发了邮件请求帮助算法的优化,Ole告诉我有解,但因为正忙于一年一度的Unite Conference,所以还没有时间给我详细回复。稍后应该会有一篇文章描述更多的实现细节; 基于Unity的GUI system,完成了一些GUI animation,最重要的是实现了方便GUI animation的一些Utility class – Sprite2D, Sprite2DGroup。 另外的一些事情: 开始使用Evernote,并且马上爱上它,太赞了! 仍在挣扎适应公司同事不同国家的英文口音 >_< 公司的五人足球队成立了,并且在第一场对英国大使馆的比赛中,我上演了帽子戏法(^^) PS:今早不到10点就跑到了中关村的Starbucks,享受包场=.=

Another Thread @ Moai Forum

Does Moai support an API like ‘setTimeout’? http://getmoai.com/forums/moai-sdk-developer-support/does-moai-support-an-api-like-settimeout/ Me Hi, Does Moai support an API like JavaScript’s setTimeout, which schedules a function execution after a specified time. I noticed there is a Moai class called MOAITimer, so I’m wondering if this class could be used for this purpose? I know a ‘setTimeout’ function could be [...]

为SyntaxHighlighter添加新语言

因为经常要在博客里贴一些Lua代码,但是所使用的SyntaxHighlighter插件默认不支持Lua语言,所以去研究了一下如何为SyntaxHighlighter添加并激活一个新的语言,这里将过程和有同样需求的童鞋分享。(因为我添加的是Lua语言,下面的过程描述会以Lua为例,在添加你所需要的语言时,你只要将相应的项更换为你的自定义设置即可) 1. 从这篇博客里寻找所需要的语言:http://www.undermyhat.org/blog/2009/09/list-of-brushes-syntaxhighligher/; 2. 下载对应的shBrushXXX.js脚本,比如我下载的是shBrushLua.js,它看起来像这样: 3. 使用FTP工具登陆到WordPress空间,进入到wp-content/plugins目录,新建一个目录,取一个有意义的名字,比如syntaxhighlighter-lua; 4. 将shBrushLua.js上传到新创建的目录; 5. 在该目录创建一个另一个shBrushLua.php文件,添加如下内容: 6. 文件都准备完了,OK,进入到WordPress后台管理的Plugins下,应该能看到新添加的一项syntaxhighlighter-lua,激活它。 Done! It should work now! 其实新添加的js和php文件也可以放到SyntaxHighlighter插件本身的目录下,但是让它独立成插件的好处是,当SyntaxHighlighter升级时,你的个人配置不会因为覆盖而丢失。

基于Lua的State Pattern

代码来自于最近写的Pacman,更多请查看 – https://github.com/bennychen/Moai-based-Pacman class.lua实现了在Lua中创建类的模拟,非常方便。class.lua参考自http://lua-users.org/wiki/SimpleLuaClasses State基类,包含三个stub函数,enter()和exit()分别在进入和退出state时被执行,onUpdate()函数将会在state被激活时的每帧被执行。 StateMachine类,该类集成了Moai的MOAIThread类。MOAIThread类似于Lua中的coroutine,但是在Moai中被yield的MOAIThread,会在game loop的每帧中被自动resume,见StateMachine:updateState函数,利用此特点,来实现每帧执行State:onUpdate函数。 如何利用State和StateMachine类的示例,首先定义两个state。 SampleState.lua test.lua

基于Moai的Pacman

最近一两个星期,在业余时间利用Moai引擎重写了当年曾经用DirectX实现过的Pacman游戏。基于Lua的代码基本上是重写,只是保留使用了之前的2D资源。重写的目的一是通过这个来熟悉Moai引擎,二是希望用一个比较好的OO结构来重新实现Pacman,三则纯粹因为好玩。 把所有的代码,资源和文档都已经上传到了github,github真的是个好东东。 https://github.com/bennychen/Moai-based-Pacman 介绍: This is a prototype game based on the Moai game platform – http://getmoai.com. With various APIs for drawing and handling different 2D elements that Moai has supported, it clones a 2D Pacman game. I programmed the game for several objectives. Firstly, because I am just new to Moai, I try to [...]

在Moai Forum的问题帖

(关于Moai,见我的上一篇文章。) 下面贴出在Moai Forum上我最近的两个问题帖。回答者都是Patrick,他是Moai引擎的领导者,同时也是’Zipline Games’的CTO。他似乎是个不错的人,在我每次贴出问题后,总是在最快的时间内解答。 1. Does MOAILayer2D only support 512 props maximumly? http://getmoai.com/forums/moai-sdk-developer-support/does-moailayer2d-only-support-512-props-maximumly/ Me: I was trying to put lots of props onto a layer with function MOAILayer2D:insertProp, but found that if I inserted more than 512 props, all the props will fail to render on the layer. Is 512 the threshold for a layer’s [...]

Moai

最近通过澳洲朋友Andrew的介绍,开始使用了一款正在开发中的开源游戏引擎Moai – the mobile platform for pro game developers. Moai是一款由’Zipline Games’公司开发的2D游戏引擎,我写这篇文章时的版本是0.5 Beta。它最大的特点就是集成了Lua脚本语言,它提供了一系列class-based的Lua API。开发者一般只需要通过写Lua脚本,即可实现一款游戏。而引擎本身解决了跨平台的问题,开发完的游戏可以顺利的发布到iOS和Android平台。而引擎本身提供的功能上,也基本上覆盖了需要开发一款2D游戏所有的元素,设备和输入,2D Sprite,动画,字体,粒子系统,物理,声音等。Moai的另外一个重要特色是提供了一个它称之为Moai Cloud的云服务,对于这个我还没有深研究,不过据称它可以让需要后端server的游戏变得简单,用户同样只需要用Lua来编写server的逻辑代码,而至于像scale-up这样的问题完全可以交给Moai引擎来处理。 然而开源引擎,尤其是处于Beta测试中的开源引擎,想用于开发正式的游戏确实有些不可靠。我最近在把之前写过的一个Pacman 2D移植到Moai上,但是遇到了很多的问题,并且一些问题最终通过层层纠结后证实是引擎本身的问题。虽然过程坎坷,但因为参与开源引擎项目,并有了自己的contribution,这本身着实是一件令人欣慰而振奋的事情。 但是希望Moai的开发者们work harder,让Moai尽快变得更好 注册并获取Moai:http://dashboard.moaicloud.com/ Moai入门文章: 第一部分:http://getmoai.com/2011/04/moai-basics-part-1/ 第二部分: http://getmoai.com/2011/04/moai-basics-part-2-2/ Moai API Documentation:http://getmoai.com/docs/