あれからずっとMVをいじりまくってて何とかここまで来た。
これはフォトショ上じゃなくてゲーム内画面。
たったこれだけ作るのに4日以上かかってるぞ…
あれですよアレ。
ゲーム製作超初心者になった気持ちですよ。
もう何が何だかサッパリ分からない。藁にでも縋りたいきもち。
まず問題になってくるのがクォータービューによる斜め移動処理。
斜めといってもきっちり45度じゃないんです。
底辺:高さ=2:1、つまり三角関数tanθで26.33・・・°の角度を移動する。
いちおう駄目元で探してみましたよ。そういうプラグイン素材がないか。
いや~もちろんそんなもんありませんでしたけどねうわはははは!
ピンポイントでは無かったけど、既存のをイジればいけそうだと思って、トリアコンタンさんの半歩移動プラグインをチョロっとイジって、「縦方向だけ半歩処理になる」ようにしました。
上のスクショで床が白黒になってるじゃないですか。
白黒合わせて正方形48px、つまりツクールエディタ上の1マスになるの。
んでキャラは白い床のみ斜め移動可能にすれば、クォータービューの土台が出来上がるってな寸法です。
ただし半歩移動プラグインは斜め26度移動には対応してないのでそこは自力で何とかするしかない。元々そういうのが目的の素材じゃないですしね。
もちろん自分はJavascript初心者。もう涙目ですよ。
縦方向だけ半歩処理にするだけで何日かかったか…結局、移動の角度は縦方向のスピードを半分にすることで何とか対応しました。
画面だとプレイヤーはカーソル画像になっていて、これでマップ上のイベントを選択していろいろやる形でシミュレーションゲームの形にしようと思ってますが、そのままだとカーソルがダイヤのマスにハマらないからプレイヤーの縦移動は半歩じゃなくて1歩移動処理、横に至っては2歩移動処理にしないといけない。
これも何日かかったか…
何回もしつこいですけどあたしゃJS初心者だよ!
どのくらい初心者かといったら、画像ひとつ出せないし変数すら用意できない雑魚だよ!
それが人様の素材に手を入れて処理をあれこれ変えるだぁ?
Javasscriptナメてんじゃねえぞ!{}で囲んで縛りつけるぞオラァ!
まあでも、ここは重要なんです。
こういうクォータービューって操作がしっくりこない事が多いんで、UIを第一に考える自分のゲーム製作方針だとこだわらないといけないの。
例えばこの状態でプレイヤーが方向キーを←に入れたらカーソルはどこへ移動すると思います?
これね、マスに沿って斜め下とか斜め上に移動したらしっくりこないの。
方向キーを←に入れたらカーソルはその通りに横へ移動しなきゃいけない。
上へ入力したらもちろん真上へ。斜めは斜め入力した時だけ移動する。
んでね、クォータービューのシミュレーションゲームってこうじゃないUIが多いんですよ。あのFFTですら横押したら斜めへカーソル動きますからね。
何を隠そう、マジェスティアが頓挫してしまったのもこのクォータービュー斜め移動処理がどうにもならなかったからだったんですよね。
とはいってもこれはこれで別の問題もあります。
キーボード操作って斜め入力がしにくいんですけど、この仕様にすると頻繁に斜め入力が要求されるんで面倒なんです。けどまあ横押して斜めに移動されるよりかはマシなんで今回はこれでいきます。
で、それが終わって次は独自ウインドウ作らないとなぁってなって。
これがもう何が何やらサッパリというか…
RubyとJavascriptここまで違うのん?
まるで別世界やん…
NARUTOと忍たま乱太郎くらい別モンやぞ!
合ってるの忍者くらいじゃねえか!
あと微妙にホモネタにされやすい所か…
なんだけっこう共通要素あるじゃねえかクソ…
まずね、ウインドウとか画像をどこで解放してるのかが分からん。
いろいろ素材見てみたけどみんな作りっぱなしでRGSSみたいなノリで解放してないの。なんかシーン変わったら勝手に消えてくれるらしい。
もうこの感覚がしっくりこないというか拒絶反応出ちゃって…
自分で作ったモンはちゃんと片付けないと落ち着かないの!
あとさぁ…
これ実際やってみて驚きだったんですけど。
なんかタイミングによって画像出たり出なかったりするんですよ。
タイミングって何やねん。
場合によって表示されたりされなかったりとかRGSSじゃありえないですよ。
記述が変わらない限り結果が変わるなんてまず起こらない。
だからね、画像表示する時はその処理をしてちょっと時間置いた後で表示されるようにしないと確実に表示されないみたいなの。
ああ~これがMVゲー重い重いって言われてるヤツの正体かぁってなった。
重いんじゃなくてテキパキやりすぎると表示が追っつかないからワザとタイミング遅らせてそう感じさせてんのかなって。
ウインドウ出すのにパッと出さずにウイーンって開く「間」があったり。
シーンとシーンの間のフェードインアウトとかもね。
あれで時間稼がないとキツイんだとおもう。
まぁでもこれはしょうがないとおもう。
そもそもJavascriptってブラウザで動かすのが主目的の言語だから、画像読み込みを優先してパフォーマンス落とすくらいなら画像無視する形で処理するのは当然っちゃ当然だもんね。
テキパキ出す場合はキャッシュしないといけない。でも何かJavascriptってあまり沢山画像をキャッシュするとメモリリーク起こしやすくなるみたい。だからそれは極力使うなって事らしい。
だからね、画像はゆっくり出さないと駄目なの。
帽子みたいなノリでパッパと画像切替しまくりってのは駄目なの。
ゆっくりじっくりウインドウ出さないとアクターの顔グラ出ないの。なので上のスクショのウインドウはパパッと出したら画像出ないからゆっくり出したやつなの。
いや~~~~…………
さすがに何か方法あるっしょ…?
こんなん嫌だよ…モッサリもっさもさのトロいゲームになるじゃん…
じつはデフォルトだとあんま問題ないんです。
ウインドウスキンやアイコンといったシステム画像はキャッシュしてるしテキスト表示には強いからメニュー系ならテキパキ表示できる。
それでも製作者によって変わってくる顔グラまではキャッシュしきれないんで、顔グラ表示のタイミングはかなり気を遣って処理してるのが分かる。ここだけ特別な処理になってるっぽい。
とりあえず自分みたいにメニューで独自画像使いまくりの人間はやばい。
帽子世界みたいな個性の強いメニューはかなり厳しいと見ていいでしょう。
おそらくかなりの技術力が必要だと感じます。
んでね。他に重要な要素があって。
RGSSだとテキストよりも画像の方が負荷が軽いからできるだけテキストよりも画像を使おうって感じだったのね。
ところがね、Javascriptはまったく逆らしいの。
画像よりもテキストの方が軽いからなるべくテキスト使おうって感じらしい。
面白いですね。さすがブラウザ用言語だ。
でもね、フォントを変える時にやっぱり時間かけないと駄目らしいんで、同じウインドウ内で異なるフォントは基本的に使っちゃ駄目みたい。そもそもフォントを何種類も読み込んだら負荷がかかるからできるだけ絞りなさいってことらしい。
何やねんもう…
何がしたいんやこの言語は…
何かやろうとしたら時間かけて時間かけて…ああ~もうじれったい!
え? Javascript初心者のくせに偉そうだって?
そ、そうですね…かなり偉そうでした…申し訳ないです…
まあね。
今は言語切り替えた直後の時期だから、どうしても使い慣れた前の言語へ思い入れが強くなってしまって、それで拒絶反応が出てるだけだから…
たぶんこれから少しずつ勉強していけば、今日の話も全部解決するはず。
何だかんだいって望み通りの挙動が作れたら嬉しいですもん。
ゲームの挙動モッサリ問題さえ解決すればなにももんだいない。
9/23までの拍手お返事です。
■その最高バージョンは一瞬で終わっちゃう不具合があるんだが?
■やっぱ「こういうゲーム作りたい!」って気持ちが一番大事ですね
帽子はサガだったけど今回はFFTって感じです
■のんびりじっくりやっていくぜ!(Javascriptの仕様にブチギレながら)
■今回のは2Dなんて視点グルグルは無理だけどな!
まあだからFFTというよりタクティクスオウガ色が強くなるかも
■トレモはクレリック法というトンでもない邪法があってのぅ…たぶんあれに懲りたから次作のFFTでトレモ無くしたんじゃろうなぁ…クラスチェンジの演出はカーテン閉めてごそごそ着替えしてるオウガの方がちゅき!
■算術+陰陽術はなかなか渋いチョイス!いぶし銀ってやつですなぁ!
そういやフロ2リマスターの話出ないですねぇ
■JavaScriptにブチギレまくってるという…画像すぐ出しちゃ駄目問題どうしよ…テンポ厨の自分としてはけっこう致命的だ…
■ああ~FFTAは低レベ攻略ゲーでしたねぇ
そこらへんはFF6イズムを感じてました
■飛び道具系がどうしても強くなっちゃいますよね
フロントミッション2とかは格闘強いバランスでしたけど
■3Dじゃないからね!まあでもオウガというかスキン系のデザインはサモンナイトっぽいかもしんない
■昔やったゲームしか楽しめなくなったら駄目だと思いつつ、でもやっぱり面白すぎるんだからしょうがない
■スク水のことはわすれるんだ…いいね?
■言われてみたら狂気すぎるな…時間感覚が壊れとるわい
■まあmacで作れないだけでmacで遊べればそれでおkさ!
■久々に「これ作りたい!」って気持ちが復活してます
まあ作れるかどうかは置いといて
■ありがとうございます!
ていうかもう二年経ったのかよ!!
■二年って早いですねぇ…
こりゃマジで次のゲームできるの五年後になりそう
■そらもう裸で腰に手を当てながら牛乳をゴキュゴキュよ
■時間が経つのは本当に早い…あれからもう二年ですもんね
やっぱり自分は何かを作っていないと駄目な人間かもしれない
■まあプロバイダーと接点持たないように気を付けてるプリムからすれば本当はジャニスの仲間になるのはありえないんですけど、ジャニスだけプリムが仲間にならないってのは酷いからそこはゲームの都合に合わせちゃったというか…