科技: 人物 企业 技术 IT业 TMT
科普: 自然 科学 科幻 宇宙 科学家
通信: 历史 技术 手机 词典 3G馆
索引: 分类 推荐 专题 热点 排行榜
互联网: 广告 营销 政务 游戏 google
新媒体: 社交 博客 学者 人物 传播学
新思想: 网站 新书 新知 新词 思想家
图书馆: 文化 商业 管理 经济 期刊
网络文化: 社会 红人 黑客 治理 亚文化
创业百科: VC 词典 指南 案例 创业史
前沿科技: 清洁 绿色 纳米 生物 环保
知识产权: 盗版 共享 学人 法规 著作
用户名: 密码: 注册 忘记密码?
    创建新词条
科技百科
  • 人气指数: 1806 次
  • 编辑次数: 1 次 历史版本
  • 更新时间: 2013-01-20
土土
土土
发短消息
相关词条
电子游戏AI
电子游戏AI
游戏设计七大常量
游戏设计七大常量
游戏设计认知
游戏设计认知
任天堂游戏设计原理
任天堂游戏设计原理
平衡游戏内部经济系统
平衡游戏内部经济系统
游戏5大设计方法
游戏5大设计方法
游戏开发者12个诀窍
游戏开发者12个诀窍
游戏视觉风格
游戏视觉风格
创造虚拟感7大原则
创造虚拟感7大原则
基于数据设计游戏
基于数据设计游戏
推荐词条
希拉里二度竞选
希拉里二度竞选
《互联网百科系列》
《互联网百科系列》
《黑客百科》
《黑客百科》
《网络舆情百科》
《网络舆情百科》
《网络治理百科》
《网络治理百科》
《硅谷百科》
《硅谷百科》
2017年特斯拉
2017年特斯拉
MIT黑客全纪录
MIT黑客全纪录
桑达尔·皮查伊
桑达尔·皮查伊
阿里双十一成交额
阿里双十一成交额
最新词条

热门标签

微博侠 数字营销2011年度总结 政务微博元年 2011微博十大事件 美国十大创业孵化器 盘点美国导师型创业孵化器 盘点导师型创业孵化器 TechStars 智能电视大战前夜 竞争型国企 公益型国企 2011央视经济年度人物 Rhianna Pratchett 莱恩娜·普莱契 Zynga与Facebook关系 Zynga盈利危机 2010年手机社交游戏行业分析报告 游戏奖励 主流手机游戏公司运营表现 主流手机游戏公司运营对比数据 创建游戏原型 正反馈现象 易用性设计增强游戏体验 易用性设计 《The Sims Social》社交亮 心理生理学与游戏 Kixeye Storm8 Storm8公司 女性玩家营销策略 休闲游戏的创新性 游戏运营的数据分析 社交游戏分析学常见术语 游戏运营数据解析 iPad风行美国校园 iPad终结传统教科书 游戏平衡性 成长类型及情感元素 鸿蒙国际 云骗钱 2011年政务微博报告 《2011年政务微博报告》 方正产业图谱 方正改制考 通信企业属公益型国企 善用玩家作弊行为 手机游戏传播 每用户平均收入 ARPU值 ARPU 游戏授权三面观 游戏设计所运用的化学原理 iOS应用人性化界面设计原则 硬核游戏 硬核社交游戏 生物测量法研究玩家 全球移动用户 用户研究三部曲 Tagged转型故事 Tagged Instagram火爆的3大原因 全球第四大社交网络Badoo Badoo 2011年最迅猛的20大创业公司 病毒式传播功能支持的游戏设计 病毒式传播功能 美国社交游戏虚拟商品收益 Flipboard改变阅读 盘点10大最难iPhone游戏 移动应用设计7大主流趋势 成功的设计文件十个要点 游戏设计文件 应用内置付费功能 内置付费功能 IAP功能 IAP IAP模式 游戏易用性测试 生理心理游戏评估 游戏化游戏 全美社交游戏规模 美国社交游戏市场 全球平板电脑出货量 Facebook虚拟商品收益 Facebook全球广告营收 Facebook广告营收 失败游戏设计的数宗罪名 休闲游戏设计要点 玩游戏可提高认知能力 玩游戏与认知能力 全球游戏广告 独立开发者提高工作效率的100个要点 Facebook亚洲用户 免费游戏的10种创收模式 人类大脑可下载 2012年最值得期待的20位硅谷企业家 做空中概股的幕后黑手 做空中概股幕后黑手 苹果2013营收 Playfish社交游戏架构

新手编写游戏的建议 发表评论(0) 编辑词条

目录

新手编写游戏的建议编辑本段回目录

作者:Tommy Refenes

大约是5年前,看了麻省理工学院的一个教授在PBS特别谈话中讲述了AI技术,我就给这位教授写了一封邮件。我一股脑地把自己的想法全都写在那封邮件里了,比如AI的开发、如何编写识别环境的机器、机器如何通过经验培养感情等。我花了整整4个小时写邮件,因为我觉得跟这位教授的工作有共鸣。我心情振奋地写着那封邮件,因为我写的是自己兴趣深厚的东西,我想找人分享我的想法。当时我满怀希望,幻想着也许我会收到回复,从此有了分享兴趣的同道中人,可能因此走上制作先进机器AI的道路。悲哀的是,我的邮件如石沉大海……我甚至不知道她是否阅读了我的邮件。

programming games(from gamasutra)

programming games(from gamasutra)

后来,因为独立制作游戏《电影大亨》和《超级肉食男孩》,我收到几封邮件询问我关于游戏的问题。大多数邮件是年轻的游戏粉丝写的,他们的问题从“我要学习什么语言”到“我要怎么做才能在Xbox上发布游戏”。我阅读了每一封邮件,虽然没有一一回复,因为这会占用我一整天的时间,何况这些问题大同小异。

我为自己没有回复邮件感到难过,因为这些人只是想找人倾诉自己的想法,得到关于游戏开发的建议。他们的做法不正像当年我给麻省理工学院的教授写邮件一样吗?他们对我做的事情感兴趣,想知道我是怎么做到的,想参与到游戏开发中。好吧,我想帮助他们,但我没有时间、学识和兴趣当老师……所以我写了这篇文章。在此,我将回答如下关于游戏制作的问题。

game idea(from gamasutra)

game idea(from gamasutra)

我要从哪里开始我的游戏想法?

从哪里开始?这是我遇到最多的一个问题。我觉得对许多人来说,万事开头难,因为他们没有意识到制作任何东西都是从无到有的,甚至是你看到的优秀AAA游戏也是从无到有制作成现在这个样子的。当你的游戏想法浮现在脑海中时,你就已经开始了制作游戏的第一步,从想象到执行的过程是非常艰难的。对于从来没有制做过游戏的人来说,像让角色移动这么简单的事也是一个几乎无法跨越的大障碍,他们因此感到沮丧,不得不放弃。其实他们本不必这么快就承认失败的,关键是第一步要迈得小一点。

《超级食肉男孩》一开始只有一个四方形的主角食肉男孩。《Mew-Genics》一开始只有一个在屏幕上来加移动的黑色的方块。《粘粘球》一开始只有一群带笑脸的黑球。《Game 2》一开始只有一个向量图形作为主角。做游戏就像建造楼房,总是从最基本的地基开始往上建。

一次只做一件事也非常重要。如果你每次都要求面面俱到,那么你极有可能会失望、受打击。如果你一次只执行一小步,那么你实现想法的可能性就会大很多了。

将你的游戏分解成几个小部分,然后从更深刻的层面上分析和评估你的想法。这是必须的,因为你要随时准备调整,不能将自己逼上无法回头的死路。有时候,使游戏脱离原计划反而能产生最有趣的玩法。这样的开发方法更合理,因为你对游戏的思考更系统,你是在原有想法的基础上增加新的想法。

所以,你应该努力将你的想法分解成更小的部分,这样你才能用目前掌握的技能轻易地完成每个小部分。另外,这么做也使你更容易看到进展,更有干劲,你可以轻易地返工和继续完成中断的部分。记住,没有时间规定你必须什么时候完成游戏(如果你给自己定了期限,那么你会过得很辛苦)。以你自己的速度学习和建设项目,就像你玩乐高积木一样,一次搭一块。

再举一个更具体的例子,《超级食肉男孩》是怎么开始的。一开始,我做了一个四方形的主角食肉男孩,然后开始编写代码。首先我得让他能来回移动。他能移动后,我就这样玩了一阵子,然后开始下一步:当我按下按键时,他会跳起来。当他降落到平台上时,我得让他停下来。当他碰到墙时,我也得让他停下来。为了继续前进,我得让他粘在墙上。在我按下按键后,他还得会抵着墙往上跳。如果他遇到绿色方块,他就会死……就这样,直到完成最后一行游戏代码,《超级食肉男孩》也就诞生了。

蚂蚁腿也是肉,虾米也是海鲜,再小的进步也比停滞不前来得好。最重要的是,在制作你的游戏的过程中,你必须始终保持干劲,不觉得泄气。

programming language (from gamasutra)

programming language (from gamasutra)

我应该学习什么编程语言?

这是我第二最常遇到的问题。说实话,我不喜欢这个问题,因为我回答不了。我总是用“学习让你觉得最舒服的语言”来回答这个问题。我想这个答案并不给力,因为我觉得提问的人要么想得到更确切的答案,要么就是他们刚入门,任何语言都不能让他们感到舒服。我打算详细地解释一下我的回答,也许有助于人们选择最适合自己的语言,或理解为什么使用他们感到舒服的语言是最理想的开头。

如果你是咨询首先学习什么编程语言,那么你不必担心“Flash能在iOS上运行吗”或“Xbox运行Java吗”或“XNA能在Mac上运行吗”这类问题。在最开始,你能预见的结果就是实现游戏,而不是发行游戏或销售游戏。这些问题只有到了发布游戏时才很重要,但发布游戏比实现游戏容易多了。所以,发布的问题留着以后再考虑吧。

找到适合你的语言然后开始写代码。一开始,立即获得满足感是非常关键的。你希望能够很快地做出能在屏幕上看到的东西,然后以此为基础进行下一步。你希望能够轻易地在这个东西上面编辑、制作和添加。这时,立即的满足感是保持动力的关键,毕竟你不想一边学习新语言一边制作你的游戏。如果你是一边学习新语言一边制作游戏,那么你有可能会花上好几周时间学习,而看不到任何成果,除了你刚刚学习到的但还不能运用到游戏上的知识。这会让你非常沮丧。

利用你所知道的知识,或者尽量从最简单最让你感到舒服的方式学习开发你的游戏的技能。所以,如果你知道一点儿Flash,那就用Flash,如果你会用C++,那就用C++,如果你只会用Java,那就用Java。不存在所谓的“官方游戏开发语言”的东西,这一点你要永远记住。《Minecraft》是用Java写的,《超级食肉男孩》是用C++写的,《Farmville》是用Flash写的,有些游戏还用HTML 5,还有些游戏是用索引卡片做成的。最重要的就是:这些都不重要。找一个让你觉得舒服的语言制作游戏。

不要以为我是在打击你学习新语言和探索新领域的信心。如果你真的想从事游戏开发,一旦你迈出第一步,你就会想离开你的熟悉的领域,学习一些新的东西。你要有与时俱进的意识,同时打好基础。

如果你确实不知道从什么语言开始,我建议你学习Flash、Game Maker和Unity等。这些软件都很容易做出能显示在屏幕上的东西,并且学习起来也不难。如果你没有任何编程语言的基础,又急于开始制作自己的游戏,那么你就不要从C++开始了。

books(from gamasutra)

books(from gamasutra)

我应该看什么书或教程?

我推荐两本书,但只适合C++开发,并且不是入门书。这两本书就是《Effective C++》和《More Effective C++》。如果你不懂C++,这两本书就太高端了,所以你不必觉得“我需要这两本书才能制作游戏”。

除了这两本,我还没读过其他编程书。我的学习方法是阅读SDK文件资料。不太典型,但这就是我的学习方法。

我强烈推荐学习网上教程。网上有许多程序样本和教程如NeHe等。我没有要推荐的教程,主要是因为我没有看过任何教程,但我确实知道这些资源在网上是很丰富的。我敢说,你Google一下就能找到你要的东西。

我强烈不建议在做你自己的游戏时复制粘贴教程上的东西。这样你是学不到任何知识的,你只是在抄袭。这就是开放源代码程序的麻烦。教程可以用来阅读、学习和参考,但不是照搬照抄。复制粘贴源代码不会让你成为一名优秀高效的程序员,除非你已经完全理解自己复制粘贴过来的代码。不要自欺欺人了,花些时间理解代码,然后再运用。

game laboratory(from gamasutra)

game laboratory(from gamasutra)

我要用什么软件制作游戏?

我觉得问这个问题的人是希望别人告诉他有什么神奇的工具帮他制作游戏。真相是,能帮你制作引擎这类东西的工具确实存在。但如果你不想为了制作游戏引擎而学习编程语言的话,那就考虑Unity或UDK之类的软件吧。这些软件会大大减轻你制作游戏的压力。但这么做也有弊端:你会受到这些软件系统的限制。这些工具有很多强大的功能,且性能稳定,但并不是你想要什么它们就能做出什么。

我个人不喜欢受到限制,更喜欢深入游戏开发的过程,所以我总是避免使用这些工具,多年来一直从代码开始做游戏。我不是说Unity做不出像《超级食肉男孩》这样的游戏。一定程度上还是可以的。但因为受到限制,它可能做不出一模一样的游戏,可能控制不了游戏,可能画面上有差别。游戏的精华还在,但其他部分可能不在了。这取决于你的做法。还是那句话,使用让你感到舒服的方式做游戏。UDK和Unity可以做出好游戏,但好游戏不一定要用UDK和Unity制作。

开发游戏时,我使用Visual Studio, 但我也同样擅长使用Eclipse、Code Warrior、XCode、Notepad和编译器。就像选择一种编程语言,其实你使用什么软件并不重要。我习惯使用Visual Studio,但我并不使用它强大的函数功能,我只是用它组织、编译和调试我的源代码文件。很多编辑器都有这些功能。

到于美术和设计,Ed(我的合作者)使用的是Flash。我曾用Flash写过一个动画导出工具,因为对他来说,Flash比编写工具容易多了。再者,Ed最擅长的就是Flash。编写那个工具意味着学习JSFL和使用Flash工作,但在制作《超级食肉男孩》时,这种办法对我们两人来说是最有效的。你不需要使用我的动画导出工具来制作你的游戏。总有一天我会将这些工具交给开发者们,但不会让大家等太久的。

stay motivated(from gamasutra)

stay motivated(from gamasutra)

如何保持动力?

保持动力没有秘诀,并且我也提不出让你保持积极性的建议。我自己没有特殊的技巧或心态,也没有罗列任务表的习惯或类似的东西。为了让我自己保持动力,我必须信任并享受自己的工作。如果我不喜欢自己的项目,那我可能就无法完成它了。

很早以前我开始制作一款叫作《粘粘球》的游戏,我做了两年,然后就没有然后了。那款游戏不是我想出来的,我个人并不想做,因此,我始终做不出自己想要的效果。后来我放弃它,开始做《超级肉食男孩》。

制作《粘粘球》的时间没有白废,因为我从中积累了许多开发经验。那款游戏之所以完不成是因为我对它不感兴趣。这个项目唯一让我兴奋的部分是,多线程物理引擎,因为我花了几乎所有的时间制作它。制作那款游戏对我来说意义重大,它让我意识到喜爱自己所做的游戏就能更容易完成它。这就是动力来源。

当你对自己正在做的游戏有信心有热情时,不要说失去动力,要阻止你都难。你会迷上它,想不断完善它,渴望看到它最终的样子。就这样,从开始到结束的整个过程,你都觉得积极向上。你可能还会花更多时间修饰它,增加你觉得会使之锦上添花的特点,把它当成自己的心血。

Steam(from gamasutra)

Steam(from gamasutra)

我要怎么做才能在Steam/Xbox/PS3/WiiU上发布游戏?

对于任何刚开始做游戏或正在做第一款游戏的人,这个问题真不该问。你的目标应该是“我要做一款好游戏”,而不是“我要在XBLA上发布游戏。”让你的游戏登录以上任何一个平台的方法是公开的。你不需要写秘密邮件,你不需要填写表格,你不需要有一个业内的表哥,就算有,他也不可能帮你组织一个发布会。

这些平台的审批是非常简单的:只要你拿出好游戏。仅此而已。然而这个残酷的真相却有人不相信。我曾见过有人因为自己的游戏没有通过Steam/XBLA的审批,就各种抱怨,但就是不从自己的游戏上找原因。好游戏自然会受到关注,平台所有者会根据自己的标准认真地考虑它。你能做的就是,多宣传你的游戏,保持对游戏的热情,如果你的游戏够好,其他人也会被你的热情所感染。

如果你的游戏不够好,你会很难帮它找到推广平台。专注于制作好游戏,不要因为选择什么平台而分心。好游戏就像金子,放到哪里都能发光,并不需要依赖平台的暴光。

failure(from gamasutra)

failure(from gamasutra)

如果我做完游戏,却没有人喜欢它,怎么办?

如果你努力了,并且认为你的游戏是迄今为止最让你满意的作品,虽然得不到平台推广,但也不要认为你失败了,于是就放弃自己的游戏梦。极少人第一次做游戏就获得成功。《超级肉食男孩》是我第一次制作完成的游戏,但在它之前,我做过许多失败的半成品。

我同索尼差一点就签定合约了,但最后一刻(准确地说是签最后一份文件的前两天)管理层变动使我之前提到的那款游戏《粘粘球》被取消了,于是我再也没有收到索尼的消息。那款游戏并不好,即使与索尼签约,它也有可能完成不了,即使完成了也非常可能是失败的游戏。它让我受伤,让我痛苦,但没有打败我。

不要让那种挫折扼杀你的游戏梦。人们可能会觉得你的娃真丑,但毕竟是自己的骨肉。继续做游戏。化失败为动力。只要你克服了挫折,总有一天会实现你的梦想。

success(from gamasutra)

success(from gamasutra)

总结

你有什么就用什么做游戏,从小处开始做游戏,做游戏之外的其他事以后再考虑。选择什么编程语言和软件与制作游戏关系不大,用得顺手舒服就好;或者在刚开始做游戏时学习一些不太费力的技能。有进步才有动力,不要灰心丧气。爱游戏,恋游戏,直到你无法停止做游戏。(本文为游戏邦/gamerboom.com编译,拒绝任何不保留版权的转载,如需转载请联系:游戏邦

How do I get started programming games???

by Tommy Refenes

The following blog was, unless otherwise noted, independently written by a member of Gamasutra’s game development community. The thoughts and opinions expressed here are not necessarily those of Gamasutra or its parent company.

Want to write your own blog post on Gamasutra? It’s easy! Click here to get started. Your post could be featured on Gamasutra’s home page, right alongside our award-winning articles and news stories.

I remember maybe 5 years ago I emailed a M.I.T. professor after seeing her on a PBS special talking about AI. I poured my brain into an email to her about my theories on AI development, how machines can be programmed to recognize environments, how emotions can be learned through experience,etc. I spent a good 4 hours writing the email because I felt a connection to this professor’s work. It was an exciting email to write because it was something I was very interested in and I wanted to reach out and talk to someone about it. There was so much hope while I was writing it that maybe I would get a response back and I would have someone to talk to about this kind of stuff, maybe get me started on the path to creating advanced machine AI. Sadly, I never heard back from her…I don’t even know if she read the email.

Lately, because of Indie Game: The Movie and Super Meat Boy, I get several emails/twitter mentions/formspring questions a day from people wanting advice. Most of the emails are from younger fans and are requesting advice ranging from “What language do I use” to “How do I get my game on Xbox”. I read every email but I don’t always respond because it would take a good part of my day, not to mention there is little variation between emails.

I legitimately feel bad when I don’t respond because these are people that are just reaching out and want someone to shed some light game development. They are doing the same thing I did with that M.I.T. professor so many years ago. They are interested in what I do and want to know how to do it, they want to be a part of game development in some way. Well, I want to help but don’t have the time, knowledge, or desire to be a teacher …so here we are. This is an FAQ for anyone who wants some advice in some way from me about making games.

Where do I start on my dream game idea?

Where do I start is the most common type of question I get. I feel like starting is the biggest hurdle for a lot of people because they don’t realize that everything, even the crazy AAA game you see out there,started out as nothing and built upon itself until it became what it was destined to be. When your dream game is sitting in your head and you take that first step towards creating it, it can be very overwhelming to go from a state of imagination to implementation. For someone who has never made a game, something as simple as making a character move can be something that just seem like a huge impossible hurtle and can quickly become a huge discouraging defeat. It doesn’t have to be like this, the key is to start small.

Super Meat Boy started off as a quad with the image of Meat Boy on it. Mew-Genics started out as a black square that moved back and forth on the screen. Goo! started out as circles with smiley faces on them. “Game 2” started out as a vectorized image of the character in “Game 2”. Everything starts out at the very most basic level and builds up from there.

It’s very important to take things one step at a time. If you approach your dream game all at once, chances are you will get frustrated and overwhelmed. If you approach the same dream game one little step at a time, your chances of realizing your vision are exponentially higher.

Breaking your game down into small pieces forces you to analyze and evaluate your ideas on a deeper level. This is essential because you always want to be open to changes, you never want to set yourself into a path that you feel you can in no way deviate from. Deviation from the plan can yield the most interesting parts of a game. It’s a more organic way of developing because you are thinking within the game system and are applying new ideas to ideas that have already formed.

So, try your best to break down your ideas in to small chunks that can be accomplished easily within your current skillset. It’s easier to see progress that way, you don’t get frustrated as easily, and you can come back to your work later and easily pick up where you left off. Remember that there is no time limit on when you have to get your game out (if you are starting out like that, you are in for a rough time). Learn at your own pace and build your projects like you build Legos…one piece at a time.

For a more detailed example, let me go through how SMB started. Once I had that quad with the MeatBoy image on it, I hooked up input so I could move it back and forth. After I played with that a little bit I made it so that when I pressed a button my Meat Boy quad would jump, then I worked on stopping him when he landed on a platform, then I worked on stopping him when it he a wall, then I made him stick to walls, then when he stuck to a wall and I hit a button he would wall jump, then if he hit a greensquare he died and so on and so on until the last line of gameplay code was written and Super Meat Boy was complete.

No task is too small, no amount of progress is too little. What is important is that you do not get frustrated and you continue to work on your game.

What programming language do you recommend?

This is the second most common question I get and to be honest I don’t like this question because it is a question I cannot answer. I always try to answer the question with “whatever language you feel the most comfortable with”. I don’t think this answers people’s questions effectively because I feel people are looking for a definite answer or they are just starting out and do not feel comfortable with any language. I’m going to try to elaborate on my answer to maybe help people understand how to choose a language that is best for them or help them understand that using what they are comfortable with is the best way to start out.

If you are looking for advice on what programming language to start with you don’t need to concern yourself with “Will Flash run on iOS” or “Does Xbox run Java” or “Does XNA run on Mac”. Your foreseeable end game at the starting point is realizing a game, not releasing it or selling it. These questions are important when worrying about shipping a game, but shipping a game is way easier than realizing a game. You can worry about shipping your game later.

Find a language that clicks with you and start coding. In the beginning it is important to have as much instant gratification as possible. You want to be able to get something on the screen quick and build from there. You want to be able to edit what you create and add on to it easily. Instant gratification is key to staying motivated when starting out, you probably don’t want to be learning a new language while making your game. If you try to learn a new language while creating your game, chances are you will spend weeks reading and have nothing to show for it except knowledge that you have not yet been able to apply to your game. That can be pretty discouraging.

Stick to what you know, or go the easiest most comfortable route possible to acquiring skills to start work on your game. So if you know a little Flash, use Flash, if you use C++, use C++, if you only use Java, then use Java. There is no such thing as “the official game development language”. ALWAYS remember that. Minecraft is written in Java, Super Meat Boy is written in C++, Farmville is written in Flash, some other game people play is written in HTML 5, some other game people play was made on Index cards. The point is: It doesn’t matter. Find a way you can make your game comfortably, and make it with that.

Don’t take that as me discouraging you from learning new languages and working outside of your comfort zone. Once you get the ball rolling, you will want to reach out of your comfort zone and learn new things if you want to grow as a game developer. Worry about growing later, in the meantime get your base established and start coding.

If you don’t know any languge and are looking for a place to start, I would recommend Flash, Game Maker, Unity or something similar. All those programs make it very easy to get something on the screen quickly and with a very small learning curve. You don’t want to start out with something like C++ if you have no experience with any other programming language and are anxious to start creating your game.

What books or tutorials do you recommend?

There are two books I recommend but they are only for C++ development and they are not beginner books at all. They are Effective C++ and More Effective C++. These are more advanced C++ books so if you don’t know C++, do not be like “Oh I need those to make games”. You don’t.

Other than those two, I haven’t read any other books. The way I learn is by reading SDK documentation. It’s not very typical, but it’s how I learn.

I do recommend going on line and looking up tutorials for things. The internet is full of example programs, tutorials like NeHe, etc. There are no tutorials that I recommend, mainly because I haven’t gone through any but I do know the resources online are abundant and varying. I’m sure with a little help from Google you can find exactly what you need.

I DO NOT recommend copying and pasting from tutorials to make your game. You aren’t learning anything that way, you are just copying. That goes double for open source programs. They are fine to look at, study, and reference, but they are not a means of making the game for you. You will not become a good and effective programmer by copying and pasting source code into your game unless you fully understand it. Do not cheat yourself this way, take the extra time and understand something before you use it.

What software did you use to create the game?

I feel when this question is asked, its being asked by people that assume there is a magical tool that makes games for you. Fact of the matter is there are tools that do a bunch of the engine stuff for you. If you aren’t interested in learning a programming language for the purposes of building a game engine look at something like Unity or UDK. They take the heavy lifting away from you and allow you to just create a game. There is a cost to this though. You are limited by the system presented to you with those tools. These tools are full of features that are well built, stable, and amazing, but sometimes they will not do what you want.

Personally I don’t like limitations and I really enjoy having my hands deep in the development so I avoid these tools and build my games from code I’ve written over the years. That’s not to say Super Meat Boy couldn’t exist in something like Unity. It could to an extent. Due to the limitations though it would not be the same game, it would not control the same, and it would not look the same. The essence would be there, but the game as we know it would not be. It’s up to you though. Again, it’s what you are comfortable with. Amazing games are made with UDK, Unity and the like…and amazing games are made without them.

I use Visual Studio for development, but I could just as easily use Eclipse, Code Warrior, XCode, or Notepad and a compiler. Just like selecting a programming language, it doesn’t matter what you use. Visual Studio is what I am used to. I don’t use any of the crazy functions built into it, I use it as a way to organize my source code files, compile, and debug. Tons of editors do this.

For art and animation, Ed uses Flash. I wrote an exporter for the animations in Flash because it was easier than writing tools for Edmund, and…again…Edmund is the most comfortable in Flash…so why fight it! Writing that tool meant learning JSFL and working in Flash, but it was what worked best for Ed and me for Super Meat Boy. You don’t need my animation exporter to make your game. One day I will offer these tools to developers, but this won’t happen for a long time so don’t wait for them.

How do you stay motivated to finish what you start?

There is no secret to staying motivated and there really isn’t advice I can give you to stay motivated on your project. There’s no special trick I use, or mindset, or organizational task list, or anything like that. In order for me personally to stay motivated, I have to believe in and enjoy the project I’m working on. If I don’t like what I’m working on, chances are I will not finish it.

There was a game I started a long time ago called Goo!. I worked on it for 2 years, and it went nowhere. It wasn’t my idea, it wasn’t a game I would personally want to make, and because of that I could never make it what I wanted it to be. I stopped working on the game to start on Super Meat Boy.

The time working on Goo! wasn’t wasted because I learned a lot about development, but the game was never meant to be because it wasn’t something that excited me. The only aspect of the game that did excite me was the multi-threaded physics engine and I spent almost all of my time on that. It was important for me to work on that game because it made me realize that loving the game you are working on makes it much easier to work on. It is the ultimate motivation.

When you believe in and love what you are working on, it is difficult to stop working on it. You obsess over it, you want to add to it, you want to make it better, and you really want to see it completed. Believing in what you are working on tends to shine through in the finished game. You are more likely to spend more time on extra polish, add features you think make the game better, just generally go above and beyond and really make the game yours.

How do I get my game on Steam/Xbox/PS3/WiiU/Anything else?

This is a question no one should ever be asking when they are first starting out or even if they have a game they are working on already. Your end game should be “I’m going to make a good game” not “I need to get this on XBLA”. The path to getting your games on any of these platforms is public knowledge. There is no secret email, there is no magic form you fill out, you don’t need to know anyone in the biz, nobody’s cousin works at one of these places and can get you a secret meeting, nothing like that exists.

It’s very simple to be approved for any of these platforms: all you need is a good game. That’s it. It’s a harsh reality that some people refuse to believe. I’ve seen people scapegoat everything but their game when it comes to getting approved for Steam/XBLA/whatever. A good game will gain attention and serious consideration from platform holders based on its own merits with a little help from you. Talk about your game, be excited about it and if your game is good and other people like it your enthusiasm will spread to others.

If your game is not good, you are going to have a very rough time getting it on distribution platforms. Focus on making your game the best it can be, don’t focus on what platforms you can get it on. A good game sells itself way more than exposure on a platform will ever do.

What if I finish my game and no one wants it?

If you work hard, and you think your game is the best thing ever and you still can’t get on any distribution platform don’t take that as a failure and a sign that you should stop making video games. Very few people hit a home run with their first game. SMB was the first game I ever finished, but there were a few before SMB that went nowhere.

At one point I was a few steps away from getting a Sony deal identical to fl0w and Everyday Shooter for the game I mentioned earlier, Goo!. A change in management at the last minute (literally two days before final papers were to be signed) caused the game to be cancelled and for me to never hear from Sony again. The game wasn’t good and even with the Sony deal it had a chance of never being finished and a very good chance of being a huge failure. It hurt, it stung, but it didn’t stop me.

Don’t let that kind of set back kill your dream either. People might think your baby is ugly…that’s fine though. Keep making games. Be inspired by setbacks and one day if you have the strength to push through it, chances are you will realize your dream.

Conclusion

Just make your game with whatever you can, start small and worry about other things later. Programming languages and software are irrelevant to creating a game so choose what you are comfortable with or what you want to learn but don’t take on too much when starting out. Make sure you make enough progress to stay motivated and keep frustration at a minimum. Love your game, talk about it, obsess over it and it’ll be hard not to work on it.(source:gamasutra



→如果您认为本词条还有待完善,请 编辑词条

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
0

标签: 新手编写游戏的建议

收藏到: Favorites  

同义词: 暂无同义词

关于本词条的评论 (共0条)发表评论>>

对词条发表评论

评论长度最大为200个字符。