collectorsdk for all versions这里的version应该如何翻译呢?

英语翻译keep all versions of the converted filekeep the last version of the converted file onlylgnore converted filesload un-converted drm files onlyadd all filesload both converted and un-converted drm filesselect a screen capture size for drm video file conversion(capture s_百度作业帮
英语翻译keep all versions of the converted filekeep the last version of the converted file onlylgnore converted filesload un-converted drm files onlyadd all filesload both converted and un-converted drm filesselect a screen capture size for drm video file conversion(capture size:)do parallel conversions when converting drm filesparallel processing count(3 parallel processing is recommended)是一个视频软件的内容,比较专业.
My friend fell in fears while he finding that police are interrogating lodgers who are on spot.当得知警察盘问过在场房客的时候,我的朋友非常害怕.He grumbled about there are too many works while he sitting at his desk.一坐在桌子前,他就开始抱怨工作太多.I had a guilty conscience while I am not telling on the truth.由于没有讲出事实真相,我感到问心有愧.Obviously, they are teasing about my tie.很明显,他们都在嘲笑我的领带.He was excited when he was told that Beijing will hold the 2008 Olympics.当被告知北京将举办2008年奥林匹克运动会时,他非常地激动.He learned English badly since he put the emphasis on grammar instead of communication.他英语学得糟糕的原因是因为他把注意力放在语法上面而不是交际上.译文精彩,放心使用.移动APP游戏开发 | 本站关注 IOS ,ANDROID 平台游戏开发,关注OPENGLES 3D开发技术 服务端关注SmartFox SERVER 2X ,NODEJS 等前言技术
移动APP游戏开发
本站关注 IOS ,ANDROID 平台游戏开发,关注OPENGLES 3D开发技术 服务端关注SmartFox SERVER 2X ,NODEJS 等前言技术
& filed under .
注:《糖果粉碎传奇》开发商King上市,市值逼近70亿美元——难以想象这些彩色糖豆居然如此赚钱。年利6亿的King,日入五万的Flappy Bird,游戏蛋糕诱人垂涎,想咬上一口又无从下嘴——内地开发者血战国内红海,却不愿杨帆驶入占总市场80%的国际蓝海。剖析糖果的传奇,解读胖鸟的疯狂,中国手游何时才能接过“国王”的权杖?
  King市值近70亿 游戏市场蛋糕究竟有多大?
  电影票房破亿总会引来阵阵叫好,唱片销量超千万也会占上一块儿媒体版面……可同属娱乐产业的游戏,却总是门庭冷落、处境尴尬,似乎这个年轻的市场永远是主流人群眼中的“旁门左道”,无法登上“大雅之堂”。
  但实际上,游戏开发商是躲在镁光灯外的世界里,闷头数钱。纵观娱乐产业:音乐市场规模达170亿美元,电影340亿,游戏市场规模却已经高达700亿美元——两倍于电影、三倍于音乐的成绩,或许会让很多名人大咖汗颜。
  2011年,社交游戏开发商Zynga登陆纽交所,市值达逼近70亿美元。如今,《糖果粉碎传奇》开发商King也在纽交所IPO,市值也在70亿美元上下。如此量级让不少人大跌眼镜,游戏难道真的如此赚钱?
  数据显示2013年,《糖果粉碎传奇》开发商King营收达18.8亿美元,其中盈利高达5.68亿美元。如果数字的冲击力还不够,那么更直观来讲,这些彩色的小糖豆,仅仅用了一年的时间,就赚了老前辈亚马逊“一辈子”(截至当时)总收入的25%。
  在埃洛普带着诺基亚手机部门“投奔”微软后,延续芬兰科技自豪感的重任就落到了两家游戏公司肩上——《愤怒的小鸟》开发商Rovio、《部落战争》(Clash of Clans)开发商Supercell。今年2月Supercell公布了2013年的业绩:去年这家公司营收达8.92亿美元,较2012年上升近9倍;税前利润也达到4.64亿美元,远远超过了2012年的5100万美元。或许就连玩家也会感到意外:挥舞着阔剑的“野蛮人”、背着钱袋的“哥布林”,居然会从大家的腰包中轻易掏走了如此巨额的钞票?
  根据投资银行Digi-Capital发布的《全球游戏投资总结》报告,2017年全球游戏产值将达到1000亿美元——这是一块让人垂涎的巨大蛋糕。但根据谷歌给出的数据:2013年,中国游戏市场实际销售收入达到831.7亿元(约140亿美元):这意味着国内市场仅占总体700亿的两成份额。
  摆在面前的一切充满诱惑,但不少国内游戏开发者眼中,中国市场已让他们疲于应对,不熟悉的海外市场几乎就是天方夜谭,可遗憾的是,这转念间的畏惧就等于抛弃了80%的肥肉。
《Flappy Bird》日入5万 游戏厂商如何盆满钵满?
  其实,中国开发者并不必自怨自艾,因为游戏的成功都存在一定的共性:
  -《糖果粉碎传奇》:简洁、上瘾、“免费”、社交
  科技界振臂高呼“移动互联时代到来!”,King看准方向豪赌移动游戏,把糖果做到极致,赚得盆满钵益。据业内人士估算,每天进账100-300万美元,对这家瑞典厂商来说几乎不费吹灰之力。
  “糖果”成功大致归因于以下几点:
  1、简洁、令人上瘾。“糖果”之所以令人上瘾,因为它带给玩家的快乐和痛苦是相等的,并且契合了玩家的短期注意力。耗时短、节奏快的游戏更容易产生用户粘性。“糖果”就像真的糖果,吃了会让人上瘾。
  2、免费游戏的“付费经”(应用内支付)。面虽然游戏本身是免费的,但如果玩家等不及30分钟的冷却时间,想立即得到额外的游戏机会就必须付费。不得不说,King把住了移动游戏的“脉”。由于《糖果粉碎传奇》的巨大成功,“糖果”在一些分析师眼中甚至成为一种盈利模式。
  3、结合社交。玩家可以在Facebook上分享战绩,分享游戏机会,还可以交流游戏心得。玩家的心声:每天不看看朋友圈的游戏新鲜事,一天生活似乎有那么点不对劲儿呢。
  - Flappy Bird:简洁、上瘾、“免费”、社交
  今年2月,红白机气质的《Flappy Bird》红遍全球,这款用了半天时间就开发出的游戏,凭借“山寨”《超级玛丽》绿色水管,像素风胖鸟,令人发指的变态难度,创造了日入5万美元的神话。
中国手游如何复制“糖果”传奇?
  日入5万,意味着这几百行代码,一年就会给开发者阮哈东带来近1825万美元的收入。而且这一估算还很保守——这个有趣得越南人颇具“利他精神”,居然以《Flappy Bird》太过让人沉迷为由,硬生生“打断”了吸金鸟的翅膀。要知道,在最为广阔的中国市场,这只像素鸟才刚刚开始“嚄-嚄-嚄”起飞,就被亲爹腰斩。
  鉴于《Flappy Bird》无论是原理还是游戏规则亦或是界面都简单到用一句话就能概括出,不少媒体都将笔墨着重放到了《Flappy Bird》为什么会彻头彻尾的火了,免费游戏是怎样获得了如此高的收益?
  1、简约、令人上瘾:Flappy Bird就是你我能够看到的那样单纯:欢迎界面——胖鸟挥动翅膀等待起飞;开始游戏——飞,……,飞,撞柱子;Game Over——横幅广告。无奈玩家们就是停不下来:撞了南墙就重头再来,颇有种要么飞,要么死的任性。
  2、免费游戏的“付费经”(广告):笔者亲自计时测试,从小鸟起飞到穿过第一支柱子仅仅不过6秒,之后每根柱子之间大约有1.5秒的跳跃空档,以普通人类很难通过10关计算,玩死一局《Flappy Bird》只需要大概20秒的时间。算上重新开始游戏的反应空隙10秒,这样算来,菜鸟级用户很可能每分钟就会看到两次广告,从广告商处获得的收益,因为用户数量的激增而一路狂飙。
  这里有必要脑补一下App广告盈利模式:CPM(千次展示费用,按展示数量计费)、CPC(每次点击成本,按点击数计费)、CPA(每次行动成本,按下载/注册/问卷数计费)、CPS(按销售额计算佣金的分成模式)、CPL(引导成果计费) 、CTR(按点击率计费)、eCPM(每千次展示收益)。
  3、社交:虽然《Flappy Bird》本身并没有社交功能,可它的成功也脱不开SNS——YouTube上热度极高的PewDiePie用户,分享了令人抓狂的游戏过程,胖鸟从此名声大噪。
  虽然《糖果粉碎传奇》、《Flappy Bird》,一个是团队运筹帷幄,一个是单打独斗,但二者的成功却有着共性:简约、上瘾、(免费)、社交,这或许也会给游戏开发者些许启发。
  《开心农场》转战海外 如何抓住国际“现金牛”?
  还记得那个让你夜半上好闹铃偷菜的《开心农场》么?这款游戏在国内市场淡出了人们的视线,却在俄罗斯等市场疯狂捞金。开发商智明星通CEO唐彬森在谷歌活动采访中,总结了成功经验:借助谷歌的高用户覆盖、全球资源,深入并分析海外市场,利用Google AdWords精准营销,成功网罗优质客户。
  - 投身海外?要看战略
  中国市场也好,海外商机也罢,如何取舍还要看公司战略。中国有很多制造业企业主要关注海外市场,营收的一半以上来自海外。但是,海外市场也是全球市场的一部分。在经济全球化的大背景下,好的产品、优秀的游戏作品走向创作地之外的市场,成为一种趋势。登高才能望远,对国内企业来说,产品品质应该提到和海外战略一样,甚至更高的层次来考虑。只有做出好的产品,才有资格谈“是不是应该走向海外”,否则,为了出国而出国,只能自取其辱。
  - 地缘性套利?好产品是全球的
  手机应用包括游戏应用都存在所谓的“地缘性套利(geographical arbitrage)。虽然做海外市场时,会遇到文化差异问题、习惯差异问题,但其实这两个差异带来的推广的阻力远远没有经济水平、网络带宽、硬件条件所带来的制约大。像微信、Facebook,甚至包括苹果,好的东西到哪里都会受到欢迎。DST合伙人Alexander Tamas将此称为“地缘性套利”,意思是一个东西在这个国家火了以后,在其他国家依然会引爆。全球的用户是具有习惯上的相关性的,没有太大差异。
  - 推广、分析?利用社交、分析服务
  对国内游戏厂商来说,国外同行的成功经验有可取之处。专注在走向海外策略上,有几点可供参考。一是做好多语言支持。本地化最最起码的要有语言支持,多语言基础的玩家毕竟是少数,除非游戏简单到只有3、5个控件,否则多数人只能看着乐呵。二是利用好流量推广。借助YouTube等视频分享平台、Facebook、Twitter等社交媒体、谷歌搜索、AdMob,很多渠道都可以利用,尽量活跃推广方式。三是利用大数据研究用户喜好。当然,如果没有用户数据,研究用户数据就无从谈起,谷歌等公司提供的大数据平台就成了小公司的可选项。
  结语:在King成功IPO,Rovio、Supercell在中国市场疯狂掠地的时候,内地手游厂商是否也能在海外分羹?谷歌大中华区总裁石博盟预计,2014年将是中国游戏产业进军国际市场的黄金时机。这一年,《Flappy Bird》都能大红大紫,胖鸟飞飞飞,何时同样的传奇也会落到中国开发者的枝头?
& filed under .
虽然很多人认为移动互联网并没给金融领域带来本质的创新,但它对人们生活方式和观念的改变有目共睹。近日马化腾在接受采访时提出了十个移动互联网的趋势关键点:一、将一切人、物、钱、服务都连接。现在人除了睡觉几乎16个小时都在上网,比PC端多出十倍以上的使用时间,发展空间无比巨大。二、移动互联网不只是延伸,而是颠覆。包括现在最热的互联网金融在内,传统行业每一个细分领域都大有潜力可挖。每个行业都可把移动互联网变成为工具,也会衍生出很多新的机会。三、未来十年现金和信用卡消失一半。金融机构会小型化、社区化、智能化、多元化,因为大的网点已经很难经营了。未来五到十年现金和信用卡会消失一半,二十年内银行或者是大部分的银行营业网点的前台将消失,后台也将消失,保留中台,前后都可以外包出去。四、每个企业要给自己多一个准备。移动互联网时代,每个看似牢不可破的企业其实都有大的危机,稍微把握不住这个趋势都可能令数年的积累灰飞烟灭。五、搞不懂年轻人,就不搞定产品服务。因为人性就是要更新,跟不上时代就看不到最新的需求和机会。六、消费者参与决策:再发明会员卡。互联网把传统渠道不必要的环节都拿掉了,让厂商和消费者直接对接。腾讯将尝试用公众账号重新再发明一次会员卡,所有商家的会员卡都放到微信上。七、数据成为资源:通过大数据可以构建用户的“人品排名”,改变现有的信用体系。八、巨人倒下,体温还是暖的。不管多大的企业或政府部门都抵挡不住潮流。九、所有产品线都应该思考安全。产品线应该帮助带动安全的份额,提升安全领域的专业能力和形象。十、移动互联不拼爹,只拼团队。因为资源虽然可能分配不均,但最终赢不赢则取决于能不能做出精品。
& filed under .
Tracking the Ball’s movements 跟踪球体的运动
目前还没有代码连接到Chipmunk的模拟器上,上图片正常的运行。只有当扩展相应的方法之后,通过Chipmunk同步更新图像的位置才可以。这个过程可以通过多种途径来实现,例如,存储一个需要检查的点的集合。但是很幸运的是,Chipmunk设计了一个非常简单而抽象的过程让其轻松实现。接下来的这段代码就是我们需要写一次并且很少需要更新的,除非其中有一个或者某一个细节从这里移除了。
所以,在创建一个形体shape的最后一步,将会连接到一个特殊的body上,所以我们同样要在同一个shape里面存储一个UIImageView的引用。这意味着,所有的需要的数据都在中间位置,记住,Chipmunk总是提供给我们一个方便的函数:
view plaincopy to clipboardprint?
cpSpaceHashEach(cpSpaceHash * hash, cpSpaceHashIterator func, void * data)
This function takes a hash (an array), a function to be called for each element in the array and optionally a custom data parameter.
这个函数需要一个哈希数组作为参数,每一个数组里面的参数都会
So, go to the tick method and add this code after the cpSpaceStep call already there:
view plaincopy to clipboardprint?
// Call our function for each shape
cpSpaceHashEach(space->activeShapes, &updateShape, nil);
像我们之前介绍的一样,activeShape数组需要调用updateShape函数,这个将会在下一步实现。当我们实现地板的时候,我们将要讨论这个active的形状,所以不要着急关于这个的细节。
目前我们需要去实现updateShape函数,在开始的地方定义,最好放在其他的函数声明之后:
view plaincopy to clipboardprint?
void updateShape(void *ptr, void* unused); // Updates a shape’s visual representation (i.e. sprite)
And then, this code on the implementation file:
// Updates a shape’s visual representation (i.e. sprite)
void updateShape(void *ptr, void* unused) {
// Get our shape
cpShape *shape = (cpShape*)
// Make sure everything is as expected or tip & exit
if(shape == nil || shape->body == nil || shape->data == nil) {
NSLog(@”Unexpected shape please debug here…”);
// Lastly checks if the object is an UIView of any kind
// and update its position accordingly
if([shape->data isKindOfClass:[UIView class]]) {
[(UIView *)shape->data setCenter:CGPointMake(shape->body->p.x, 480-shape->body->p.y)];
NSLog(@”The shape data wasn’t updateable using this code.”);
虽然最后一段代码之后1,2行是需要的,但是仍然实现了很多事情。我加入很多检验和警告,这样来让你知道会出现什么问题,但是重要的是需要更新视图的位置。需要注意的是,我们并没有直接的分配Y轴是什么值,这是因为Chipmunk的坐标系统和Cocoa是不一样的。Cocoa系统初始的是左上角是00,Chipmunk是左下角。因为不同的框架有不同的坐标系系统,这样的话在我们实现的时候需要更加注意这些。Cocos2D和Chipmunk的坐标系是一样的。
ball’s passing over the floor
既然我们最终是需要这个球体进行运动,现在是时候编译并且运行了。如果你是按着这个流程做的,那目前运行的结果应该是,球体从上面掉落下来,然后加速运动,不需要太多时间之后,球体从右侧地盘穿过,这是我们下一步所要做的。
& filed under .
现在我们已经setup好了我们的工程,并且已经可以我们正式的学习Chipmunk之旅了。开始这个之前,我们需要学习一些基本的Chipmunk概念,知道他是如何组织的。
在开始模拟一个现实世界的物理现象之前,你需要你新的为一个规则,并且你需要创建一个容器,成装你所有的对象。Chipmunk叫做Space。出了这些基本规则以外,他同样扮演一个所有对象的容器,你将会创建一个模拟器,来使得他们正确表现。
定义任何一个对象,你都需要定义他的Mass也就是孩子两,和他的其它选项。这是一个Chipmunk里面叫做Body的概念。一个body在和其他的物体产生交互的时候自身不会产生碰撞,因为他没有形状‘shape’。出了没有形状以外,对象并不相同,你可能需要定义不同的变量,来区分不同的对象。例如,冰淇淋的上面要比你拿着的那个棍子要软一样。
定义一个body区域和不同的表面用来和其他的进行交互的话,你需要给一个body添加一个或者多个Shapes。总的来说,一共有三个Chipmunk可用的形状:circle,segment和poly。(翻译成:圆形,弓形,聚合的)。有了这三个形状的组合,你可以定义几乎所有能想象的body的区域交互。很明显,给一个body添加shape,并不能够产生碰撞。需要注意的是,通常很少很完整的像一个精灵的每一个形状一样实现Shape,给一个精灵添加很多的shape的话,会增加计算量。Chipmunk需要计算每一个帧,你需要通过一种简化的方式来覆盖很重要的部分,但是即便如此,你同样会感觉到它在模拟器中是正常运行的。
使用Chipmunk的时候,你可以尝试更新body的一些属性,例如速度,位置,但是这并不是被推荐的。主要的改变方法是应该和现实世界一样,需要使用提供Forces。需要提供沿着XX和YY轴的强度。为了使用向量,Chipmunk有个库叫做cpVect,可以允许你做很多常见的操作。例如多向量或者两个向量的投影。
同样的,Chipmunk支持Joints, 它允许你可以通过pin points, slide points,pivot, groove points.(这里怎么翻译呢),连接起来,虽然我不会在这个教程里面详细覆盖连接,但是你可以自己去研究。
& filed under .
[译]ChipMunk 教程1 – 设置
在我们开始实际的应用之前,这有很项目需要设置的步骤,之后我们才能专注于Chipmunk。
打开XCode,然后建立一个新的工程,使用‘View-Based’应用程序模板,这会建立一个简单的应用程序,启动应用之后,有个view会被显示出来。
我们通用需要导入Chipmunk文件,这个任务将分几步完成,包括创建一个静态的库,并且连接向我们的工程。在这个例子中,我们简单的拷贝我们需要的文件到工程文件夹中。然后下载最新的Chipmunk代码,解压缩,这个文件夹将会包含多个文件,例子以及文档,但是我们只需要关注src文件夹里面的内容。
在导入这些文件之前,我建议你创建一个新的group,在other source里面。然后使用‘添加存在的文件‘,选择刚才提到的src文件夹。务必要选中’Copy items into the destination group’s folder (if needed)‘ 这一项,通过这几步操作以后,如果你编译工程的话,不会报错。
目前我们已经完成的setup的环节了,我们不打算使用什么游戏引擎,创建几个图片,来代表我们的对象。虽然你可以用一些一个改变的code代替这些图片,但是我建议你还是使用的的图片和代码吧,这样可以减少你对代码的误解。
现在打开view controller,把这个添加到文件的上面。
view plaincopy to clipboardprint?
UIImageView * // Holds our floor image
UIImageView * // Holds our ball image
之后,把viewDidLoad解注,实现如下的代码。你可以拷贝复制过去,这段代码要放到[super viewDidLoad]调用之后:
view plaincopy to clipboardprint?
floor = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"floor.png"]];
floor.center = CGPointMake(160, 350);
ball = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ball.png"]];
ball.center = CGPointMake(160, 230);
[self.view addSubview:floor];
[self.view addSubview:ball];
现在运行启动程序之后,就会看到程序中显示我上面提及的那两个图片了。
& filed under , .
Documentation
Chipmunk Physics
Note: The documentation on this wiki documents Chipmunk v5.0.0.
First of all, Chipmunk is a 2D rigid body physics library distributed under the MIT license. Though not yet complete, it is intended to be fast, numerically stable, and easy to use. I’ve put hundreds of hours of work into making Chipmunk what it is today. If you find Chipmunk has saved you a lot of time, please consider donating. You’ll make an indie game developer very happy.
I would like to give a Erin Catto a big thank you, as the most of the ideas for the constraint solver I use now come from his Box2D example code. (Now a full fledged physics engine all it’s own: Box2D). His contact persistence idea allows for stable stacks of objects with very few iterations of the contact solution. Previously my solver produced mushy piles of objects or required a large number of iterations in order to get a stable behavior.
这个文档针对于v5 .0而言
首先,Chipmunk是一个2D的刚体物理引擎库,遵守MIT协议。虽然现在还没有完成,但是它被设计更快,更稳定,使用更简单。我已经投入了上百个小时在Chipmunk里面如果你发现使用了Chipmunk能给你节省时间,那么你可以考虑捐赠。它能够是游戏开发者变得快乐。
我非常的感谢Erin Catto, 因为它是我从众多的解决方案中Box2D例子得来得。。。。。略。。
Overview 概述
There are 4 basic things you need to know about in order to work with Chipmunk.
为了能够使用Chipmunk,你需要按顺序了解以下几个基本特征。
Rigid Bodies: A rigid body holds the physical properties of an object. (mass, position, rotation, velocity, etc.) It does not have a shape by itself. If you’ve done physics with particles before, rigid bodies differ in that they are able to rotate.
刚体,是一个对象的物理属性,他没有自己的形状,如果在物力上对粒子有了解,刚体不同于粒子,它可以旋转。
Collision Shapes: By attaching shapes to bodies, you can define the a body’s shape. You can attach as many shapes to a single body as you need to in order to define a complex shape. Shapes contain the surface properties of an object such as how much friction or elasticity it has.
冲突形状:通过物体形状的附加,你可以定义一个物体的形状。你可以给一个单一的物体附上很多你需要的形状,很复杂的形状。形状包括表面的属性,就好像有多少摩擦或者弹性(elasticity猜的)
Constraints/Joints: Constraints and joints describe how bodies are attached to each other.
限制和连接:描述物体之间如何接触。
Spaces: Spaces are the basic simulation unit in Chipmunk. You add bodies, shapes and joints to a space, and then update the space as a whole.
空间:Chipmunk最基本单元的模拟。添加物体,形状,到一个空间,然后以一个整体进行更新这个空间。
The best way to get support is to visit the Chipmunk Forums. There are plenty of people around using Chipmunk on the just about every platform I’ve ever heard of. If you are working on a commercial project, Howling Moon Software is also available for contracting.
Chipmunk最好的支持就是Chipmunk论坛,它有很多使用Chipmunk的开发人员,它们把它应用在很多我所听过的平台。如果你工作在一个商业的项目上, 签协议?
Rigid bodies, collision shapes and sprites: 刚体,冲突形态和精灵
There is often confusion between rigid bodies and their collision shapes in Chipmunk and how they relate to sprites. A sprite would be a visual representation of an object, the sprite is drawn at the position and rotation of the rigid body. Collision shapes representation of the object, and how it should collide with other objects. A sprite and collision shape have little to do with one another other than you probably want the collision shape to match the sprite’s shape.
人们常常混淆这刚体,冲突和精灵的关系。精灵是一个虚拟的,物体的呈现,精灵以一种位置和旋转过的刚体位置来绘制。冲突形态表现的是物体的冲突,它和其他物体冲突的时候应该如何表现。精灵和冲突形态之间需要做的就是,你可能回把冲突形态与精灵的形状向匹配。
Chipmunk Basics Chipmunk的一些基础知识
Initialization 初始化
Before you do anything else, you must initialize Chipmunk. Otherwise you will crash as soon as the first collision happens.
cpInitChipmunk(); // That is all
Additionally, if you didn’t compile Chipmunk with the NDEBUG flag, it will print out the debug mode message and the current version number to stdout.
再你开始之前,你必须初始化
Chipmunk,否则将会crash,初始化使用以上那个函数。除此之外,如果你还没有通过NDEBUG flag 编译Chipmunk的话,你需要打印出debug模式的信息,和当前的stdout版本号。
Memory Management the Chipmunk way Chipmunk内存管理之道
For many of the structures you will use, Chipmunk uses a more or less standard set of memory management functions. For example: 对于很多你使用过的框架,
Chipmunk使用的是标准的内存管理函数,例如:
cpSpaceAlloc() allocates but does not initialize a cpSpace struct.
cpSpaceInit(cpSpace *space) initializes a cpSpace struct.
cpSpaceDestroy(cpSpace *space) frees all memory allocated by the cpSpaceInit(), but does not free the cpSpace struct itself.
cpSpaceNew() allocates and initializes a cpSpace struct (calls cpSpaceAlloc () and cpSpaceInit()).
cpSpaceFree(cpSpace *space) calls cpSpaceDestroy() and then frees the cpSpace struct.
While you will probably use the new/free versions exclusively if you are using C/C++, but the alloc/init/destroy functions can be helpful when writing language extensions so that you can more easily work with a garbage collector.
In general, you are responsible for freeing any structs that you allocate. Chipmunk does not have any fancy reference counting or garbage collection.
当你使用c/c++的时候,你可能选择不去使用new/free分配内存。但是分配/初始化/销毁 函数将会给你的语言扩展带来很大的帮助,所以会使得垃圾回收机制变得更加容易的工作。
通常来讲,你要对你自行分配的任何结构使用free来销毁这是你的责任。
Chipmunk没有任何引用记数和垃圾回收?(没看懂什么意思)
Math the Chipmunk way 匹配
First of all, Chipmunk uses double precision floating point numbers throughout it’s calculations by default. This is likely to be faster on most modern desktop processors, and means you have to worry less about floating point round off errors. You can change the floating point type used by Chipmunk when compiling the library. Look in chipmunk.h.
Chipmunk在计算的时候,缺省使用的双精度浮点数。这是对于当前的桌面处理器来说,很快速。并且意味着你不用去担心舍去所出现的问题。你可以改变浮点的type,当你编译库的时候。详细的参看Chipmunk.h
Chipmunk defines a number of aliases for common math functions so that you can choose to use floats or doubles for Chipmunk’s floating point type. In your own code, there probably isn’t a strong reason to use these aliases unless you expect you might want to change Chipmunk’s floating point type later and a 2% performance hit from using the wrong float/double version of math functions will matter.
Chipmunk定义了一些列的数学运算函数,这使得你可以选择使用单精度或者是双精度浮点类型。 在你自己的代码中,这可能不是一个很大的因素去使用这些函数,除非你期望改变Chipmunk浮点数的类型,使用了float/double造成的并且一个2%性能损失,并不会太大。
That said, there are a few functions you will probably find very useful:
cpFloat cpfclamp(cpFloat f, cpFloat min, cpFloat max)
Clamp f to be between min and max.
cpFloat cpflerp(cpFloat f1, cpFloat f2, cpFloat t)
Linearly interpolate between f1 and f2. f1和f2之间额外的直线
cpFloat cpflerpconst(cpFloat f1, cpFloat f2, cpFloat d)
Linearly interpolate from f1 towards f2 by d.
To represent vectors, Chipmunk defines the cpVect type and a set of inline functions for working with them (cpv, cpvadd, cpvmult, etc). See the API reference for more information..
Chipmunk C API (c语言API)
Main API 主要的API
cpVect – Create and manipulate 2D vectors. 创建和操作一个2D的矢量
cpBB – Create and manipulate 2D axis-aligned bounding boxes. 创建和操作一个2D坐标轴绑定的box
cpBody – Create and work with rigid bodies. 创建一个具有刚体属性的物体
cpShape – Attach collision shapes to rigid bodies. 给刚体加上一个冲突形状
cpSpace – Create a “space” to put your objects into and simulate them. 给物体和模拟它们之间创建一个空间
cpConstraint – Create joints and other constraints. 创建一个连接和其他约束
Learn about how CollisionDetection in Chipmunk works. 学习如何处理Chipmunk冲突工作
Learn about Chipmunk’s CallbackSystem and cpArbiter struct for recieving collision events and adding custom behavior to your physics. 以上两个结构接受冲突时间,加入一个自定义的物理表现。
Learn about Queries. Point queries and segment queries (raycasting). 学习如何查询,指出查询的片断。
Links (以下就是相关的链接)
http://www.slembcke.net/forums/viewforum.php?f=1 – The official forum 官方论坛
Games – A list of games done with Chipmunk 使用了Chipmunk引擎的游戏列表
BindingsAndPorts – A list of bindings and ports of Chipmunk to other languages.
本来说好下午翻译,或者先看看cocos2d的应用的。结果郁闷的无所事事的墨迹到晚上。。。k。。
只能翻译好了再睡觉。。MACOS输入法好难用啊。。
注:本文不是全文一句句的翻译。大概就是那么个意思。大体的讲讲。不重要的一概忽略了。。需要的,自己详细读吧。不过这也只是一个概述而已。。。具体还要深入分析研究才是。。
& filed under .
故事的开头是——网易向独立游戏工作室灵游坊投资数百万美元,这是以研发和代理网游闻名的企业向一间单机游戏工作室的投资。
在我采访的时候,留学生创业园内几十平米的灵游坊还摆不下独立会议室,我和梁其伟所有的对话在并不宽阔的走道座椅上进行,时不时有路人闯进我们的对话。
梁其伟的语调平缓沉静,字符间的节奏不长不短,恰好容纳了他有条不紊地将思维转换为语句的时间。从他独自一人在清华的副科课间画出独立游戏《雨血》草图起,至今已有 7 年。
7 年中,他经历人生目标的转换,从可以在上海拿欧元 global pay 的准建筑师变成职业游戏制作人。独立制作的《雨血 1:死镇》起初在国内免费发布并在小圈子内受到关注,随之的英文版在国外独立游戏平台获得几万套销量,而后又与国内知名代理商 Gamebar 合作发行雨血前两作,迎来第一批国内付费用户。成立灵游坊工作室后,第三部《雨血前传:蜃楼》颠覆单机回合制模式,弱化剧情加入打击快感,成为容易令男性玩家们血脉贲张的横版格斗类游戏。
下一个起点则是手游——他们正在将单机《雨血前传:蜃楼》搬上移动屏幕,成为一款手机网游,预计在年内正式上线。
但梁其伟说:“我们这种背景的团队走每一步都要非常谨慎和扎实。因为有时候大家都做的事情我们做了一点,就会被骂没节操,堕落,向金钱屈服。在这其中取得一个微妙的平衡点,这事儿挺有意思。”
作为独立游戏制作人,梁其伟算是起步颇早——他 1985 年生,在清华建筑系读大三期间即开始设计自己的第一款独立游戏《雨血 1:死镇》。即使是如今的岁数,他仍要比 Markus Persson 开发数字沙盘游戏 Minecraft 时还小上几岁。正是因为生在这个年纪,他和同代人深受古龙影响。
雨血系列的人物设定、剧情风格皆衍生于古龙的武侠世界,甚至“雨血”一名也来自古龙的《天涯明月刀》,原文是——“天雨血,鬼夜哭”。
刚开始做《雨血》时,对武侠世界的奇异想象被他在副科课上画成线稿,晚上回到宿舍,则将线稿扫描进电脑,再用 RPGmaker 编写游戏程序。做这件事,每天大概要用上十个小时。
最初他为《雨血》前身《鬼械》完成的两幅人设图是:右臂与腿部被打碎、以火焰盔甲构成人形的“绝魄”,和仅余半截躯体、以脸谱操纵怪物的“七鬼冥荼”。而后画出的主角“九刹”则是一个被斩去右臂、抛下万丈深渊的“半死之人”,依靠“鬼药”维持生命。全部造型妖异、色调灰暗、极具个性。(参考:独立游戏《雨血》诞生记)
这正代表了典型的独立游戏——因为制作者抱有强烈地制作、撰写与完成的愿景而着手制作的游戏。它冷酷、肃杀、出人意料,但晦涩的基调背后其实暗含着古龙世界自由的武侠精神:归隐大侠,说书先生,青楼女子,名门正派,无名杀手,客栈老板……混乱世界下,每个人皆有独特的处事态度。
这和大公司光鲜亮丽的商业产品形成截然对比。
独立游戏《时空幻境》的制作者 Jonathan Blow 在《独立游戏大电影》里说:“大公司做的,是经过精细打磨的产品(highly polished things),来迎合尽可能多的消费者。他们达成目的的方法是,把所有棱棱角角的地方都磨掉。如果那边有个尖角,不管是别人自己撞上去的还是怎样,都要确保没有人会因此受伤。这与做出具个人特色的作品,恰恰相反。”
在《雨血》之前,所有国内单机游戏皆依循主人公从孱弱少年成长为大侠的游戏路径,但梁其伟却让他的主人公“魂”一开始便处于满级,身份为神秘组织的二把手,试图以碎片化的线索拼凑出错手弑父背后的巨大阴谋。他的迷宫不难走,他的角色经验值上升很快,他的游戏总共只四个小时时长——这一切使《雨血》看起来像国产单机游戏的异类,虽未出现在主流媒体中,其创新性却在同人圈和 RPGmaker 圈激起反响。
“我当时就觉得放上去,看玩家那些玩后感、那些吐槽、同人作品,我非常开心。所以图的就是这种东西嘛,赚不赚钱是后面的事情。实际上现在很多快餐页游,也许可以在短期内把一批玩家坑进去,榨汁一样的榨出一些钱,但是会有玩家自发地给一个网页游戏做 cosplay、写同人小说、画漫画、讨论一堆剧情,然后变成像文化一样的东西吗?我反正是没见过。”梁其伟说。
“剧情见长”,一直为《雨血 1:死镇》、《雨血 2:烨城》的爱好者所称道。
但到了雨血第三作《雨血前传:蜃楼》时,梁其伟开始有意将游戏中过于沉重的内容隐去。抱怨随之而来——雨血的剧情感减弱了。
事实上,制作《蜃楼》时,梁其伟并不愿意在自己的游戏中贩售过多的文化符号。他认为单机游戏走入了一个极端——“贩卖文化符号和堆砌文化符号的极端,像仙剑轩辕剑这样的作品,在国外不会有人玩的。确实像日本游戏时常也会有很多文化符号,但那是在日本游戏出色的核心游戏性超越了文化界限才成立。有一个很好的游戏机制、玩法很爽的前提之下,海外玩家反而会主动去探讨其中的文化内涵,所以日本文化在欧美玩家中的影响力是非常高的”
他说,借由商业化娱乐手段表现出来的“中国文化”,一种是只有中国人才能理解的中国文化,一种是外国人也能理解的中国文化。这就是李安和国内大导演的区别。“我们现在已经不贩卖任何晦涩的文化元素了,就是一种普适性的、人性的画面风格和战斗风格。对一个老外来说,他玩下去马上被我们高速的、千奇百怪的形象、游戏机制、战斗的爽快感所吸引,就很好了。肾上腺素和荷尔蒙是共通的。我觉得这样它(蜃楼)就可以传达男性玩家想要的观念。”
在《蜃楼》中,角色运动不被 Y 轴上下局限,战斗速度极高,背后系统以精准运算带来高速运动下的打击快感。
“这样的东西是跨文化的,你创造了一个世界观,一套运行的机制——那世界里有机械、有科技,但它又是武侠,又有剑法、有内力之类的元素。所以在这架构之上,可以有疯狂的科学家、剑士、和尚,杀手(可能是半人半机械化的生化杀手)。”
在文化观的解释之外,或许商业化亦是雨血剧情感减弱的另一注脚——制作《蜃楼》时,梁已经拿到种子投资并在北京有了自己的游戏工作室“灵游坊”,不是雨血一代二代完全由个人制作的境况。更为重要的是,灵游坊开始尝试商业化,今年年初与 Gamebar 合作发行《蜃楼》,30 元可以购买一个 CDkey。而目前,灵游坊正忙于《蜃楼》在海外平台 Steam 上的发行,以及年内即将上线的手游的完善工作。
雨血正在脱离原来小众的独立游戏,走向大众的市场。
就像我们听过的多数有关小团队的故事一样,以独立的个人开发者或者小团队的形式存在,最容易经不起现实世界的波澜。梁其伟也说,“大公司可以以资本运作的角度去投游戏,利用他已有的盘子,很快就能看到回报,因为游戏本身就是暴利行业。”资本堆积可以请来最好的画师、最好的策划、最好的程序。他们就像海军,但小团队就像海贼——和大公司行驶的海道一样,所遇风险一致,只是同样一个大浪打过来,海军的大船不为所动,海贼的小船却沉了。
幸运的是,当梁其伟回国创业时,他先后遇见了两个人——一位是徐小平,一位是丁磊。
见徐小平时,他仅有的只是做四年独立游戏所积攒的图片和文字资料,没有创业经验(刚刚回国),以前所学的建筑知识等硬性技术在游戏领域又尽皆失效。但二十分钟过后,徐小平给了梁 100 万人民币的种子投资,他得以在耶鲁大学归来不久创立自己的游戏工作室灵游坊,并有了四人的制作团队。
而今年见到丁磊,他依旧直言:“我跟他说,之前的 PC 单机游戏做得再怎么样,其实不赚钱。进入手游,也会采取一贯的节奏和方式研发,可能会错过许多机会。”
丁磊的答案则是一个词:死磕。
今年内,灵游第一款手游《雨血前传移动版》将会面市。和其它网游一样,其中将内置付费点:消 CD(消除各种升级时长)、多种强化角色实力的系统,对战排行榜,抽奖等。他们还将考虑推出一款单机手游,付费购买但过程中不加入付费点。 距离《雨血前传》手游研发开始,已过去六月。
“国内绝大多数的手游团队是一种执行团队——首先选一种耳熟能详的大众题材(比如三国,金庸),然后再选一种很火的玩法,比如 COC 类或者卡牌。选定玩法后开始执行,以最快的速度做出一款产品,这就是执行团队的玩法。”
对于上述争相抄袭的执行团队而言,唯一可以比拼的就是抄袭的速度,业内称之“卡位”,即领先卡住某领域第一的位置使后来者很难居上。而打磨品牌的团队更像是自己和自己贴身肉搏,抄袭者在千军万马过独木桥,灵游坊则需要自己搭一座通往对岸之桥。
“我们是做 IP(品牌)的,哪怕《雨血》这个名字的知名度远不如金庸小说或者三国,但我们要去做这个品牌,并且看着它一天一天长大。也许这东西有大成,可能是五年后十年后,但这是一个值得做的事情。”梁其伟说,“Angry Birds 就是非常明显由做产品变成做 IP 的案例。你发现 Rovio 这个公司现在开始拍电影、卖毛绒玩具、出各种各样的漫画,是因为目前这种重度手游开始多的情况下,Angry Birds 游戏本身已经不具备很强的盈利能力了,但是它有了这个 IP,立刻变成一个做产业链的公司。迪斯尼要买 Rovio,就因为它现在是一个产业链的拥有者,而不只是一个产品的拥有者。”
“海外游戏原创品牌占了绝大多数,而且产生了许多能媲美电影及文学作品的伟大 IP。我听过最终幻想的音乐会、暴雪的音乐会,被彻底震撼过。中国游戏人好像更愿意在已经家喻户晓的 IP 上发挥,而不是做原创 IP。这样看起来风险最小,其实也未必,比如数十款名称中含有’三国’字样的游戏同时出现在玩家眼前时,产品已经先从题材上同质化了。”梁其伟说。
他更看重因品牌而至的“滚雪球效应”:“我们的作品从一个人做的时候几百人玩,到第二部几万人玩,到现在单机,仍然是一个三十多万付费玩家的小众产品。而我们到下一步,会是在一个十倍大左右的空间里面做,它可能不会达到一线大作,但这个盘子很稳固,并且基本上是靠口碑传播。”
但他也承认,《蜃楼》之中存在续作不如原作的情况,独立的东西到后面有一个必然:当它从一个小众市场向大众市场迈进的时候,有一些人会认为它没有原来小众的时候那么极致。
我第一次问他这个问题,他的回答是——作为这个独立游戏的一部分,玩家只能接受这种延续,哪怕它并不完美。但他第二次的回答,我认为更接近他此时最真实的状态:
做游戏这样的文化产品分为“功能层”和“文化层”,如果要把某个独立意味很强的“文化层”的东西变成大众,那么在“功能层”上就要非常完善,非常具有亲和力。这是一种平衡的艺术,跟以前做建筑是完全一样的。你造型夸张,底层结构就要坚固。要突出大屋顶,下面一定有一排默默无闻的柱子在支撑。所有成熟的底层工作只是为了一两个最具杀伤力的点,用户只看到那 1、2 个点。这是真正的成熟的创新,以前独立游戏的时候可能我想有 10 个、8 个点全是创新的。
比如之前的 PC 版,已经开始往这上面走,但是还不够。玩家会说,剧情没有以前好了。这就是我们的不对,因为我们处在犹豫的状态,还是奔着 10 个点都想颠覆的状态,那里面一定会出现严重没有精力做好的点。
因为要做一个很颠覆的点,太难了。我以前独立制作的一代,我认为艺术价值非常高,其实也就是两个点:风格,剧情。但是 PC 版的蜃楼,慢慢弱化了,这不是我花的时间少了,而是又想着做其它创新点,加起来反而弱了。
就像一般名作都是由大量普通的语言组成的,在关键的地方出现一个极强的震撼。我们现在就是要先学会写大量普通的语言。
他欣赏《黑天鹅》里的一句台词:“完美不是控制出来的,完美是爆发出来的。”他说,愿意一直做自己想做的东西,即使到最后市场反应不好,也不会有任何后悔,或者下次不这么干了的想法。而是想说——是自己做得还不够极致。“彻底极致地表达,优点和缺点都非常明显,这是完美。从艺术角度上,甚至连缺点都变成完美的一部分。”
注:灵游坊正在招募志同道合的移动游戏开发者,服务器程序,角色原画等,感兴趣可以联系 job@.cn。
& 移动APP游戏开发

我要回帖

更多关于 collector 的文章

 

随机推荐