很奇怪,自己也开始写blog了。哈哈。首先申明,本人不是什么对技术很有研究的人,只是对游戏设计感兴趣而以,个人认为技术只是工具,并不是最重要的。但是目前而言,纯设计师是很少的,一般都是从程序或者策划等上来的。欧美的设计师更是有10多年的原工作经验。(宫本大叔是很少见的。-_-)而在我国就更离奇了。我只记得原金山的裘前辈说过中国的策划都是空降的。那设计师的话那就更难说了。好了。牢骚发完了。我们开始吧。偶是今年刚毕业的,但是对游戏因该确切的说从小学开始就接触了。(当然只是玩游戏而已!)毕业后很有辛的录入一家做手机游戏的公司,(其实我一直很想做单机游戏!)开始了自己的游戏历程。职业是程序员。所以我这次的话题也是站在程序的角度来说明自己所知道的。对游戏前期的策划等不在论述之内。当然我觉得不管你在什么平台,对游戏的理解因该是一样的,(略有偏差!)所以我想把自己所用1个月作出的一个小游戏与大家分享,对于我身边一直很感兴趣的朋友也算是有个交代,也对自己来说是个总结。
1. 很多人一开始就喜欢问我,你现在用什么语言开发啊。其实在我以前没有做游戏之前,这个问题我已经有看法了。那就是跟那些经常喜欢回答这个问题的高手一样。^-^ 就是你看你从事哪个平台和你所熟悉的语言来说吧。有些平台是有限制的。当然也许我说的还不够完整。比如在windows下,我听过的最多的声音就是用c++,但是看过拉莫斯的书好像他一直在用c来演示。呵呵。所以你要做的事情就是你想在什么平台开发游戏,然后在看那个平台支持什么语言,然后如果可以选择的话你要看自己熟悉什么拉。当然如果考虑游戏的实现来说,你可能选择的时候不一定是自己擅长的语言,但是有一点我想说自己的看法,就是目前而言,你要做商业上的游戏,最好学习c++,当然你的c如果也很厉害的话,对你没有什么坏处。
2. 现在开始说自己现在要从事的平台,我是在手机上开发游戏,用的是brew平台,所以我首先考虑的是手机上我可以做什么样的游戏。其实现在的游戏很多都可以移植到手机了。只是考虑的手机的操作性,我们最好可以做那些比较容易操作的游戏。如rpg,puz,stg,slg等。(我知道的就先说这些吧。其实我做的这个算是个puz,但是自己下一个可能是rpg,哈哈.自己最喜欢的类型!)然后我要选择这个平台目前支持的语言类型.我知道的就是c和c++了.但是目前我从事的公司一般都用c,所以我就用c来开发.其实c++我可能还不是很熟悉.哈哈.(当然c也不是那么很容易的东西.)
3. 游戏类型刚才已经说了.我做一个puz,当然是头分配的.对自己刚毕业来说也算是个锻炼.呵呵.因该说这个游戏有一定的娱乐性.这个游戏是属于俄罗斯方块那种类型,只是要求打方块和交换方块,计算有没有可以打的方块.(请允许我用这么模糊的词语来形容,因为不能说的太暴露.要不你们就知道我做的游戏了.哈哈.是要上线的.哈哈.谢谢头这么信任我啊.)对于新手来说因该这个地方是大家很想知道怎么做的吧.那我们就开始吧.首先你要明白怎么在手机屏幕上显示图像.说实话这个问题空扰了我很长的时间.2days.对我来说很浪费自己在公司的时间啊.要说这个,就不能不提现在我们在windows平台是怎么做游戏的。大家因该都知道用sdk(软件开发包)拉了吧。有很多函数直接用。包括图像。当然在手机上也是一样了。brew就是这样的。呵呵。所以你要熟悉sdk,当然你也要熟悉手机上特有的东西。如在brew上经常用的sprite技术。算是对那些经常要移动的对象有很方便的用法。图像平常用的image,bitmap等接口一定要熟悉它是怎么运作的。解决了这些你因该可以看到你的东东可以显示了。哈哈。
4. 现在在看我们游戏的主逻辑。比如游戏中的物体的的移动。考虑我写的是给新手看的。(当然自己也是新手。)所以我用的办法可能比较土。高手就不要说我了。其实图像的实现和数据是分开的,所以我们因该从数据上考虑。你的东西可以移动,说白了就是一个数据在坐标上移动。你只需要把坐标的位置改变,用对应的平台工具实现他就可以了。我用的是spirte。在来看看移动要改变的位置。如俄罗斯只是向下移动,但是如果方块是从左边发射要碰到边界会向下移动怎么办呢?我们可以设定变量来表示它是否想左移动或者向下移动。对于碰撞我们要考虑是否要移动的方块前面的位置是否有东西。这个判断我用的是数组。既不同的方块用数字标示。个人感觉数组好像在游戏中用的很多,目前我认识的。至于其他的消方块什么的都是判断是否显示和不显示而以。这些东西就是要靠自己看看游戏中经常用的方法。以上就是稍稍的提及了一些游戏中的方法。也对新手而言有个感性认识而已。我做的只能这么多了。
5. 程序怎么写。这个问题是不是很幼稚?不过我感觉刚从事游戏的新手因该有这样的感觉。不知道自己怎么写啊。说实话,刚开始我也不知道怎么写?这个就要学习游戏的架构啦。当然前提要看平台是怎么表达的。brew和windows一样都是基于消息驱动机制的。所以在这个基础上我们在学习一下其他人的代码写法。刚开始大家都在模仿,如果到一定时候,你可能自己根据游戏可以写架构了。我看过同样的游戏用不一样的写法,真的很不错。哈哈。
6. 游戏说到这里可能差不多了。请原谅我从来没有写过东西,可能表达有些东西是模糊的。还有可能逻辑上也有问题。哈哈。但是我只想表达一下自己所看到的东西。如果你有机会看到这些东西对你有用的话那就可以了。如果没有用,你也可以发表自己的看法,算是我起个抛砖的作用吧。呵呵。
7. 希望可以和大家一起交流游戏。因为本人刚毕业。所以也没有什么商业经验,写的不好的地方请大家原谅。我的qq22856273 msn godkiller007@hotmail.