怎样学会制作独立游戏?

我是一名好好学习的高二学生,对第九大艺术——游戏很感兴趣,所以小白的我想求教各位大神。(about my dream)我迷茫啦,我想问现在(当下),我能干点什么?大家统一一下口径,我实在是没时间去分辨,也分辨不出。
关注者
1,867
被浏览
170,246

48 个回答

收录于 编辑推荐 ·
看到问题是制作独立游戏,虽然说独立游戏也是游戏的一种,但开发方式差别还是很大的,鉴于你对于游戏开发还不是太了解,我的回答不局限于独立游戏开发,而是提供一些通用的信息供你参考。

  • 高中生的身份和游戏开发并不矛盾,许多知名的开发者都是在这个年纪,甚至更年轻的时候开始游戏开发的,所以这不是什么问题。
  • 英语对于非英语国家的开发者来说算是最重要的技能之一,至少要做到读英文资料没问题。
  • 信息检索整理能力也是非常重要的,科学上网是必备的,顺畅使用Google才能找到有用信息,Youtube上的各种相关频道,教学,Blogspot上的技术文章,Twitter,Google+上的牛人们都可以让你学到许多东西。
  • 游戏制作需要许多不同的技能:设计,编程,美术,音乐,音效……可以先想想自己到底想做哪方面的工作,即使不会编程也可以在一些工具的帮助下制作出游戏。
  • 如果立志于成为游戏设计师,恭喜你,你学的所有知识都可以在游戏设计中用到,因为需要掌握的知识是Everything,我把一本游戏设计书讲到的推荐书目做了一个豆列The Education of a Game Designer,感兴趣可以看看。
  • 如果想学习编程,可以从一个成熟的游戏引擎入手,个人推荐Unity
  • 国内的游戏行业不是太健康,热门的是贩卖虚拟道具为主类似电子商务的游戏,因为同质化严重,缺乏创新,也被大家戏称为搬砖行业。不清楚你喜欢想做的是哪种游戏,是否想把游戏开发作为职业还是只是把其当做爱好。如果你想进入游戏行业并且想做的是独立游戏(如果我们对它的理解是一样的话),需要考虑下自己未来的发展,例如国内读完本科后出国去读个游戏开发相关的学位,不是那种游戏培训学校,而是正规大学的互动设计等相关专业。
  • 游戏开发99%的时间都是繁重的工作,很难有太多乐趣。如果是为了名气,金钱这些东西更难获得快乐,能力出众的话从事别的领域行业也会获得更丰厚的回报。但如果真的感兴趣,就义无反顾跳进这个火坑吧 :-)

一些资料
  1. 【译文】如何成为一个游戏设计师(我的渣翻译-_-!)
  2. 演講分享:《為什麼你不該進入遊戲業?》2011 修訂版 >> 猴子靈藥 [Monkey Potion] (台湾独立游戏人半路的PPT,墙外)
  3. 快乐之道-游戏设计的黄金法则 (豆瓣)
  4. 全景探秘游戏设计艺术 (豆瓣)
  5. GameDev.net Game Development Community
  6. Gamasutra - The Art & Business of Making Games
  7. Polygon
  8. #AltDevBlog
  9. Ludum Dare - Home (游戏开发比赛,周末8月23日~26日就有下半年的比赛,可以去观摩下)
  10. 独立游戏大电影 Indie Game: The Movie(豆瓣)
无论是不是高中生,都是一样的:

如果你的脑海中有一个游戏的idea,
那么就用任何你认为合适的方法实现出来,
可以是语言、文字、涂鸦、剪纸,甚至是一个游戏程序![1]

然后给小伙伴们玩!
恭喜!你已经成为了一个游戏开发者了!
(楼上 @周骏 很好的阐释了这个定义 :D)

没错,我所理解的游戏开发者,准确地说,独立游戏开发者,
首先是个艺术家,其次是设计师,最后才是工程师。

You don't need to be a game developer to develop a game.
Once you develop a game, you are a game developer.


----------长篇大论-----------

相对应的:

“脑海有idea”,这是作为艺术家的事情。
在游戏开发团队中,idea阶段往往是团队里所有人都可以参与的,所以无论你是programmer,artist,designer,QA,还是project coordinator,在这个阶段都是艺术家。[2]
如何培养在游戏方面的”艺术天分“?
我也不知道,大概是如 @矩阵@黄十三 所说的多读书吧。
任何书都可以读,上至天文,下至地理。
或许一本日本战国的历史小说,能成就一个十几年的经典系列。[3]

“用任何合适的方法实现idea“,笼统地涵盖了设计师和工程师的职责。

有了idea之后,设计师就需要针对这个idea来设计核心机制、设定游戏类型、设计辅助机制、设计游戏背景等等 [4]。
那么如何学习这些设计技能?
简单地说,是要玩各种各样的游戏,了解并解释它们的核心机制、辅助机制,剖析它们的优劣。这样,你就能拥有游戏设计的基本涵养。
比方说,Kingdom Rush和其他塔防相比多出了出士兵的塔,这会带来什么样的体验?
可以看看 Kingdom Rush 为什么会在红海的塔防游戏中脱颖而出?@叶超 同学和我的答案。
但是,游戏设计是一个非常博大精深的课题。我只懂皮毛,只能建议到此。

工程师需要做的工作,就是将设计实现出来。
如[1]所说,可以用各种媒介来实现游戏,它们都有不同的价值和代价,在游戏开发的不同阶段需自行取舍。但一般来说,游戏最终会以程序的方式实现出来,所以了解game programming是必要的。
作为game programmer的我,就抛砖引玉地啰嗦一点吧。
如何学习game programming,首先应该是学习programming,再学习game specific stuff。
关于programming的学习,如何学习编程?是一个很好的答案。

但有一点需要注意的是,热情在困难面前是很容易磨灭的,所以学编程的时候,不要忘了你的目的是什么。

不需要成为了编程高手才能做game programming,可以在一边学习的过程中,一边做简单的小游戏。例如text-based的小游戏。
而学习game programming,最有效率的方法是加入一个团队,或者自己设定一个目标,制作一个游戏。因为在实战的过程中,你才会有动力去认真研究一些技术和框架。

artist也是工程师,但我对artist的修炼知之甚少,就有待高人了。


------------注释-------------

[1] 语言、文字、涂鸦、剪纸与游戏程序的复杂程度是递增的,不是每一个idea都值得被做成程序,可能一幅简单的涂鸦就能表达出你的idea。

[2] 此段提到的”artist“和”艺术家“并不指一个意思,”artist“是指负责美术的开发者,”艺术家“是指提出游戏idea的开发者,可以是任何岗位的人员。

[3] 此处意淫Total War系列是由日本战国的历史小说所成就的。不过后经查证,是由于Command & Conquer的成功而推动Total War的开发的 :p

[4] 核心机制 core mechanic,指游戏最核心的玩法,这个决定了游戏是不是好玩;
辅助机制 secondary mechanics,指其余非核心的机制,如FPS的武器系统,RTS的阵型等,这决定了游戏的耐玩性。