观点:关于游戏系统的规划、设计与实现。

原创 2002年02月27日 09:01:00

 


观点:关于游戏系统的规划、设计与实现。


1.游戏软件的画面形式大都是直接写屏的。它的最大好处就是平台无关性,而不用考虑纷繁复杂的window界面规范,不用考虑很多与界面相关的api或者mfc。瞥开这些无谓的平台特性,设计者可以非常自由的架构游戏界面系统以及表现形式。如果用目前主流的OOD设计的话,体验后的设计者的设计水平可以有非常大的提高。因此游戏系统设计非常合适做学习软件设计的案例。

2.如果想找一系列模式来概括游戏系统设计体系来形成独特的工程规律,其实是不必要的。从软件系统的角度去观察,游戏软件系统和普通的应用软件一样,它的内核就是数据,这个数据描述了一个状态,这就是整个软件系统的当前状态。游戏在运行发展,应用软件也在被控制,这些现象的实质就是系统状态的发展与更新----数据在变化与更新。是什么触发了状态(数据)的变化呢,是独特的软件规律,也就是说每个软件都有不同的系统状态更新规律(例如用户输入,事件触发,系统行为或是状态发展),而这就是所谓的系统规律。每个应用软件都有自己的系统规律,而每个游戏软件也都有自己的系统规律,而这就是软件系统设计的依据,它需要被抽象、被规划、被封装。因此完全可以把游戏软件系统与别的其他的软件系统同等看待,他们是一样简单的、或是复杂的。 ^_^
补充一点:其实游戏系统很多之处都可以归纳出统一原理,例如精灵管理,地图管理等等。我认为这些都是局部设计与算法,还未到系统规律的高度。

3.关于架构软件系统,特别是以面向对象的方式。


我就简单说说我的一些心得吧:

#.事先尽量将软件需求做得详细、完备。

#.先从全局上规划整个系统。特别要考虑需求的变数以及系统的重用性、扩展性。

#.接着构造系统的模块,划分模块的功能及分布。注意将相对稳定的系统状态与系统 规律及系统变化分离,抽象出变化与联系将以封装,使得系统某个方面的变化可以独立与其他方面。MVC(model/view/control)方式是一个简单而典型的例子,3者能独立发展且重用。再针对你上边的例子,怪物的外观动作和怪物间的行为,前者描述了对象的外观,后者可能描述了对象间的交互—这里可能会存在变数。如果将怪物间的交互动作(例如“咬”)分离出来(可以构造一个识别Pacman类的PacmanAction类),让其与怪物本身外观行为得以独立发展,相信系统的变化就会灵活许多,譬如你可以填加各种行为例如Talk,Kiss或是FakeDead ^_^ 等等而不必再大肆修改Pacman类或类层次,让这些动作与怪物自身的外观行为进行自由组合,相信其乐无穷。抽象变化将其封装就是这个意思。

#.有了模块图后,再将其细化为类图,这时类的继承系统以及类之间的通信关系一定非常明晰,经过一番精巧的局部构造后,相信当前的系统就会非常合理、优雅且充满能量。

#.接着……大概就是快乐或痛苦地编码了吧,反正是体力活儿~~ 好处是同时你还可以一边和mm聊天。*_*

#.接着就是痛苦的调试了L,不过相信有了构造合理的系统,一切行为与变化都显得非常清晰可以全盘控制,同时你还可以一边和多个mm聊天。: J

篇幅所限,有些观点说的比较抽象,希望大家得以指正。%_#

服务器设计系列:架构综述

一、系统框架概述   网络上的服务器,无论是嵌入式的网络设备,还是pc上服务器,整体结构以及主要思想都大体相同:根据业务模型确定主要数据结构,根据数据结构确定线程模型,在各个业务线程内根据围绕主要数据...
  • zhoudaxia
  • zhoudaxia
  • 2013年11月17日 23:43
  • 3717

Java设计模式之从[使命召唤等游戏的任务提示]分析职责链(Chain Of Responsibility)模式

我们在使命召唤、暗黑破坏神等游戏时,总会接到各种各样的游戏任务,如到某某地方解救某人,或者消灭某某地方的敌人等。当玩家进入到某一个地图(以下称之为游戏场景)时,我们就可以查看它的任务提示。在这个机制下...
  • Froser
  • Froser
  • 2014年04月14日 11:59
  • 1206

用java设计实现一个简单的动作冒险类游戏

用java实现一个简单的动作冒险类游戏设计  1、背景    这是java老师布置的本周作业,具体题目截图如下  2、分析     在UML图已经给出的前提下,此作业很容易。自己在此基础上,加了个简单...
  • u010043538
  • u010043538
  • 2013年11月03日 02:45
  • 4930

游戏任务成就体系的实现(附七):成就系统基于Redis的数据库访问设计实现

todo:
  • WangJian_Blog
  • WangJian_Blog
  • 2015年01月16日 17:00
  • 1053

游戏服务器背包设计与实现

在游戏开发中,背包是一个非常重要的功能。几乎每个复杂点的游戏都会有背包的功能。不管是手游戏还是网页游戏,不管是SLG游戏,还是ARPG游戏,背包是必不可少的。背包的功能根据策划的要求,有的简单,有的复...
  • wgslucky
  • wgslucky
  • 2016年11月19日 01:23
  • 1913

扫雷小游戏的设计与实现

完成JAVA版扫雷的基本实现后,其实发现这并不难,做这个小游戏,也是希望自己能有一些收获,以及看看自己能做什么。到现阶段,暂且总结下自己的成果和心得。        代码还是有些繁琐,算法是完全自己设...
  • swallowing_
  • swallowing_
  • 2015年08月31日 11:31
  • 1003

中小型网络系统总体规划与设计方法(二 )

8)网管能力         路由器的网管能力表现在网络管理员可以通过网络管理程序和通用的网络管理协议SNMPv2等,对 网络资源进行集中的管理和操作,包括配置管理、记账管理、性能管理、故障管...
  • erlian1992
  • erlian1992
  • 2015年07月30日 08:51
  • 1548

关于游戏程序员的职业规划

为什么做游戏程序员:乐趣、梦想、财富、成就感 我们的绰号:“程序猿”、“码农”、“IT民工” 现状: 1.  经常加班,薪水不高,项目不好 2.  亚健康,近视,缺乏锻炼,蓬头垢面,没有活力,容易...
  • unknowm
  • unknowm
  • 2014年05月31日 14:09
  • 4129

中小型网络系统总体规划与设计方法(一)

一,基于网络的信息系统基本结构        一个基于网络的信息系统基本结构它应该包括网络运行环境、网络系统、网络操作系统,以及基于网络操作系统 的网络数据库管理系统、网络软件开发工具与网络应用系统。...
  • erlian1992
  • erlian1992
  • 2015年07月29日 17:47
  • 2286

IT系统设计中的5S原则

5S原则:Simple, Solid, Strong, Safe, Smart.   Simple Simple就是简单原则,这里的简单有两个意思,一个是逻辑简单容易理解,另一个是架构简单耦合性...
  • tallrain
  • tallrain
  • 2016年12月15日 19:18
  • 367
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:观点:关于游戏系统的规划、设计与实现。
举报原因:
原因补充:

(最多只允许输入30个字)