业余做游戏想学编程该从哪里入手?

我是一个即将毕业的大学生。最近有尝试用rpgvx做一些小游戏,但是现在希望能更进一步。我想要学编程,因为想要制作一些系统更复杂的独立游戏。
我本科学的是建筑,几乎没什么用处的专业【其实就是说和其他专业很难衔接,我们专业课以外基本没上什么数学物理课】……对于编程真是一窍不通,rpgvx是基于ruby语言写的,虽然尝试去看一些书,但是还是没能学会【其实我可能看的不多,看了一会儿就不太能理解了】所以说我该如何入手?

推荐  (0) | 61人关注关注
35个答案
23 1

我认为在深入一门专业前,应该认真分析自己的需求,从楼主的表述来看,“制作独立游戏”是当前的目标,而制作游戏是出于何种需求楼主应该深思:是作为就业方向还是业余爱好?两者在学习方向上有很大的差异。

从就业上来说,计算机从业者的门槛在逐步降低,如果想快速就业,推荐楼主可在有程序设计基础的情况下选择到一些软件培训公司学习。优点是一般来说这样的培训机构的课程比较有针对性,相比高校中的课程要更贴近实际开发的项目,经过3个月左右的培训基本可以上岗就业,见效快。缺点是费用普遍较高,培训公司水平参差不齐,难免有被坑的可能,同时,学习仅停留在应用层面,缺乏对基础领域的认识,这也注定若不继续进修将来的发展会非常有限。

从业余爱好即兴趣上来说,推荐从开源社区的资源学起,这个过程会更加有趣而且也有一定应用的价值。作为初学者,不妨从一门程序设计语言开始学起,然后逐渐往高层的软件工程方向过渡,楼主作为建筑专业的学生,对工程化的开发方法应该不陌生,事实上软件工程里的一些概念和术语都是从建筑学里借鉴过来的,当然,这些都需要建立在大量实际开发经验的基础之上。

顺便补充一下我对目前互联网游戏产业的理解。
互联网刚刚兴起的时候,很多商人在思考如何在这样一个虚拟的环境下赚钱。在我看来,目前比较成熟的互联网盈利模式,一个是电商,另一个就是网游了。当然这里的“盈利”是指能让网络终端的使用者心甘情愿掏钱的事,尤其是让“狡猾”的中国网民掏钱的事,毋庸置疑前面两者都做到了。
传统PC的落寞让基于PC的游戏市场也变得低迷起来,像 blizzard这样精益求精的游戏厂商已经难得一见。随着这几年移动终端的兴起,游戏市场也变得更加混乱,大部分游戏运营商都抱着捞一把就散急功近利的心态,伴随的就是重营销,轻质量的研发心态,这一点从目前各大视频网站的广告部分就可窥见一斑,你可能会吃惊这种粗制滥造的玩意简直不堪入目怎么会有人玩,令我也费解的是这种页游(网页游戏)居然有这么大一块市场,而且很有很大那么一批乐此不疲的玩家。
客观上来说现在无论是商家还是玩家都逐渐接受了这样一个现象,把游戏应用当作一种短期的消费品。这也意味着游戏应用也有生命周期,而且很短,如果不能在短期盈利很少会有人愿意会持续经营下去,这也注定了游戏市场的竞争会越来越激烈,入行需谨慎!

11 2

学了编程,还有时间独立制作游戏嘛?这可是多工种配合完成的东西,程序员不过是其中的一陀螺丝钉。

8 3

导师告诉我们没个两年以上的开发经验就别看书了,所以推荐你XXX书的可以无视了,所以起步从视频看起,因为很多细节和概念性的东西,没有人教的话自己从文字摸索难度太大,看你想学哪门语言,就网上找相关视频或淘宝买这类视频,基本几十G的也就几十块钱;学的过程以多敲代码为主,最好跟着视频敲代码,就是要两台显示器,不然就看一段敲一段,一定把看的知识理解下来,关看,也许当时感觉明白了,可是真正用到时候往往想不起来,所以动手敲是关键;
说实话除非你超级有天赋而且对这方面兴趣一直不减弱,不然想真正开发一款有人玩的游戏,没个3 5年的程序经验基本不大可能,而且一款游戏的成功与否,编程所占比重可以说最低,最高可以说是游戏的整体设计思路,其次是美工,编程只是负责把这些东西实现了,没接触编程的人会感觉编程是个技术活,应该比较吃香,所以都憧憬进入这行业,
可是做过程序猿的都知道,这职业的苦逼之处,理论上跟工地搬砖没有区别,负责把他人搭建好的模型一块一块的垒出来而且,大都是单调重复的工作;
所以楼主自己琢磨吧;

4 0

独立制作游戏?还是很有想法的,路有很多,都不一样的,
你首先应该要掌握至少一个编程语言 thinking in java这类thinking的书应该会对你有帮助
不一定要学java,还有C++,C#,object C很多语言,你可能直接学objectC也不错(iPhone开发要用),但要能理解指针这些还是要有基础。看你想要玩手机编程还是网页还是什么。
然后学点点数据库的东西,要能明白怎么查询、修改数据
网络通讯的大原理,了解一下,这样会知道自己在传输数据方面会碰到什么问题,虽然很多框架为为你解决问题。
再然后……我也不知道然后该怎么样,我不涉及游戏,网上很多游戏的源码,你可以学习一下,怎么让你的对象动起来,怎么交互

4 0

我们游戏圈流传着一句话
少壮不努力,长大做游戏

游戏的开发、运营、策划、编码,甚至美术我都参与过,我说的可能有一定的参考意义吧。

推荐业余做游戏,别做专业开发的。

业余做游戏,推荐flash,做做2d小游戏,知道程序开发基础,2D图形就够了。如果不入门,停留在这个阶段挺好;如果入门了而且很感兴趣,可以往3D,或者更深层次的开发上发展。

=====================分割线=====================

专业做游戏,也就是现在普遍意义上的游戏公司。首先这会毁了你的梦想——现在国内绝大多数公司做的不是游戏,而是商品:这些商品牺牲了非常大的游戏性,只考虑如何快速盈利、大量盈利。相信这与你的开发初衷不符。
如果你仍然坚持做商业游戏,一个基本的游戏团队,程序开发人员并不是主要人员,团队的基本组成是策划、美术、程序开发、测试其中的1个。然后每一种工作内容又分N多分枝,
比如策划分:系统策划剧情策划数值策划;
比如美术分:原画美术UI美术模型美术动作美术;
即便是你关心的程序开发,也分写逻辑层的开发,通讯层的开发,用户界互交层的开发还有引擎层面/基于引擎层面的开发。
以上我说的每一项工作内容都是一种独立的专业,需要一门独立的知识体系来支撑,一般不是1个人、几个月能学会或者完成的。
所以基本上……很复杂……想做一个商业游戏,凭1、2种技术/专业根本是不可能完成的任务。

=====================分割线=====================

如果确实有兴趣,以业余兴趣爱好为基础做点小游戏入手吧。

还是那句话,做什么别做游戏…………

2 0
支持者: we_cry 李帮主

其实在编程当中,我个人觉得游戏是最难写的。因为游戏涉及到游戏做的好看不好看,游戏的可玩性如何等等方面,而单纯的应用其实只要不卡,完成核心功能就ok了。额,下面我给出三个建议,lz自行选择吧~
1,学习python,用pygame这个库开发游戏。python绝对是公认的好学,这点毋庸置疑
2,学网页方面的知识,用html5制作游戏,好处就是跨平台啦,当然也比较简单,就是可能你要学的东西不少,但是都是”所见即所得的“东西,所以学习起来也很简单。
3,找几个好的基友,志同道合的人,你负责创业,不需要编程,都知道,其实现在游戏不是做不做的出来,是做的游戏好不好玩,说明白点就是思想。
好了,lz可以自行选择了

————————————————————分割线————————————————————
貌似没回答lz的问题,其实学习编程的话,还是从兴趣入手吧,边看书边动手,让你学的东西可以满足你日常的需求,而不是仅仅跟着书上的例子走。
给个编程的建议就是循序渐进,比如我要做个微信上打飞机的游戏。
第一步,我就只做一个随着我手指动的小方块。
第二步,随机在屏幕上方会出现一些小方块。
第三步,让你的小方块可以发子弹
…………………………
……………………
等等等等,一步一步来,就是这样,lz加油哈

2 0
支持者: 艾特君 we_cry

独立游戏首推Win上C# + XNA Game Studio(这套是免费的),对于2D游戏和不太复杂的3D游戏来说,XNA作为开发环境和作为入门都很好,可以帮助LZ了解很多游戏开发的概念。需要具备C系语言知识:如果不想深入,可以只学习C#;如果要深入,最好了解下机器原理和C/C++语言。
LS有提到Objective C的,我不推荐入门用它,应用不如C++广泛,最好到需要在苹果的平台上开发时再学习。
建议:初学编程千万别从手机程序开始。

1 0
支持者: 梁兵兵

开公司雇佣人就行了。。你只要知道自己想做什么游戏。

2 1
支持者: 艾特君 菠萝大王

学编程,我是专业学计算机的,但其实我的编程主要是自学。

(1)图形感觉培训:
我的编程是从vb入手的。因为他界面操作,对于编程的感觉更好。但一旦入手以后,我就决定抛弃他了。
(2)基础逻辑培训:
真正让我启蒙的其实一小挫变态老师。假期不让我们休息,反而上了一个培训班。这帮老师很变态,不让用for循环,不让用C语言封装好的程序,而让你从函数本身开始设计。
比如说字符串拼接这个函数,C语言本身是有定义好的函数的。但是他不让你用,而让你自己写一个这个函数。

1、第一步,一定要画图。程序就是图画明白了,不管多难的程序,都可以按部就班的一步一步编写出来。
(这里特别强调,是流程图,流程图就意味着,流程线不能有重叠,这点很难,但一旦做到了,程序就已经写出来80%)
2、还是画图,去改图。根据你需要编的程序,去优化你的思路图。
3、根据图,去思考动态过程,并且把它拆分成一小块一小块的图。
4、将每个小块的功能,一一完成,最后拼图拼接。

小结:比如要学js,就不要用jq函数库,学c,就要从最基础的函数编写开始,如果用max(),函数直接达到你想要的结果,你就没有机会锻炼排序算法的设计思路。一定少用别人写的功能函数,尽量都自己写。
(3)基本习惯培训:
写程序,入门了以后你会发现,几乎无所不能。但有一个很大的问题,人不是计算机,写完的程序,别说隔天,就是上下午都有可能忘记。那怎么办?
1、程序的可读性:命名一定要自己的规范和国标。保证你自己能精通,别人可以读懂。多看别人写的程序
2、时刻保存备份:每做一步必须保存,没做一段必须备份。哪怕上闹钟,也要把这个习惯养成,否则追悔莫及。
3、文件管理艺术:要将文档,分文别类。总结出一套自己的整理方法。坚决拒绝大量文件堆砌乱糟糟的桌面!

1 0

羽风之歌Python TCL Shell Linux 网...

2013-08-21 18:35
支持者: 艾特君

作为半资深程序员,我觉得想做程序员最重要的不是立志,而是坚持。

实际上不管是学程序还是写程序都是很枯燥的过程,而且做起来你会发现自己好不容易做出来的东西只是整个工程中很小的一块,所以程序员很难享受到完整的快乐。

我说的完整的快乐就以你的写游戏举例吧,如果你不熟悉,可能几个月艰苦的努力,最终成品只是一个俄罗斯方块,还可能有各种bug。别笑!这是真实的,任何一个你看到的游戏都是一个团队的结果,也许你看到有的团队几个人就写出漂亮的游戏了,但制作这个游戏所用的引擎或者其他工具都是其他大规模团队的结果……

所以我的建议是从简单的东西开始,先不写界面,而是实现小的功能,哪怕你写一个小的计算器都可以,或者一个扫雷,如果你在写出这样的小程序之后还没有崩溃那么就可以真正开始程序员之路了。

1 0
支持者: 非乌龟

现在很多在线课程,也就是MOOC,coursera刚开了一门python课,udacity也有很多编程的课,楼主可以去搜搜。
果壳有小组 MOOC自习教室 和 果壳学院。

0 0

找unity3d或xna这样的工具,模仿简单的小游戏直接开始做比较好。业余搞的话系统学习会学不下去,不如照例子做几个简单的玩玩。

0 0

先学习python,写个俄罗斯方块吧。。。慢慢加上音乐,调解速度之类的。。。

0 0

想上手快的话,语言选择很重要。Python相对于C,C++这些语言来说,入门很快,第三方库又多,写起来很有成就感,而且科学计算,web开发都可以。
至于做游戏,昨天我正好翻到图灵的一期Python专刊,里边有一篇《和孩子一起做一直电子宠物吧》,楼主可以看看别人做一个小游戏的思路。

0 0

Python+Pygame是不二选择。

上手快,趣味高,但是你把这当吃饭的本事的话,那你迟早会后悔。

0 0

lz加油!窝也是学建筑的,在玩rpgmaker,也想过自己写程序。但是赶脚真正做游戏要学的比学建筑的时候接触的那一点编程难太多了。真要专业的做游戏的话还是分工比较好吧,lz主要做策划美工什么的,再召集基友一起写程序。

0 0

如果你只是想制作游戏的话,rpg大师是一个非常优秀的上手软件
这并不只是因为他专门被设计制作游戏,也是因为在这个软件中,你不需要任何计算机基础,就能够掌握其最重要的本质:算法.
算法才是一切计算机软件的核心,语言只不过是实现这个目的的皮毛
除开3d游戏之外,rpg制作大师已经足够你制作出一切你想制作的2d游戏

但是另外一方面,游戏又有着与其他软件截然不同的地方——它是人类有史以来所有艺术形式的结合体。
单纯的程序员不足以制作出一款优秀的游戏,你需要美工、编曲、脚本师、策划者,甚至是动画师
从这个角度来看,在事实上这个楼里几乎一切的回答都不足以满足你的要求
于是,你需要学习的地方还有很多
就和我们每一个人一样

0 0

真想搞独立游戏,抱微软大腿就好了啊,有个XBOX平台,直接利用微软的技术开发XBOX游戏。我的看法是学什么都不容易,任何领域想学出头都要下很大苦功,我觉得建筑行业很好。

0 0

推荐一个电影,Indie Game: The Movie
莫非楼主看过这个电影~?

0 0

目的只是想做做独立游戏的话建议使用现成的引擎入门,Unity3D是入门门槛较低又在业内有一定使用的引擎,然后可以学习一下Unity3D中的脚本语言进行一些逻辑、AI的编程,接着在逐步去了解游戏的架构等等。只是业余爱好的话不建议从过于基础的比如计算机图形学这种的来入手学习,因为从熟悉C、C++到学习计算机图形学基础再到熟悉软件工程应用、写出自己的游戏或者游戏引擎会消耗很长的学习时间,没有系统的学习和长期的坚持很难达到制作独立游戏的目的。

如果希望未来能够从业的话,3D游戏客户端开发可以先从C++开始学起,并从OpenGL、DirectX等3D图形库入门,然后找一些开源的游戏引擎进行学习。移动端游戏开发建议学Java,因为做互联网学Java起码饿不死。不过真的要从业的话,还是建议有条件能系统学习一下,毕竟如果没有系统学习过很难有很好的职业发展。

0 0

楼主还是好好造房子的为好,学编程并以此为职业你会后悔的

0 0

不是计算机专业, 也没游戏行业从业经验, 又不满足于RPG MAKER之类的工具, 想从底层开始的话, 你就等着被自己坑死吧.
实在不甘心, 报个培训班, 然后找个游戏公司去上班.趁着年轻, 多试试也无妨.
我觉得独立做游戏, 基本上是不可能的. 当然啦, FLASH游戏之类例外.

0 0

语言不是难点 就算你什么都没学过 两个月也差不多能算小精通一门语言了吧
难的是一些程序的技巧 很多都是在程序员间口口相传 。
所以自学想做到那个地步henna

0 0

烟客Lighty背着编程包袱的厨子

2013-08-22 20:49

免费在线学习编程网站www.fenby.com 那里有全套课件加视频

0 0

我为什么记得是RGSS语言……

其实编程语言嘛大体上都差不多,学个C基本就可以理解到其他语言的工作方法了。

只是想玩玩的话,RMVX确实是比较靠谱的工具了,其实SC2 WAR3的地图编辑器也很不错。还有些开放了MOD制作工具的游戏。最近的UNITY3D也很不错,如果你真的想独立制作游戏,推荐深入研究下这个。

0 0

如果不是计算机专业出身,又是零基础,确实需要做好长期奋斗的准备。
由于LZ说的情况本人已经亲身经历过一遍,可以简单说一下我的体会。

问题1:专业还是业余?
这是个很重要的问题,有其他人也提到了,专业做的话首先需要应用培训,同时还要弥补基础上的不足,需要短时间投入大量精力才有可能。但游戏这个行业其实非常复杂,从零开始要弥补的东西是很多的,在职业化竞争上非常吃亏,年纪一大,压力大了,这个时候很可能面临高不成低不就的情况,需要慎重。
而业余实际上就是跟着兴趣走,需要什么就学习什么,不要超前,不要贪多。这样每次学习都是为了解决实际问题,积累一段时间之后就会有比较大的提高,这个时候你会自然而然的想去了解一些基础的东西。这个过程相对会长一点,但不影响本职工作的话,心态会比较好,实际上进步也不会慢。(当然前提是能坚持,需要深沉的爱)

问题2:选择什么路线?
其实选择什么语言根本不重要,学会一种语言其他的触类旁通是很快的。
我最初学习RPG make XP的时候只做了一件事,就是把其他人的开源代码移植到自己的项目中来,简单说就是【抄袭】,我个人觉得这是学习一门语言最快最便捷的方案,学习一个现成的【案例】,同时这个案例能正常融合到自己的需求中,即满足了制作的成就感,也降低了学习的枯燥性。
学会【抄袭】代码的下一步就是学习【改造】代码,改造的时候优先考虑可行性,因为这个时候缺乏程序基础,对效率什么的概念不会太明白的,所以保证可用就行了。
当搞定上面两步之后,其实制作独立游戏的大多数问题都可以解决的,这个时候一般对程序是什么已经有了点概念,再深入学习下就有了比较明确的目标,比如偏向逻辑算法或者是数据库,又或者对画面表现不满去了解图形方面的程序,都可以再说。
当然,这里面每个部分深入下去都是无底洞,作为一个独立游戏制作者,大多数时候是用不上那么高深的技术的。

一个最恳切的忠告。
独立游戏就是为了实现游戏创意!其他的效率啊包装啊什么,请抛弃它们吧。

我的个人学习顺序是这样的:
1、RPG MAKER XP(现在好像是VX):了解游戏基本结构,对2D游戏组成有个概念,了解RGSS的编程目标,这玩意效率很差,一段时间之后你会主动放弃的……但从入门来说确实相当简单,开始抄代码就好了。
2、War3Editor:3D游戏制作的简单入门,有了RM的基础,学习JASS会爽利很多,而且确实很强大,能实现很多系统,关键可能就是相对麻烦一些(其实是很麻烦)
3、C++ :这是在我基本入门以后主动补习的基础内容,包括很多以前不了解的概念,从底层巩固了一下基础,也深入了解了很多程序算法和结构上的知识。这是在为制作更复杂的系统做准备。
4、Python&Lua:有很多现成的引擎可以很好的支持这两种脚本语言,而且经过上面的学习,用这些就能制作出比较符合需求的独立游戏了,更深入的内容没有必要学,那会让你精力分散,无法集中到游戏设计的层面上。

这些内容我用业余时间自学完成大概花了4年,当然其中也包含了很多乱七八糟的其他内容,比如学用PS,学用Cooledit折腾音频等等

可惜后来不幸踏入专业圈,心态全毁,现在已经对行业完全无爱了。
最后提醒,想要获得制作游戏的快乐,千万别干职业的。

0 1

引线小白时尚设计、数学控、Filemaker

2013-08-21 18:00

劝楼主还是别学了,有点难。非常枯燥的说。

0 0

我晕,现在搞建筑的比搞计算机的赚钱多了,你居然反其道而行之??!!!!

查看更多

添加回答

登录 后回答问题,你也可以用以下帐号直接登录

相关问答

关于我们 加入果壳 媒体报道 帮助中心 果壳活动 家长监控 免责声明 联系我们 移动版 移动应用

©果壳网    京ICP证100430号    京网文[2015] 0609-239号    新出发京零字东150005号     京公网安备11010502007133号

违法和不良信息举报邮箱:jubao@guokr.com    举报电话:18612934101    网上有害信息举报专区    儿童色情信息举报专区