开发独立游戏开发收入的广告收入

成为独立游戏开发者并不是件简单的事
作者:游戏邦
成为一名独立游戏开发者并不是一件轻松的事,我便是一名独立游戏开发者,我也有一些独立游戏开发者朋友(包括美术师,程序员,音乐师等),我们也一直为发行一款成功的游戏而努力着。
sad_developer(from gamasutra)
说实话,大多数游戏都因为各种原因而不能与玩家见面。这些原因包括:
开发一款游戏是超级消耗时间的,并且如果你还有一份全职工作,一个家庭,甚至还有其它业余爱好的话,你便很难在业余时间去完成这些工作。这可能会让你感到受挫并因此失去游戏开发兴趣而选择完全退出这一领域。
开发一款游戏还需要足够的资金。如果你需要长时间致力于一款游戏中,那么除非你真的很幸运并有足够的能力,否则你便可能遭遇各种金钱问题。如果你拥有一家公司,那么你可能从一开始便会遭遇这样的问题,而如果你是独自工作或与朋友合作,你便可能需要花钱使用某些服务。当然了,这一点也与上一点相关,即如果你是自由职业者而非专职于游戏制作的话。
如今的商店里充斥着各种游戏,特别是手机商店。这是所有人都知道的事,当然也包括独立游戏开发者。如果一款游戏并不能在此有所突出的话,它便很难获得成功。这有可能彻底打击一个人的动力并导致他选择退出。
大多数独立游戏开发者都不想承认市场营销是这一过程中非常重要的一部分。就像我一个朋友曾经说过,如果你想在此获得成功,理念占据5%,执行力占据30%,而剩下的65%便是市场营销。几天前一个朋友跟我说他希望赶紧完成自己的游戏创造,到那时候他就能看到游戏是否能够获得成功了。而我在过去也曾犯过这样的错误,我也不想再犯这样的错误了。于是我告诉他应该尽早对游戏进行市场营销,否则他的游戏便不可能在Google Play Store获得好成绩。明确项目愿景很重要,在开始前制定一份市场营销计划也很重要。即使你是与发行商合作,你也需要凭借自己的能力进行游戏推广,因为并非所有发行商都强大到能够接触到所有玩家。
在此我想谈谈Kickstarter或Indiegogo等活动,即你可能认为它们便会帮助你解决上述的问题。当你的项目获得支持时,你便能够获得来自媒体的新闻报道,游戏玩家也能找到你,你的游戏也将获得更多关注,等等。当你在这类型活动中获得成功后,你便能够更灵活地使用资金(游戏邦注:当然不是花在买酒上了)。你可以参加世界各地的游戏大会,将你的游戏带向更多用户,参加一些创业推动项目,并做各种各样有利于你的项目的尝试
但是为什么在Kickstarter和Indiegogo等活动上获得成功却如此困难呢,即使你的游戏非常出色?
这里主要存在一些问题:
为了运行一个成功的活动,你便需要制定一份强大的市场营销计划,因为你必须让人们能够发现你和你的活动。遗憾的是,对于独立游戏开发者来说实在有太多游戏工作室都在使用这样的活动。Gagame-devme工作室和发行商可以投入许多钱去营销他们的活动并主导这些拥挤的平台。在大多数情况下他们的投入都是为了帮游戏吸引更多用户,当然了在一个活动结束后他们的投入总是能够得到回报。你可以问问自己,为什么一家正致力于开发一款复杂游戏的游戏工作室只要求2万美元的资金?因为在递交了各种税收后,他们可以用这些钱去支付雇员4或5个月的工资,并且游戏也将在20个月后发行。我并不是说这种做法缺少内涵,这只是一种市场营销计划。
在Kickstarter/Indiegogo上还有许多基于不同领域的活动。所以你不可能只是让Kickstarter的员工完全致力于推广你的游戏。
除了电子游戏外还有很多桌面游戏。Kickstarter应该对此进行分类。
一个朋友曾经告诉过我一个只专注于电子游戏,名为GameKicker的新项目。根据我的了解,他们只接受独立游戏开发者去创造活动,即其它游戏开发工作室将不能参与。他们还会提供活动管理者去培训开发团队以帮助他们成功运行活动。这将能够帮助独立开发者筹集到所需资金并创造出他们想创造的游戏。
gamekicker(from gamasutra)
不幸的是,他们使用的是Stripe这一支付网关,而当下这一支付方式在很多地方还不可行。例如我便不能再罗马尼亚使用这一平台。但谁知道未来会变成怎样呢。也许这一项目便能够解决我在上述所提到的各种问题。让我们对此报以期待。
官方微博/微信
每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。
↑扫描二维码
想在手机上看科技资讯和科技八卦吗?想第一时间看独家爆料和深度报道吗?请关注TechWeb官方微信公众帐号:1.用手机扫左侧二维码;2.在添加朋友里,搜索关注TechWeb。
独立游戏开发者
Kickstarter
相关的资讯有:
独立游戏开发者
Kickstarter
相关的博文有:
CF手游专区
天下手游专区
Pokemon GO专区
斩民国妖邪,品鬼水怪谈,由万达院线游戏发行,天下霸唱授权电视剧《河神》...
西游回合,快乐交友!《神武2》手游全新好声音活动上线啦!这个夏季还在苦...
通过官方的介绍,我们可以得知《克林巴》是一款PC移植作品,曾经获得过BAFT...
资深三国游戏工厂边锋又放大招!这次带来的《权倾三国》吊足了我的胃口,据...
游戏类型:游戏礼包
剩余数量:0
游戏类型:游戏礼包
剩余数量:0
游戏类型:游戏礼包
剩余数量:0
游戏类型:游戏礼包
剩余数量:500
新媒体推荐
每日提供新鲜游戏资讯,游戏礼包、游戏趣闻、圈内八卦,惊爆你眼球,带你装逼带你飞。数万手机游戏发烧友与你一同玩耍!
各种逗比游戏,各种新游、热游、妹子、福利,你想要的全都有!一起来摩擦,似魔鬼的步伐,我的好游戏,时尚时尚最时尚。
Copyright (C)
All rights reserved.
请选择一张图片分享
要转发到新浪微博,请
要转发到QQ空间,请拒绝访问 | .cn | 百度云加速
请打开cookies.
此网站 (.cn) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(37fcf575f3bf43d1-ua98).
重新安装浏览器,或使用别的浏览器  独立游戏就像是一块璞玉,拥有无限的潜力。或许核心玩家仍痴迷于《使命召唤》或是《最终幻想》这类的超大作,但毫无疑问,有时候它们更像是完成复杂的任务,而不再是单纯的游戏体验。然而,行业内拥有成千上万个独立游戏工作室,哪些才是最值得关注的呢?这里,&Engadget为大家搜集了去年拥有出色表现的几个游戏工作室,或许今年他们仍会推出更具创意的小游戏,给玩家们带来更新鲜的体验。  1.&Acid&Nerve  代表作:Titan&Souls(泰坦灵魂)    “Titan&Souls(泰坦灵魂)”是一款复古像素风格的动作游戏,覆盖PC、Mac、Linux、PS4、Vita等多平台,拥有不俗的动作性及挑战性,是去年E3游戏展最佳游戏之一。而其开发商Acid&Nerve,也因此获得了极大的关注。  2.&Asteroid&Base  代表作:Lovers&in&a&Dangerous&Spacetime(时空恋人)    “Lovers&in&a&Dangerous&Spacetime(时空恋人)”是一款合作型射击游戏,画面风格可爱,游戏性也十分独特,充分展现了双人合作的乐趣。这款游戏也将登陆Xbox&One、及Mac,工作室的后续动向也令人期待。  3.&Cipher&Prime  代表作:Auditorium    Cipher&Prime是一个相当多产的工作室,主要专注于简单但创新的音乐游戏,代表作Auditorium、Intake等均拥有不俗的可玩性。今年,工作室推出了最新作Splice,登陆索尼平台,依然保持了不俗的水准。  4.&Cockroach&Inc.  代表作:The&Dream&Machine(造梦机器)    这家工作室擅长制作独特风格的解密游戏,代表作“The&Dream&Machine(造梦机器)”拥有粘土风格的清新画面、丰富的场景及充满挑战性的解谜场景,这款作品也登陆了Steam、Mac等平台,广受好评,其后续动作也值得关注。  5.&Ivy&Games  代表作:Gravity&    Gravity&Ghost是Ivy&Games的代表作,在今年年初发售,是一款有趣的物理平台游戏,玩法上充满了创意,艺术造诣也令人印象深刻。  6.&Tom&Jubert  代表作:The&Swapper(交易者)    Tom&Jubert工作室在近年来发展迅速,推出了“The&Swapper、FTL”等有趣的游戏内容,主打错综复杂的剧情及独特的游戏乐趣,令人难忘。而今年,该工作室将与虚拟现实公司Oculus合作推出作品,也是令人十分期待的。  7.&Klei&Entertainment  代表作:Don’t&Starve()    这个游戏工作室擅长制作漫画风格的有趣游戏,操作简单、风格独特,在Steam等平台上受到了广泛好评。今年,Invisible&Inc等新作也将登陆多平台,值得尝试。  8.&Northway&Games  代表作:Incredipede(眼球小怪变形记)    Northway&Games的作品多为幻想风格,创造了多个美妙的独特风格世界观,比如“Incredipede(眼球小怪变形记)”便是一款拥有油画般精致画面的游戏,获得了多项独立游戏大奖,今年的表现也值得期待。  9.&Vlambeer  代表作:Ridiculous&Fishing(荒诞钓鱼)    Vlambeer的代表作“荒诞钓鱼”相信很多朋友都玩过,其近年来的发展也十分顺畅,成为独立游戏领域的佼佼者。新作“Nuclear&Throne(废土之王)”目前已经登陆PC、Mac以及PS3/PS4、Xbox&One等平台,值得尝试。  10.&Asher&Vollmer  代表作:Threes    还记得充满创意的数字游戏“Threes”吗?便是出自Asher&Vollmer之手。这个工作室擅长通过简单的画面来实现有趣的游戏创意,今年的新作“Close&Castles(封闭城堡)”也值得一试,将率先登陆PS4平台。都说是做独立游戏的,然而真正的「独立开发者」并不存在 - 知乎专栏
{"debug":false,"apiRoot":"","paySDK":"/api/js","wechatConfigAPI":"/api/wechat/jssdkconfig","name":"production","instance":"column","tokens":{"X-XSRF-TOKEN":null,"X-UDID":null,"Authorization":"oauth c3cef7c66aa9e6a1e3160e20"}}
{"database":{"Post":{"":{"title":"都说是做独立游戏的,然而真正的「独立开发者」并不存在","author":"yizhimao","content":"这次我们翻译了一篇长文章,文章是Daniel Cook去年在博客上写的,原名是「How game forms are shaped by their environment」。你可能会发现,大多数媒体报道独立游戏和开发团队时,常常带着一种理想主义的眼镜,大概是因为大多数人都乐于见到坚持自我的小团队逆袭的故事。然而这种视角未必真实,或者说,它并不能反映游戏开发的全貌。一个直面市场的游戏团队必定要面临经营企业的问题,在泥沙俱下的游戏市场中冒头的团队,必定发现了真实的市场需要、利用了合适的策略。剥开一切独立、艺术、理想的外壳,你永远能看到这些属于经济属性的纹路。本次分享的这篇文章讨论的就是这个问题,Daniel Cook一向非常诚实和犀利,大家可以感受一下。How game forms are shaped by their environment作者:Daniel Cook人们常从创意及文化的视角谈论艺术创作,但我发现,如果从经济与演进的角度去审视它们,会得到更多的启发。游戏开发者所身处的经济环境究竟是如何塑造游戏的艺术形式的?我试着研究了一些实际例子,发现有一类专注于内容的游戏,在成熟的移动、PC和主机市场,都找到了稳定的利基市场(IndieACE注:利基,niche;利基市场,指那些被市场中占绝对地位的企业忽略的某些细分市场。)。移动平台上,Sword & Sworcery,Device 6和纪念碑谷都是典型的例子;在PC上,则以Kentucky Route Zero, Proteus ,Gone Home这样的游戏为代表;在主机上这种趋势虽不算明显,但Journey和Flower在某些方面也属此类。这些游戏通常有如下特点:1,极其注重能唤起玩家的内容这些游戏的叙事弧线传递给玩家许多负载,它们经过精心的设计和撰写。玩家的精力是被游戏中演绎的刺激所消耗,而不是把精力消耗在执行事先计划好的行动。2,轻量化的系统从机制上看,这些游戏中的交互循环较少,留给机制的发挥空间不大。它们采用的系统都是其他类型游戏中使用已久的、十分传统的系统。3,游戏时长短:一般在1~3小时之间。这类游戏的成功不是由于人类艺术鉴赏力突然爆发,也不是由于什么真善美的普适性。这些游戏之所以成功,是因为它们充分考虑当今的社会经济环境,并且非常恰当地执行了相应的开发策略。游戏形式是被环境风险所塑造的艺术形式是艺术作品公认的、标准化的结构。挂在客厅墙上的油画是绘画的一种形式,俳句则是写作的一种形式。与许多媒体不同,游戏采取的形式更加灵活。文学创作者可能受限于诗歌、短篇故事、散文或小说既有的形式,但游戏的形式更加广泛,局限性也更小,它们在机制、规模、主题、参与者数量和硬件使用上都更加灵活多变。俄罗斯方块和猜字游戏之间的差别,远远大于莎士比亚戏剧与百科全书条目之间的差别。游戏设计师经常会为自己的游戏选择一种独一无二的形式。风险是如何塑造游戏形式的?然而,不同的游戏形式有着不同的风险权衡,有设计风险、技术风险、制作风险这样的内部风险,也有发行和市场等等外部风险。如果项目的任何一个方面失败了,开发投入就会遭受损失。任何游戏设计必须评估开发成本、成功收益和失败的负面影响等因素。※有效避开当下风险这些并非抽象的决定。大多数开发者(包括大型开发商)都要通过经营收入来避免破产,毕竟衣食住行是非常现实的需求。因此精明的团队会选择最合适的项目形式,以最小化整体风险,增加未来的生存几率。所以游戏开发者有极大的动力适应去当下经济压力、去改进游戏形式,如果环境改变了,增加了某种类型的风险,那么你会看到,开发者们会从更多的潜在形式从选择那些风险更小的选项。市场上总有成百上千的开发者漫无目的地在各种游戏类型间摇摆不定,而另一些明白市场倾向的开发者则从中吸取教训、总结出有用的策略、投奔正确的方向。利用市场上的幸存者来决定主导战略游戏形式演化的进程是不可见的,大量的游戏没能正确地平衡风险,于是在文化意识中失败沦陷。多数开发者都没能意识到自己的影响力和所受限制。为我们所知的只有那些市场上的幸存者。当你看到市场上新类型的游戏取得成功时,你可以问自己一些有趣的问题:使这些游戏得以存活的选择机制是什么?是怎样的策略使他们相较于其他设计更有竞争优势?这些通过市场筛选的产品,能让你搞懂当下的筛子是什么形状。什么因素在起作用是什么力量使得当今的独立开发者用某一固定价格预售游戏呢?数字分发和廉价工具:这种新现象的核心就是小团队有能力以低成本开发和发行游戏。然而,这个市场在变得越来越成熟。大量用户有消费内容的习惯:在过去的十年里,AAA游戏通过过场动画、关卡设计、画外音等等完善了一系列的二级内容传递标准,游戏玩家非常熟悉和理解这套理论。许多年来,我们培养了一批训练有素的、熟悉这套语言的用户。单个产品的平均收益正在下降:事实上,在移动游戏市场上,它们已经接近于0,市场整体的收益图形状像是L字母,小部分产品获得了大部分的收益,中端市场已经不复存在。你的产品要么大卖、要么失败,没有中间道路可走。单份游戏预售价格低于0.99美元:随着Steam进一步开放,打包销售模式的流行,以及主机引进更多的免费游戏,付费游戏的预期售价将不得不被蚕食,你需要用更低的价格去获取更多的用户。产品很难被发现:游戏曝光机制很弱,门槛很高。各渠道充满大量游戏,用户却难以辨别其质量。每款游戏只有1~30秒的曝光时间,这短短的时间决定了它的一切。制作成本不断上升:更廉价的工具让制作成本下降了,但是劳动力成本却不会下降,对制作质量要求的提高也会造成制作成本升高。5年前,一个成功的付费游戏的制作成本可能是5万美元(包括人力投入),但现在,你需要花费20万~100万(甚至更多)去制作一款游戏,收益甚至还不如从前。 这全都是因为内容和功能的竞争愈演愈烈:更多的美术、更多的动画、更多3D的使用、更多“必须加入”的功能。因此游戏难以脱颖而出、难以赚钱、却很容易让你入不敷出。专注内容的游戏的生存策略基于这种情况,什么样的游戏能够生存呢?我们需要针对上述问题寻找解决方案,并找到用相同的资源解决多种问题的方法,有效率的建议才能使人存活。※一种减少了技术和设计风险的策略,但同时承担了一些发行风险。注意,以下方法并非唯一路径。如果你看看其他成功的开发者,你会发现有很多成功的模式,并不存在最好的方案。这个策略除了功能性的益处之外没有内在价值。这些普遍的策略是在不知不觉中汇聚在一起的,像是被一只无形的手牵引。无论我们是否足够明智,能够事先预料形势,最大的收益一定包含在环境中。专注于内容的小团队该采取何种策略呢?*缩减成本瞄准一个较小的规模:内容是很昂贵的,但如果你做一个流程1~3小时的游戏,而不是20~30小时的游戏会如何?这样简单的改变也许能让你的成本变成原来的1/10,这是由游戏形式定义的经济属性。去掉系统和功能:尽可能剔除许多标配元素,专注于一个或两个的亮点。在Dear Esther中,你只需要到处走,在Gone Home中,你只需要到处走然后点击物品。NPC们?砍掉,战斗?砍掉。分支剧情?砍掉。保持一个小规模的团队:鉴于人力是你最大的成本,保持一个小规模的团队意味着更低的投入。团队成员应该是一群多面手,这样你就不需要雇佣兼职的专业人士。保持较短的开发周期:在一个作品上花费9~12个月,而不是18~24个月。在你抱期望的方面做到卓越:如果能在一个或几个方面拥有一些顶级高手,会很有优势,你可以围绕着他们的个人风格去制作游戏。这些可以弥补一人身兼数职、开发周期短等小团队开发带来的缺点。减少分发风险准备极有冲击力的视频和图片:由于你能与潜在用户接触的机会有限,你需要用最少的东西打动他们。卓越的美术、动人的叙事能够在几秒钟内做到——太多的玩家看到纪念碑谷的截图就决定买下它。建立关系以获得更多曝光:对于市场预算不多的小团队来说,免费的推广是一个理想的方式。与媒体人、Steam用户、各平台管理员建立关系,你或许能够得到一些推荐和曝光。当然,你能给与什么回报、你能说出什么样的故事是宣传时永远的问题。“游戏是艺术”是最近人们常用的一种方式,通常这类专注于内容的游戏也是这么说故事的。*减少设计和制作风险更多依赖静态内容:从功能方面说,美术和视频很少失败。与一些创新的艺术家合作是有风险的,但一旦成功,一个有能力的艺术家会不断创造有价值的艺术。尤其是制作时间紧的时候,你还是需要用高质量的美术去吸引眼球,所以这是需要综合考虑的。使用既有的机制:新的机制需要时间去发现,且往往不如人意。发明是困难的。利用既有的已经被验证的传统机制,你的游戏就不太会被这个系统拖延,就像打开一个页面或者点击超链接是很值得信赖的那样。减少意外:计划外的事会拖延你的时间并浪费你的钱。减少技术风险:使用既有的技术,那些已经被很好证明的、简单的技术。避免复杂的技术:那些需要很强专业知识的技术,例如多人服务器或者先进的3D渲染都很容易出问题,所以避免这些。*减少受众风险让游戏更容易通关。你需要让人们玩游戏、通关然后在意犹未尽时和他们的朋友谈论它。这像是一种快速的病毒传播,而不是慢速的,挑战虽然在其他一些情景中是有效的策略(比如Dark Souls, Spelunky),但在对那些需要流畅地展现其精妙内容的游戏来说,难度是一种阻碍。让游戏易于理解:为了弥补游戏较短的缺陷,你需要补充一些能够容纳多种解释的内容。如果任何人都无法准确描述你的游戏内容,意味着它就是低质量的。一定的神秘感可以让游戏在讨论时获得一些加成,玩家需要一些因为信息残缺而造成的疑惑。与玩家社区互动:在理想的情况下,在玩家和社区评论家开始发表他们对作品的解释时,你就要开始第二轮的社区活动。注意把这一切整合为一个紧凑的战略。拥有强力美术或文案伙伴的小团队可以制作一个拥有轻量级叙事、短小而具有吸引力的游戏,这也恰好是一个合适这种团队的项目规模。这样的游戏已经足够吸引人,也容易让玩家口口相传,对玩家而言,购买游戏的风险也不大——他们可以获得超值并具有相当质量的游戏,并且随之得到一种相对于书籍或电影等其他消费品而言,更为丰富的体验。一种极度保守的游戏策略这个策略并不新鲜:廉价的、易消费的内容才是大多数媒体市场的核心(而不是那些质量把控严格的)。在种类繁多的游戏中,精品游戏内容是最保守的开发策略。如果有评论家认为游戏的历史始于2007年,那么他可能会为这些精致作品感到兴奋。但是,对比过去30年里,游戏在系统和叙事上丰富的实验,这些形式实际上是一种倒退。缓解生存风险的妥协被宣传为一种时尚的文化进步,这种游戏策略性地放弃了游戏有别于传统媒体的理念,并全面承袭了与传统媒体类似的方法及其局限。其中最粗糙的一种游戏形式,就是像书籍一样,你翻页,就看到内容。但我们不应该简单地将这种现象定义为“糟糕的”变化,发展并没有什么判断标准。如今这种战略是奏效的,那么,优秀而满怀激情的开发者就能从中盈利,并得以创造另一种形式的游戏。在无情的资本主义社会中,我们能对游戏开发者抱有的期望也仅止于此。未来如何?我们要如何应对这样保守的产品策略?可参考的市场告诉我们,情况可能会在未来的5年内发生变化。※不断增长的成本给重内容的游戏带来新的压力。玩家期望对新内容形式的渴望增加了市场整体机会。*市场饱和迅速:由于当前游戏制作技能和技术的门槛降低了,并且尝鲜者通常没有任何竞争风险,新入场的人们会很快涌向市场,从而降低大家的平均成功率,大多数人都无法盈利。*成本增长:随着更多竞争者的出现,品质变得更加重要。资金雄厚的厂商能够获得并留下更多的付费用户,导致行业形成以最大投入获得最多用户的风气。*更短的游戏长度:成本的增长也给游戏时长带来压力,可能某些时候,玩家甚至会认为20分钟的美妙体验也不值99美分。*组合销售:用选集、组合包或订阅的方式来销售内容,在游戏这个以热门作品驱动的生态圈中,是一种普遍的推广方法。如果这种策略使市场结构发生变化,由中介决定用户口味的倾向就会更明显。*口味差异化:市场分化非常明显。用户会逐渐习惯这种新的形式,他们会开始找到特定的偏好,就像有人喜欢爱情小说,有人喜欢悬疑小说一样。首先进入相关题材领域的人,可以发现一个新的次级利基。*脆弱的专业型公司:开发者必须打磨记忆,生产更优秀的特定形式的内容。但这也会使开发者在适应新形式的时候缺乏灵活性。我们在冒险类游戏的历史中,就看到了类似的情形。似乎在此种游戏数量还不算多的情况下,预测未来市场饱和或崩溃是一件很蠢的事情。但市场并不是一成不变的,这些缺乏竞争者的市场都会快速饱和,任何市场黄金期都将迅速地结束。※由于市场的变化而变得更加破碎的游戏形式从某种意义上说,更短更小的游戏形式像是在与魔鬼交易,他们缩减自己的创新机制规模,并通过经过精致打磨的内容传递自己的价值。但在游戏行业中有一件事始终不变:既有平台上的内容成本一直在攀升,成本曲线是吞食我们行业的猛兽。将游戏中的内容削减1/10以降低制作成本是个好办法,但制作内容的成本上升10倍时又该怎么办呢?这种短暂的优势终将重归于零。反思虽然我本人并不在制作内容驱动型的游戏,但我发现用这个视角来理解自己的游戏将怎样影响世界是很有用的。所有的艺术都是由特定的时间、地点的经济环境所塑造的,所有标准化的艺术形式,不过是社会经济生态中利基。他们都不是恒久的,他们随世事迁移。认识到普遍形式并不是绝对真理,能让聪明敏锐的开发者受益。我们要反思:谁在赚钱?是什么让开发者、媒体记者、博物馆、评论员或是其他中间商从他们推广的作品中获益?任何依赖于盈利机构的作品(无论大小)都是一件商品,它的形态都由经济条件所塑造,其实我们没有任何一个人是真正的独立创新的存在,这是一个令人愉悦的幻觉、一句谎话。我们都在一个残忍而务实的、打磨创意棱角的系统中创作。无论你喜欢与否,我们也一直在通过自我审查的方式,在环境的剪刀下努力抢占先机。另一方面,我们的分析要从失败入手:看看谁做了些不一样的事,然后失败了?是何种体制或环境因素导致他们无法生存?在你分析出问题所在后,可能找到一个新的生存策略吗?当你看到一种新的游戏形式成功时,问问为什么。试着去理解它背后的原因,然后用这些理解去创造属于你自己的、独特的游戏形式。接下来,做你该做的事——为着那永不停滞的游戏进化浪潮。欢迎关注IndieACE微信公众号:IndieAce,可以看到IndieACE定期分享的好内容。需要转载IndieACE的文章请与我们私信联系。","updated":"T08:17:46.000Z","canComment":false,"commentPermission":"anyone","commentCount":6,"collapsedCount":0,"likeCount":24,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","titleImage":"/45fc7ab87a813f_r.jpg","links":{"comments":"/api/posts//comments"},"reviewers":[],"topics":[],"adminClosedComment":false,"titleImageSize":{"width":900,"height":500},"href":"/api/posts/","excerptTitle":"","column":{"slug":"indieace","name":"IndieACE"},"tipjarState":"inactivated","annotationAction":[],"sourceUrl":"","pageCommentsCount":6,"snapshotUrl":"","publishedTime":"T16:17:46+08:00","url":"/p/","lastestLikers":[{"profileUrl":"/people/fang-hao-jing","bio":"自由自由者","hash":"30d8df7ce08e67ccfab246a4","uid":380500,"isOrg":false,"description":"","isOrgWhiteList":false,"slug":"fang-hao-jing","avatar":{"id":"9e21faa5ddfc8","template":"/{id}_{size}.jpg"},"name":"方好景"},{"profileUrl":"/people/zhang-yao-21-36","bio":"","hash":"53efde752d6d2e86734c59f","uid":04,"isOrg":false,"description":"","isOrgWhiteList":false,"slug":"zhang-yao-21-36","avatar":{"id":"3a961f29ca1a021fba039c416fc71f70","template":"/{id}_{size}.jpg"},"name":"Roxxschach"},{"profileUrl":"/people/zhang-da-zi-11","bio":"?","hash":"8eb4ba78f15dad","uid":84,"isOrg":false,"description":"","isOrgWhiteList":false,"slug":"zhang-da-zi-11","avatar":{"id":"9df134b84","template":"/{id}_{size}.jpg"},"name":"张达自"},{"profileUrl":"/people/yu-zhou-zhong-ji-da-an","bio":"","hash":"1fd8ba9f73e47fdf493632","uid":16,"isOrg":false,"description":"","isOrgWhiteList":false,"slug":"yu-zhou-zhong-ji-da-an","avatar":{"id":"98d4fdc2d","template":"/{id}_{size}.jpg"},"name":"宇宙终极答案"},{"profileUrl":"/people/wan-cheng-98-16","bio":"设计师,职业画画狗","hash":"12dd7adb126dc01f64cb0","uid":80,"isOrg":false,"description":"野生画画狗,易躁,请勿投食\n\nAS:/artist/uni_wan","isOrgWhiteList":false,"slug":"wan-cheng-98-16","avatar":{"id":"80a29d13b327ba3da7608280","template":"/{id}_{size}.jpg"},"name":"万晟"}],"summary":"这次我们翻译了一篇长文章,文章是Daniel Cook去年在博客上写的,原名是「How game forms are shaped by their environment」。你可能会发现,大多数媒体报道独立游戏和开发团队时,常常带着一种理想主义的眼镜,大概是因为大多数人都乐于见到坚持自我的小…","reviewingCommentsCount":0,"meta":{"previous":{"isTitleImageFullScreen":false,"rating":"none","titleImage":"/437aed94fab6b4a7eadc7f9062fab7fb_r.jpg","links":{"comments":"/api/posts//comments"},"topics":[],"adminClosedComment":false,"href":"/api/posts/","excerptTitle":"","author":{"profileUrl":"/people/yizhimao","bio":"独立游戏开发者","hash":"eb4132dbcc9ef3a0e9cfcdb","uid":96,"isOrg":false,"description":"本体其实是一只猫(头像即本人)。","isOrgWhiteList":false,"slug":"yizhimao","avatar":{"id":"a9d6a00d321a770c114e3f","template":"/{id}_{size}.jpg"},"name":"小玉"},"column":{"slug":"indieace","name":"IndieACE"},"content":"这不是一个知乎问题,虽然我们还是会把它发在知乎。这是一篇采访。访谈的对象是一群在纽约做独立游戏的中国人,他们制作的游戏Gemini入围了今年的IGF ,之前看过我们整理的文章的朋友应该已经见过了。下面是正文,比较长,但值得大家看到最后。IndieACE:介绍一下Gemini的开发团队成员和这个游戏吧。张哲川:Gemini这个游戏其实很难描述,因为它并不属于传统的ACT,RPG, STG之类的游戏类型。我们一般的说法是,这是一段关于两颗星星飞向天空,点亮世界的故事。这个项目一开始是陈佶和张哲川在NYU Game Center MFA项目的毕业设计。不久之后在上海音乐学院读研的阎毅加入负责游戏的音乐音效,School of Visual Arts的MFA毕业生陈帅加入我们负责游戏的美术。另外我们在NYU Game Center的学弟张超也在技术和设计上给予了我们很多帮助。IndieACE:各位是如何凑到一块开发这个游戏的?张哲川:其实我们几个能凑在一起也是挺奇妙的,原因各种各样。陈佶和我是因为我们在NYU Game Center是同学,并且在讨论毕业设计的时候因为兴趣相近,所以决定组队。而我们的作曲阎毅则是我的初中同班同学,算是发小了。我一直很欣赏他的音乐,之前做的几个学生项目也用了他的部分作品,大家反响都很好。我们给他玩了Gemini早期的原型设计后他也很喜欢,就受邀加入了我们团队。陈帅加入的时候我们游戏其实处于瓶颈期,因为之前的美术都是我们自己做的,虽然我们也挺喜欢的,但毕竟不专业,而且美术能力的匮乏在一定程度上限制了我们的想象力。之前我们在别的项目上也和陈帅合作过,很喜欢他的艺术风格,于是就找他帮忙画几张概念图试一下。后来发生的事情大家都知道了,看到概念图我们就跪了,思路也打开了,他也就顺理成章的加入了。至于张超,他是陈佶从清华到NYU的嫡系学弟,技术和设计能力都很强,对音乐和美术都有所造诣,关键是对他艺术类游戏很感兴趣,于是他在暑假的时候就加入我们团队“实习”了一段时间,解决了不少技术瓶颈,至今还常常在各方面为我们提供帮助。IndieACE:Gemini这个游戏目前开发进度如何?大概什么时候、能在什么平台玩到?张哲川:目前这个游戏已经接近完成了,我们已开始和各发行商和平台沟通,但目前并没有确切的平台和发布时间。IndieACE:你们毕业之后有什么打算?感觉中国学生如果要留在美国做独立游戏,可能还会有些额外的困难,那么有人继续走在indie这条路上的吗?张哲川:我们现在已经毕业了,目前的计划就是先把Gemini做完并发售。我们的同学中毕业之后做Indie的人还是挺多的,至于中国学生的话,额外的困难就是签证问题了。尤其是如果自己成立工作室做Indie,不去找工作的话就很难申请到工作签证(H1B),也就没法留在美国工作。当然你也可以去为Indie Studio工作,这样还是有可能拿到工作签证的。我们目前的解决方案是申请O-1签证,很多艺术家都是用这个签证留美工作的,但它需要你通过各种材料(获奖,媒体曝光,行业认同,商业成功等)来证明你的艺术成就。这个签证我们目前还在筹备,由于申请这个签证的人大多是电影、设计行业的,游戏领域的比较少,所以我们在结果出来前也不确定成功的几率如何,但至少是一个选择。陈帅:开始做Gemini的时候就已经毕业了呢,对于我来说未来要走的路一定是自己真正喜欢、擅长并且坚信能成功的。我从小到大一直是美术专业,选择游戏其实是偶然,和朋友们机缘巧合地认识到一拍即合的创业做游戏,开始也只是抱着尝试的想法却意外地发现了作为game artist的快乐。不同于其他艺术,游戏是唯一一项可以将叙事、动画、音乐、视觉、交互以及更多新媒体新技术完美结合起来创作的领域,我是一个享受思考创造和分享乐趣的人,也许选择indie game就是我内心潜在追求的必然结果。对于一个刚开始起跑的人来说,我只会选择不顾一切地加速,困难肯定是有的,无论在哪个国家都会有不同的阻碍,担心却是多余的,不卸下负担怎么跑得快,前提是认定了方向就坚持下去。IndieACE:在去年的Babycastles的showcase中就见过Gemini这个作品,感觉纽约做独立游戏的氛围似乎不错,能不能谈一谈你们在NYU学游戏的所见所闻?张哲川:我们都很喜欢纽约游戏圈的氛围。也是由于纽约并不大,大家相对集中,所以组织一些游戏相关的活动就会有很多人来参与,气氛很热烈。NYU目前算是纽约独立游戏活动的一个中心了,我们每周四晚上都有Playtest,不止在校的学生,纽约本地的开发者都可以把自己的游戏带来测试。几乎每周都会有游戏相关的讲座,嘉宾来自游戏行业的方方面面,像SE的前社长和田洋一,龙腾世纪的制作团队,Giant Bomb的创始人都来过。每年年末我们还会组织一个以游戏设计为核心的学术会议:Practice: Game Design in Detail,里面的讲座质量都很高,主讲人很多也是业界大牛,像万智牌的制作人Richard Garfield,时空幻境(Braid)的制作人Jonathan Blow等。每年都能学到很多东西。陈佶:在NYU学习游戏的感觉就是这里非常重视“游戏”、“设计”和“个性化”。在“游戏”这方面,我们在游戏研究课上会刨根究底地探寻诸如“游戏的定义是什么”,“游戏和叙事的关系”,“游戏与宗教仪式、艺术的人类学历史脉络”,“游戏中的失败和戏剧中的悲剧的联系”等哲学问题,会有大量的阅读和论文写作要求,是真正严肃地把游戏作为一门完整的、独立的学科去研究的,而不是把游戏简单归为“交互艺术”或是“新媒体”的一个分支。这对我们对游戏理解的深度和广度都很有帮助。同时我们研究的覆盖面也很广,除了电子游戏以外,桌游、户外游戏、体育运动、古代棋牌、赌博等都是我们研究的内容。在“设计”这方面,游戏不仅仅是程序加上美工加上音乐音效,规则和体验的设计更是核心。NYU有很有深度的“游戏设计”课程,在一个学期内要设计五六款非电子游戏(桌游或户外游戏),因为不需要编程和复杂的美工,主要的时间就是在讨论想法、制定规则、反复测试和修改,每个人都是花大部分时间在设计上,这对我们的设计师思维(创造性解决问题的思维)的形成和对游戏的规则、玩法、体验的把握非常有帮助。至于“个性化”,这里的老师非常鼓励每个学生做自己想做的东西。招生的时候学生的背景就非常多样化,电影、数学、哲学、宗教学、人类学、社会学、音乐等等,几乎没有见到重样的。这些多样性在学生的作品中很快表现出来,会出现许多实验性质的游戏作品,和这些同学一起学习的两年间,真的是眼界大开。张超:来到美国会发现这边的独立游戏圈比起尚未成形的中国独立游戏圈确实要成熟很多。这边的圈子有很多厉害的游戏设计师和游戏学者,大家互相之间经常交流,对于游戏设计也形成了一定的准则和方法。除此之外,也能经常见到入木三分的游戏评论。做游戏很难,但是有很多游戏人可以互相交换意见会让人少走很多弯路,也得到更多的见解。时间久了,也能逐渐感受到不同地区的游戏设计圈,理解游戏的视角也有轻微的不同。除了 IndieCade East 游戏节和 PRACTICE 游戏会议以外,纽约还有很多设计师聚会以及小型游戏展。这边大多数见到的游戏都以新颖以至于奇怪的游戏性,以及本地多人游戏的乐趣博人眼球。NYU 渐渐成为纽约独立游戏活动的中心。作为一个艺术硕士项目,这里相对要更加学术性一些。我们将桌面游戏、运动、视频游戏等各种类型的游戏串联在一起,提炼出游戏设计元素融汇贯通并加以运用,对游戏的眼光也越来越独到并能够认识到很多商业游戏的优点和问题。对于游戏创作而言,我们从文化、游戏性甚至是游戏理论出发,建立一个长远的或实验性质的设计目标,并通过不停地原型迭代,解决设计问题逐渐逼近最终的目标。陈帅:我觉得做游戏的核心是要热爱游戏,纽约作为一个全球多元文化和思想交融的发达城市之一,游戏文化的交流自然是有广泛的受众和发展群体的,也许资深的game developer和game studio没有西部那么多,但热爱游戏、关注游戏的人和组织还是不少的,常见的NYU game center、playcrafting NYC等纽约本地学校或组织都会有定期的game test nite、demo&play nite以及分享技术开发的各类平台的workshop。同时纽约每年各种高规模的展会、艺术节、电影节都会给游戏开发者和玩家带来丰富的展示和交流的机会,比如New York Comic Con每年都会聚集大量的动漫和游戏fans。之前和朋友们参加过不少这样的活动,每次看到玩家们开心的反馈和真诚的交流表达对我们游戏的喜爱的时候,都会觉得是莫大的鼓励。IndieACE:就像许多独立游戏人一样,你们也有学生时代摆弄游戏制作、在商业公司工作、到美国学游戏……等等各种不同的经历。那么在这个过程中,心态上、对行业的看法上有什么变化?有什么东西是一直坚持想做的吗?陈佶:我从十二岁开始制作《帝国时代2》自定战役,加入了国内的飞翔之鹰战役制作小组(翔鹰帝国)。从最早的幼稚的强力英雄匡扶正义,到广纳北欧、希腊神话架空了庞大世界观的英雄史诗(《海蓝》),到最近实验性的“无失败条件”的自传体传奇(《凯斯拉要塞》),算来到现在也是大半辈子闯荡游戏江湖啦(笑)。从小做帝国战役开始,我一直把游戏制作作为一种探索和表达。探索的是游戏的可能性和自我内在的心声,表达的是自己所追寻、敬仰的意义。我希望通过我的作品,除了难忘的游戏体验,还能够给玩家带来一些思考和领悟。随着自我的成长,我通过作品试图表达的内涵从最早的惩恶扬善,到忠正无畏的骑士精神,到直面现实然后仍然爱这个世界的英雄主义,到对生命不息的赞美,是一直在不断的变化的。但是把游戏制作作为探索和表达,却一直没有改变。我想在纽约的近三年时间,我对自己所坚持的道路应该是更加执着了——在NYU的学习开拓了我对游戏的理解,同时在这里产生的对游戏独特的美的领悟解决了我“为什么不去从事其他艺术创作”的自问,而最近初步接触了商业之后,也更看清了自己的兴趣是在游戏创作本身。张超:相信很多人深受《仙剑奇侠传》影响从而走上游戏创作之路。我也是其中之一。尽管只有粗糙的像素和精简的对白,仙剑呈现给我的世界却让我产生无穷的联想。就像80年代欧洲的游戏爱好者在 Commodore 64 等游戏机自学编程,我十四岁开始在文曲星上摆弄最简单的 BASIC 编程,尝试仿照一些现成的游戏加上自己的想法做出更有趣的游戏。后来相继接触了 RPG Maker,DirectX 等技术,也同时在自学音乐和美术,希望有一天能做出属于自己的游戏,把自己的感情和人生体悟放进其中。在那时对游戏的理解还只停留在 RPG、射击游戏、动作游戏和战略游戏,而我并不想拘泥于单纯的玩法,想从故事与体验出发创作游戏。我的很多想法是没有办法放到一个游戏的模版里面的,在创作之路上很是困惑。那个年代因为游戏制作工具还没有普及,游戏开发的困难还是蛮大的。后来大学的时候发现了独立游戏,启蒙游戏便是 Braid,仿佛打开了新世界的大门:原来游戏可以这样做!于是决定从小的想法出发,以“做梦”为核心做了一款动作解谜游戏《Reverie》,发到 Newgrounds 收到了不错的评价——与很多独立开发者类似的经历。这个阶段的想法是在思考如何用游戏这个媒体将一个好的故事和道理,并有很多自己探索的心得。来到 NYU 之后开始接触到海量的游戏,有了更多的设计手段可以运用。参加了很多游戏会议,也开始思考自己创作游戏的最终意义。我希望电子游戏可以帮助玩家成为更好的“人”,让玩家思考,让玩家沟通,让玩家与非玩家彼此交流。独立游戏已经逐渐形成了一个产业。海量的独立游戏中,有很多“独立”的,也有越来越多“商业”的。不过还好每年都有 IGF 这样的活动奖励游戏人的创新精神,激励着人们向游戏设计领域的广阔天地中未知的风景去探险。中国的独立游戏起步较晚,缺乏一个良好的环境,尽管有一些有才华的人做出了不错的游戏,但很多开发者都或多或少走了许多弯路。不过像 IndieAce 这样的组织也在慢慢壮大,一个交流的环境正在慢慢形成。另外一方面,中国的游戏文化熏陶相对欧美比较短,而且也相对单一,多样性的缺乏也抑制了游戏的创意。但中国人,或者亚洲文化圈对游戏有着不同的关注点,一定能探索出游戏设计中新的领域。陈帅:其实团队里的其他成员接触游戏创作都比我早呢,我最早接触的游戏基本都是局限在pc端,以multiplayer的形式为主,从高中到大学基本上是被暴雪垄断了(哈哈)。那时候基本上没有接触过indie game,玩得更多的是杀戮、对抗或者合作,我不喜欢pve,觉得只有pvp的形式才能取悦我的热情,因为人是活的,程序是编死的。来到纽约后,我开始接触电脑艺术,开始慢慢体会到程序也是可以有情感的,也许所有的表达都是“计算”的结果,但那些真正地被作者投入情感的“程序”,观众是体会的到的。乏味的代码也可以改写成诗,取决于作者如何去组合、塑造和表达。我觉得在这一点上游戏美术和游戏设计是相同的,或者更宽泛地说,艺术和游戏是可以共鸣的,核心都是“如何人为的创造一个虚构却真实的灵魂”。对于游戏来说,这个灵魂可以是角色,可以是故事,可以是音乐,甚至可以是game mechanic本身,这是让我开始重新认识并且更加热爱游戏开发的原因之一:游戏的世界是可以摆脱人类现实所有科学理论和常识的束缚,以上帝的身份去创造一个崭新的次元,为现实世界的人打开一扇通向新世界的门。游戏可以不只是为了娱乐他人,也可以像艺术一样是为了自我表达,为了改变腐朽和无限创造。如果说坚持地话,我会坚持作为一名游戏开发者,和更多地人分享我们的游戏世界。游戏视频预告欢迎关注IndieACE微信公众号:IndieAce,可以看到IndieACE定期分享的好内容。需要转载IndieACE的文章请与我们私信联系。","state":"published","sourceUrl":"","pageCommentsCount":0,"canComment":false,"snapshotUrl":"","slug":,"publishedTime":"T12:05:48+08:00","url":"/p/","title":"在纽约做独立游戏是一种怎样的体验","summary":"这不是一个知乎问题,虽然我们还是会把它发在知乎。 这是一篇采访。访谈的对象是一群在纽约做独立游戏的中国人,他们制作的游戏Gemini入围了今年的IGF ,之前看过我们整理的文章的朋友应该已经见过了。下面是正文,比较长,但值得大家看到…","reviewingCommentsCount":0,"meta":{"previous":null,"next":null},"commentPermission":"anyone","commentsCount":0,"likesCount":0},"next":{"isTitleImageFullScreen":false,"rating":"none","titleImage":"/743ec35c07d7a177c835_r.jpg","links":{"comments":"/api/posts//comments"},"topics":[],"adminClosedComment":false,"href":"/api/posts/","excerptTitle":"","author":{"profileUrl":"/people/yizhimao","bio":"独立游戏开发者","hash":"eb4132dbcc9ef3a0e9cfcdb","uid":96,"isOrg":false,"description":"本体其实是一只猫(头像即本人)。","isOrgWhiteList":false,"slug":"yizhimao","avatar":{"id":"a9d6a00d321a770c114e3f","template":"/{id}_{size}.jpg"},"name":"小玉"},"column":{"slug":"indieace","name":"IndieACE"},"content":"这次我们翻译了一篇Unity官方博客上的文章,原文题目为AN INTRODUCTION TO IL2CPP INTERNALS ,作者是从事Unity软件开发的Joshua Peterson。文章的看点在于,它是以IL2CPP内部开发人员的角度来讲述的,所以对于开发者来说非常有参考价值。如果你对Mono,IL2CPP等一系列概念不甚了解,可以查看我们以前发过的和文章AN INTRODUCTION TO IL2CPP INTERNALS作者:Joshua Peterson翻译:大约在一年以前,我们写了一篇博客讨论Unity中脚本将来会是个什么样子,在那篇博客中我们提到了崭新的IL2CPP后端,并许诺其会为Unity带来更高效和更适合于各个平台的虚拟机。在2015年的一月份,我们正式发布了第一个使用IL2CPP的平台:iOS 64-bit。而随着Unity 5的发布,又带给大家另一个使用IL2CPP的平台:WebGL。感谢我们社区中用户的大量宝贵的反馈,我们在接下来的时间里根据这些反馈得以更新IL2CPP,发布补丁版本,从而持续的改进IL2CPP的编译器和运行时库。我们没有停止改进IL2CPP的打算,但是在目前这个时间点上,我们觉得可以回过头来抽出点时间告诉大家一些IL2CPP的内部工作机制。在接下来的几个月的时间里,我们打算对以下话题(或者还有其他未列出的话题)进行讨论,来做一个IL2CPP深入讲解系列。目前准备讨论的话题有:1.基础 - 工具链和命令行参数(本篇博文)2.IL2CPP生成代码介绍3.IL2CPP生成代码调试小窍门4.方法调用介绍(一般方法调用和虚方法调用等)通用代码共享的实现6.P/invoke(Platform Invocation Service)对于类型(types)和方法(methods)的封装7.垃圾回收器的集成8.测试框架(Testing frameworks)及其使用为了能让这个系列的讨论成为可能,我们会涉及到一些将来肯定会进行改动的IL2CPP的实现细节。但这也没有关系,通过这些讨论,我们希望能给大家提供一些有用和有趣的信息。什么是IL2CPP?从技术层面上来说,我们说的IL2CPP包含了两部分:一个进行 预先编译(译注:ahead-of-time,又叫AOT,以下一律使用AOT缩写)的编译器。一个支持虚拟机的运行时库AOT编译器将由.NET 输出的中间语言(IL)代码生成为C++代码。运行时库则提供诸如垃圾回收,与平台无关的线程,IO以及内部调用(C++原生代码直接访问托管代码结构)这样的服务和抽象层。AOT编译器IL2CPP AOT编译器实际的执行文件是il2cpp.exe。在Windows平台你可以在Unity安装路径的Editor\\Data\\il2cpp目录下找到。对于OSX平台,它位于Unity安装路径的Contents/Frameworks/il2cpp/build目录内。 il2cpp.exe这个工具是一个托管代码可执行文件,其完全由C#写成。在开发IL2CPP的过程中,我们同时使用.NET和Mono编译器对其进行编译。il2cpp 接受来自Unity自带的或者由Mono编译器产生的托管程序集,将这些程序集转换成C++代码。这些转换出的C++代码最终由部署目标平台上的C++编译器进行编译。你可以参照下图理解IL2CPP工具链的作用:运行时库IL2CPP的另外一个部分就是对虚拟机提供支持的运行时库。我们基本上是用C++代码来实现整个运行时库的(好吧,其实里面还是有一些和平台相关的代码使用了程序集,这个只要你知我知便好,不要告诉别人 )。我们把运行时库称之为libli2cpp,它是作为一个静态库被连接到最终的游戏可执行文件中。这么做的一个主要的好处是可以使得整个IL2CPP技术是简单并且是可移植的。你能通过查看随Unity一起发布的libil2cpp头文件来窥探其代码组织方式(Windows平台,头文件在Editor\\Data\\PlaybackEngines\\webglsupport\\BuildTools\\Libraries\\libil2cpp\\include目录中。OSX平台,头文件在Contents/Frameworks/il2cpp/libil2cpp目录中)。举个例子,由il2cpp产生的C++代码和libil2cpp之间的接口API,存在于codegen/il2cpp-codegen.h这个文件中。运行时的另外一个重要的部分,就是垃圾收集器。在Unity 5中,我们使用libgc垃圾收集器。它是一个典型的贝姆垃圾收集器(Boehm-Demers-Weiser garbage collector)。(译注:相对使用保守垃圾回收策略)。然而我们的libil2cpp被设计成可以方便使用其他垃圾回收器。因此我们现在也在研究集成微软开源的垃圾回收器(Microsoft GC)。对于垃圾回收器这一点,我们会在后续的一篇中专门的讨论,这里就不多说了。il2cpp是如何执行的?让我们从一个简单的例子入手。这里使用Unity的版本是5.0.1,在Windows环境并且建立一个全新的空项目。然后创建一个带MonoBehaviour的脚本文件,将其作为组件加入到Main Camera上。代码也是非常的简单,输出Hello World:using UnityE\n\npublic class HelloWorld : MonoBehaviour {\n
void Start () {\n
Debug.Log(\"Hello, IL2CPP!\");\n
}\n}\n当我切换到WebGL平台进行项目生成的时候,我们可以用Process Explorer来对il2cpp的命令行进行观察,得到以下内容:\"C:\\Program Files\\Unity\\Editor\\Data\\MonoBleedingEdge\\bin\\mono.exe\" \"C:\\Program Files\\Unity\\Editor\\Data\\il2cpp/il2cpp.exe\" --copy-level=None --enable-generic-sharing --enable-unity-event-support --output-format=Compact --extra-types.file=\"C:\\Program Files\\Unity\\Editor\\Data\\il2cpp\\il2cpp_default_extra_types.txt\" \"C:\\Users\\Josh Peterson\\Documents\\IL2CPP Blog Example\\Temp\\StagingArea\\Data\\Managed\\Assembly-CSharp.dll\" \"C:\\Users\\Josh Peterson\\Documents\\IL2CPP Blog Example\\Temp\\StagingArea\\Data\\Managed\\UnityEngine.UI.dll\" \"C:\\Users\\Josh Peterson\\Documents\\IL2CPP Blog Example\\Temp\\StagingArea\\Data\\il2cppOutput\"嗯,这个真是老太太的裹脚布 - 又臭又长......,所以让我们把命令分拆一下,Unity运行的是这个可执行文件:\"C:\\Program Files\\Unity\\Editor\\Data\\MonoBleedingEdge\\bin\\mono.exe\"下一个参数是il2cpp.exe工具本身:\"C:\\Program Files\\Unity\\Editor\\Data\\il2cpp/il2cpp.exe\"请注意剩下的参数其实都是传递给il2cpp.exe的而不是mono.exe。上面的例子里传递了5个参数给il2cpp.exe:–copy-level=None指明il2cpp.exe不对生成的C++文件进行copy操作–enable-generic-sharing 告诉IL2CPP如果可以,对通用方法进行共享。这个可以减少代码并降低最后二进制文件的尺寸–enable-unity-event-support 确保和Unity events相关的,通过反射机制来运作的代码,能够正确生成。–output-format=Compact 在生成C++代码时为里面的类型和方法使用更短的名字。这会使得C++代码难以阅读,因为原来在IL中的名字被更短的取代了。但好处是可以让C++编译器运行的更快。–extra-types.file=”C:\\Program Files\\Unity\\Editor\\Data\\il2cpp\\il2cpp_default_extra_types.txt”使用默认的(也是空的)额外类型文件。il2cpp.exe会将在这个文件中出现的基本类型或者数组类型看作是在运行时生成的而不是一开始出现在IL代码中来对待。需要注意的是这些参数可能会在以后的Unity版本中有所变化。我们现在还没有稳定到把il2cpp.exe的命令行参数整理固定下来的阶段。最后,我们有由两个文件组成的一个列表和一个目录在这个长长的命令行中:“C:\\Users\\Josh Peterson\\Documents\\IL2CPP Blog Example\\Temp\\StagingArea\\Data\\Managed\\Assembly-CSharp.dll”“C:\\Users\\Josh Peterson\\Documents\\IL2CPP Blog Example\\Temp\\StagingArea\\Data\\Managed\\UnityEngine.UI.dll”“C:\\Users\\Josh Peterson\\Documents\\IL2CPP Blog Example\\Temp\\StagingArea\\Data\\il2cppOutput”il2cpp.exe工具可以接收一个由IL程序集组成的列表。在上面这个例子中,程序集包含了项目中的简单脚本程序集:Assembly-CSharp.dll,和GUI程序集:UnityEngine.UI.dll。大家可能会注意到这里面明显少了什么:UnityEngine.dll到哪去了?系统底层的mscorlib.dll也不见了踪影。实际上,il2cpp.exe会在内部自动引用这些程序集。你当然也可以把这些放入列表中,但他们不是必须的。你只需要提及那些根程序集(那些没有被其他任何程序集引用到的程序集),剩下的il2cpp.exe会根据引用关系自动加入。裹脚布的最后一块是一个目录,il2cpp.exe会将最终的C++代码生成到这里。如果你还保持着一颗好奇的心,可以看看这个目录中产生的文件。这些文件是我们下一个讨论的主题。在你审视这些代码前,可以考虑将WebGL构建设置中的“Development Player”选项勾上。这么做会移除–output-format=Compact命令行参数从而让C++代码中的类型和方法的名字更加可读。尝试在WebGL或者iOS构建设置中进行些改变。这样你会发现传递给il2cpp.exe的参数也会相应的发生变化。例如,将“Enable Exceptions” 设置成“Full” 会将–emit-null-checks,–enable-stacktrace,和 –enable-array-bounds-check这三个参数加入il2cpp.exe命令行。IL2CPP没做的事情我想指出IL2CPP有一项挑战我们没有接受,而且我们也高兴我们忽略了它。我们没有尝试重写整个C#标准库。当你使用IL2CPP后端构建Unity项目的时候,所有在mscorlib.dll,System.dll等中的C#标准库和原来使用Mono编译时候的一模一样。我们可以依赖健壮的且久经考验的C#标准库,所以当处理有关IL2CPP的bug的时候,我们可以很肯定的说问题出在AOT编译器或者运行时库这两个地方而不是在其他地方。我们如何开发,测试,发布IL2CPP自从我们在一月份的4.6.1 p5版本中首次引入IL2CPP以来,我们已经连续发布了6个Unity版本和7个补丁(Unity版本号跨越4.6和5.0)。在这些发布中我们修正了超过100个bug。为了确保持续的改进得以实施,我们内部只保留一份最新的开发代码在主干分之(trunk branch)上,在发布各个版本之前,我们会将IL2CPP的改动挂到一个特定的分之下,然后进行测试,确保所有的bug已经正确的修正了。我们的QA和维护工作组为此付出了惊人的努力才得以保证发布版本的快速迭代。(译注:感觉是版本管理的标准的开发流程)提供高质量Bug的用户社区被证明是一个无价之宝。我们非常感谢用户的反馈来帮助我们改进IL2CPP,并且希望这类反馈越多越好。我们的IL2CPP研发组有很强烈的“测试优先”意识。我们时常使用“Test Driven Design”方法,在没有进行足够全面的测试的情况下,几乎不会进行代码的合并工作。这个策略用在IL2CPP项目上非常的棒。我们现在所面对的大部分bug并不是意想不到的行为产生的,而是由意想不到的特殊情况产生的。(例如在一个32位的索引数组中使用了64位的指针从而导致C++编译器失败)面对这种类型的bug我们可以快速的并且很自信的进行修正。有了社区的帮助,我们非常努力的让IL2CPP既快又稳定。顺便说一句,如果你对我刚才说的这些有兴趣,我们正在招人(嗯.....我只是这么一说)好戏连台关于IL2CPP我们还有很多可以说的。下一次我们会深入到il2cpp.exe代码生成的细节中。看看对于C++编译器来说,由il2cpp.exe生成的代码会是个什么样子。欢迎关注IndieACE微信公众号:IndieAce,可以看到IndieACE定期分享的好内容。需要转载IndieACE的文章请与我们私信联系。","state":"published","sourceUrl":"","pageCommentsCount":0,"canComment":false,"snapshotUrl":"","slug":,"publishedTime":"T12:54:42+08:00","url":"/p/","title":"用Unity做游戏,你需要深入了解一下IL2CPP","summary":"这次我们翻译了一篇Unity官方博客上的文章,原文题目为AN INTRODUCTION TO IL2CPP INTERNALS ,作者是从事Unity软件开发的Joshua Peterson。文章的看点在于,它是以IL2CPP内部开发人员的角度来讲述的,所以对于开发者来说非常有参考价值。如果你对Mono,IL2…和文章","reviewingCommentsCount":0,"meta":{"previous":null,"next":null},"commentPermission":"anyone","commentsCount":0,"likesCount":0}},"annotationDetail":null,"commentsCount":6,"likesCount":24,"FULLINFO":true}},"User":{"yizhimao":{"isFollowed":false,"name":"小玉","headline":"本体其实是一只猫(头像即本人)。","avatarUrl":"/a9d6a00d321a770c114e3f_s.jpg","isFollowing":false,"type":"people","slug":"yizhimao","bio":"独立游戏开发者","hash":"eb4132dbcc9ef3a0e9cfcdb","uid":96,"isOrg":false,"description":"本体其实是一只猫(头像即本人)。","profileUrl":"/people/yizhimao","avatar":{"id":"a9d6a00d321a770c114e3f","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false,"badge":{"identity":null,"bestAnswerer":null}}},"Comment":{},"favlists":{}},"me":{},"global":{},"columns":{"indieace":{"following":false,"canManage":false,"href":"/api/columns/indieace","name":"IndieACE","creator":{"slug":"yizhimao"},"url":"/indieace","slug":"indieace","avatar":{"id":"8a94f50b9ef","template":"/{id}_{size}.jpg"}}},"columnPosts":{},"postComments":{},"postReviewComments":{"comments":[],"newComments":[],"hasMore":true},"favlistsByUser":{},"favlistRelations":{},"promotions":{},"switches":{"couldAddVideo":false},"draft":{"titleImage":"","titleImageSize":{},"isTitleImageFullScreen":false,"canTitleImageFullScreen":false,"title":"","titleImageUploading":false,"error":"","content":"","draftLoading":false,"globalLoading":false,"pendingVideo":{"resource":null,"error":null}},"config":{"userNotBindPhoneTipString":{}},"recommendPosts":{"articleRecommendations":[],"columnRecommendations":[]},"env":{"isAppView":false,"appViewConfig":{"content_padding_top":128,"content_padding_bottom":56,"content_padding_left":16,"content_padding_right":16,"title_font_size":22,"body_font_size":16,"is_dark_theme":false,"can_auto_load_image":true,"app_info":"OS=iOS"},"isApp":false},"sys":{}}

我要回帖

更多关于 ios独立开发者 收入 的文章

 

随机推荐