.GAME FRAMEWORK

开始用.NET构建我们梦想中的游戏

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
这两天主要忙于对Action进行完善的工作,所谓的完善,也仅仅是最基本的完善而已。此外正在展开程序主循环的设计,这个主循环已经开始写了,不过仍然处于非常初期和非常幼稚的阶段。下一步需要做的是:
1、建立Action队列(用于执行动作)
2、建立Character队列(用于执行“呼吸”)
3、建立输入能力
4、建立输出机制(UI)

下面分别叙述一下:
1、建立Action队列,我一开始的时候打算使用Queue,但是后来考虑到这个Action队列会有很复杂的功能,例如某个Action可能要等待某些Action完成才能开始执行(比如星际里面按着Shift键点鼠标右键,或者攻击的时候因为范围不够需要首先完成Move动作,或者某个动作需要其他的一些动作完成了才有可能完成……)。再例如,某一个Action可能需要有更高的优先级,另外一个Action可能需要定时(比如星际地图编辑里面的定时动作等等)。因此这个Action队列我打算从头开始写。

2、Character队列就没有什么好说的了,不过这个实际上不能够算队列,应该是数组(ArrayList或者其他的什么东西)。当然,Character队列里面也许会有一些其他的要求(类似Action),但是目前我还没有想到,所以暂时不考虑了。

3、输入能力。这个嘛,我想也没有什么好说的,大概就是一种类似影射能力的东西。可能用Command方式完成?有没有谁有好的建议?

4、输出机制。这个我考虑使用Flyweight来实现,因为比如说角色可能就只有N种,但是游戏里面的对象则可能远远超过这个N。比如说星际,我想每个种族分别有100种不同的东西该差不多了吧?但是如果8个玩家每个人都几乎达到上限,那么就可能有几百个对象存在。怎么做我目前还没有想清楚,等我想清楚了再发一个Post。如果大家有什么别的想法,也可以来这里讨论一下,包括上面那几点。

ps: 代码再次更新了,更新时间:5月31日
posted on 2004-05-31 09:51  我们的游戏世界  阅读(1575)  评论(5编辑  收藏  举报