如何学习入门的游戏编程?

0 条评论


  • 5

    菊开几世偏好战棋游戏,不喜欢FPS。

    JYJYxp雞包紙包包雞紙包雞 等 5人赞同

    啊。。上面那些都是让人学编程的,太遥远了,对于一个没接触过编程的初三的学生来说我觉得也不现实(学编程到做游戏是一个非常漫长的过程)。

    我初一开始搞信息竞赛一路保送进大学到现在读研也没搞出什么好玩的游戏来(虽然我后来转工科了)。自己编程做过的最大的一个游戏是一个战棋,用的Python的GUI编的,也不是很好玩。毕竟做游戏是一个庞大的工程,而编程只是其中的一部分。

    我建议这位同学先去steam弄一个rpg maker mv(考虑到初三党没钱,也可以去找找盗版),就拿自带的功能(不用自己编程,不用自己找素材)做一个完整的RPG游戏。

    什么叫完整?完整的剧情走向&事件触发,完整的地图,完整的角色成长路线,完整的道具系统等等。我个人觉得一个暑假能制作一个剧情丰满的小rpg游戏的。如果能坚持下来的话,相信能加深你对rpg游戏制作的理解。这种理解也是可以迁移到别的游戏制作的,例如arpg,srpg,act,这是一个循序渐进的过程。

    同时rpg maker本身的事件系统又包含条件分支,循环,全局事件,变量参数等等设定,熟悉之后对于今后再深入学习面向对象的编程有非常大的帮助。


    最后再扯一点,其实现在游戏开发工具很多,只需要稍懂编程(入门书上的都会,不要求高级的算法和数据结构)就能开发出游戏,前面有个人说的很对,如果一个人开发游戏,美术技能比编程技能更重要。

    --------------------------------------------------------------------------------

    关于评论区的争论

    我是认为初中生看点书自学编程,在我看来纯浪费时间。上了大学别人只要一门课(认真上)就可以追回来。我小学的时候看老爸的书学习的编程知识,到了后来初一学竞赛的时候,很快别人也就追上了。只有老师指导,并且不停地做题这种高强度的训练,有可能暂时领先别人较长一段距离。这种领先也不是绝对的,本来这些知识就在不断发展需要不断学习。

    况且会编程到会做游戏中间的距离也不可忽视。以前我事必躬亲,什么东西都要自己写,后来才发现现今快速开发快速迭代更加重要,专心实现核心功能,用别人做好的轮子有什么不好?

    rpg maker能够让人更加快速地设计一款rpg游戏的核心逻辑。同时到后来学习编程的时候就会发现,地图系统事件系统和面向对象的程序设计的相似之处,并且可以按照此框架来编写自己的代码;游戏数据库里的角色、职业、道具、技能原来是这么连接起来的啊,以后学了数据库也可以参照此来设计自己的游戏数据库。其他系统也是一样的。

    说实话我很讨厌那种上来不分青红皂白就叫别人学习编程语言的人。《C++ Primer plus》九百多页看完了就会做游戏了?搞笑。

    更新于 2017-05-15 19:39:01 10 条评论


  • 5

    张公子 Wayne要啥签名啊?又没有个性

    Augustus苏打汽水钟于 等 5人赞同

     我跟上面的各位回答可能大相径庭,我现在只是同济大学大三的学生,我跟你差不多又差很多。

    我也是在初二左右想要做游戏的,当时flash还是很流行,当时还自己设计一个犬夜叉的横板同人游戏,还有一些其他的乱七八糟的东西,但是最后都只停留在纸上,原因是我家里只有一台亲戚家不用的内存不到1G的废旧电脑,而且我家因为种种原因搬回了老家,没有网!!!,卧槽,你能想象一个初中的孩子对着flash5上的各种按键一个个试功能然后记在纸上的场景吗?最后在我做出一个两分钟长的搞笑动画片后,高中开学了,之后就没时间加没网一直停步在了幻想的阶段······

     言归正传,对于你我有一些建议和看法(也算是对当年的我一个交代233,说的好像我是什么前辈一样):

    • 学 c 语言,这是现在接触计算机编程的起步,第一步,期间用学到的东西自己做些小东西,比如计算器,之类的,学习过程中会遇到“指针这个东西”,你可以管他,也可以只看个大概。建议买一本基础的书对照着学习,看你的问题应该是对编程没有什么理解。所以我说的是真心话,c语言从上世纪70年代发明至今,一直都是核心语言,除去卡马克“c语言是最好的语言”的神棍论,c语言是开始编程语言学习的最规范的语言。
    •  开始试着欣赏游戏,玩游戏的过程变成学习的过程,对场景设计、关卡设计等等的欣赏分析,特别是一些经典的单机游戏、独立游戏,有很多学习之处,虽然我们这种水平只能看表象,但是也是进步,因为你现在还小,拥有很多可能,最后不一定是游戏程序,还有level designer、 game designer 等等可能,游戏不是一块木板拼成的。
    •  你现在是初三,我假设你升高中的考试已经胜券在握了,才来学这东西的。那么这个暑假会很长,而想学的东西肯定也很多吧,幸运的是,你有一个老师叫 搜索引擎(google、百度无所谓的),遇到问题多搜索,更要多思考,编程的难处是一个问题有多种解法,特别是在做游戏碰到实际问题时,所以多思考,形成自己的与计算机对话的风格很重要。我就不提算法和数据结构了,对你来说不重要。
    •  上面我也提到了,在学习的过程中自己做点小东西,为什么选择做游戏,有趣啊,这种创造东西的过程其乐无穷,从无到有,从小到大,那么学习过程就不能无聊,好玩才是我想要的嘛。比如你可以做一个文字冒险游戏,井字游戏,五子棋之类的,这些我都做过的东西,制作过程真的很有趣。
    • 如果暑假学完了C语言,那就接着学C++,同样那句话“不求甚解,活学活用”,因为规范这种东西在进入大学正式学习时老师会讲的。但是C++需要投入比C语言更多的精力。如果真的学会了C++,那就学会了编程,专业的游戏编程就只是接触新知识的时间问题了。
    •  但是我需要提醒一点,可能有很长一段时间,你的程序都是在跟黑框打交道,没有炫酷的画面,没关系,这是必经的过程,等你学完C++就找到自己的路了。
    • 如果出现问题,多问,不要上来就问具体问题,而是总结一类问题问,这有助于你以后能独立解决问题。


     碎碎念的说了这么多,就是想告诉你,一个暑假能学的东西有限,如果真的想入游戏编程这个坑,一定先学C语言,打好编程语言的基础,然后有余力是C++。年轻人最该有的就是激情,不要管别人说的什么,去做才是最重要的,一旦开始做了,就知道该做什么了。

     我很羡慕现在的你,有电脑有网络,就像卡马克说的那样,一台电脑加一根网线,你现在其实已经拥有了整个世界,开始征程吧,少年。

    最后其他人的评论里有一条还是赞同的“考一个好大学”,毕竟想要爱好畅通无阻,还是解决掉世俗的普遍问题来的最有效。



     以上,肺腑之言。

     2017-05-15 00:23:30

    发布于 2017-05-15 00:24:38 3 条评论


  • 4

    大城小胖不给自己点赞就是一种犯罪,会被打成小胖

    ZombleKingdomJYJYArthliant 等 4人赞同

    先忘掉游戏的事情. 抗住寂寞和枯燥, 认真的去学习一门计算机语言.

    JavaScript(HTML5) , Lua ,C#, C, C++ , Java 都可以.

    反正认认真真的去对待、去学习, 怀揣敬畏之心.那些所谓的『21天速成XX语言』 、『无需会编程也能做游戏』什么的都是扯淡。

    然后数据结构 算法一类的理论知识也要去学习.

    最后再去想游戏的事情吧.

    更新于 2017-05-14 23:20:41 1 条评论


  • 2

    Reddington

    xp苏打汽水 赞同

    本来写了一些,但看到题主还在上初中,所以删掉了。

    学习为主,学习为主,学习为主。

    编程业余学习,选择一个引擎,看它支持的脚本语言,选择一个语言了解基础知识,然后去网上找一些小的游戏来做。

    碰到不懂的地方再去查资料。

    发布于 2017-05-17 00:35:43 0 条评论


  • 2

    Meta42levelpp.com

    涅槃aoee 赞同

    找老司机,带你入门~~~ 然后天高任鸟飞~

    发布于 2017-05-15 23:11:26 0 条评论


  • 2

    xp觉得自己很牛逼的游戏开发人员

    strategy拉歌赫李 赞同

    我初三的时候问过这个问题= =但是当时有人跟我说:初三或着高中应该努力学习知识,打好基础。这其中无疑是指英语和数学的能力,如果真的有心往这个地方发展,我的建议是学好英语和数学,考个好大学,至于学编程什么的到大学再来也不晚。

    更新于 2017-05-15 15:31:08 5 条评论


  • 2

    Saaya嘴臭狂犬,夜露死苦

    阿飞AMBERCRYPTUM 赞同

    作为一个十年前初中时候也幻想做游戏的现业内人士(非程序)的过来人告诉你个便捷的方法


    存点钱,去steam上买个RPGMaker MV,然后用他做个拥有RPG全部要素的简单DEMO(没钱?可以考虑去下个RMXP,如果用熟了再去steam补个票,虽然我是推荐直接mv,毕竟JavaScript本身属于常用语言+扩展性更强,而RM除了MV外的几乎全部引擎都是用的ruby,不是那个RMBY的ruby)


    如果能实现,去学一门计算机语言吧,不能,暂时放弃吧,去考个好大学,在中国,学历就是进一切大门的机会,包括游戏公司(亲身体会)


    以及,在这个最好又是最坏的时代里,已经不用像我十年前那样被家长限制住不能碰电脑(还是个256M RAM 32M显存的超·老古董)没网,想搞资料或者玩点新游戏长长见识还得背着家长去黑网吧,这种艰苦条件


    现在这个拥有无限资源与可能的时间点,放手干吧骚年,你需要的是勤奋与爱


    没有什么是爱解决不了的,如果有?那就给他两份爱

    更新于 2017-05-15 16:22:35 2 条评论


  • 2

    MonAster18年盗版人生后开始转正

    阿飞菊开几世 赞同

    首先想清楚你到底是喜欢游戏还是想做游戏。

    喜欢游戏跟游戏有关的东西你可以去做很多,可是想做游戏的话,我想对初三的你来说会是个不小的挑战。毕竟作为一个中国学生,课余时间真的不是那么多,学习和制作游戏会让你丢掉很多时间,而你还要用这些时间做很多很多的事(),是否要花在这上面值得你去思考。

    如果这样你还是要做游戏,我也比较推荐RPGMaker而不是去学一门编程语言,想编程可以去大学读。因为做游戏你可以理解为盖房子,如果要盖一个摩天大楼(大型游戏)是需要很深很深的地基(编程知识等),而且摩天大楼也不是一个人能盖得起来的。可是你现在肯定是要从茅草房盖起,并不需要什么地基。

    先从简单的开始做起吧,比如做一个魔塔,再做个打飞机,通过亲手做几种基本的游戏学会了一些做游戏必须要掌握的知识以后就可以做你想做的游戏了(这个很重要,一定要动手去做做看)。网上的教程有的是,但是我还是会推荐你看一些书,比如游戏发展史、游戏关卡与数值设计等相关的,会对你的思维能力有比较大的提升。

    发布于 2017-05-15 14:32:20 2 条评论


  • 2

    龙骑士无面者现在是菜鸟工程师,渴望成为专业模型玩家

    买一本数据结构,买一本Java编程书,等你看完,能回答“指针是什么”“数组是什么”“面向对象意味着什么”之后,你就可以不再学习编程了——by计算机专业学生,新手程序工程师

    真想学“游戏编程”,高中的数学会讲执行逻辑,到时候跟着学就行,游戏编程的复杂程度跟那个差不多。顺便提高你的英语水平,英语水平高低跟编程没直接关系,但是跟学习编程的过程关系甚密,英语不好学编程会非常累。

    对于题主,与其学编程,不如学学画画。会编程序的一抓一大把,等你上了大学学校就会有计算机语言课程,到时候再学一点不晚。对游戏而言,优秀的素材比编程重要得多,尤其是在开发工具极其丰富的现在。

    如果励志进游戏公司去掌握“寒霜”“虚幻”之类的游戏引擎,工作经验比什么都重要,学是没地方没素材让你学的。

    发布于 2017-05-14 15:07:45 6 条评论


  • 1

    RetroDaddyBit Creative Artist

    我觉得首先是目标驱动。
    你要明确的是:你的目标不是学语言,你的目标是要做游戏。

    而且因为你是一张白纸,那就太好办了:
    - 最好的方式是边学边做,千万别想着学好一门语言再去做游戏。语言是工具,用于解决你遇到的问题。
    - 可以先尝试可视化编程。
    - 还有格式各样的游戏化编程应用,比如这个链接里面提到的那些:http://m.techweb.com.cn/article/2016-10-11/2410698.shtml

    做游戏本身是比玩游戏更好玩的一件事情,希望你早日能够体会到。
    发布于 2018-08-18 14:14:02 0 条评论


  • 1

    和谐小小游戏玩家、评论者

    AMBERCRYPTUM 赞同

    刚好我也是初中开始对做游戏感兴趣并有所尝试。说说我的经历。

    那时候家里有电脑但没网络。学校有信息竞赛的培训,由微机老师在课外班教了c语言的基础,但那些基础只能用于解应用题,不能用于编写实用程序(游戏也是)。

    在某杂志的光盘上发现了附带的GameMaker4,如获至宝,软件是全英文的,于是用金山快译的翻译功能强行把界面机翻,研究它自带的例子,通过自己的理解尝试改里头的逻辑。渐渐明白了变量、事件、计时器等等玩意,明白了精灵-物体-房间架构,明白了部分游戏行为到底是什么原理(比如说明白了角色的移动其实是每帧改变少量坐标值,并切换图片),然后开始自己尝试用那些玩意制造自己想要的游戏,得成果若干。

    后来有了网络才接触到rpg maker,又借着c语言基础学习了c#,都是后话。

    其他回答里都有推荐rpg maker,非常赞同,它是目前我知道的唯一一个可以零基础上手的做游戏软件,可以快速产生成品,收获成就感,能稍微培养一些游戏逻辑思维,对未来很有帮助。不推荐GameMaker,最近这些年的gm版本越来越复杂,不适合零基础上手。

    须知编程≠做游戏,编程只是语言,做游戏是主要是一套游戏逻辑,很多人不会编程但长期积累和琢磨知道游戏里那套逻辑是怎么回事,借助一些工具软件只要能实现那套逻辑,就能做出游戏。很多人懂编程,但并不懂游戏逻辑是怎么回事,也依旧不足以做出游戏。

    如果真的要学编程,按课余时间认真自学,选对教材而且智商不高不低来看, 学好c语言基础大约需要半年到一年,这个时候只是学了一堆概念,不能用它做出任何实用东西。验证适不适合学编程可以看自己数学成绩,数学很好的通常学编程较快。数学不好,而且是那种愚钝性的话,学编程不是很适合。

    之后半年到若干年可以学习以c为基础的更高级语言如java、C#、js等,把他们玩到基本熟练需要大量的实操,也就是写大量各种程序。

    在学习编程的时间内随时都可以接触游戏逻辑相关的东西,有些游戏逻辑很简单,比如贪食蛇、推箱子,可以试做并试着做出功能增强版。

    之后就是更加复杂的分水岭,取决于你要做的游戏类型,用的引擎,负责的部分,会有无穷无尽的书籍、文章等待你去阅读(许多资料是英文的,这时候凸显英语水平重要性),无数的实例等待你去剖析。我没有耸人听闻,这些事你可以不去做,愉快的加入我们半吊子的行列 :) 反正那些真的强者都是一直在学习的。

    抑或者走野蛮路子,对于基础先不过于注重,直接从高级语言学起,以“无论如何想办法实现功能”为目标,适时接触unity等流行的引擎/工具,搜各种上手教程和简单例子,尝试一边学一边自己做点什么,实践出真知。不过这种路子像是内功不打好就学高级武功,容易走入知识误区或乱搞。到了一定程度还想精进的话免不了还是得回头学习各种基础。

    按我观察,比起编程,做(小型)游戏最重要的能力是美术,见过很多美工做出很精美的游戏。只要会画画且知道游戏逻辑,即使不懂编程,借助各种现成引擎和工具也能凑合着实现那些逻辑,完成游戏。反正又不是什么大型游戏,就算“败絮其中”,玩起来不卡就行。反之只会编程,不会画画还是做不出游戏, 而且就算程序写的再漂亮高效,玩家反正玩起来不卡就没区别。你觉得玩法相同的情况下,一个画面精美但只能跑30帧勉强不卡的游戏更好,还是一个画面稀烂程序写的很好能跑600帧的游戏更好?

    更新于 2017-06-29 00:54:11 5 条评论


  • 1

    SniperGhost

    ZombleKingdom 赞同

    可以按照楼上的一些建议在闲暇时间学学,但是,题主才上初三,当务之急肯定是学习应试,考个好高中,再考个好大学,以后有好平台了,比自己瞎折腾靠谱多了。

    发布于 2017-05-20 08:50:46 1 条评论


  • 1

    拉歌赫李除了劣质页游什么游戏我都爱玩!

    xp 赞同

    我小学六点级的时候想做RPG,疯狂摆弄RMXP,父母就在旁跟我说数学不好怎么都做不好,还不如好好学习,让我暂时先放下这些。

    现在看来抱着这种想法的人不是少数吧,我现在倒是很后悔为什么不继续把弄下去,当作兴趣也完全可行。

    在不影响学习的情况下(当然初三真的加把劲),拿课余的时间来学这些完全可行。专业的游戏引擎你学起来压力挺大的。所以我还是建议你从简单小型的游戏制作工具开始制作,像是我之前说的rpgmaker,现在市面上是不是有其他类似的软件你有兴趣也可以去搜索下。

    找一些相关的学习网站(像是早先的66RPG),与他人学习交流,找一些游戏素材做一些简单可行的同人游戏。

    为了实现很多功能,你会慢慢地往代码方面靠拢,你也可以从别人的代码中学到很多的东西。

    当然,我说这些都是建立在不影响课业的情况下,哪怕你真的是要涉足游戏行业,上一个好大学对你日后影响很大。

    更新于 2017-05-17 09:46:34 0 条评论


  • 1

    心雨游戏改变世界

    苏打汽水 赞同

    你可以先学一些简单的程序语言,开发游戏java,c++,c#选一个,脚本语言JavaScript,lua也可以学,然后是数据结构,也就是算法是要认真学习的,最重要的一点,上个好大学,这个非常重要

    发布于 2017-05-14 21:11:06 0 条评论


  • 0

    方可慢一介代码佬

    等我发财了有闲了,我会写一本有深度有广度的入门书。

    发布于 2018-03-02 17:20:13 0 条评论


  • 0

    FebVExcuse me.

    作为一个和题主有类似想法的计算机专业的大学生,我也来分享一下我的经历和看法。
    我认为兴趣是最最重要的,比任何技能或者知识都更加重要。其他很多答主说的C/C++等等编程语言,的确很重要,而且如果想成为一流的游戏开发人员那么还必须学习更佳晦涩深奥的图形学。但这些所有知识都比不上想要制作游戏时发亮的眼神。只要有热爱,那么很自然地在游戏遇到性能瓶颈的时候我们会去研究C++改进我们的工具,我们也会在光线追踪效果不够好的时候去啃图形学。所以我推荐题主,现在,立刻就着手制作属于自己的游戏。在我想开始制作游戏时,我也面临着要使用哪一款工具的问题。经过权衡我选择了Game Maker。一方面是它简单易上手且功能强大,而且还配备十分详细的入门文档,最主要的是它不用花钱!我个人比较不支持使用盗版的做法,毕竟谁也不希望自己亲手写的程序或者游戏被别人肆意修改。顺便一提,火遍全球的I wanna be the guy就是由Game Maker制作的。
    当你顺着入门文档做出几个游戏,基本摸透Game Maker,发现2D游戏已经不能够跟上你的想象力时,是时候换一个更强大的工具了,Unity是绝佳的选择。文档更加齐全,社区更加活跃,功能强大到可以实现几乎所有平台的所有类型的游戏,而且也是免费!流畅使用Unity需要比较扎实的编程水平和计算机知识基础,如果你能够对Unity了如指掌,那靠它找一份体面的工作十分轻松,届时你也会有更佳的视野,能够对未来的方向有更好的规划了。
    祝所有梦想永远闪耀。
    发布于 2017-06-11 01:52:58 0 条评论

  • 登录奶牛关账号即可参与讨论

{{question['follower_count']}} 个玩家关注

...

相关元素

相关问题

有多少大佬会把游戏放到github上?

6人关注 6个回答

如何建造一个游戏引擎?

9人关注 5个回答

如何使用unity粒子系统碰撞系统区别处理不同碰撞体?

3人关注 1个回答