[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ここで悩んだのが弾幕の撃ち方。というか3D空間におけるオブジェクトの移動方法。ロックオン出来るようにしてみた。ミサイルもっと沢山出したいんだけど今のところ8発が処理落ちしない限界。もうちょい処理軽くしたいなー。#SmileBasic #petitcom #プチコン4 #NintendoSwitch pic.twitter.com/dOjh9o2m64
— kt. (@xxxx_kt_xxxx) June 20, 2020
2Dの場合はこんな感じで書いてました。
r=角度
speed=速度
x=x座標
y=y座標
xv=x軸移動量
yv=y軸移動量
xv=cos(r)*speed
yv=sin(r)*speed
x=x+xv
y=y+yv
この方法だと角度と速度を指定するだけでオブジェクトを自由に移動させることが出来ます。
これを3Dでやりたくて色々試してやっと出来たのがコチラ
xyr=xy角度
yzr=yz角度
speed=速度
x=x座標
y=y座標
z=z座標
xv=x軸移動量
yv=y軸移動量
zv=z軸移動量
x=x+xv
y=y+yv
z=z+zv
極座標と直交座標を使ってxy角度とyz角度と速度でオブジェクトを移動させる事が出来ました。
次は自機狙い弾。3Dな弾幕やっと出来た。三角関数使った3Dでの移動方法がわからなくて悩んだんだけど極座標使って計算するみたいなので、それで実装したら上手く出来た。。。と思う。動作もっと軽くしたいなぁ(続く#SmileBasic #petitcom #プチコン4 #NintendoSwitch pic.twitter.com/UtPIEu6DPm
— kt. (@xxxx_kt_xxxx) June 22, 2020
x=x+xv
y=y+yv
z=z+zv
直交座標を極座標に変換する感じでやれば上手く動きました。
って簡単に書いてますが出来るまでメチャクチャ苦労しました・・・
これとは別のもっと良い方法をフォロワーさんが教えてくれました。自機狙い弾出来た。。。3Dでの自機狙い弾の実装方法がわからなさ過ぎてメチャクチャ苦労したけど上手く動いて嬉しい。直交座標から極座標に変換で角度計算したら出来たけどトライ&エラーしまくり(続#SmileBasic #petitcom #プチコン4 #NintendoSwitch pic.twitter.com/UsTv9T93h9
— kt. (@xxxx_kt_xxxx) June 23, 2020
単位ベクトルを使った方法で
この方法だと難しい計算もなくシンプルで良い感じです。
死ぬほど簡単に実装できてしまって今までの苦労はなんだったんだ・・・てなってます。もっと早く教えて下さい(笑)教えて頂きありがとうございます! pic.twitter.com/TOB1vVvxOk
— kt. (@xxxx_kt_xxxx) June 24, 2020
プチコン4用STG、SONIC'S SKY PATROL II公開しました!Switch本体お持ちならプチコン4体験版で無料で遊べます。面白かったらプチコン本体も購入してね!バグ報告大歓迎です。2020年5月31日までの限定公開です。
— kt. (@xxxx_kt_xxxx) May 5, 2020
続く#sbkey 4A8X51X#ソニック #smilebasic #petitcom #プチコン4 #NintendoSwitch pic.twitter.com/y9MOUtUq2r
セガさん@SEGA_OFFICIALからもご紹介ありましたが…今なら『プチコン4』でソニック動かせます!
— プチコン (@PetitComputer) April 2, 2020
「プログラミング…やってみようかな?」
というみなさん!
↓のページにある「ゲームクリエイト講座」を見ながら、この機会にぜひチャンレンジしてみてくださいね!↓https://t.co/WzIQbDWpKq https://t.co/wBsks3xPB5
セガのシューティングで思い浮かべるのはファンタジーゾーン。
なのでファンタジーゾーンとソニックを足したようなSTGに。本当はもっと簡単に作って公開しようと思っていたのですが作っているうちにアレもコレもとなって結局作り始めてから完成まで一ヶ月くらいかかりましたが、結構良く出来たのではないかと自分では思っています。
ダウンロードキー 4EKE334XF
Switchをお持ちなら無料体験版で遊ぶことが出来ます。
作り始めたのが2019年の6月20日と書いてあるので約半年くらい時間がかかった感じです。
それでもゲームモードは未実装だし音楽は使いまわしなので本来ならもっと時間かかってるはず。
今後ゲームモードの追加や細かい修正なんかもしていきたい所です。
今回のSTGのテーマは狙い撃ちです。小さい敵は通常ショットで殲滅して大きい敵やボスなどは波動砲で狙って倒す・・・みたいなのをイメージして作っています。
難易度は高いと思うのでビギナー機体だとかなり敵弾が消せるようにしています。
とりあえず大きなバグが無いと良いなぁ。。。
プチコン4でWAVファイルを読み込んで効果音として使用しようと思ったのですが上手く鳴らせるようになるのに苦労したので忘備録。
まず大前提としてWAVファイルをプチコン4に転送するために麗の小屋さんのPetit4Sendを使用します。
WAVファイルを鳴らす方法として思いつくのがPCMSTREAM命令ですが、PCMSTREAM命令だと音を重ねる事が出来ない(私が鳴らす方法を知らないだけかもしれません)ので効果音を鳴らすのには向いていません。
なのでWAVSETA命令でWAVファイルを波形登録して鳴らすようにしてみました。
一応PCMSTREAM命令でのWAVファイルの鳴らし方も書いておきます。
01 OTO[]
02 OTO=LOADV("DAT:KOUKAON.WAV")
03 PCMSTREAM OTO,48000
04 PCMVOL 10000
05 WHILE 1
06 VSYNC 1
07 WEND
こんな感じで書けば任意のwavファイルを鳴らすことが出来ます。音は勝手にループしますので止めたい場合はPCMSTOP命令で止めて再開する場合はPCMCONT命令で、PCMPOSで再生位置を設定出来ます。
WAVSETA命令で鳴らす場合はこんな感じ。
01 OTO[]
02 OTO=LOADV("DAT:KOUKAON.WAV")
03 WAVSETA 244,127,0,0,127,OTO,69,0,99235,48000
04 BGMSET 128,"@244O4A2"
05 BGMPLAY 128
WAVSETA命令の内容は下記のようになっています。
***********************************************************
WAVSETA 楽器番号,アタック,ディケイ,サスティン,リリース,配列,基準音程,ループ先頭,ループ終端,サンプル周波数[,オフセット][,BEEPループ]
***********************************************************
配列の要素数はPRINT DIM (OTO,0)で調べる事が出来るので例えばDIM (OTO,0)が99236ならば1引いた99235を設定すればOKです。基準音程は69で「"O4A":オクターブ4のラ」を設定した事になりサンプル周波数を48000にした時にWAVファイルと同じ音程で鳴らすことが出来るようです。
WAVファイルの音長によって"@244O4A2"のA2の2の部分を1にしたり4にしたりして(音の長さを設定する)効果音がループしない良い感じのところに設定します。
実際に効果音を鳴らす場合は効果音毎にトラックを変更しないと音が重ならないのでショット音はBGMPLAY 0,128で爆破音はBGMPLAY 1,129とかにすれば上手く行くと思います。
プチコン3号を使ってみるとnewとノーマル3DSでかなりの速度差がある事がわかりました。
こんな事なら3DS LL売るんじゃなかった・・・と思っても後の祭りw
って事でノーマルな3DSを購入してみました。
中古で1万円くらいで購入。
当初は動作確認用だしジャンクな3DS買おうと思っていたのですが
ヤフオク見ててもジャンクでも7~8千円くらいしていて、そこまで
出すんなら普通の中古でエエかーと思いまして。
もっと安くで売ってると思っていたのですが人気あるんですねぇ。
とりあえず自分が作ったテストプログラムで速度差を見てみると・・・
newでFPS60ギリギリくらいまで動作させてみるとノーマルの場合はFPS20程度
まで低下する模様。
大体、ノーマルとnewで3倍くらいの速度差があるようです。
ココまで速度差があると、newでギリギリ動作するゲーム作るとノーマルでは
殆どまともに動かないって感じになりそうですねぇ。
ノーマル基準で作れば良いのですが、それだと折角のnewのパワーを持て余すことに
なってしまって勿体無い気もしますし難しい所です。
あと、現在公開しているテストプログラムの公開キーを記載しておきます。
弾幕STGテストプログラム
公開キー:K2K4EK4V
ファイル名:KT_DANSTG_TES
弾幕表示のテストプログラムです。
各種ボタンで表示間隔や弾速などを変更出来ます。
敵弾400発とか撃たしても余裕でFPS60動作しますので
弾幕STGの作成も出来そうです^^
スプライトを使った擬似3D表示プログラム
公開キー:E5DEE3
ファイル名:KT_3DTEST
スプライトを使った擬似3D表示プログラムです。
各種ボタンで表示間隔や速度、回転などが出来ます。
こちらも余裕でFPS60動作しますので目指せ!ギャラクシーフォース
って感じですかねw
10 | 2024/11 | 12 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!