游戏编程心得

游戏编程心得

53071129

我经常被问及“一个人如果有很少甚至根本就没有编程经验,那么应该怎样开始自己的游戏开发之旅呢?”。一般来说有以下步骤:

选择一门语言

第一件事情是你需要选择一门你将来进行编写游戏的语言。你有许多种选择,包括Basic、Pascal、C、C++、Java等等,而且在网上关于游戏制作新手应该选择哪门语言的讨论也很多。John Hattan的 “ What Language Do I Use ? ”中对当前比较流行的语言的分析和讨论很有见地。

推荐选择C和C++做为开始写游戏的语言。一些人可能会说这两种语言对于没有编程经验的新手来说有点难度,我不同意这种说法,因为我就是刚开始的也是选择这两种语言。另外C/C++在今天是两种应用范围最广的语言,因此你才会更有可能得到更多的编程和学习资源以及其他人的帮助。C或C++应该先学哪个不是很太重要的,因为当你学好了其中的一个,学习另外一个就是水到渠成、手到擒来的事情。然而,当你选择了先学C++的时候,在学习面向对象编程那部分的时候,首先要确定你已经能够很好的理解和应用过程式的编程。例如:在你不使用类的情况下不能写出很好程序的时候请不要着急着去学习类。

如果你使用C/C++作为开始的语言,但是学习的进程却是很困难,回头去选择一门对于你而言比较容易的语言,如:Basic 或 Pascal 。但是坚信如果你能够坚持学习而且能够找到合适的学习资料,那么学好这两门语言应该是不成问题。

你的下一个问题可能就是“我该怎么学习C/C++ 呢?”我很高兴你能问我这样的问题。最好的方式是去培训,找个讲师,能够回答你的问题,能够使你的编程能力得到很大的提高,以及课外编程作业将保证你能够切实的应用你所学的东西。如果去培训不是你的选择,那么下一个最好的方式就是弄些比较好的书。对买合适的书不要有太多的顾虑,因为你最后或许会买许多书。我建议你去书店,然后花些时间搜索介绍C和C++的书,最终你将会找到一本你能够理解和能够学到东西的书的。你还可能会要一些进阶书籍或其他的参考书,当你对这门语言有了一定的了解之后你将会知道哪些书是你所需要的。你也可以去我们的书籍区得到一些建议。

在这里想提的是曾经看到的一些对许多程序员特别是而又没有钱买书的年轻程序员有影响的东西。首先我们身边有很多的免费的资料,包括你附近的图书馆以及拥有很多电子书的麦克米兰出版社的网站,地址是http://www.mcp.com/personal 。但是你如果真想成为一个牛B的程序员,你必须在这上面做一个投资计划。当你使用东西的时候,也就意味着你需要掏出现金。在网上也有许多的学习C/C++的指南,而且我发现指南作为你在书上学习的一个补充而不是一个卓越的学习资料。

选择正确的编译器

你写的程序源代码往往被存储为文本文件,你甚至是可以用记事本来写C/C++程序。但是有一件事情需要做的是你需要把你的源代码转换成可执行程序。就C/C++来说需要的是编译器。

有许多编译器可供选择,也有许多是免费的。选择一个你用的顺手的编译器是一件很重要的事情,而免费的编译器有一个很大的好处就是你可以按照你喜欢的方式使用该编译器的所有功能。然而,免费的编译器与商业化的编译器相比,可能不支持全部的语言特征或者没

有很好的服务支持。幸运的是大部分的商业编译器都出了花费较少而又有完全版本全部功能的简洁版或者学院版,仅仅是你不能分发你使用它来编译的程序。

最终编译的选择是依赖于你将在何种操作系统或平台上进行开发,以及在操作系统或平台上开发的时间的长短。如果你将在Windows上面做游戏开发,我强烈的建议你使用微软的VC++。VC++有强大的开发环境,可以让很多事情变得简单了许多。还没有一个编译器显示出比VC更适合于在Windows上做程序开发应用程序。如果你是一个学生你就可以打折得到一个拷贝。如果你是在DOS系统下做程序开发,最好的选择是DJGPP,而且是免费的。

选择一个开发平台

即使你将会可能在不同的平台上开发,但是你仍旧需要学习其中的一个。当你学习这门语言在使用包含图片的编程之前,你可能更想使用没有GUI界面的操作系统,如:DOS或UNIX。这样可以让你把经历集中在学习这门语言本身上,可以避免你陷入上层程序的泥潭中,如:Windows编程。当你开始准备好做游戏的时候,你就应该改变你的开发平台。那么让我们看看有哪些较出名的操作系统可供选择。

Windows:如果你想在游戏产业中的专家级人物或者你想能有很多人玩你的游戏,那么Windows就是你所想要的系统。你大部分用户用的都是Windows操作系统,而且这部分用户还不会在短时间内转移到其他的操作系统。在Windows下开发的绝大部分游戏都使用了一个你可能听说过的DirectX技术。DirectX允许程序员直接操作硬件,这也就意味着你可以写出高性能的游戏来。

DOS:DOS曾经在游戏开发平台中占据着绝对的支配地位,只可惜那已经是过去的事情了。尽管还有一些沉迷者仍然在做DOS下的游戏,但是有很少是商业化的游戏,当Windows停止对DOS提供服务支持后,做DOS下游戏的会更少。如果你刚刚开始做游戏,建议你不要选择DOS,而如果你已经开始做DOS下的游戏,建议你不要在DOS系统上的开发停留太长时间。提示:因为有很多关于游戏编程的书都是针对DOS系统的,这也就似乎是说通过学习那些书,选择在DOS下开发游戏是很自然的事情。然而当关于在Windows下开发游戏的书籍增多的时候,这种争论将会变得越来越少。

Linux:Linux是一个UNIX系统的变种,将会由于它自身的稳定性、价格以及抗击微软的情感而变得逐渐流行起来。尽管相关的Linux用户还很少,但是环绕在它四周的激情以及逐渐增长的市场潜力,使它成为一个可行的开发平台。

Macintosh(苹果机):尽管Mac系统有相当数量的忠实用户,但是几乎我遇到的每个Mac狂热者都要求更多的更好的游戏能够提供给Mac系统,由于这种需求的存在,因此Mac也可能也是一个可行的选择。

游戏机:游戏机(如:Playstation , N64, Dreamcase等等)的游戏市场还是非常大的,在游戏机上做游戏开发也是很有前途的。然而由于某些原因在游戏机上开发一些不用于商业的游戏那是行不通的。如果你准备在游戏机上做游戏开发那么你同时也得受雇于一家商业性的游戏开发商。

在国际上的做游戏机的公司还是很多的,象微软的Xbox360、Sony的PS2 、Nitendo(任天堂)的GBA等。只可惜这些公司几乎都是赌徒,喜欢短时间内把公司的大量的财力、物力押在一款产品上,结果是事与愿违,一赔就是数以几十亿。做游戏机类的游戏是一个大家配合的工作,包括包装、外观、机械、电子(PCb板)、程序、生产线等,bug解决不了的时候,只能是软件漏洞硬件补,处理起工作来,要打交道的人很多,有的时候做程序的还要跑到生产线上去看看,郁闷。

放在好东西上

现在我们讨论做游戏。简单的说我将假设你已经选择了在Windows下的C/C++开发,即使你选择了其他的平台和语言。

首先在你开始游戏开发的时候,你应该对C/C++有了较好的掌握。你应该能够理解指针、数组、结构体、函数可能还有类,而且能够熟练的使用它们,甚至是精通。如果你已经做到了上面的几点,那么你可以开始游戏开发了。

这篇文章不可能教给你有关游戏开发的所有东西。幸运的是这篇文章也没有试图这样做。在游戏开发这个科目上有很多的书籍,在网上还有很多的指南。GameDev.net 上该有你所需要的东西。下面我将给出开始游戏开发的一些建议:

弄几本好书。《Windows游戏编程大师技巧》是一本不错在Windows下做游戏开发的程序员的入门书籍。除了这个之外我们网站的图书区还有很多其他的好书。好好的看看这些书,实践书中的所有的例子,不断的重复的看看那些你不能理解的部分。

在网上读一些在线的指南作为补充。而且仔细的阐明你所读的东西,这些东西中有很多是你书上所没有的。

向专家请教。如果你在书本或指南中找不到你的问题的答案,利用我们的留言本和聊天室。那里有许多希望可以给你帮助的人。

这些应该是一个不断的并行的过程而不是一个连续的过程。

仅仅是学习还是不够的,你应该应用你所学的东西。从一个简单的游戏开始做起。可以看看Geoff Howland的《我应该怎样写游戏?游戏开发的一个路径》这篇文章。

首先要做好一个人开发的思想准备。不要急着去加入什么游戏开发团队,因为那只能减慢你的学习速度。当你掌握了许多游戏的时候,你就可以开始考虑加入一个团队做大一些的工程的开发。

关于所要看的书我再补充一下,你不仅仅是需要看游戏编程方面的书。尽可能的去创建你在商店货架上所看到的游戏,你必须要钻研到一个比一些书上提到的更深的程度。一些东西你可以在指南中找到,但是你仍旧需要看一些其他的书,如:在图形、人工智能、网络、物理等等。这是从事计算机科学研究的一个便利的通道,因为你将被要求做一些你认为不可能在游戏编程应用中实现的东西,而事实上可以做到。

专注

下面有一些提示:

不要仅仅是积累知识,用它。 除非你用它们,否则你不能真正的知道和理解它们。用你所学的东西制作一个小的Demo。认真的去做书里面每个章节后面留的练习。

尽量玩更多的游戏。 这样做可以给你许多灵感并能帮助你把游戏做的更好一些。这也可以给你枯燥的编程工作减轻一些痛苦。

帮助别人。

东西。

有始有终。 在教别人或者给别人讲解的过程中你将会更加的了解自己,学到很多不要陷入“我知道我能完成这个游戏,但是我有更好的方法,因此我要继续想想我的那个方法。”如果你能完完整整的写完一个你从一开始要做的游戏,你将会学到非常非常多的东西,而且你也有东西可以证明你不是一个把什么东西都停留在嘴巴上的人。在你成为一个有经验的游戏程序员之前,请把你要做的游戏更简单更容易一些,不要贸然的去尝试写一些比较大或者很复杂的游戏。

现在你可以开始了。 你现在应该可以考虑用你自己的方式来写Quake 4 了。不用太苛刻,但至少你能知道从那条路上开始,知道从哪儿可以得到更多的信息,再加上几年的努力,一切皆有可能。

 

第二篇:游戏培训心得

游戏培训心得

时间过得真快,不知不觉,已经到了马克思主义理论学习班的第三次上课,不过,今天并不是上理论课,而是我们的培训活动。

星期六的中午,下着毛毛细雨,我们集合后集体出发到南校区,参加第一次游戏培训。看着商学院同学手中的游戏辅导用具时,我就已经开始期待了。

培训主要分为四个阶段:热身,团队建设、斗高、手巾举水杯、传数字以及翻纸牌。我们先进行了大风吹的热身训练,通过了大风吹这个环节,同学们已经没有了先前的紧张。随后,我们进行了分组。并为队伍起名字、画队标。四个临时团队以不同的方式,不同的队名共同表明了:团队的重要性。我是第一小组的,印象最深刻的是我们队伍的图案,一朵由全部队员大拇指所画的花。

虽然已经有了两次的见面,但学员们之间的隔阂还是清楚可见。大风吹之后,我们分组进行了游戏。第一个游戏便是丢手帕,喊对方名字。起初大家都比较羞涩,只是叫自己学院同学的名字。可后来,为了队伍的荣誉,大家打开心胸,大方的认识了其他团员。

在此起彼伏的笑声中,我们迎来了第二个游戏——斗高。我们拿着夹子,在规定时间内,使自己队伍的夹子塔最高。我们队虽然通过集思广益、借鉴他人(其他队伍)等方式,但还是没有取得第一。可通过游戏,我们明白了,团队合作的重要。

第三个游戏是手巾举水杯。经过之前的游戏,在这个游戏中,我们已经有了一定的默契。最终,通过努力,取得了第一名。在这个游戏中,我们明白到团队中,个人的力量也许显得不是特别重要;但也必不可少。我们只有摆正自己的位置,为了整个团队,配合他人,做好自己分内的事,才团队的优势才会更充分地发挥。因为此时,它已不仅是一个简单的团队,更是由一群人组成的大家庭。

在传数字这游戏中,虽然我们队被评为最喜欢讨论队伍。可惜的是,在本轮游戏中,我们并没有获胜。后来,老师透露了游戏的秘诀,就是不要想太多。正如我们日常所作的工作一样,我们只有不去想太多为什么要这为什么要那,办事速度自会提升。

最后一个游戏,也是我们队伍的自豪。在这个翻纸牌找规律游戏中,我们组配合默契,制定了有效的方法——1、翻开所有的牌,看内容;2、根据内容找规律;3、遇到难题时,靠勇气。就是这样,我们组以最快的速度获胜了。做事情也如此,开始时不要怕麻烦,一样一样地去完成,到最后你自然会找到规律。当遇到难题时,不要害怕,放胆地去闯,胜利就会在前方等着你。

我们每个人都来自不同的地方,不同的学院,经历过不同的挫折,享受过不同的胜利,欣赏过不同的风景,结交过不同的人群;然后,因为缘分,我们相遇在一起,相遇在第四期马克思主义理论学习班。这次游戏培训让我更加深刻地懂得了“我们是一家人”,感受到了同伴的支持,感受到了团队的凝聚力,感受到了家的温暖。

相关推荐