現在、龍神録のprojectを使わせて頂きつつ弾幕STGを制作中です。
龍神録仕様で弾幕のコードを書きますので感想、指摘、意見などをお願いします。
void boss_shot_bulletH013(){
#define TM013 230
int r,i,s,k,t=boss_shot.cnt%TM013;
static int cnum=0;
if(t==0){//1周期の最初なら
if(cnum%3==0){//3回に1回
//50<x<FMX-50、40<y<110の範囲を30の距離、60カウントで移動
move_boss_pos(50,40,FMX-50,110,30,60);
}
}
if(t==40){
r=GetRand(60);
for(i=0;i<8;i++){
for(s=0;s<8;s++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =3;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI/180*r+PI2/8*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.5;
boss_shot.bullet[k].state =s;
se_flag[0]=1;
}
}
}
}
if(t==100){
r=GetRand(50);
for(i=0;i<8;i++){
for(s=1;s<9;s++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =4;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI/180*r+PI2/8*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.5;
boss_shot.bullet[k].state =s*10;
se_flag[0]=1;
}
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet.flag>0){
if(t==150){
if(boss_shot.bullet.state<10){
boss_shot.bullet.spd=1.0;
boss_shot.bullet.angle=PI2/8*boss_shot.bullet.state;
}
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet.flag>0){
if(t==210){
if(boss_shot.bullet.state>=10){
boss_shot.bullet.spd=1.0;
boss_shot.bullet.angle=PI2/8*boss_shot.bullet.state/10;
}
}
}
}
if(t==240) cnum++;
}
この弾幕はステージ1のボスのラストで使う予定です。
この事もふまえて感想などよろしくお願いします。
弾幕のプチテストプレイ
Re:弾幕のプチテストプレイ
試してみましたがけっこういい弾幕ですね。見た目が軽そうで、増えてくるってのがいいですね。
もうちょっと、何かが欲しいです。自分はとんがったレーザがほしいです。
弾の数が調整しやすいので、難易度も変えやすいということです。
これって改造いいですか?、使ってみたいのですが。
もうちょっと、何かが欲しいです。自分はとんがったレーザがほしいです。
弾の数が調整しやすいので、難易度も変えやすいということです。
これって改造いいですか?、使ってみたいのですが。
Re:弾幕のプチテストプレイ
3WAY位でレーザー入れてもいいですが
1面にしては難しくないですかね?
アレンジはプログラムコードを記載して
どのように手を加えたのか簡単に解説して下さるならOKです。
1面にしては難しくないですかね?
アレンジはプログラムコードを記載して
どのように手を加えたのか簡単に解説して下さるならOKです。
Re:弾幕のプチテストプレイ
私が気になった所としては
・ボスの移動距離が短い
何かつっかえたような印象を受けました
もう少し短時間で遠くに行ってほしいです
・黄色と緑色の速度が同じ
何か2色出している意味が無いような気がします
・攻撃が単調
見ていても変化が無いので飽きてきます
変化を付けるか要素を増やしたら良いかもしれません
・分裂する前に画面外に出ると消えてしまう
画面外に出た弾も戻って来てほしいです
・地味に見える
ステージのラストの割には地味な気がします
あと参考までに私も軽くアレンジしてみました
・ボスの移動距離が短い
何かつっかえたような印象を受けました
もう少し短時間で遠くに行ってほしいです
・黄色と緑色の速度が同じ
何か2色出している意味が無いような気がします
・攻撃が単調
見ていても変化が無いので飽きてきます
変化を付けるか要素を増やしたら良いかもしれません
・分裂する前に画面外に出ると消えてしまう
画面外に出た弾も戻って来てほしいです
・地味に見える
ステージのラストの割には地味な気がします
あと参考までに私も軽くアレンジしてみました
void boss_shot_bulletH013(){ int t=boss_shot.cnt%240; if( t%20==0 && t<60 ){ move_boss_pos(50,40,FMX-50,110,80+GetRand(40),30); int r=GetRand(4); for( int i=0;i<8;i++ ){ int k=search_boss_shot(); if( k!=-1 ){ boss_shot.bullet[k].knd =1; boss_shot.bullet[k].col =t/20; boss_shot.bullet[k].x =boss.x; boss_shot.bullet[k].y =boss.y; boss_shot.bullet[k].flag =1; boss_shot.bullet[k].angle =PI/32*r+PI2/8*i; boss_shot.bullet[k].cnt =0; boss_shot.bullet[k].spd =5; boss_shot.bullet[k].state =t/20; boss_shot.bullet[k].till =240; } } se_flag[0]=1; } else if( t==120 )move_boss_pos(50,40,FMX-50,110,150,60); else if( t%5==0 && t>120 && t<180 ){ for( int i=0;i<3;i++ ){ int k=search_boss_shot(); if( k!=-1 ){ boss_shot.bullet[k].knd =11; boss_shot.bullet[k].col =i; boss_shot.bullet[k].x =boss.x; boss_shot.bullet[k].y =boss.y; boss_shot.bullet[k].flag =1; boss_shot.bullet[k].angle =bossatan2(); boss_shot.bullet[k].cnt =0; boss_shot.bullet[k].spd =2.5+0.5*i; boss_shot.bullet[k].state =-1; } } se_flag[0]=1; } for( int i=0;i<BOSS_BULLET_MAX;i++ ){ if( boss_shot.bullet.flag>0 ){ if( boss_shot.bullet.state>=0 ){ if( boss_shot.bullet.cnt<50 )boss_shot.bullet.spd-=0.1; else{ for( int j=0;j<8;j++ ){ int k=search_boss_shot(); if( k!=-1 ){ boss_shot.bullet[k].knd =1; boss_shot.bullet[k].col =boss_shot.bullet.col; boss_shot.bullet[k].x =boss_shot.bullet.x; boss_shot.bullet[k].y =boss_shot.bullet.y; boss_shot.bullet[k].flag =1; boss_shot.bullet[k].angle =boss_shot.bullet.angle+PI2/8*j+0.2; boss_shot.bullet[k].cnt =0; boss_shot.bullet[k].spd =1.5+0.5*boss_shot.bullet.state; boss_shot.bullet[k].state =-1; boss_shot.bullet[k].till =240; } } boss_shot.bullet.flag =0; } } } } }
Re:弾幕のプチテストプレイ
チルチルさん、ご指摘ありがとうございます。
ゆっくり移動はボスが余裕を持っている感じを出そうとしたのですが失敗でしたね
ゆっくり長く移動させてみます
あと確かに地味なのでもう少し動きか変化をつけてみます
改良したものは明日にでもコードを書いてみます。
チルチルさんの弾幕はアレンジというよりある種の発展形という感じがしました。
以前誰かが言っていましたが人のコードを見るのは参考になりますね。
ありがとうございます。
ゆっくり移動はボスが余裕を持っている感じを出そうとしたのですが失敗でしたね
ゆっくり長く移動させてみます
あと確かに地味なのでもう少し動きか変化をつけてみます
改良したものは明日にでもコードを書いてみます。
チルチルさんの弾幕はアレンジというよりある種の発展形という感じがしました。
以前誰かが言っていましたが人のコードを見るのは参考になりますね。
ありがとうございます。
Re:弾幕のプチテストプレイ
私は、2つのレーザが左右から飛んでくるみたいなことを考えました。
自分のソースじゃ再現できませんが、
自分の怪しいアレンジ?を置いておきます。
これを改造したのを使わせていただきます。
jayさん感想など、お願いします。
円形弾+螺旋です。
自分のソースじゃ再現できませんが、
自分の怪しいアレンジ?を置いておきます。
これを改造したのを使わせていただきます。
jayさん感想など、お願いします。
円形弾+螺旋です。
void boss_shot_bulletH014(){ #define TM014 230 int i,s,k,t=boss_shot.cnt%TM013; double r; static int cnum=0; if(t==0){//1周期の最初なら if(cnum%2==0){//3回に1回 //50<x<FMX-50、40<y<110の範囲を30の距離、60カウントで移動 move_boss_pos(50,40,FMX-50,(FY+FMY)/2,90,60); } } if(t>100 && t%3==0){ for(i=0;i<8;i++){ if((k=search_boss_shot())!=-1){ boss_shot.bullet[k].knd =8; boss_shot.bullet[k].col =0; boss_shot.bullet[k].x =boss.x; boss_shot.bullet[k].y =boss.y; boss_shot.bullet[k].flag =1; boss_shot.bullet[k].angle =bossatan2()+PI2/8*i+t*0.2; boss_shot.bullet[k].cnt =0; boss_shot.bullet[k].spd =4.0; boss_shot.bullet[k].state =0; se_flag[0]=1; } } } if(t%50==0){ r=PI2/(GetRand(3)+1); for(i=0;i<16;i++){ for(s=1;s<5;s++){ if((k=search_boss_shot())!=-1){ boss_shot.bullet[k].knd =1; boss_shot.bullet[k].col =0; boss_shot.bullet[k].x =boss.x; boss_shot.bullet[k].y =boss.y; boss_shot.bullet[k].flag =1; boss_shot.bullet[k].angle =t/50*0.2+r+PI2/8*i; boss_shot.bullet[k].cnt =0; boss_shot.bullet[k].spd =1.5+s/5; boss_shot.bullet[k].state =s*10; se_flag[0]=1; } } } } for(i=0;i<BOSS_BULLET_MAX;i++){ if(boss_shot.bullet.flag>0){ if(boss_shot.bullet.cnt==20 && boss_shot.bullet.state!=0){ boss_shot.bullet.spd-=0.01; boss_shot.bullet.angle=PI2/5*boss_shot.bullet.state/10; } } } if(t==TM014) cnum++; }
Re:弾幕のプチテストプレイ
ひよこさん
>jayさん感想など、お願いします。
あれ? 僕が感想言うんですか? 最初は僕が言ってもらうはずだったのに・・・
ここまで行くとアレンジというか別の弾幕ですね。
あ! だからアレンジじゃなくて改造と・・・、成る程。
自分のアレンジが一応できたので載せます。
一つ目、ひよこさんの言葉を意識して作ってみた
レーザー”もどきですが”・・・
void boss_shot_bulletH013(){
#define TM013 290
int r,i,s,k,t=boss_shot.cnt%TM013;
double angle;
static int cnum=0;
if(t==0){//1周期の最初なら
if(cnum%3==0){//3回に1回
//40<x<FMX-40、30<y<120の範囲を70の距離、60カウントで移動
move_boss_pos(40,30,FMX-40,120,70,60);
}
}
if(t==40){
r=GetRand(60);
for(i=0;i<12;i++){
for(s=0;s<8;s++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =3;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI/180*r+PI2/12*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.3;
boss_shot.bullet[k].state =s;
se_flag[0]=1;
}
}
}
}
if(t==100){
r=GetRand(50);
for(i=0;i<12;i++){
for(s=1;s<9;s++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =4;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI/180*r+PI2/12*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.7;
boss_shot.bullet[k].state =s*10;
se_flag[0]=1;
}
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet.flag>0){
if(t==120){
if(boss_shot.bullet.state<10){
boss_shot.bullet.spd=1.4;
boss_shot.bullet.angle=PI2/8*boss_shot.bullet.state;
}
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet.flag>0){
if(t==180){
if(boss_shot.bullet.state>=10){
boss_shot.bullet.spd=0.6;
boss_shot.bullet.angle=PI2/8*boss_shot.bullet.state/10;
}
}
}
}
if(t>=200 && t<=280 && t%3==0){
for(s=-1;s<2;s+=2){
angle=bossatan2();//自機とボスとの成す角
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =2;
boss_shot.bullet[k].col =1;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =angle+PI2/2.7*s+PI/180*+(t-58)*s;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =5.5;
se_flag[0]=1;
}
}
}
if(t==280) cnum++;
}
これは以前作っていた弾幕と組み合わせた形になりました。
感想などよろしくお願いします。
>jayさん感想など、お願いします。
あれ? 僕が感想言うんですか? 最初は僕が言ってもらうはずだったのに・・・
ここまで行くとアレンジというか別の弾幕ですね。
あ! だからアレンジじゃなくて改造と・・・、成る程。
自分のアレンジが一応できたので載せます。
一つ目、ひよこさんの言葉を意識して作ってみた
レーザー”もどきですが”・・・
void boss_shot_bulletH013(){
#define TM013 290
int r,i,s,k,t=boss_shot.cnt%TM013;
double angle;
static int cnum=0;
if(t==0){//1周期の最初なら
if(cnum%3==0){//3回に1回
//40<x<FMX-40、30<y<120の範囲を70の距離、60カウントで移動
move_boss_pos(40,30,FMX-40,120,70,60);
}
}
if(t==40){
r=GetRand(60);
for(i=0;i<12;i++){
for(s=0;s<8;s++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =3;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI/180*r+PI2/12*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.3;
boss_shot.bullet[k].state =s;
se_flag[0]=1;
}
}
}
}
if(t==100){
r=GetRand(50);
for(i=0;i<12;i++){
for(s=1;s<9;s++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =4;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI/180*r+PI2/12*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.7;
boss_shot.bullet[k].state =s*10;
se_flag[0]=1;
}
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet.flag>0){
if(t==120){
if(boss_shot.bullet.state<10){
boss_shot.bullet.spd=1.4;
boss_shot.bullet.angle=PI2/8*boss_shot.bullet.state;
}
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet.flag>0){
if(t==180){
if(boss_shot.bullet.state>=10){
boss_shot.bullet.spd=0.6;
boss_shot.bullet.angle=PI2/8*boss_shot.bullet.state/10;
}
}
}
}
if(t>=200 && t<=280 && t%3==0){
for(s=-1;s<2;s+=2){
angle=bossatan2();//自機とボスとの成す角
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =2;
boss_shot.bullet[k].col =1;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =angle+PI2/2.7*s+PI/180*+(t-58)*s;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =5.5;
se_flag[0]=1;
}
}
}
if(t==280) cnum++;
}
これは以前作っていた弾幕と組み合わせた形になりました。
感想などよろしくお願いします。
Re:弾幕のプチテストプレイ
自分が改造すると、ほとんど違う弾幕に・・・手出しすぎですね。上の自分のアレンジ?を改造させたのと
->for(s=-1;s<2;s+=2){ を変更して<5;s++などにしてアレンジ?(改造?)をしています。
上のソース
結構良くなりました。ただ、レーザが絶対に当たらないのは、私にはなんかいやなので、
自機にねらったほうがいいです。
->for(s=-1;s<2;s+=2){ を変更して<5;s++などにしてアレンジ?(改造?)をしています。
上のソース
結構良くなりました。ただ、レーザが絶対に当たらないのは、私にはなんかいやなので、
自機にねらったほうがいいです。
Re:弾幕のプチテストプレイ
なかなか良くなったと思いますよ
まあレーザーが自機を避けるのは少し違和感がありますが
本家でも演出目的で弾を撃つ事は多いですし
体力減少 or 時間経過で真ん中の隙間が狭くなっていったらラスト弾幕っぽいですしね
ですが動きが無くて単調になりがちなので
レーザー撃つ時に自機狙いで遅めの大弾とかを出すとミスを誘えそうです
まあレーザーが自機を避けるのは少し違和感がありますが
本家でも演出目的で弾を撃つ事は多いですし
体力減少 or 時間経過で真ん中の隙間が狭くなっていったらラスト弾幕っぽいですしね
ですが動きが無くて単調になりがちなので
レーザー撃つ時に自機狙いで遅めの大弾とかを出すとミスを誘えそうです
Re:弾幕のプチテストプレイ
自機狙いですか、こんな感じですか?
でも、難易度的に大丈夫でしょうか?
ラストだから少し難易度高めにするとはいえ仮にも1面ですから、少し不安・・・
void boss_shot_bulletH013(){
#define TM013 290
int r,i,s,k,t=boss_shot.cnt%TM013;
double angle;
static int cnum=0;
if(t==0){//1周期の最初なら
if(cnum%3==0){//3回に1回
//40<x<FMX-40、30<y<120の範囲を70の距離、60カウントで移動
move_boss_pos(40,30,FMX-40,120,70,60);
}
}
if(t==40){
r=GetRand(60);
for(i=0;i<12;i++){
for(s=0;s<8;s++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =3;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI/180*r+PI2/12*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.3;
boss_shot.bullet[k].state =s;
se_flag[0]=1;
}
}
}
}
if(t==100){
r=GetRand(50);
for(i=0;i<12;i++){
for(s=1;s<9;s++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =4;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI/180*r+PI2/12*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.7;
boss_shot.bullet[k].state =s*10;
se_flag[0]=1;
}
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet.flag>0){
if(t==120){
if(boss_shot.bullet.state<10){
boss_shot.bullet.spd=1.4;
boss_shot.bullet.angle=PI2/8*boss_shot.bullet.state;
}
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet.flag>0){
if(t==180){
if(boss_shot.bullet.state>=10){
boss_shot.bullet.spd=0.6;
boss_shot.bullet.angle=PI2/8*boss_shot.bullet.state/10;
}
}
}
}
if(t==140){
for(i=0;i<2;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =0;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.6;
boss_shot.bullet[k].state =-1;
se_flag[0]=1;
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet[i].flag>0){
if(boss_shot.bullet[i].state==-1){
if(t==170){
boss_shot.bullet[i].state=0;
boss_shot.bullet[i].spd=2.2;
boss_shot.bullet[i].angle = angle
=bossatan4(boss_shot.bullet[i].x,boss_shot.bullet[i].y);
}
}
}
}
if(t>=200 && t<=280 && t%3==0){
angle=bossatan2();
for(s=-1;s<2;s+=2){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =2;
boss_shot.bullet[k].col =1;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =angle+PI2/2.7*s+PI/180*+(t-60)*s;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =5.5;
se_flag[0]=1;
}
}
}
if(t==280) cnum++;
}
では、三度。感想、指摘、意見等よろしくお願いします。
でも、難易度的に大丈夫でしょうか?
ラストだから少し難易度高めにするとはいえ仮にも1面ですから、少し不安・・・
void boss_shot_bulletH013(){
#define TM013 290
int r,i,s,k,t=boss_shot.cnt%TM013;
double angle;
static int cnum=0;
if(t==0){//1周期の最初なら
if(cnum%3==0){//3回に1回
//40<x<FMX-40、30<y<120の範囲を70の距離、60カウントで移動
move_boss_pos(40,30,FMX-40,120,70,60);
}
}
if(t==40){
r=GetRand(60);
for(i=0;i<12;i++){
for(s=0;s<8;s++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =3;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI/180*r+PI2/12*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.3;
boss_shot.bullet[k].state =s;
se_flag[0]=1;
}
}
}
}
if(t==100){
r=GetRand(50);
for(i=0;i<12;i++){
for(s=1;s<9;s++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =4;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI/180*r+PI2/12*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.7;
boss_shot.bullet[k].state =s*10;
se_flag[0]=1;
}
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet.flag>0){
if(t==120){
if(boss_shot.bullet.state<10){
boss_shot.bullet.spd=1.4;
boss_shot.bullet.angle=PI2/8*boss_shot.bullet.state;
}
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet.flag>0){
if(t==180){
if(boss_shot.bullet.state>=10){
boss_shot.bullet.spd=0.6;
boss_shot.bullet.angle=PI2/8*boss_shot.bullet.state/10;
}
}
}
}
if(t==140){
for(i=0;i<2;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =0;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.6;
boss_shot.bullet[k].state =-1;
se_flag[0]=1;
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet[i].flag>0){
if(boss_shot.bullet[i].state==-1){
if(t==170){
boss_shot.bullet[i].state=0;
boss_shot.bullet[i].spd=2.2;
boss_shot.bullet[i].angle = angle
=bossatan4(boss_shot.bullet[i].x,boss_shot.bullet[i].y);
}
}
}
}
if(t>=200 && t<=280 && t%3==0){
angle=bossatan2();
for(s=-1;s<2;s+=2){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =2;
boss_shot.bullet[k].col =1;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =angle+PI2/2.7*s+PI/180*+(t-60)*s;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =5.5;
se_flag[0]=1;
}
}
}
if(t==280) cnum++;
}
では、三度。感想、指摘、意見等よろしくお願いします。
Re:弾幕のプチテストプレイ
難易度的には問題無いですよ
むしろ自機狙いが加わると簡単になった気がします
ちなみに私のイメージとはちょっと違いますね
大弾は一番大きいb0でボスから1発自機に向かって一直線です
そうすると大弾は大きいのでその場から移動しなくてならないので単調にならなさそうです
とりあえず自機狙い弾が他の弾と同じなのはインパクトに欠けますね
むしろ自機狙いが加わると簡単になった気がします
ちなみに私のイメージとはちょっと違いますね
大弾は一番大きいb0でボスから1発自機に向かって一直線です
そうすると大弾は大きいのでその場から移動しなくてならないので単調にならなさそうです
とりあえず自機狙い弾が他の弾と同じなのはインパクトに欠けますね
Re:弾幕のプチテストプレイ
チルチルさん
>大弾は一番大きいb0でボスから1発自機に向かって一直線です
僕もはじめはそうしようとしたのですが、
そうすると動きが以前作った弾幕とかなり似てしまうのでこのような形にしました。
大弾はゲーム前半は一切出さずに
後半に突然出してプレーヤーにインパクトを与えようというたくらみがあるので・・・
>とりあえず自機狙い弾が他の弾と同じなのはインパクトに欠けますね
ナイフにします
void boss_shot_bulletH013(){
#define TM013 290
int r,i,s,k,t=boss_shot.cnt%TM013;
double angle;
static int cnum=0;
if(t==0){//1周期の最初なら
if(cnum%3==0){//3回に1回
//40<x<FMX-40、30<y<120の範囲を70の距離、60カウントで移動
move_boss_pos(40,30,FMX-40,120,70,60);
}
}
if(t==40){
r=GetRand(60);
for(i=0;i<12;i++){
for(s=0;s<8;s++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =3;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI/180*r+PI2/12*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.3;
boss_shot.bullet[k].state =s;
se_flag[0]=1;
}
}
}
}
if(t==100){
r=GetRand(50);
for(i=0;i<12;i++){
for(s=1;s<9;s++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =4;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI/180*r+PI2/12*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.7;
boss_shot.bullet[k].state =s*10;
se_flag[0]=1;
}
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet.flag>0){
if(t==120){
if(boss_shot.bullet.state<10){
boss_shot.bullet.spd=1.4;
boss_shot.bullet.angle=PI2/8*boss_shot.bullet.state;
}
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet.flag>0){
if(t==180){
if(boss_shot.bullet.state>=10){
boss_shot.bullet.spd=0.6;
boss_shot.bullet.angle=PI2/8*boss_shot.bullet.state/10;
}
}
}
}
if(t==130){
for(i=1;i<3;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =3;
boss_shot.bullet[k].col =0;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.4+i*0.4;
boss_shot.bullet[k].state =-i;
se_flag[0]=1;
}
}
}
if(t==130){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =3;
boss_shot.bullet[k].col =0;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =bossatan2();
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =2.2;
boss_shot.bullet[k].state =0;
se_flag[0]=1;
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet[i].flag>0){
if(boss_shot.bullet[i].state<0){
if(t==180){
boss_shot.bullet[i].spd=3.2+boss_shot.bullet[i].state*0.6;
boss_shot.bullet[i].angle = angle
=bossatan4(boss_shot.bullet[i].x,boss_shot.bullet[i].y);
boss_shot.bullet[i].state=0;
}
}
}
}
if(t>=200 && t<=280 && t%3==0){
angle=bossatan2();
for(s=-1;s<2;s+=2){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =2;
boss_shot.bullet[k].col =1;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =angle+PI2/2.7*s+PI/180*+(t-60)*s;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =5.5;
se_flag[0]=1;
}
}
}
if(t==280) cnum++;
}
これで、どうでしょうか?
やはり自分的には難易度に少々不安が・・・
>大弾は一番大きいb0でボスから1発自機に向かって一直線です
僕もはじめはそうしようとしたのですが、
そうすると動きが以前作った弾幕とかなり似てしまうのでこのような形にしました。
大弾はゲーム前半は一切出さずに
後半に突然出してプレーヤーにインパクトを与えようというたくらみがあるので・・・
>とりあえず自機狙い弾が他の弾と同じなのはインパクトに欠けますね
ナイフにします
void boss_shot_bulletH013(){
#define TM013 290
int r,i,s,k,t=boss_shot.cnt%TM013;
double angle;
static int cnum=0;
if(t==0){//1周期の最初なら
if(cnum%3==0){//3回に1回
//40<x<FMX-40、30<y<120の範囲を70の距離、60カウントで移動
move_boss_pos(40,30,FMX-40,120,70,60);
}
}
if(t==40){
r=GetRand(60);
for(i=0;i<12;i++){
for(s=0;s<8;s++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =3;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI/180*r+PI2/12*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.3;
boss_shot.bullet[k].state =s;
se_flag[0]=1;
}
}
}
}
if(t==100){
r=GetRand(50);
for(i=0;i<12;i++){
for(s=1;s<9;s++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =4;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI/180*r+PI2/12*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.7;
boss_shot.bullet[k].state =s*10;
se_flag[0]=1;
}
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet.flag>0){
if(t==120){
if(boss_shot.bullet.state<10){
boss_shot.bullet.spd=1.4;
boss_shot.bullet.angle=PI2/8*boss_shot.bullet.state;
}
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet.flag>0){
if(t==180){
if(boss_shot.bullet.state>=10){
boss_shot.bullet.spd=0.6;
boss_shot.bullet.angle=PI2/8*boss_shot.bullet.state/10;
}
}
}
}
if(t==130){
for(i=1;i<3;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =3;
boss_shot.bullet[k].col =0;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =PI*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.4+i*0.4;
boss_shot.bullet[k].state =-i;
se_flag[0]=1;
}
}
}
if(t==130){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =3;
boss_shot.bullet[k].col =0;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =bossatan2();
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =2.2;
boss_shot.bullet[k].state =0;
se_flag[0]=1;
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet[i].flag>0){
if(boss_shot.bullet[i].state<0){
if(t==180){
boss_shot.bullet[i].spd=3.2+boss_shot.bullet[i].state*0.6;
boss_shot.bullet[i].angle = angle
=bossatan4(boss_shot.bullet[i].x,boss_shot.bullet[i].y);
boss_shot.bullet[i].state=0;
}
}
}
}
if(t>=200 && t<=280 && t%3==0){
angle=bossatan2();
for(s=-1;s<2;s+=2){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =2;
boss_shot.bullet[k].col =1;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =angle+PI2/2.7*s+PI/180*+(t-60)*s;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =5.5;
se_flag[0]=1;
}
}
}
if(t==280) cnum++;
}
これで、どうでしょうか?
やはり自分的には難易度に少々不安が・・・
Re:弾幕のプチテストプレイ
>後半に突然出してプレーヤーにインパクトを与えようというたくらみがあるので・・・
あ~なるほどそこまで考えていたとは・・
何も考えずに弾幕作ってる私とは大違いですね
>これで、どうでしょうか?
何かナイフが突然向きを変えるのに違和感がありますね
自機に到達した時の時間差も不自然に見えます
これは悩み所ですが、試しに飛行中ネストみたいに
蝶弾が壁に当たると自機の方に加速しながら飛んで来るようにしてはどうでしょうか?
>やはり自分的には難易度に少々不安が・・・
では見た目の派手さを損なわないで簡単にする方法として
自機狙いの逆で自機を避けてはどうですか?
つまり丸弾を打つ時の基準角度をランダムではなくて自機の方向から少しずらします
そうすれば分裂弾とレーザーは止まっていても当たらないので
見た目は変わらないけど難易度はかなり下がります
あとは現状のナイフのような事をすれば避けようとして丸弾とかに自分から当たるミスを誘えます
ところで良く考えたら本家ではステージのラスト弾幕って
ボスが画面中心で動かない物が多いですよね
これは動きまくってますけど大丈夫ですか?
あ~なるほどそこまで考えていたとは・・
何も考えずに弾幕作ってる私とは大違いですね
>これで、どうでしょうか?
何かナイフが突然向きを変えるのに違和感がありますね
自機に到達した時の時間差も不自然に見えます
これは悩み所ですが、試しに飛行中ネストみたいに
蝶弾が壁に当たると自機の方に加速しながら飛んで来るようにしてはどうでしょうか?
>やはり自分的には難易度に少々不安が・・・
では見た目の派手さを損なわないで簡単にする方法として
自機狙いの逆で自機を避けてはどうですか?
つまり丸弾を打つ時の基準角度をランダムではなくて自機の方向から少しずらします
そうすれば分裂弾とレーザーは止まっていても当たらないので
見た目は変わらないけど難易度はかなり下がります
あとは現状のナイフのような事をすれば避けようとして丸弾とかに自分から当たるミスを誘えます
ところで良く考えたら本家ではステージのラスト弾幕って
ボスが画面中心で動かない物が多いですよね
これは動きまくってますけど大丈夫ですか?
Re:弾幕のプチテストプレイ
>何かナイフが突然向きを変えるのに違和感がありますね
自機に到達した時の時間差も不自然に見えます
わざとずらしたんですけどね、3つ同時に行くと面白みないから
もう一工夫加えてみます。
>自機狙いの逆で自機を避けてはどうですか?
自機外し、その手がありましたか・・・
>ところで良く考えたら本家ではステージのラスト弾幕って
ボスが画面中心で動かない物が多いですよね
そうですかね?
ちょっとラスト弾幕の記憶力テスト開始します。
ルーミア ディマーケイション:動いてる
チルノ ダイアモンドブリザード:動いてる
美鈴 極彩台風:中央静止
咲夜 操りドール:動いてる
レミリア スカーレットシュート:動いてる
フランドール 495の波紋:中央静止
アリス 魔彩光の上海人形:動いてる
プリズムリバー コンチェルトグロッソ:回ってる
幽々子 反魂蝶:動く以前の問題
藍 飯綱権現降臨:動いてる
紫 弾幕結界:動く以前の問題
慧音 高天原:静止
魔理沙 ファイナルスパーク:ゆっくり動く
霊夢 夢想封印「瞬」:素早く動く
妹紅 インペリシャブルシューティング:動く以前の問題
輝夜 蓬莱の弾の枝:画面上の方で静止
穣子 オオトシハーベスター:動く
文 山神渡御:中央静止
早苗 神の風:中央静止
神奈子 マウンテンオブフェイス:中央静止
諏訪子 ミシャグジさま:中央静止
全員は覚えてないけど、
そんなには動いてないかと、杞憂です。 多分
地霊殿と星蓮船は未プレイです。
>これは動きまくってますけど大丈夫ですか?
大丈夫です、みんな動いてるから。
自機に到達した時の時間差も不自然に見えます
わざとずらしたんですけどね、3つ同時に行くと面白みないから
もう一工夫加えてみます。
>自機狙いの逆で自機を避けてはどうですか?
自機外し、その手がありましたか・・・
>ところで良く考えたら本家ではステージのラスト弾幕って
ボスが画面中心で動かない物が多いですよね
そうですかね?
ちょっとラスト弾幕の記憶力テスト開始します。
ルーミア ディマーケイション:動いてる
チルノ ダイアモンドブリザード:動いてる
美鈴 極彩台風:中央静止
咲夜 操りドール:動いてる
レミリア スカーレットシュート:動いてる
フランドール 495の波紋:中央静止
アリス 魔彩光の上海人形:動いてる
プリズムリバー コンチェルトグロッソ:回ってる
幽々子 反魂蝶:動く以前の問題
藍 飯綱権現降臨:動いてる
紫 弾幕結界:動く以前の問題
慧音 高天原:静止
魔理沙 ファイナルスパーク:ゆっくり動く
霊夢 夢想封印「瞬」:素早く動く
妹紅 インペリシャブルシューティング:動く以前の問題
輝夜 蓬莱の弾の枝:画面上の方で静止
穣子 オオトシハーベスター:動く
文 山神渡御:中央静止
早苗 神の風:中央静止
神奈子 マウンテンオブフェイス:中央静止
諏訪子 ミシャグジさま:中央静止
全員は覚えてないけど、
そんなには動いてないかと、杞憂です。 多分
地霊殿と星蓮船は未プレイです。
>これは動きまくってますけど大丈夫ですか?
大丈夫です、みんな動いてるから。
Re:弾幕のプチテストプレイ
言われてみれば動いてるものも多いですね
地霊殿と星蓮船以前は記憶が曖昧でした・・
ちなみに確認すると地霊殿と星蓮船は9割方動かないです
それにしてもラスト弾幕をこれだけ覚えているとは
やはりやり込んでいるんですね
地霊殿と星蓮船以前は記憶が曖昧でした・・
ちなみに確認すると地霊殿と星蓮船は9割方動かないです
それにしてもラスト弾幕をこれだけ覚えているとは
やはりやり込んでいるんですね
Re:弾幕のプチテストプレイ
>やはりやり込んでいるんですね
やり込まないとクリア出来ませんからね。
>ちなみに確認すると地霊殿と星蓮船は9割方動かないです
風神録もあまり動かない
最近のものほどあまり動かないようで・・・
とりあえず、あれから少しだけ難易度を下げる形でこの弾幕は一応完成とします
ご協力感謝します。
やり込まないとクリア出来ませんからね。
>ちなみに確認すると地霊殿と星蓮船は9割方動かないです
風神録もあまり動かない
最近のものほどあまり動かないようで・・・
とりあえず、あれから少しだけ難易度を下げる形でこの弾幕は一応完成とします
ご協力感謝します。