查看完整版本: [-- [改进向]天咒「阿波罗13」 --]

-> 同人游戏创作/Doujin Games Workshop -> [改进向]天咒「阿波罗13」 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

天使的糖豆 2010-05-07 15:08

[改进向]天咒「阿波罗13」

看了f大的天咒「阿波罗13」(永夜抄)说明以后,改了改原来的

感觉比较有成果了,目前就是内外两圈子弹的发射半径,发射速度,阻力和转向角度数值需要再参照原作继续磨合一下。
除了弹幕以外全搬的f大的源码,感谢franniss
于是放一个半成品出来:点我下载
说下自己感觉到的区别吧:

发射点:
确实按f大说的那样,从两个环里发出两片子弹,看上去似乎不是均匀分布,而是一组一组的。原作里LUN难度是32组子弹,每组15发,于是发射点是圆环上均匀分布的32个点,每个点发射15发子弹,15发子弹的角度是180还是180*15/16还在进一步观察……

减速:
偷懒改用了固定值,不过貌似按f大的公式出来的也是固定值,差距不大(吧)

变色:
按照在f的帖子里说的那样,改成红蓝互相变了。另外一个大概只有看源码才能看到的区别是,我把子弹分组了,所以变色是整组变而不是按颗变了。

转向:
刚开始尝试了所有子弹转固定角度,貌似不对。内外两圈角度反转也不对。
但是,原作中确实子弹反转以后有一瞬间是排列成圆弧状,符合固定角度会出现的形状。但原作的子弹排列左半弧和右半弧一起出现了,推测子弹左后转和右后转都存在。
目前的解决方法是每组子弹和下一组子弹的转向相反,150和210交替出现。

反正大体思路就是把f大的192发顺序排列的子弹变成了32组X15发/组的子弹。
嘛,其他3个难度的子弹数量还没数……

另外就是f大放在外边的源码不知道有什么用,貌似缺了还不行,子弹转向的控制部分也没找到,现在只改的子弹生成的那部分,所以子弹在回转以前就已经消失的问题还没解决(虽然想到了一个解决途径 吧)。

turtle 2010-05-07 18:10
GM党握手~很详细呢,学习学习。。。

zxxxxxx 2010-05-07 19:40
同学习~最近也想自己尝试写弹幕呢
不过这个好难@_@

h5nc 2010-05-08 06:08
阿波罗13成了标准观察物了
boss身上的纹理似乎没有,我这里是两个旋转的绿色半透明正方形

天使的糖豆 2010-05-08 10:29
楼上是f大的马甲嘛……话说我也看俩正方形也看了半天。
嗯,继续发布改进成果:
主程序
子弹

终于找到子弹折回的控制部分了,是在\danmaku\apollo13\int.obj那个文件里,于是改了一下,子弹想被消除要达到整个画面上方再超出150才能消,这样弹幕会比较完整的显示出来。
修改了折回子弹的速度,从2改到1.5,貌似和原作又接近了一些。
扩大了两圈子弹的发射半径,嘛,其实只是看上去会大一些,没什么实际意义(吧)
修改了两圈子弹的折回角度,不过还是没有计算过原作的角度,只是看上去接近了一些。现在不是180±30了,内圈是180±45,外圈是180±25。角度一样的话,内外圈子弹折回的时候会同一时间达到圆弧形状,和原作不一样。

littlewater 2010-05-08 17:55
经过观察(其实不是的……)H5NC大和管家应该不会是同一个人^-^|||

天使的糖豆 2010-05-08 22:47
才发现自己一直不厚道的没有拿出代码……
嗯,这是目前SC4这版里边boss0sc在Alarm 0那里的代码,生成子弹的代码就是在这里:

soundplay.tanplay=1
bian=45
huan=32
jiao=15

a=0
b=0
z=-1
repeat( huan )
{
repeat(jiao)
{var i;
i = instance_create( x + lengthdir_x( 65,-a-90 ) , y + lengthdir_y( 65,-a-90 ) , bul )
i.sprite_index = spr_tama_192 ;
i.image_index = 149 ;
i.direction =  -a-b; i.speed = 4
i.image_angle = i.direction
i.friction = 0.08;
i.alarm[1] = 240
i.alarm[0] = 60 + a/4
i.agl = 180 + bian * z
b+=180/(jiao)
}
a+=360/huan
b=0
z=-z
}

a=0
b=0
bian=25
repeat( huan )
{
repeat(jiao)
{
var i;
i = instance_create( x + lengthdir_x( 105,a -90) , y + lengthdir_y( 105,a -90) , bul )
i.sprite_index = spr_tama_192 ;
i.image_index = 145 ;
i.direction = a + b +180; i.speed = 4
i.image_angle = i.direction
i.friction = 0.08;
i.alarm[1] = 240
i.alarm[0] = 60 + a / 4
i.col = 70;
i.agl = 180-bian*z
b+=180/(jiao)
}
b=0
a+=360/huan
z=-z
}

alarm[1] = 180

深蓝色那两行是主要参数,huan是每个圆环上发射点的数量,jiao是每个发射点发射的子弹数量,bian是改变的角度,180±bian。
试了试huan=4或者6,jiao=90和huan=90,jiao=3两种情况,完全看不出是阿波罗13了= =

h5nc 2010-05-09 06:07
相对于mj的吐槽偶更想吐槽那变量名…………………………………………………………
另外想说滴索……偶记得提出这东西时并不是想要研究这么细的……思想到位了就可以了……


by any chance……谁拿GM做过网页游戏or做过祖玛游戏……

同意注册 2010-05-09 09:16
手上有个Flash版祖玛源码不知道有没有用。
工程似乎是CS4的,我没装Flash不知道打不打得开。类文件在里面,有算法,似乎未优化。

h5nc 2010-05-10 00:55
感谢~正好可以开始看看……
准备去转转那indie

天使的糖豆 2010-05-10 10:29
原来观察这个是h5nc前辈先提出的啊
变量名……啊,顺手就那么写上了啊。圆环,环就是huan;角度,角就是jiao;改变,变就是bian。再需要的时候就a啊b啊z啊的用了。不知道用什么英文还不用汉语拼音嘛

黑炎龙LV8 2010-05-11 09:51
汉语拼音GJ    话说我这里下载无能啊

franniss 2010-05-11 12:04
我问h5,菠萝13是怎米回事,她就做了个

然后过了10年,我又想起来了,自己做了个

又过了10年,糖豆进行改进~

同意注册 2010-05-11 12:25
有伏笔,下一个10年的有缘人是谁?

joelll 2012-09-22 18:32
自己做游戏,看上去很强大啊
下来试试

asqw335599 2012-10-06 14:54
自己做游戏,下来试试


查看完整版本: [-- [改进向]天咒「阿波罗13」 --] [-- top --]


Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.033586 second(s),query:2 Gzip enabled