开发一个游戏其实要懂的东西很多。尤其是最好熟悉Photoshop和3DSMAX等软件操作和使用。为什么呢,因为少走弯路。有一些人因为不懂素材制作的特点,所以程序方面肯定不可能有理想的结构,而且距离商业化要很远很远。呵呵。
必须有一个现成的游戏源代码作为参考,了解游戏的架构,这样开发的速度和效率才会高。而且个人开发游戏的话,这个是必须具备的。单机游戏还是免了。国内的行情。
当然不是修改这个游戏,而是参考这个游戏的架构。绘图架构、网络架构,信息传递等等。一个网络游戏涉及到方方面面很多。个人开发没有经验,是根本不可能完成得了的。
有很多人很牛,直接从底层开始做,但是因为没有经验和不了解游戏制作的特点,所以我们经常能够看到他们直接读取那些图片文件的代码函数:
LoadImages('D:\xxx\xxx.BMP') 其实很可笑,对吧。因为在一个商业游戏里面,是不可能这样操作,而把游戏需要的资源不经过封装就交给客户使用的。所有的游戏资源全部都是封装到一种资源文件封包里面。
新手学习的时候,会花费一段时间去寻找资源文件制作的资料。其实不用花费时间找了,网上关于这些方面的资料是没有的。你不见在CSDN论坛里面,很多人回答的时候,让你
打包到res里面吗,呵呵,其实因为他们不懂,才会回答这样无聊的话。想想,几个G的图片文件或者模型网格封装到res资源里面,会不会是很可怕的。
而有经验的老手也不会告诉你,应该怎么做。所以当你看到那些LoadImages('D:\xxx\xxx.BMP') 这样的函数的时候,也不会奇怪。更不会为难了。为什么会这样说,因为一些不成熟的游戏引擎是不提供读取自己新文件格式的函数的。所以你去学习的时候,一定会很为难的。
所以一个可用的游戏引擎,必须提供诸如从流里面读取资源的函数方法。如果没有,把它废了。不必浪费时间在它上面。
如果你熟悉流的操作,熟悉指针链表的操作,那么你一定可以做出你自己的资源封包文件。
制作的时候,多看CPU的占用情况,FPS再高,如果CPU的占用高,那么你还得拼命地进行优化,如果优化不了,一句话,换引擎。
一个商业游戏关注最关键的部分是CPU资源的占用。原因是玩家很——在意!不要以为现在硬件性能普遍都很高了,这个想法跟微软的当初想法是同样的错误。在全球哪怕是我们国内,很多人的机器还是奔腾一代。你不相信,是因为你还站在外面。
有极大一部分玩家,包括我们自己,在游戏的同时还聊着QQ,或者还打开别的游戏在玩呢。
另外一个是,把BMP这种类型的图片文件扔入垃圾桶。原因是文件太大。
很多资料都在使用这种格式的图片文件,因为操作这种文件的函数太丰富了,太好操作了。呵呵。
我只想说的是,很垃圾,微软过时了东西。