坦白讲,当初我学习计算机的初衷是制作一款自己的游戏,自娱自乐。但是这个理想一直搁置了10几年。最近终于有时间琢磨这个理想了,把过去买的书整理了一下,也翻阅了很多资料,决定记录到文字上,从零开始完成一个真正输入自己的游戏,哪怕是连连看游戏也行。
方法/步骤
1
首先你得学会一门计算机语言,笔者建议从C或C++开始学习,理由如下:
1. 学习资源丰富,遇到困难容易得到帮助,书籍也很多
2.学完C/C++ 再学习其他语言就很容易上手
3.C/C++有着无可比拟的跨平台特性,只要了解平台的差异,你可以很容易的将相同的代码一直到Windows/iOS/MacOS/Android平台上。
笔者建议从《C++ Primer》开始。
这个过程大概要有1~2个月吧,如果半年还在摸索状态,建议放弃吧。
2
在Windows平台上开发游戏,Visual Studio IDE是首选(号称宇宙最强),用过若干种IDE的人都知道,Visaul Studio IDE的易学易用,上下兼容,文本缩进,关键字提示等方面的综合得分是刚刚的,初学者可以下载社区版,免费使用,开发独立游戏也是够用了。(注:笔者写此经验时是2017年底,果断丢掉旧的版本,直接下载使用Vsial Studio 2017,相信新的比旧的好用的多,不要太念旧,特别在技术领域)
3
C/C++语言学习的差不多,可以翻翻计算机数据结构和算法方便的书籍,对队列,向量,Map, tree,图有大致的了解,因为不能做到学以致用,学习这些东西是一个漫长而枯燥的过程,以后开发实际项目,遇到难题,再翻翻这些书,可能会豁然开朗。(笔者注:想写出好的东西,数据结构和算法是必要的,在职业领域,学好数据结构和算法也是致胜的关键,对于初学者来说,如果看不懂,建议先放放,等用到的时候再翻书也是没有问题的)
4
如果你水平高,你完全可以自己从头到尾写个游戏。但是不是每个人都是大师。选择一个开发库或者游戏SDK或者游戏引擎是很有必要的。这些SDK通常提供以下若干方法(要自己写,真的很费脑筋的,能力好的,也得1年以上时间吧):
•提供加载和渲染图像的方法,往往一个函数就完成了
•加载和播放音频的方法
•基本的图像处理(旋转,缩放,平移,渐变,精灵动画等)
•原始绘图功能(圆圈,线条,矩形,点等)
•能够呈现文字
•跟踪时间和等待的能力
•能够创建和控制线程(不是必需的)
•联机功能还要附加网络能力
5
推荐几个好用的开发包:
SFML (2D游戏引擎)
SDL(2D游戏引擎)
Allegro(2D游戏引擎)
Cocos2d-X(2D游戏引擎)
Irrlicht (3D 游戏引擎)
至于比较底层的OpenGL/DirectX,笔者建议先放放,这两个家伙可谓是望而生畏,学习曲线太陡峭了,往往让初学者停留在出发阶段,而停止继续前进的脚步,确实太难了,以后在进阶学习的时候在回头看看吧)
6
接下来要构想一个游戏。从iPhone/Android应用商店比较火热的大赚特赚的游戏来看,创意是非常重要的,一个扫雷游戏都能变着花样赚钱,所以一旦有一个大胆新奇的想法,果断的扩充它的创意。比如一个益智游戏,制定它的游戏规则,假如需要盈利的话,有哪些盈利的手段,是不是有人已经上架了这样的游戏?等等
7
选择适合的游戏引擎,注意够用就行,不要为了开发一个连连看游戏就把一个庞大结构的游戏引擎拉出来用,SDL就行,用不了多少代码?分清要开发的是一个2D/3D/策略/益智/即时战略?
8
游戏附带的音乐和图像资源是少不了的,千万不要在开发前就规划游戏资源,一些独立游戏开发者的经验告诉我们,边开发边找,因为计划赶不上变化,最初的东西很有可能被舍弃,笔者建议找一些替代性的开放资源临时用一下,在编码差不多完成的时候再替换这些美术/声音资源。
9
把你的规划和设想整理为开发文档,这样你的开发才不是漫无目的的。就像一个纲领,指导你前进。定义你的游戏规则,菜单,游戏逻辑,场景对话等。
10
接下来就是编码制作,修改,再编码修改,直到完成。这个是个硬功夫,也是一个经验积累,精益求精的过程,你的知识会在这个过程得到升华,当然,前提是你要抗住,坚持下来。
11
打包和发布。你辛辛苦苦开发的游戏,说不定还花了不少钱,当然你可能想赚点钱。有若干种实现收益的途径。在游戏中插入广告,自带付费购买等。当然还有其他的赚钱的方式。 这个时候你可能要读读不同发布平台的规则,有些想在上面发布游戏,还跟你要钱,要的还不少,当然这对于一个开发了一个游戏的人来说不算难事。等打包发布完成,审核通过后,你可以通过发布平台的后台查看自己的用户数据,看有多少人下载,多少人给了好评,可能还有每月若干人民币的收入:-)。
END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。