炸弹人1.1开发日志
Meuck
这个作者很懒,什么都没留下…
展开
-
炸弹人日志更新
20:13 2008-3-231.在尽量不改变原有的结构下,完成在单机版的人物选单更新 已解决2.在尽量不改变原有的结构下,完成在网络版中人物选单的更新3.解决在新的人物选单下MessageBox显视异常的问题. 已解决 1>会不会是默认按钮的原因呢?--是的原创 2008-03-23 20:58:00 · 1314 阅读 · 2 评论 -
2007_07_21炸弹人开发日志
1.完成由于网络模式的添加,相应的单人模式 的修改。2.解决了一个在内存越介的BUG,表现形式为使用DEBUG模式就会在系统内部断言。3.已经把工程完全转向SVN了,CVS的软件也删除掉了。明日计划:实现网络模式的人物选单等预备功能。原创 2007-07-21 22:26:00 · 1050 阅读 · 0 评论 -
在VC6。0中可能会碰到ClanLib的编译错误及解决办法
1:在richedit_paragragh.h中的 error C2258: illegal pure syntax, must be = 0 把相应的代码改为: //richedit_paragragh.h class CL_API_GUI CL_RichEdit_Paragraph{public: const static int SPACE_BETWEEN_ITEMS;//原创 2007-07-11 13:32:00 · 1146 阅读 · 0 评论 -
2007_07_17炸弹人开发日志
*完成+正在处理-不处理炸弹人游戏开发目前修改计划重新分为5个里程碑:1>游戏中能使用网络对战以及录象功能2>重构游戏代码 1)改进ID管理器 2)加入内存管理器 3)统一游戏对象管理器 4)统一资源管理器的使用方法 5)加入日志 6)调整游戏对象中的代码3>包装游戏 1)游戏GUI的调整 2)游戏声音的调整 3)游戏画面的调整 4)游戏资源使用压缩包4>游戏周边功能 1)控原创 2007-07-17 14:40:00 · 883 阅读 · 1 评论 -
FPS概念的理解
最近才明白FPS的作用,以及为什么需要FPS的概念,真是笨得可以了!之前虽然知道FPS就是每秒游戏刷新的次数,可能由于早期游戏的设计思想,一直想不明白为什么同一个游戏FPS不一样,但是出来的效果却一样!因为如果FPS不一样的话,那么调用游戏主循环的次数不就不一样了吗.既然运算的次数不一样,那么运算的结果为什么会一样呢?大多数的游戏通常有个叫游戏循环的东东.而在这里面:float pass_time原创 2007-07-14 21:04:00 · 1586 阅读 · 0 评论 -
向左向右?
炸弹人游戏的网络功能,有两套方案,但都是用的TCP:1>类似于棋牌游戏中的网络,简单,正确,但对网络要求较高。 不考虑延时问题, 服务器直接转换所有的客户数据就行了,没有数据就发送心跳。 游戏中的最小时间单位是帧,而每帧的驱动都是倚赖于服务器发送的数据. 因此回放其它玩家的数据的时候不会有任何问题. 2>类似于一般网游方式,复杂,有误差,但对网络要求较底。 游戏中的时间是人类时原创 2007-07-14 16:24:00 · 864 阅读 · 0 评论 -
2007_02_04炸弹人开发日志
17:23 2007-2-4今天终于把宠物奖品写好了,宠物有4种(慢龟、快龟、UFO、猫头鹰)就只有个UFO有穿墙的特殊能力。感觉现在写代码有点靠蛮力,嗯 嗯 嗯。接下来的任务有:BUG显视层次问题阴影,因为之前阴影做得不好,在加入宠物功能代码结构问题功能1.把所有与时间有关的地方全部统一用游戏时间。2.提供新有随机数函数(可重复的)3.加入中毒奖品4.改进输入控制,并加入手柄,使用配原创 2007-02-04 17:37:00 · 940 阅读 · 1 评论 -
2007_01_24炸弹人开发日志
解决了两个关于移动与碰撞的BUG:1>BUG描述:当炸弹在接近墙的时候,人就不能从接近墙的那一边把炸弹踢走 原因 :人物在产生碰撞的时候,没有移动到整数格子内 在炸弹碰撞检测的时候加了边介审查,导致直接在边介附近停止,因为移动的碰撞检测 是一但发现则立即停止的严格检查。2>BUG描述:人物在产生平移效果时,可能会产生连续的平移 原因 :人物在原创 2007-01-24 17:44:00 · 1122 阅读 · 0 评论 -
2007_01_13炸弹人开发日志
游戏特性增加:加入踢弹功能,功能描述:当人物"碰到"炸弹时,炸弹能被"踢开",被踢开的炸弹向人物移动的方向"移动", 移动中的炸弹碰到碰撞物或人物时会"停下来"。功能分析/详细功能描述: 1.当人物碰到移动中的炸弹立即停止移动。 2.炸弹停止的位置必须是在整数的坐标内。 3.炸弹在移动的时候,属于"移动中的碰撞物","移动中的碰撞物"需要精确的碰撞检测 4.人物必须在正对着炸原创 2007-01-14 00:12:00 · 1060 阅读 · 0 评论 -
2007_01_11炸弹人开发日志
最后用的还是最直接的方法,直接用PHOTOSHOP再生成一个MASK图片。原创 2007-01-11 23:17:00 · 1049 阅读 · 0 评论 -
2007_02_13炸弹人开发日志
before*XML文件读写*手柄*声音管理* 1.可以不要声音* 2.声音读取错误不影响游戏运行。 the next1.第一个炸弹人图片有些问题2.游戏的玩法 人物选单 结束画面 计分牌3.更多音效4.制做人信息5.日志6.游戏状态这种用法的封装原创 2007-02-13 16:54:00 · 945 阅读 · 0 评论 -
2007_07_29炸弹人开发日志
最终,我还是认为不要用ClanLib中的socket包装类CL_Socket为好.本来以为它还可以撑多一下,在游戏的网络功能实现才差不多再来改.主要由3个方面考虑.1>为每个socket加入缓冲以降底对recv函数的调用次数,另外如果使用CL_Socket中的信号通知.则有可能会漏掉一些数据包.我昨天就碰到这个情况.当发送两次的数据包,而这边可能只会有一次信号通知,假如没有在这一次内接收完.将不会原创 2007-07-29 07:18:00 · 997 阅读 · 0 评论 -
2007_07_31炸弹人开发日志
真是苦死了,昨天突然死机. 最近写的.cpp文件变成了 00 00 00 00 ...由于是新加的代码,又来不及写入SVN。 T ^ T.不过之前写的代码总算基本完成,与之前相比要少了不少注释.其实就是为socket加上个缓冲然后再简单封装一下常用操作而已。接下来,今天要把游戏中与该网络模块相关旧的代码替换成新代码.下面是新模式的BUG统计信息:模块 : SLK_原创 2007-07-31 16:43:00 · 899 阅读 · 0 评论 -
在ClanLib中自定义按钮的几种方法
在最近的介面修改中,总结一下在ClanLib中如何去修改介面的一些方法:1>新建一个控件类型. 有时现有的控件类型并不能满足我的需要,比如要做一组控件.它们之间需要互传一些自定义的数据类型. 下面主要记下几个需要修改的地方: 1>添加控件,继承自CL_Component. 2>由于我的控件不需要别人使用,因此控件的显视方法等操作也可以写在控件本身的代码中.因此不需要在 CL原创 2007-12-13 23:04:00 · 1231 阅读 · 0 评论 -
2007-12-04炸弹人开发日志
1>防泡泡堂人物选择控件 ok2>防泡泡堂按钮 write3>防泡泡堂的地图选单窗口 wait4>地图中加入背景音乐信息 wait5>把地图选单窗口设定在人物选单中 wait 6>加入圣诞主题元素 wait原创 2007-12-04 22:20:00 · 995 阅读 · 0 评论 -
2007_09_03游戏开发日志
我不是太会写文档,具体文档稍后与整理后的游戏源代码一起发放:游戏的组成部分:1> 游戏核心部分游戏对象游戏对象Hander游戏世界游戏对象管理器游戏地图移动控制器 2> 通用支持部分RTTI动态识别动态创建对象的序例化Switch封装随机函数读写缓冲IO流 3> 网络部分服务器客户机通用SOCKET 包装专原创 2007-09-03 20:55:00 · 1369 阅读 · 0 评论 -
2007_09_02炸弹人开发日志
修改BUG用了太多时间了,连练琴的时间都没了!唉!BUG现象:主机断开的时候,客户机在显视主机断开后必定产生socket无创建的断言。报告人 :Hunter_xiao原因 : 因为网络断开的时候,流程写错了.本来应该写switch_to("menu_main")却写成 switch_to("menu_game")。原本因该回选单状态的流程错误的没有该变. 由于所原创 2007-09-02 17:07:00 · 1350 阅读 · 0 评论 -
2007_09_01炸弹人开发日志
目前以知的重要BUG:1>断言GameMove : 109行左右. 这是人物在移动调整时出现了预料以外的情况。 (由于该错误出现的次数较少,因此只能等到录象功能出来的时候再解决)2>网络错误,还没有根本解决,但并不会频繁出错.大多是出在网络不稳定的环境中。 (该问题在代码结构调整之后解决)3>单机退出时有可能出现,CL_Error 地图创建错误。该错误有望近期解决。 (由于该错误出现的次数较原创 2007-09-01 10:43:00 · 1505 阅读 · 3 评论 -
如何在ExampleGUIStyle中使用CL_InputDialog?
如何在ExampleGUIStyle中使用CL_InputDialog?在这里首先要说说CL_InputDialog用的是Window的style,而Window主要有两部分组成:1>title bar :是存在于window pos中的子控件,位置可以设置,一般放在与Window控件(0,0)的位置2>client window :是用于放置其它控件的子控件,一般不显视.假如你的介面原创 2007-08-22 10:15:00 · 1030 阅读 · 0 评论 -
2007_08_17(2)炸弹人开发日志
经测试,目前游戏在高速的网络中运行速度还算可以。在低速网游戏中可能会出错.网络部分算是可以运行了,但是因为游戏流程不清晰的关系,因此最近目标,实现朋友之间可以简单的玩的游戏。网络速度主要以局域网为主,Internet相对要卡很多.下面是具体步骤:1.先有人物选单再有地图的游戏流程,就好象泡泡堂那样选地图的流程2.一盘结束后不必重新连接,在新的连接状态可以让新的玩家加入3.游戏开始有信息提示4.原创 2007-08-17 16:48:00 · 1050 阅读 · 0 评论 -
2007_08_17炸弹人开发日志
服务器使用虚拟机,客户机使用宿主机.虽然在本地机器勉强可以流畅运行.但是一但真正的IP建立起来.还是会很卡,下面有必要对服务器进行调整.客户端的代码应该就不用改了,因为使用一个线程拼命往缓冲里写数据.而服务端可能要改成非阻塞模式,不然在内部网都这么卡.到了外面就没法玩了.原创 2007-08-17 09:44:00 · 1021 阅读 · 0 评论 -
2007_08_13炸弹人开发日志
先说说这个游戏网络模块的实现原理:简单的说就是把玩家的输入信号发送到服务器,再由服务器来统一更改所有玩家的虚拟输入设备。为了保证游戏运行不受输入的具体数据的影响,因此服务器在每间隔一段时间就会发送时间驱动包.而输入数据就在这驱动包中.客户端的游戏时间也是由服务器来驱动的。Q1:服务端更新时间应该设多大?A1:我在本机分别设置了200ms,100ms,60ms,50ms,40ms,30ms,20ms原创 2007-08-13 10:14:00 · 947 阅读 · 0 评论 -
炸弹人开发日志2007_04_29
今天测试结果:已认可可以使用CL_Socket来完成网络收发数据的功能。(基本上我还是倾向于能用ClanLib本身的功能来完成,因为这样就可以在linux下玩)CL_Socket中的get_read_trigger之类,应该用的是socket的select方法吧.因为在CL_EventTrigger_Socket中能够找到select的函数.另外:get_exception_trigg原创 2007-04-29 22:13:00 · 936 阅读 · 0 评论 -
在ClanLib中使用blend func
本文是对Blend Func完全没有认识的人写的,就好象一天前的我一样。 废话我就留到后面才说吧。在ClanLib库中的CL_Surface与CL_Sprite中都会有这个函数:void set_blend_func(CL_BlendFunc src, CL_BlendFunc dest);其CL_BlendFun可以在源代码是看到定义,如下:enum CL_Blen原创 2007-01-04 15:56:00 · 1302 阅读 · 0 评论 -
2006_08_25炸弹人开发日志
修正动态生成,以及对象创建方式,基中涉及所有RTTI相关的类。1.对象创建使用基本的构造函数,即new方式2.对 对象序列化 的方式定下来了。3.原来的空构造函数外加初始化的方式被删除。4.不需要的类删除其 动态 创建函数,这样的话,不会直接生成对象的类则又可以使用纯虚函数了。 明日目标:修正炸弹爆炸时产生异常的问题。原创 2006-08-26 23:58:00 · 1162 阅读 · 1 评论 -
2006-04-01(RTTI)
我又回来啦!虽然这几天任务没有什么进展,过不那已成为过去了。 RTTI :运行时期类型识别Dynamic Creation:动态创建对象经过几天,我发现我需要一个简单的RTTI以及一个Dynamic Creation。假如后面要做保存的话可能需要一个 永久保存机制,也许就好象MFC做的那种方法吧。 首先说说为什么要RTTI 与Dynamic Creatio原创 2006-04-02 13:32:00 · 1022 阅读 · 0 评论 -
2006-03-26(炸弹人开发日志)
地图编辑器的基本功能已经完成:今天完的的任务有:1>追加了一些图片资源2>完成编辑功能地图编辑器剩余功能:1>读取地图数据2>写入地图数据这两个功能,如果没有其它事件的话,明天早上应该就能完成地图编辑器。任务就可以转到游戏主流程方面的代码上了。原创 2006-03-27 01:28:00 · 1134 阅读 · 0 评论 -
2006-03-26
由于今天一天都在面试,游戏也就没有什么进展,只是晚上回家把代码给整理了一下而已。原创 2006-03-26 00:33:00 · 873 阅读 · 0 评论 -
2006-3-24 (炸弹人游戏开发日志)
今天任务 进度1决定游戏中地图的属性细节,比如地图有多大,最小格子有多大。 100%2对地图编辑的代码进行整理。 0%3完成资源文件xml的数据。原创 2006-03-24 23:32:00 · 1119 阅读 · 0 评论 -
2006-3-27
今天完成的任务:1> 在地图编辑器中对地图数据的写入2> 对地图编辑器中对地图数据的读出 今天的的问题:1> 如何创建游戏对象?首先,游戏对象不能自已创建,必须有个工厂专门去创建这些游戏对象。而创建方法最直接的无外乎类似于这样:CGameObject *CreateObject(int id) 可是游戏中的ID太多,比如游戏中背原创 2006-03-28 02:21:00 · 1167 阅读 · 0 评论 -
2006-03-23炸弹人开发日志
事情终于变得比较顺利了,并且解决了昨天一个BUG。果然有时出去走走对心情有正面的作用。特别是今天下了些雨,空气这么好不出去走走真是浪费啊。今天完成的事:1. 解决了昨天引用User_Data地址无效的BUG2. 地图中对象的选择与拖动。3. 对游戏中的对象产生有了初步的想法。 明天任务:1. 决定游戏中地图的属性细节,比如原创 2006-03-24 02:45:00 · 1287 阅读 · 0 评论 -
2006-03-20炸弹人开发日志
经过昨晚的反复思考,觉得不用stlport对不起自已,毕竟花了时间。而且以后也可能碰到同样的问题。于是早起就把clanLib用新的stl重新编绎了一次,出现了昨天的错误:E:/Program Files/STLport/stlport/stl/_num_put.c(168) : error C2059: syntax error : ) E:/Program Files/原创 2006-03-20 09:47:00 · 1486 阅读 · 0 评论 -
2006-03-19
今日目标是:1 .熟练使用clanLib的介面GUI2. 完成地图编辑器的介面开发工作 目前虽然大概知道,clanLib中对于GUI是如何处理的。可是对定制的介面还不能达到clanLib中的用例水平,照这样下去,BOMMAN的介面肯定达不到neogeo中的要求。目前主要是在对内置的各个组件如何无缝的组合在一起。可能还要看一看clanLib中例子的源程序找找问题出在哪。加油吧!只要这原创 2006-03-19 13:55:00 · 1069 阅读 · 0 评论 -
2006-03-22炸弹人日志
昨天太晚睡了,白天应该再做多点才行。已经证实,CL_TreeNode::get_component()返回的就是相应的CL_TreeItem呵。CL_TreeView::sig_item_clicked()好象没有什么效果? 今天真不是好日子,脑袋经常恍惚。本来很简单的代码,却总是出错。但是修修改改又不知为什么它又可以运作了? 并且今天发现地图编辑器,是需要部分的GameO原创 2006-03-22 11:05:00 · 1163 阅读 · 0 评论 -
早期开发日志
之前在学校做的那个,当时还是比较满意的。现在越看越别扭。 说的是1.1版本,其实是重新开发的。不过也没有什么新意,主要想把NEOGEO上面的炸弹人游戏完整的模拟出来。计划今后可能还会把魂斗罗之类的旧游戏都做一做,当技术达到一定层次的时候。再实现自已的游戏,不过那都是以后的事了,扯得远了。 游戏用的是clanLib开发库,说来惭愧,游戏制做从开始到现在已经过个三个月了。实质上还没有什原创 2006-03-19 13:41:00 · 1457 阅读 · 0 评论 -
2006-04-04 炸弹人游戏开发日志
想了一下,出于相关代码都应该尽量放在一起的原则。还是决定把代码中的类型在RTTI用字符串来表示。我只有在初始化游戏的时候才会用到一下,所以使用字符串并不会影响运行时的效率。在使用XML创建CL_Sprite的时候,如果没有主窗口,那么程序就会出错。因为在CL_Sprite创建过程中的源代码里,有个地方需要主窗口的大小。因为我想在参数对象里存有类,而删除类的话必定要用到虚拟析构函数。所以就把原创 2006-04-05 01:33:00 · 1104 阅读 · 0 评论 -
2006-05-07(炸弹人开发进度)
先前一段时间在帮同学写个小游戏,耽误了一点时间。现我只能对自已说,要加紧时间啊。离定的阶段性任务就近了。 不知大家写程序有没有感觉,如果一个程序中间停的时间久一点,再回头看会觉得有点生梳。尽管我的程序写得还不错,找回原来的感觉没有花多少时间。不过看着看着,心里痒痒,的就为游戏中人物的移动是不是太复杂了一点。一边想着改这个好还是改那个好,虽然我知道,这都能做到。但是不能在一个问题上想得太原创 2006-05-07 23:34:00 · 1238 阅读 · 1 评论 -
2006_12_18开发日志(任务列表更新)
*1.支持物品组,以实现一个物品能够占用多个方格 *2.读写地图 *3.设置玩家起始位置 *4.放置奖品*5.地图编辑器*6.资源定义文件中加入物品信息的资源定义*7.次源定义文件中加入奖品信息的资源定义*8.物品资源,奖品资源,精灵资源都存放在一个XML数据文件中。下面回到C++(游戏主程序的任务中来)9. 物品资源的加载与该类型对象的生成10. 奖品资源的加载与该类型对象原创 2006-12-18 11:57:00 · 1346 阅读 · 0 评论 -
2006_08_26炸弹人开发日志
1.解决了炸弹爆炸时产生的异常错误2.解决了炸弹爆炸后阻碍信息没有清楚的BUG 明天计划:由于程序代码开始多了起来,加入错误日志原创 2006-08-27 22:47:00 · 1107 阅读 · 0 评论 -
2006_12_01炸弹人开发日志
决定了,不使用色块来做为判断是否为一整体对象。而使用空白的阻碍物来代替。空白的阻碍物没有任何图形,仅仅是在地图上有阻碍而已,而在游戏数据中这种物体则与真正的阻碍物生死相关,以此来实现它们看起来是一整体。因为:1.虽在物体着色我地确是找到方法,也经由我亲自试验是可行的, 但问题是该算法本身与我实际要求有差距,需要对其算法进行更改,可我对这方面的知识非常匮乏,并不能保证我修正后的算法的原创 2006-12-02 10:21:00 · 1135 阅读 · 0 评论