2018-01-05 11:03:37 +0000 2018-01-05 11:03:37 +0000
35
35

如何说服弟弟学习编程?

我知道StackExchange的这部分与编程无关,但这是我能想到的最接近SE的部分,可以把它贴在这里。

总之,说说主题吧。

我有一个小弟弟(19岁,我23岁)。我们俩都对技术感兴趣(我比我弟弟更感兴趣,但重点还是在这里)。

我是一个程序员(我弟弟不是)。大多数时候,我不是在做我的项目,就是在学习一门新的语言。

在过去的7-8个月里,我弟弟多次来找我,提出了一个关于游戏的想法(有AA或AAA电子游戏标题会有的方面),并提议我们试着做这个游戏。

我每次都会遇到一个问题。

我试着向他解释,我们需要坐下来,让我至少向他展示一下语言的基础知识。

我在工作中抽出时间来教他没有问题,但每次我想教他几件事情,他都说他不想做了,然后离开电脑。

昨晚他来找我,说他想开始学习编程,于是我就和他坐下来,开始教他几件事。没过10分钟,他说学完了,照例下班。

我觉得如果我们直接跳到这些复杂的游戏中去,他有了一个想法,他就跟不上项目发展的速度了,因为他只是一个初学者。

我如何向我弟弟解释,如果我们要做这些他有想法的游戏,我需要他至少学会足够的语言来理解发生了什么?

答案 (12)

54
54
54
2018-01-05 11:56:09 +0000

我的直觉是,你弟弟可能永远不会对编程产生兴趣。他可能看起来很有兴趣,但我相信这对他来说在这个阶段还是一种手段(我想做一款游戏,而编程会让我达到目的)。

向他介绍设计游戏的其他领域,比如图形或声音设计,看看这些方面是否能引起他的兴趣。

一旦你对Unity等游戏设计框架进行了介绍,他很快就会意识到,在你这样的独立团队中,一点编程知识会有很大的帮助。

如果他随后从制作人的角度(旅程,而非目的地)对编程产生兴趣,可以向他推荐YouTube等在线资源,并提出要做这个年轻的江湖人应有的导师。

43
43
43
2018-01-05 17:43:11 +0000

有几点值得讨论。我谈谈我自己的经验,也许你可以给他看看这个,对知道做独立开发到底是什么样子的,会有一些帮助。

我本科读的是游戏设计。糟糕的决定。它触及了基础知识,但最后我还是做不出一款游戏。几年后,我决定学习如何使用Game Maker Studio。我对编程一无所知。在项目结束时,我知道了一些东西,并把一个游戏从概念带到了完成。我很得意。它几乎一无所获。我很伤心。

后来我重拾信心,决定为想学编程的人做一个研究生转换课程。我做了一个游戏,能有多难?结果发现……挺难的。不过像多线程这样的东西,幸好我在课堂之外从未使用过。

于是我毕业了,在一家IT公司找到了一份编程的工作,已经在那份工作上干了两年。在这段时间里,我也把工作之余和周末的大部分业余时间用来做游戏开发。进展缓慢。

对于一个想做自己游戏的人来说,不管是独自一人还是小团队,你都必须是能实现自己想法的人。小团队不可能负担得起一个专门的游戏设计师整天写设计文档。因为大多数人都请不起程序员团队,所以要想成为设计师,就必须成为程序员。我想说的是,不管你会不会代码,都是最好的。关键是,如果你想做自己的游戏,而不是别人的游戏,那么你需要自己能做。

做游戏是很难的。非常难。如果你想做游戏,你就必须愿意朝九晚五,疲惫不堪地回到家,强迫自己为一个你认识的人都帮不上忙的天大难题写一些代码。你挣扎了好几个星期,感觉想哭,因为这怎么能解决呢?有时觉得自己不知道这一切是否会结束,怀疑自己是否在浪费生命。有真正的自我怀疑,却又得出结论。不,这是个正确的决定 要有那种血淋淋的决心。

剧透:我修好了。所以,你弟弟需要明白这一点。也许他可以代替你做美术部?这没什么不好,但学好了,做你需要的东西也不会少。不管他做什么,他都要和你一样忙。你是个有想法的人?是啊,要支持会做艺术的点子男,或者会编码的点子男。

鼓舞人心的谈话结束后,给他一些类似Unity或者Game Maker的东西。让他考虑做一个很简单的游戏。一步一步来。这两个引擎(和其他引擎)的学习材料在网上有很多,像TutorialsPoint这样的东西会帮助他介绍编程基础知识。

以我为例,在苦于GML和Game Maker Studio之后,我读了Bjarne Stroustrup写的 Programming: Principles and Practice Using C++ 的前一百页,这足以让他从Unity和C#开始学习。只要教他如何借助Google和StackOverflow自己工作,自己解决问题,就成功了一半。

教他如何使用像VisualStudio这样的IDE,以及调试器,并牵着他的手完成基本的C#(例如)教程。要有耐心。变量、函数、数组、类等。我们程序员忘记了开始是多么可怕的事情。我无法夸大你帮助他完成这些婴儿步骤的重要性。要有耐心。不是每个人都像我一样疯狂地独自去做。但如果你支持他完成基础知识的学习,让他能够进行简单的调试和创建简单的类,他就会开始用编程的方式来思考创建游戏。那么他就会明白了。

你无法说服他去做编程。他只需要决定他是否真的想做游戏。然后他就会意识到他必须成为一个程序员。

28
28
28
2018-01-05 13:14:00 +0000

TL;DR

你无法说服你的兄弟去学习编程。编程是艰苦的、乏味的,而且需要某种类型的大脑才能在编程中找到任何类型的成就感。


我认为,你误解了这种情况下的建议关系的动态。

你的兄弟不是在说 “嘿,我个人想从头开始打造一款游戏"。他是说 "嘿,我想如果你把我的想法编程,我们可以赚点钱。” 这是一个商业主张。

他玩游戏对编程方面完全不了解,所以他基本上知道普通用户想要什么。你的视野可能会被蒙蔽,因为你在技术上是游戏开发的 “战壕"。

我知道这听起来像是他在自私无礼,但他不是,这正是一个企业的运作方式。当一个公司的老板想要一个网站,那么很有可能是别人在为他们建设网站。

我很确定,你们没有能力创办一家能够生产AAA级标题的公司,但是如果你们愿意将你们的技术和他的想法结合起来,那么就会发生一些伟大的事情。

12
12
12
2018-01-05 23:34:02 +0000

我是一个在游戏行业工作的程序员,所以我有丰富的经验,人们试图让我制作他们的游戏创意。在这个行业里,几乎每个人的想法都比他们能变成现实的想法多,除非你有技能帮助把它们变成现实,否则想法绝对是一文不值。

然而,他贡献的技能不一定是编程。如果你的兄弟有或愿意发展艺术技能,他可以为游戏提供艺术资产。我经常发现,我在尝试为我的家庭副业项目制作哪怕是远程合格的艺术作品时都会陷入困境。所以有一个艺术家伙伴是超级有用的。

基本上,如果有人不关心自己的想法,不愿意学习一门技能来帮助实现它,那么你也不应该关心他们的想法。

9
9
9
2018-01-05 13:40:15 +0000

我和我的室友正经历着同样的事情。我是个程序员,而他不是。他从来不想学习任何关于游戏开发的知识,却总想创作一款游戏。

你弟弟对学习游戏开发不感兴趣 只对创造新游戏的概念感兴趣

给他提供一些Youtube视频,让他关注,如果他有任何问题,你也可以提供给他。你让他感兴趣的最好机会是找到一个视频,在他观看的时候,用你喜欢的语言开发一个基本的游戏。我也会在他的电脑上设置环境,这样他就可以跟着做了。

如果他真的对游戏开发感兴趣,那么就会从那里开始。然而,很可能他只是想 “跳过无聊的部分",已经有了最终产品。无论怎么说服都无法改变这一点。

3
3
3
2018-01-08 12:58:50 +0000

怎样才能说服弟弟学编程?

你不需要。

我看这里双方都有误解。

你的问题。

你似乎陷入了一个常见的误区,认为玩游戏或者有游戏的想法,就容易成为一个程序员,或者从事一般的技术工作。然而事实完全不是这样的。

为你妈把HDMI插到显示器和PC上,并不意味着你现在就是技术支持。同样,仅仅描述一个你想要的程序并不能让你成为一个程序员,也不能让你成为一个设计师,这里面的内容比一个普通人考虑的要多得多–作为一个程序员,你自己也知道这个道理。

正因为如此,你就不要再对你的兄弟抱有这些期望了。

你哥哥的问题。

免责声明: 我接下来要说的可能会让你觉得很刻薄或不爽,但这是我从你对他的描述中得到的结果

你弟弟是个水蛭 他对产品有很高的期望,对你的期望值很高,同时对自己的要求也很高,但贡献不大。每个人都可以在没有任何背景的情况下甩出自己喜欢的游戏的想法。但他有没有做任何事情来证明这其实是可行的,甚至是好玩的?有什么好的概念、测试、比较……吗?

不要做。

他不知道自己想要什么.你开始多次向他介绍编程,但他在令人难以置信的短时间后就中止了。现在他要你相信他有耐心和耐力坐下来学习你写的更大的一段代码?真是个笑话。

不要这样做。

他过于自信.这似乎也适用于你。他完全没有把握这个项目的工作量有多大,要么高估了自己的能力,要么低估了工作–或者两者兼而有之。你们似乎对要做的工作数量和类型一无所知。

不要做。

他是一个崇拜的游戏开发者.这在互联网上并不罕见,如果你考虑到没有经验的孩子/青少年的优越感和匿名性的组合,这并不是真正的惊喜。每个人都认为他们知道游戏缺少什么,如何会更好。但是有多少人真正有这方面的经验呢?有多少人会做或有经验做美工、动画、数学、图形、编程、语音、音乐、故事、角色编写、关卡设计、游戏设计、……。在这几点上,你的兄弟可以协助你做出有价值的贡献?从你说的情况来看,好像都没有。

不要做。


总之

这不是你想要开始一个项目的人。如果你从现在的条件开始,你会做所有的事情,而他几乎没有贡献。你会在几个星期后(甚至是几天或几分钟内)注意到这一点,项目就会停止。

你能做什么

其实要写下一个书面的概念,你对游戏的期望是什么,你认为要达到这个目标要做什么。这里有很多你应该注意的地方,但是由于这是InterpersonalSE,我在这里就不多说了。不过团队合作肯定是人际关系,所以我建议你写下谁可以/应该/应该做什么。

编程不是你随便去说服别人去学的。你可以快速学会基础知识,但如果你想做好,你需要投入大量的时间来积累经验。

他必须非常想要这个产品,自己投入工作,从而学习编程。

1
1
1
2018-01-05 14:17:55 +0000

你弟弟觉得什么有趣(除了电子游戏)?也许有一个不同的钩子,你可以找到。处理](https://processing.org/)(一种流行于精通技术的视觉艺术家的语言)和更大的[制造运动](https://en.wikipedia.org/wiki/Maker_culture),它是其中的一部分,可能会激发你的兴趣。说到火花SparkFun Guide to Processing 是一个很好的开始。也许STEAM中的A是缺少的成分。

但是–也许不是。最终你不能强迫你弟弟对任何事情感兴趣。让他接触一些可能性。如果其中一种能激发他真正的兴趣 – 很好。如果没有,在某些阶段你就应该放弃这个想法。

1
1
1
2018-01-05 20:38:09 +0000

我的经验在某种程度上与其他许多发帖者相似,但我认为必须强调的是,作为程序员的我们,要看到语言对其他可能是新手的人来说是多么的困难。

你的例子让我特别印象深刻的一点是在屏幕上移动P。虽然在我们看来,这似乎是一个微不足道的例子,但对于一个非程序员来说,即使是最简单的练习内容,他也没有理解的基础,而你的兄弟可能会在试图理解坐标与屏幕上的图片的关系的过程中感到沮丧。

以我自己的经历,我第一次 “学习 "编程是在高中的时候,我做得很好,直到给我一个不可能完成的任务(给我的是没有文字文件的工作,要按照指令去做)。我觉得自己失败了,放弃了,改攻英语专业。

多年后,我用VBA在Excel中自动完成了一个无聊的工作任务,然后是下一个任务,再下一个任务,如此循环往复。这就是我和你哥哥的关系:如果有人告诉我'学习编程,实现数据分析自动化'。我一定会在前十分钟内感到无聊,我很可能还是不会编程。相反,我在这个任务中找到了自己的价值,缓解了自己无聊的工作,并逐步扩展了自己的能力,因为这样做的回报是强化。

在某些方面,你也许可以给弟弟一个简单的文件,让他去操作和玩耍。他可能会认为移动的 "P "太无聊了,不适合操作,或者他可能反而会想怎么把 "P "改成 "O",把 "O "改成 "MOVING",他可能会发现怎么让它在墙上弹跳,或者改变形状。最终,他必须对测试代码,发现**过程是如何工作的感兴趣,否则他将毫无吸收。

我曾有幸请到一些优秀的程序员教我他们所知道的东西,以帮助我达到更高的高度,但每一次我都必须先真正看到代码中的价值,然后再使用它。它很容易知道抽象是好的,或者说接口是有用的,但是要解决那个没有接口就不能轻易解决的问题又是另一回事,或者要在纠结的代码中挣扎,如果i改成i + 1就碎了,把那段代码改成j就解决了,但是你忘了在这边也解决了,好了,现在我们到了k,因为你记不清i是对的,还是真的是j

说到底,他必须对工作充满热情,才会成为一种爱好,否则就是另一份工作。

1
1
1
2018-01-07 20:31:59 +0000

这个答案是从严格意义上的 “人际关系 "角度…

我和我弟弟在这个年龄段也有非常类似的情况,至少对我们来说,问题原来与编程无关,而与人际关系有关。

兄弟姐妹都有这样的倾向,想要把自己和对方区分开来。至少在我们的情况下,我弟弟对编程有抵触情绪,因为我就是做这个的。我永远也不可能教他或说服他(我确实尝试过),因为这是从我这里来的–我是专家,尽管我完全可以看到他有潜力成为至少同样优秀的人。

他搬出家门后,经历了几份非技术性的工作,然后自己从完全不同的方向漂移到编程领域。

他在一家中等规模的公司成为了一名出色的程序员/经理/主管/架构师,并且一干就是几十年。我不认为我可以带领或推动他进入这个行业–我试过了。他不会被我教,他会抗拒(无意识地)。

所以如果从这个角度来看,在你的情况下,我会怎么做?

鉴于你的描述,我可能会让他下载Unity框架(如公认的答案所言)。我最近试过这样做,因为有很大比例的游戏开始使用Unity发布。问题是,一旦我下载了它,他们就开始用邮件缠着我,试图吸引我去运行他们的教程(他们有很多教程/帮助初学者)。他们很会牵手,很容易就能带出一个看起来很不简单的游戏。

还有–不要自己下载/学习/使用。让他成为某方面的专家。即使你不能回答一个问题,那也很好!让他自己解决。让他自己去解决–你可以随时和他坐在一起,一起在SO上查找答案。

我不知道这样做会不会有用,但我想对我和我弟弟来说会有用。

1
1
1
2018-01-06 00:44:42 +0000

现在你弟弟似乎还不能集中精力工作十分钟。如果他做不到这一点,那么软件开发就不适合他。所以不要试图说服他进入这个行业,这对任何人都没有帮助。

你的小兄弟有想法。别的地方都说了,点子是10个一毛钱。所以,要想创造任何有价值的东西,他一定不仅仅是有想法。让他真正开始设计一款游戏。不仅仅是一个想法。让他写下游戏如何开始。用户可以做什么事情,用户操作有什么效果,游戏会产生什么动作。都需要详细设计。凡是让游戏变得伟大的东西,都必须在他的设计中,他不能依靠程序员来让游戏变得吸引人。游戏设计师需要做到这一点。

或者让他去了解一下卖游戏需要什么。从成立公司、报税、支付开发人员制作游戏、寻找发行商等等。

1
1
1
2018-01-05 23:04:37 +0000

每个人都有不同的学习方法,就看自己有什么可学的。我看视频不会学到任何关于编程的知识,而是通过实践来学习。别人可能会从视频或书籍中学习。

编程不是你能教的。它需要你从实践中获得经验。在某种程度上,你可以帮助别人了解其中的内容,从一开始,别人就需要自己去理解,就像学习阅读一样。从此,学习者需要自己去探索。

你不能教别人骑自行车。即使你教了所有的物理学知识,学生也不会骑自行车,因为这需要经验,而经验只能通过实践来获得。这就是你不能教编程的原因。

编程是一种技能,就像读书或骑自行车一样。有些东西你需要知道才能做,只有这些才是可以教的。技能本身是不能教的,它只能由学习者来培养——而学习者只有在他愿意的情况下才会这样做。

你也许可以告诉你的弟弟制作游戏的所有内容,也许他能从中找到他想学的东西。如果没有,他就不会做游戏,他决定让自己无能为力。

编程一点也不难,也不令人沮丧,尤其是现在有了这么多好用的工具,机器也不会像以前那样在程序无法运行的时候冻结,而且很有趣。

也许每个学习它的人都会被建议使用一台35岁的电脑和一些合适的编程书籍,而不是更多。这样可以让他集中精力,而且他自己在进入程序之前不能玩游戏,这样可以给他一些激励。然后学习就会自己来,只要输入程序,因为他可以看到程序是怎么做的,并且不可避免地开始考虑改变它,然后去做。

给一个人一些游戏开发软件,或者一个完全成熟的C/C++编译器,然后喃喃自语的说一些关于类和方法的东西,你的学习者会完全被淹没。给他一些简单直接的用简单的BASIC变体写的东西——如果你还能找到的话——或者,用perl写的,打印出来,让他自己输入,他可能就会学会了。

我想学习者在开始编程之前,需要有机会了解要通过编程解决的问题。下一步可以向他们展示如何拆分问题,使计算机能够处理这个问题;然后展示并解释实际的实现。你需要从你能想到的最简单的问题开始,而不是从最困难的问题开始,比如做一个游戏。

-2
-2
-2
2018-01-05 17:28:35 +0000

让他看看自己能赚多少钱。 https://www.upwork.com/o/profiles/browse/c/web-mobile-software-dev/nss/90/hrs/1000/?rate=60&user_ref=1

And

然而,编程是_难的,不是每个人都能做的。这就是为什么程序员的收入这么高。我妈妈为了学打字,买了一本Commodore-64,买了一本BASIC的书,是我把书看完的。如果他注定要做程序员,现在应该已经在做了。从这张图可以看出,程序员开始的平均年龄是13.5岁。很少有超过20岁的。

0x4 来源

我有个游戏兄弟也是这样–没有动力,没有野心,没有毅力。也许找其他相关的技能他会感兴趣。如果你坚持要继续尝试,也许可以从Scratch开始,它是为了帮助孩子学习编程而开发的,有拖拽的界面。 https://scratch.mit.edu/