じゅんG の Game Blog

YouTubeにて、アイワナ実況動画を公開しています。

YouTubeにて、アイワナ実況動画を公開しています。

※自作アイワナは、このブログの下部よりダウンロードできます。

2017年10月25日水曜日

【第3回】エフェクト(一瞬光らせる)が出るセーブブロックを作る/キッド君の生存に応じて特定の動作(音声を流す等)をさせる【アイワナ制作備忘録】


【はじめに/注意事項など】
・使用しているGMは、Ver8.1 Liteになります。
・使用しているアイワナエンジンは、I wanna be the engine yuuutu editionです。
・自作アイワナで使用したもののみの掲載となります。
・あくまで私なりのやり方ですので、もちろんもっと簡単な方法もあるかもしれません。参考程度とご認識ください。
・だいたい1記事でメモ2個くらいの掲載で進めていきます。※更新頻度は不定期
・ご質問にも極力お答え致しますが、掲載外の質問にはお答えできません。


【メモNo.5/弾が当たったときにエフェクト(一瞬光らせる)が出るセーブブロックを作る方法】

これも自己流にはなりますが、私は以下(一例)の方法で実現させています。

まず、弾が当たったときに表示させるエフェクトのスプライト(32*32)を作ります。
そして、そのスプライトを用いたオブジェクトのイベントコードを以下のようにします。


・Create内
 image_alpha=0
 stp=0   ///これは任意の変数

・Alarm0内
 image_alpha+=0.1
 if(image_alpha=0.7){
 alarm[1]=1
 stp=1
 }
 if(image_alpha<0.7 && stp=0){   ///0.7→どこまで可視化させるかの値
 alarm[0]=1   ///可視化までのスピード値、上げれば遅くなる
 }

・Alarm1内
 image_alpha-=0.1
 if(image_alpha=0){
 stp=2
 }
 if(image_alpha>0 && stp=1){
 alarm[1]=1   ///透明化までのスピード値、上げれば遅くなる
 }

・Collision(bullet)内
 stp=0
 alarm[0]=1
 with(other){
 instance_destroy()
 }

これで弾が当たった時に予め作ったスプライトが表示され、且つ弾も消えてセーブブロックの役目も果たすというとっても素敵なオブジェクトを作ることができました。




【メモNo.6/キッド君が生きている、若しくは死んでしまった時に限って特定の動作(音声を流す等)をさせる方法】

実用的に平たく言えば、
・キッド君がもし生きていたら次のルームへ移動させる とか、
・キッド君が死んでしまったら、死亡時のオリジナルボイスを流す 等です。

このキッド君が生きて/死んでいたら~という条件式(if)は以下であらわします。

if(instance_exists(player)=0{   ///0は死んでいたら、1は生きていたら
ここに実際の条件を入れます


さて、私なりの方法にはなりますが、例えば「キッド君が死んでしまったら特定の音声を流す」という動作を実現させる場合の方法を書きたいと思います。
まず何某かのスプライト(何でもOK)を用いて、一つのオブジェクトを作ります。

そのオブジェクトのイベントコードを以下のようにします。

・Create内
 image_alpha=0   ///これでオブジェクトを透明にする
 sound_stop(任意のサウンド)   ///リスタートしたときに前音声を止める為
 stp=0   ///任意の変数

・Step内
 if(instance_exists(player)=0 && stp=0){
 sound_play(任意のサウンド)
 stp=1   ///この条件を足さないと音声が新たに再生され続けてしま
 }


これをどこか好きなルームの適当なところへ一つ配置すれば、上記動作を実現させることができます。

では、また不定期に更新していきたいと思います!!

2017年10月9日月曜日

【第2回】弾などのオブジェクトを大きく(小さく)していく/無限ジャンプをできるようにする【アイワナ制作備忘録】


まだ記憶が新しいうちに、次の記事を書いていきましょうか(^^

【はじめに/注意事項など】
・使用しているGMは、Ver8.1 Liteになります。
・使用しているアイワナエンジンは、I wanna be the engine yuuutu editionです。
・自作アイワナで使用したもののみの掲載となります。
・あくまで私なりのやり方ですので、もちろんもっと簡単な方法もあるかもしれません。参考程度とご認識ください。
・だいたい1記事でメモ2個くらいの掲載で進めていきます。※更新頻度は不定期
・ご質問にも極力お答え致しますが、掲載外の質問にはお答えできません。


【メモNo.3/弾などのオブジェクトを徐々に大きく(小さく)していく方法】

まず、オブジェクト等の画像を大きく(小さく)する変数は、

・image_xscale ///横の大きさ  1が元、0.5で半分、2で倍
・image_yscale ///縦の大きさ  1が元、0.5で半分、2で倍

になります。

これを弾のオブジェクト内に、例えば、

・Create内
 move_towards_point(player.x,player.y,3)
 alarm[0]=25

・Alarm0内
 image_xscale+=0.05
 image_yscale+=0.05
 alarm[0]=2

と記述すれば、この弾のオブジェクトが生成されたと同時にキッド君へ向かって飛んでいきつつ、一定時間で徐々に大きくなっていくという演出ができます。


※徐々に小さくしたいときは、image_xscale&image_yscaleの値を徐々にマイナスしていけばオッケーです。但し、image_scale値が0を下回ると、画像が反転し反対に大きくなっていってしまうので、徐々に小さくしたいときは、弾のオブジェクトのAlarm0内のコードを以下のようにした方がよいでしょう。

・Alarm0内
 if(image_xscale>0 && image_yscale>0){
 image_xscale-=0.02
 image_yscale-=0.02
 alarm[0]=2
 }

 if(image_xscale<=0 && image_yscale<=0){
 instance_destroy()
 }

これで、画像のサイズが0になったとき(つまり視覚から消えたとき)に対象が削除され、消えているのに当たり判定が残るという現象も回避できます。



【メモNo.4/特定のルームにおいて無限ジャンプをできるようにする方法】

これは超個人的で且つ超応急的な方法になるかもしれませんが、私は以下の方法でおこなっています。

まず、画面全体を覆うようなスプライト(画像)を作成します。(Size:800*608)


そして、これのイベントコード内に以下のように記述します。

・Create内
 image_alpha=0

・player内
 player.djump = true ///2段ジャンプが行える状態を常に真にする

・player2内
 player2.djump = true


あとは、このオブジェクトを特定のルームの最背面に配置すれば無限ジャンプができるようになります。こうすれば、特定のルームだけ無限ジャンプが行えますし、また不要になればそのオブジェクトをルームから削除すればいいだけなので、比較的簡単な方法かな~と思います。(というか、この方法しか思い付かなかっただけというww)


17/10/14 追記
若しくは、何某かのオブジェクト(32*32等)のSTEPイベント内に、

player.djump=1
player2.djump=1

-----又は、

with(player){
djump=true
}
with(player2){
djump=true
}

と記述しても、同じく動作するようです。



ということで、これにて第2回のアイワナ制作備忘録を終了したいと思います(^^

2017年10月7日土曜日

【第1回】でかいリンゴの消滅と共に拡散弾を放つ/エンドルームに入った瞬間に経過時間を止める【アイワナ制作備忘録】


自作アイワナも現時点(17/10/7)で4作品となり、その各制作過程でも「あれ、これ前回どうやって実現させたんだっけ?」と各演出や弾幕の作成で「???」となることが多く、その度に過去の作品のコードを見たり、ネットで色々と調べたりを繰り返しておりました。

そこで今回からは、私のこのブログで私なりのやり方にはなりますが、自身の備忘録として、そしてどなたかの制作過程におけるヒントになれば幸いと思い、これから少しずつにはなりますが、制作エッセンスをここに記していきたいと考えています。

【はじめに/注意事項など】
・使用しているGMは、Ver8.1 Liteになります。
・使用しているアイワナエンジンは、I wanna be the engine yuuutu editionです。
・自作アイワナで使用したもののみの掲載となります。
・あくまで私なりのやり方ですので、もちろんもっと簡単な方法もあるかもしれません。参考程度とご認識ください。
・だいたい1記事でメモ2個くらいの掲載で進めていきます。※更新頻度は不定期
・ご質問にも極力お答え致しますが、掲載外の質問にはお答えできません。



【メモNo.1/飛ばした一つのでかいリンゴが一定時間で爆発し、拡散弾(固定)を撒き散らす方法】


★用意するもの★
・でかいリンゴを飛ばす本体(ここでは、jung_bossとします)
・でかいリンゴ(ここでは、object1000_bigとします)
・でかいリンゴ爆発後に拡散するリンゴ(ここでは、object1000とします)


次に、それぞれのイベント等に以下を記述します。(速度等の数値は任意で構いません)

<jung_boss>


・Create内
 instance_create(jung_boss.x,jung_boss.y,object1000_big)
 alarm[0]=50

・Alarm0内
 instance_create(jung_boss.x,jung_boss.y,object1000_big)
 alarm[0]=50


<object1000_big>


・Create内(Set direction and speed of motion部分)
 direction: random(360)
 speed: 5

・Create内(記述部分)
 spt=0
 alarm[0]=30

・Alarm0内
 if(spt=0){
 for(i=0;i<=360;i+=20){ ///i+=○○の値を360で割り切れる数に変更すれば、拡散弾の数が変わる。
 abs=instance_create(object1000_big.x,object1000_big.y,object1000)
 abs.speed = 4
 abs.direction = i
 }
 instance_destroy()
 }
///spt、absは任意の変数


<object1000>
・特になし


どうでしょうか?
実行してみると、鬼畜花火のような弾幕が確認できるのではないでしょうか。
あとは場面に応じて、任意に数字等を調整していけばオッケーです(^^



【メモNo.2/設定したゲームのエンドルーム(最後の部屋)に入った瞬間に、経過時間(プレイタイム)を止める方法】



まず、ゲーム内でプレイ時間を進めているコードがある箇所はどこかといいますと、Objects ⇒ Player_etc ⇒ playerのイベント内、Alarm0の中にあります。


これを私なりの方法(というか、かなり応急的ww)になりますが、まず、ゲームスタートした時の最初のルームで何某かのグローバル変数を0で宣言し、ゲームクリア時の最後のルームに入った瞬間に、そのグローバル変数を1にします。
そして、上記時間を進めるコードの箇所に以下の記述を足すだけで、クリアした瞬間にゲームの経過時間を止めることができます。(ここでは、global.item[1]というグローバル変数を使っています)


if(room != rInit && room != rMenu && room != rTitle && room != rSelectStage){

if(global.item[1]=0){  ///←このあたりを追記
global.time += 1;
}


alarm[0] = room_speed;




という感じで、第1回目となる私的備忘録を終了させていただきます。

また、ちょいちょいと更新していきたいと思います(^^♪

2017年10月3日火曜日

第4作目の自作アイワナの公開、及び使用楽曲の紹介 【I Wanna be the Yuyuko】


みなさん、お久しぶりです!

ふと見てみると、前回からブログの更新がかなり空いていることに気が付きましたww
だから、というわけではないのですが、今回第4作品目となる自作アイワナが完成いたしましたので、ここに紹介させていただこうと思います。


今回の作品は「I Wanna be the Yuyuko」という名であり、東方の西行寺 幽々子をメインとした短編耐久アイワナとなっております。

他概要としては、

・ボス1体のみ
・難易度:初級者~中級者(やや中級者寄り)
・セーブデータは一つ
・難易度選択なし
・隠し要素なし

となっており、またクリア後の画面で、ちょっとしたいつもの小ネタが仕込まれていますw



また、今回このブログで使用楽曲も併せて紹介したいと思います。

-----------------------------
オープニング&エンディング ⇒ 神隠しの真相/しゃろう

耐久曲 ⇒ 桜花爛漫/東方Vocal アレンジVer.
-----------------------------

ということで、現在は最新がVer1.02となっている当作品。
みなさん、是非プレイしてみてくださいね(^^♪



じゃあまたねぇーーー!!!

2017年8月2日水曜日

心を震わせる物語、素晴らしい作品! 【NieR:Automat】


ふとしたキッカケでプレイしてみようと思い、買いに走った本作品「ニーア オートマタ」

私はこのシリーズをプレイするのは初めてで、どんな世界観のゲームかも知らずにプレイを開始しました。


冒頭、機械生命体に奪われた地球を取り戻すべく、果敢に戦うアンドロイド側の視点で物語は進んでいきます。

操作(戦闘)の基本はアクション、そして意外だったのはシューティング要素も入っているという面白味。そして、戦闘の爽快感と気持ちを高める素晴らしいBGM、操作するキャラクター(2B)の機敏なかっこよさに一気にのめり込んでいきました。


最初は「???」な箇所が多いのですが、その謎もだんだんと解き明かされていきます。そして、随所に入る細かい演出が秀逸!

また、要所に入る選択肢(行動含め)によって複数のエンディングに分岐します。


このゲームは「3周※」することで本編をクリア(物語の終焉)することができますが、一般的にいう「周回プレイ(ほぼ同じ物語進行)」とは異なり「周回」とは表現されていますが、この3周すべてを終えて本物語の「1周(完結)」と捉えてもよい気がします。

※1周目は2B視点で物語が進み、2周目は9S視点で進み、3周目は・・・という進行になっており、もちろんプレイするキャラも周で変わるので、当時自分に言われたその言葉の心情(意味)を知ることができたりと、ここにも面白味が詰まっています。


そして、終盤に向けての展開にはプレイヤーとしても胸が痛く、そして複雑な想い(希望か絶望か)が錯綜したまま、物語は終わりを迎えます。


2017年、本当に素晴らしいゲーム、このニーアオートマタというゲームに出逢えて良かったです。本当に色々と考えさせられます。決して明るい世界観、終焉ではありませんが、興味のある方は是非!是非プレイしてみて下さい!

あ、最後に一言。私のように初めてこのシリーズをプレイされる方へ。
全クリ後、選択肢によりもしスタッフロールで謎のシューティングが始まった場合、それを突破した後のポッドからの質問(選択肢)には充分慎重になって下さい。選択によっては、







データがまるごと削除されます。
(一旦止めて、そこだけ攻略サイトを見たほうが良いかも・・・です^^;)