最近看了三本很不错的游戏设计方面的书,它们分别是《c++游戏程序设计概论》、《游戏设计技术》、《游戏创作与职业》,通过这几本书,我对游戏程序设计有了更深的认识。
来自《c++游戏程序设计概论》的认识有:
认识1:
游戏项目开发共五步:企划建构——原画设定——执行美工——程序设计——测试更新(看到这里我多少有些头疼,企划还好说点,但原画设定、美工可是我不在行,怎么做呢)
认识2:
游戏的三个关键:游戏的灵魂——企划、游戏的外衣——美工、游戏的骨架——程序(这三个里面就程序我比较擅长,这也让我意识到如果我一个人做游戏,不单单是要做游戏设计者、还要做游戏美工和游戏程序员,但这些合起来又叫什么呢,我忽然明白事实上,我要做的是一个游戏架构师,我要做得就是架构一个完整的游戏软件而不是一个游戏程序,今天我终于找到自己的定位了)
认识3:
游戏程序设计四步走:(这里是我自己总结的,不对的请指正,我的QQ是:8104689,虽然不知道最终是否能做出成品,但还是欢迎游戏爱好者加我,呵呵)
一、游戏基础设计
1、游戏结构流程实现
游戏的基本结构:输入系统、输出系统、声音、动画、主程序、其他(光盘保护、版本确认、作业系统检查、log记录系统)
游戏的基本流程:
游戏开始——动画投放————
|
V
———————————》 主菜单
| |
| ——————————————————————————————
| | | | |
| V V V V
| 载入存档 新的游戏 功能设定 退出游戏
| | | | |
| | V | V
| ———————》 进入游戏 | 游戏结束
| | |
| V |
|————————————————————————
基本数据结构:堆栈、队列、链表
2、游戏算法实现
路径算法:逼近法、等高线算法、队列容量计算、人物技巧、地形加权法
战术评分法:移动范围、移动规则、角色特性、战术评分
完美随机数:随机处理
3、游戏事件实现
事件基础:事件作用、类型
事件处理实际操作:人物对话、人物属性调整、装备变更、游戏存盘
二、游戏高级设计
1、接口控制功能
权限处理
键盘信息处理
键盘信息存储
2、接口基类
框架模块
图片显示模块
按钮模块
字符串及数字显示模块
3、图像处理
图像技术、贴图、光色效果(透明色光、不透明色光)、透明效果、云雾效果、变色效果、地图滚动条(滚动速度)、虚拟画布、坐标换算、位移复制、边界处理
三、游戏辅助工具设计
1、数据编辑器实现
2、场景编辑器实现
四、游戏维护
1、代码维护
2、版本控制
3、记录文件
4、产品安装更新
上面就是关于《c++游戏程序设计概论》的认识。
看到这里,我有点动摇了这么多东西要做,要做到什么时候,什么时候才有成果(我是个有成果才更有动力的人),但是我坚信有解决的方法,传统的路走不通,那就换一种方法吧,反正条条大路通罗马,经过一番思索,我提出了一种比快速开发原型更快的展示成果原型,我把它命名为超速开发原型,也可以叫核心开发原型。(呵呵,这种思路是否好,现在还说不定,但这是我想出的属于自己的快速开发模型)
超速开发原型的主要思想是:“种子成长思想”
那什么是种子成长思想呢?种子一开始就看见一个圆圆的东东,只有掰开才看见它里面已经具备了成为植物的基础和骨架,所以它是植物的精华,通过吸收营养它才慢慢成长成不同的植物。
而我的超素开发原型就像种子一样,先构思一个简单的核心(能多简单就多简单),然后用最简单方式(main方法)证明这个核心实现了,然后加入新的东西,让它更具体,最后成为我们所要的。
呵呵,就像种子一个,一开始我们就知道是种子,是什么种子不清楚,等它发了芽,不断成长我们才慢慢从对它模糊的认识到知道它具体是什么!