问题描述
打算自学点什么,想听听大家的亲身经历。各种语言编程物理知识汽修开车做饭打毛衣吉他游泳钢琴心理学淘宝店。。。。。。什么都行,只要是自学的。我这里分享一下知名独立游戏开发者 Nicky Case 的自学经历吧。
我如何学习数学/写作/编程/游戏制作/成为独立开发者/保持良好的心理健康?
首先,这有一些通用的建议:
大多数人(包括我自己!)练习时往往效率低下。或者,如果他们真的「高效地」练习,却又枯燥无味,打击信心。
因此,为了高效并且富有激情地学习,我建议你做一些小项目。比如,如果你刚学习了狭义相对论,不妨写一篇简短的文章,用通俗易懂的语言解释这个理论。如果你想练习写对话,就创作一个包含大量对话的小故事。
另外,我强烈推荐你使用间隔重复。它是「升级版的抽认卡」,有认知科学的大量实验支持。你可以看看这个视频了解更多。大多数人会选择使用 Anki 这款软件,但我更喜欢实体的 Leitner 盒子,因为有实感会让学习变得更有意思,更有动力。值得注意的是,间隔重复不仅可用于记忆零散的知识点,还能帮助加深对知识的理解——在卡片上,记得加入「为什么」的问题、直观的证明过程、练习题等内容。
最后,我希望你读一读这篇文章:《哪些行之有效,哪些徒劳无功?》[1]。这是 5 位认知科学家对各种学习方法效果的总结。(比如:他们指出,高亮划线和反复阅读虽然是最流行的两种学习方式,但收效甚微。)
接下来,关于学习特定事物的一些建议......
数学
唯一了解问题所在的是那些最常被责备,但是又最被忽略的人——学生。他们说「数学课愚蠢又无趣」,他们说对了。
——《一位数学家的哀歌》[2]
如果我是教育部的头儿,我会将数学从必修课程中移除,因为我深爱数学。最能扼杀对学科的热爱的,就是强迫别人在毫无兴趣的情况下学习了。
因此,如果你想学习一个数学主题,请先弄清楚自己的动机。或许这个主题有实际应用(如贝叶斯定理、非线性动力学),或许你欣赏它本身的美(如几何、复分析)。无论如何,第一步:明确你的学习目的。
第二步:培养直觉。设想一堂音乐课,学生们年复一年地在五线谱上画音符,却从未听过一首真正的曲子,这就是当前数学课的现状。如果你在学习某个数学主题 X,不妨先在 YouTube 或搜索引擎上查找「X 的可视化」或「X 的直观理解」。(后面列出了我最喜欢的数学学习资源)
第三步:在反馈中练习。运用间隔重复(详见前文)练习回忆知识点、深入理解概念、甚至尝试快速解题。诚然,这一步有些枯燥,但如果你明确了学习目的,培养了直观感受,练习就会变得有意义且让你获得成就感。
我最喜欢的数学学习资源:
- 3Blue1Brown,尤其推荐他的线性代数和微积分系列视频。(YouTube 频道)
- Better Explained(博客)
- 《非线性动力学与混沌》(教科书)
- 关于博弈论的《策略艺术》。(附言:15 年前我读这本书只是为了兴趣,后来我的经济学教授却把它列为教材。hackerman.jpeg)
- 《理论最小值》,适用于物理学。(有书也有斯坦福大学的免费在线公开课)
我个人虽然没怎么用过以下这些资源,但据说它们也很不错:
写作
为了让文章更流畅:使用「因此」和「但是」,不要有「然后」。新手常写「这件事发生,然后那件事发生,然后这件事发生」……但是这样很乏味……因此,你应该这样连接事件:「有了这件事,但是又发生了那件事,因此发生了这件事。」
(然后……)
为了让文章更简洁:先写下初稿,统计字数,然后将字数乘以 0.9(90%)。你要将文章精简到这个新的字数。(我从《写作的艺术》中得到了这个建议。另外,《风格的要素》实际上也很有帮助?)
最后,不必刻意追求写作「风格」。专注于内容就好。你认为重要的,就是你认为有价值的。你的价值观赋予了你让人听得出来的独特声音。你的声音就是你的风格。
因此:内容塑造风格。去烹制一道营养丰富而且美味可口的佳肴吧。
写通俗易懂的知识解释
在我关于如何学习数学的回答中,我列出了学习的步骤:1)目的,2)直觉,3)练习。教授数学或任何学科,本质上就是按照这个顺序为学习者提供这三个要素。
具体建议如下:
- 目的:先让他们感受到痛处,再给出解决方案。如果可能的话,展示酷炫的视觉效果和实际应用。
- 直觉:例子先行。使用 ADEPT 方法。利用图片辅助说明。尽可能给出事实的直观证明,而不是简单地说「记住这些东西」。
- 练习:采用认知学徒制——首先「示范」解题过程,然后让学习者自己解决一个类似的问题。这一方法有认知科学的依据!
寻找通俗易懂解释的灵感:参考我上面列出的最爱的数学资源。此外,《量子杂志》和一些教育类 YouTube 频道也很不错。
为了练习制做通俗易懂的解释,我建议你开一个博客或 YouTube 频道,然后与朋友分享,听取他们的反馈意见。(如果你想「扩大受众」,或者想在互联网上被更多人发现,也可以考虑在 Reddit 上分享)
写故事
当生存还面临诸多严峻挑战时,我们的祖先为何还要讲故事?如果说故事只是为了缓解压力,那为何所有寓言故事中总有厄运降临?如果说故事只是为了给出忠告,又为何要采用虚构的形式?
我的看法是:故事不只是「缓压」这么简单,它确实在帮助我们生存。故事启示我们如何抉择,告诫我们行为的后果,引导我们实现性格的成长。但为何偏要虚构呢?这就像牛顿想象炮弹绕地球运行,爱因斯坦想象与光同行:夸张的虚构,正是探究深层事实的途径。用毕加索的话说:「艺术是言真的谎言。」
那么,有什么事实来之不易,
(「故事」是什么?简言之:
- 有人需要/想要某样东西,但是
- 他面临内部/外部障碍,因此
- 他们行动/学习/蜕变,
- 循环往复。
讲述真理不要用空谈说教,而要用浓缩人生的鲜活事例展示出来。)
明确故事主旨之后,就可以运用一些写作技巧了。我推荐以下资源:
- Kurt Vonnegut 的 8 条建议(短文)
- Lessons From The Screenplay(YouTube 频道)
- Rob McKee 的《故事》(书)
关于练习和获取灵感,这里有一些地方可以找到写作素材。(我个人常用 Reddit 的 r/WritingPrompts 版块)多写一些短篇故事,与朋友分享,听取他们的反馈意见吧!
最后,我反对套用三幕结构、英雄之旅等模式。别写那种「老套的叙事模式」,要写出独具一格、独属于你的故事。
编程
如果你会读写,那你就能编程。如果你能理解「如果-那么」的句子、「和」这个词,以及这句自我指代的句子……那你就掌握了条件、逻辑和递归这些编程的基础概念。
遗憾的是,编程(和理工科)总有一种「只有天才才行」的光环。所以,让我们通过以下方法打破这种光环:1)从周末小项目开始,2)做一些实用有趣的东西,3)无需下载软件,完全在线免费创作!
HTML:制作网站。到 Neocities.org 注册一个免费账号,完成他们的 HTML 交互式教程。最后,你就能拥有一个可以分享的个人网站。一篇宣言、猫咪的主页,还是最爱同人文的链接?想怎么玩就怎么玩!
CSS:让网站变好看。下载 Stylus 插件(支持 Firefox 和 Chrome,注意别下到 Stylish,那是流氓软件!)。打开让你分心的网站,点击插件,选择「Write New Style」,粘贴这段 CSS 代码:body{ filter: grayscale(100%); }
。网站立刻变黑白,吸引力大减!使用 CSS 和 Stylus,你可以按你的需求改网站样式,比如隐藏 YouTube 评论、干掉「同意 cookies」弹窗,或者统一改用 Comic Sans 字体。
学习 CSS:可汗学院的 HTML/CSS 课程有免费的 HTML/CSS 互动教程!
JavaScript:让网站动起来。可汗学院的 JavaScript 入门教程包含大量互动练习,教你用代码作图、做动画,都很有趣!而且你学到的这些编程基础概念,在所有现代编程语言中都通用,不限于 JavaScript。
最后,送你一句至理名言:如果实现功能时遇到问题,就模仿专业程序员——到网上搜示例代码,复制粘贴,拼拼凑凑,直到项目「活」起来!
(我的工具推荐:代码编辑器 Atom,托管平台 Github Pages,域名服务 Namecheap。)
游戏制作
你的 项目规模 要小
你的 项目 规模 要小
「不要让项目太过庞大」是学习任何艺术形式都应谨记的原则,但对于胸怀游戏开发梦想的新人来说,这一点尤为重要。因为他们往往被那些动辄耗费数百人数年之力才得以完成的 3A 大作所吸引和启发,所以我要再次强调:
你的 项目 规模 要 小
好了,接下来我想推荐一些我最喜欢的游戏设计学习资源:
- 游戏制作工具包(YouTube 频道)(建议从 Valve 的「隐形教程」看起)
- 额外分数:制作你的第一款游戏(YouTube 系列视频)
- 《游戏设计词汇》(书)(免费试读章节)
- 《游戏设计艺术》(经典教材)
如果你想在掌握编程之前,甚至在购买或下载任何软件之前就开始尝试游戏制作,不妨试试以下这些工具:
- Twine,适合制作「选择你自己的冒险」类的文字冒险游戏
- Bitsy,适合制作俯视角探索游戏(类似于 Undertale)
- PuzzleScript,适合制作 Sokoban 风格的解谜游戏
如果你想练习制作小型游戏,可以访问 http://itch.io 网站,那里有各种游戏开发马拉松的清单!
成为独立开发者
首先,我必须坦言,成为有稳定收入的独立开发者,一半要归功于运气。(至于另一半个人实力,请参考我前面关于学习的建议。)
不过,就像扑克玩家深知的那样,驾驭运气本身就是一种本领。所以,我建议:
- 像 Tarzan 那样改变赛道。除非新的事业已经能够支撑生计,否则不要轻易放弃手中的工作。比如,可以先为副业项目设立一个 Patreon,起初按「每个作品」收费,待全职投入后,再转为「包月」计费。(或者攒下一笔资金,足以维持一段时间的零收入状态)
- 多押小注。尝试许多不同的小项目,每一个都是不同方向的「赌注」。一旦某个项目展现出超乎寻常的成功潜力,就适当加大在那个方向上的投入。例如,我的第一个「可探索的解释」作品,是一个仅用 3 天就完成的游戏开发教程,结果登上了 Hacker News 的榜首。于是我在这个方向上一走就是 6 年。(不过说实话,现在也应该换换方向了)
保持良好的心理健康
哈哈,如果你找到了可靠维持心理健康的秘诀,一定要告诉我。
我至今仍在挣扎,不过已经把「现有的心得体会」写进了互动故事《焦虑历险记》和配套文章《心理健康贴士与资源》里。
几句话总结:
- 人是群居的学习型动物,我们有社交、成长和本能需求。想象一下:「与挚爱之人并肩奋斗一生,过着长寿健康的日子,共同应对人生的重大挑战。」虽然生命本身并无意义,但这些需求赋予了它意义。
- 情绪是那些(不完美却真切的)信号,告诉我们哪些需求已满足,哪些尚未满足。所以,不要「斯多葛式」无视内心,也别「盲从直觉」,要审慎相信。
- 用优良习惯(即「美德」)来可靠满足那些需求,习惯的养成有赖于循序渐进、适度奖励和勤加练习。
所以,嗯,祝你好运!
Thoughts Memo 汉化组译制
感谢主要译者 claude-3-opus,校对 Shom、Jarrett Ye
原文:How Do I Learn X? (ncase.me)
发布于 2021 年 6 月 27 日
作者:nicky case
参考
1. 科学的学习方法综述:哪些行之有效,哪些徒劳无功? ./710552897.html2. 一位数学家的哀歌——学校毁掉了数学 ./709614160.html