游戏开发论坛

 找回密码
 立即注册
搜索
查看: 14422|回复: 27

游戏开发的学习过程

[复制链接]

87

主题

790

帖子

806

积分

高级会员

Rank: 4

积分
806
QQ
发表于 2006-9-15 23:45:00 | 显示全部楼层 |阅读模式
在说具体的学习过程之前,我首先要说明兴趣和耐心的问题。兴趣是学习游戏开发非常重要的一个动力,而耐心是学习游戏开发的保证。虽然说有顽强的耐力对学习有保证,但是不能忽视兴趣的培养。因为兴趣具有强大的推动作用,仅凭耐心去学编程是枯燥的,所以我们在学习过程中一定要重视兴趣的培养。当然仅有兴趣是不足以保证学习游戏开发的,还需要有一定的耐心。总的一句话,耐心是保证,兴趣是动力。
学习游戏开发的第一步是学习编程语言。在这里我首先要说明编程语言也是语言,也是需要不断积累的,不可能一步到位的。在学习语言的过程中,一方面要学习语法,另一方面还要多积累相关的命令,有一些图像、文件操作的函数这时侯就可以开始积累了。这样做有两个理由,其一是有关这些方面的函数比较多,早积累有利于掌握,其二是有利于语言学习中的实践。接下来,我想说明一下具体学习过程,在学习的时侯应该把大部分的时间放在实践,书主要是看看语法,对于例子只需要理解甚至可以不看(如果你语法格式一下就看懂的话),另外对于有些跟数学联系比较大的例子可以不看。不过,在学习语法的时侯需要有笔记本对语法内容作出归纳。以便以后的复习。关于实践,做题并不是个明智的选择,这时就应该从很简单的游戏做起了,比如猜数字、赌大小等等,这样做有利于避免学编程的枯燥,培养兴趣,有益于以后的学习。以上是对整个编程语言学习方法的概述,在不同的时期又有具体的区别,主要可以分为如下三个时期:
1.入门期:这个时期是入门的时期,重点应该是掌握顺序、条件分支、循环三个部分。对于游戏的变量有一些了解就可以了,不用抠得过深。在这个时期同时也要积累一些指令。这个时期的实践以文字游戏为主,为了方便实践,应该选择合适的游戏,游戏可以是模仿的也可以是自己设计的,个人提倡后者,自己设计的游戏,一来压力不是那么大,二来对游戏的认识有帮助,也有利于培养兴趣,因为这时做游戏是将自己想法转换为代码的一个过程,如果实现了,那是非常有成就感的。这里要指出的是游戏应该一个比一个难,要有一定的跨度,这样才有挑战性。当然如果在做某一个游戏遭受了挫折,这时就要思考是因为自己的能力不足还是客观条件不允许,如果是客观条件不允许就应该改变方向,如果是自己的能力不足,这里就需要思考是差距太大还是就差一点,如果是前者同样需要放弃,如果是后者,个人建议应该做一个跟当前游戏难度相当的游戏,但是内容最好要改变,有利于避免重复枯燥。在做游戏过程中,要注意吸取上次的教训,在改正过程中就得到了飞跃,同时在这个过程中也会对代码的重复带来的麻烦有所意识,这对以后的理解也是有帮助的。这个过程应该持续一年左右,而且没有必要逼着自己去做,而是应该以游戏为动力促进编程能力的不断提高,这个时期玩游戏就应该对功能的实现方式有所思考了。如果有条件的话,最好每天用一到两个小时。这个时期的积累很重要,这不仅是基础上的,更重要的是心理上的成就感对于以后克服困难有积极的作用。总之,就是通过这样的过程不断积累,不断提高,也不断的发现困惑,随着实践的深入,对代码的重复感受会越来越深,这时就应该进入第二阶段了。
2.函数数组期:当在实践中遇到变量的重复问题,并且也会发现在实践中,变量需要个数是不一定的。这时就需要学习数组了,同样的这时会发现一些重复的结构问题,这时就需要学习定义数据结构。在发现变量重复的同时,也会发现代码的重复,用函数就可以解决这一问题。这个时期的学习以数组和函数为主,对于变量只需要理解到自己可以定义数据类型就行了。随着实践的深入,对数组和函数的认识也会不断深入,对于数组会了解到多维数组、动态数组、数组里面可以装各种类型的变量等等,而函数会了解到无参函数,数组参数,可选参数,递归等等。这个时期可以初步的学习一些算法了。这个时期的游戏的灵活性应要要比上个时期高很多,有一定复杂性的逻辑结构。这个过程也需要持续一年左右。总之,这个时期做游戏可以面向于一个一个系统的实现了,随着游戏逻辑不断复杂化,会发现维护和查错会很困难,这时就需要学习面向对象的思想了,进入了第三阶段。
3.类期:面向对象的学习不仅仅需要了解其语法更需要了解其思想,因此最好是要去了解一门面向对象思想较为完备的语言,比如:C++(虽然不完全完备)。在这个过程中,会体会到语言之间的差异并不会很大。会感受到,合理的类设计对游戏的开发有很大的帮助。这个时间学习以类为主,根据不同的语言,学得深度会有区别,不过没有必要因为有的语言比较完备而去改变学习语言,用1-2年去学习,当你开发出1-2款逻辑比较复杂规模比较大的游戏就可以正式进去游戏开发的阶段了,因为只有开发出完整的游戏,才能充分了解游戏开发的逻辑、重难点、流程等等,这为下面的专题研究作好准备。这个阶段开发游戏会受到因语言不同的限制,不过要想办法去克服它,总之要想尽一切办法把它做出来,为后面打好基础。对于图象方面尽力而为,可以使用引擎来处理。这个时期对变量就可以有一个比较完整的认识了,另外这时期如果对类的设计感到困惑就可以去学习设计模式了。
学习游戏开发的第二步是学习和探究游戏开发的思想,这个阶段以思想为核心,同时在编程能力上继续提高,分为以下几个阶段:
1.过渡期:这个阶段的特征是从语法上过渡到思想上去,对界面逻辑,模拟对象逻辑等等要有一个理论解释,要说得出它是怎么实现的,得到理论解释可以从自己实践探究中和观看别人的代码、文章过程中不断的感悟和完善,同时这个时期应该要了解到制作地图编辑器、脚本、界面编辑器和使用数据库、引擎对游戏开发是很重要的,当你认识到游戏开发需要哪些工具和流程是怎么样的(要做到这点同样需要1-2款有一定规模的作品,这时由于自己具有一定的编程能力了,如果有条件可以找策划合作了,这样策划就会为你提供研究的对象了)并且对各部分逻辑有了初步的理论解释,就可以进入下一阶段了。
2.游戏初步开发期:这个时期应该找策划和美工合作,个人认为在网络上最好只要一个策划和一个美工,人多了还会带来管理问题,不利于游戏开发水平的提高,如果有一定的管理能力人多一点也未尝不可,而使自己专心于负责程序,这个时期程序编程一方面要完善之前建立的初步理论,另一方面需要找到合适的与策划和美工合作的方法,在游戏制作上要制作相关的编辑器,要用一定的理论实现策划和美工的需求,同时在实践过程中,要将自己先前建立的理论完善并且系统化,形成自己的理论体系。这个时期,应该要学习系统分析,另外因游戏类型不同,可能还需要学习别的内容,总之学的东西理论性比较强,可能对数学还要有一定的要求,因此开发着要根据自身条件选择合适的游戏类型。同时,随着开发的深入,不合适的地方需要调整,比如开发语言。可以说很多重要的问题,应该在这个阶段进行,之前以学习和探究为主。另外,这个阶段因为要和策划和美工合作,所以游戏应该要从易到难,大家共同提高。一开始不需要对质量过于关注,恰当的追求就行了。随着开发的深入,质量要求的提高是提高开发能力的动力,这样游戏就会一个比一个好了。至于这个阶段什么时侯结束,因为个人的实践程度原因,也说不出来,有待以后回答。
总之,进行游戏开发是先学习语言后学习游戏开发思想的过程,这个过程是编程能力和对游戏的认识一起提高的过程,在这个过程中需要注意一下几点:
1.兴趣的培养:兴趣有两方面,一方面是对游戏本身的兴趣,另一方面是探究实现功能的乐趣,前者在入门时期是很重要的,所以在入门时期尽量去设计一些有意思的游戏,虽然这时程序开发能力还不足,但是设计出有意思的游戏还是有可能的,尽管程序不需要策划的那种设计水平,但是有初步的水平有利于培养自身的兴趣,所以可以适当的了解一点,没有必要像策划那么深。总之,有耐心是保证,但是有兴趣更有利于推动自身进步
2.每个时期做本时期应该做的事,看应该看的书,不要去过度超前,对于一些比较大的事情,比如语言的选择,应该根据自身的条件来定,没有必要盲从。
3.在学习过程中要注意培养独立思考的能力,因为交流并不能解决所有的问题,或者说有些问题表达起来也是困难的,因此自身需要具备一定的创造能力。当然交流也是必要的,总之,双管齐下才能得到更好的效果。另外,个人认为做游戏最好不要去模仿别人的代码,而应该是在自己去思考的基础上借鉴别人的代码,虽然刚开始有点累,但是这样做出来记得更牢,对思维锻炼也有好处,理解的也更加透彻。其实做到这点可以从设计本身入手,理解功能的本质,实在不行的,也需要在理解别人代码,理清思路的基础上自己去写。
4.以上各步骤,因个人的志向而异,不是每一个开发者都要进入游戏初步开发期这个阶段的,只要适合自己当前开发的游戏就行了。
5.最后再强调实践的重要性,开发游戏是一个不断实践的过程,枯燥是不可完全避免(有兴趣会降低枯燥的程度),因此应该把大部分时间来进行实践,当然并不是说不要看书,而是看一些适当的书就行了,最好是除了基础知识以外,高层的知识在制作游戏需要时在学习,这样学以致用效果更好。

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2006-9-15 23:55:00 | 显示全部楼层

Re:游戏开发的学习过程

文章应当加精!!

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
发表于 2006-9-16 00:28:00 | 显示全部楼层

Re: 游戏开发的学习过程

这么多…… [em7]

187

主题

6490

帖子

6491

积分

论坛元老

团长

Rank: 8Rank: 8

积分
6491
发表于 2006-9-16 10:28:00 | 显示全部楼层

Re:游戏开发的学习过程

好长的文章......慢慢看。

88

主题

1125

帖子

1136

积分

金牌会员

Rank: 6Rank: 6

积分
1136
QQ
发表于 2006-9-16 12:29:00 | 显示全部楼层

Re:游戏开发的学习过程

  呵呵, 不愧是三国政治第一高的陈群  

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2006-9-16 13:01:00 | 显示全部楼层

Re:游戏开发的学习过程

最近在看易中天的评三国,讲的很好,2DVD, 24集。

187

主题

6490

帖子

6491

积分

论坛元老

团长

Rank: 8Rank: 8

积分
6491
发表于 2006-9-16 13:08:00 | 显示全部楼层

Re: Re:游戏开发的学习过程

zodane: Re:游戏开发的学习过程

  呵呵, 不愧是三国政治第一高的陈群  

打错了,是“陈?”,不是“陈群”
..........

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2006-9-16 16:51:00 | 显示全部楼层

Re:游戏开发的学习过程

三国里政治力最高的应当是贾?,按史书分析感觉诸葛亮高,诸葛亮的很多故事只是传说,诸葛亮治理国家的能力比较高。

三国演义小说里很多人物都讲的很简单,或成为次要角色。

187

主题

6490

帖子

6491

积分

论坛元老

团长

Rank: 8Rank: 8

积分
6491
发表于 2006-9-16 17:22:00 | 显示全部楼层

Re:游戏开发的学习过程

三国里不同的版本各个人物的能力也一样??历史的人物能力不好评定吧。只能根据小说里那一点点资料。

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2006-9-16 17:26:00 | 显示全部楼层

Re:游戏开发的学习过程

易中天品三国说贾?可能是三国时代里最聪明的人,超过诸葛亮,是根据历史研究分析的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 11:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表