ニートが頑張るブログ

ニートが現実逃避するために創作活動など色々とカオスに頑張ってみる
ニートが頑張るブログ TOP  >  自作ゲーム開発 >  箱ジャンプはじめました

箱ジャンプはじめました

 
地形メーカーがまたそこそこ進みましたよ、という話。

地形メーカー

今回は「押せる箱」「ジャンプ」がメインです。



swf直接・全画面表示

◆基本操作
方向キー: 歩く    スペースキー: ダッシュ 
シフトキー: 並行移動  Zキー: 注視移動

Xキー: ちょい押しでジャンプ 長押しでしゃがむ
Cキー: 箱と自キャラの操作切り替え

Dキー: キャラを追加
Fキー: 箱を追加


Nキー: 時間停止  Mキー: コマ送り
Vキー: 血を吐く  Bキー: 爆発四散



◆ジャンプについて

まず、自分にはこういう理念がある。
だから、このゲームにおけるキャラクターの移動は全て、
「実際に地面を足が蹴った結果の反作用」でなければいけないと思っているワケです。

それはジャンプに関しても同じです。
Xキーでしゃがもうとして、足が縮み、その縮んだ足が元に戻るときの反動で、体が浮かび上がるべきなのです。

今まではそうしていました。
が、そのやり方には問題があります。
走りながらジャンプしようとすると、挙動が全く安定しないのです。 (垂直ジャンプは安定するが)


そしてこれは、ある意味で「完全に正確である」とも言えるのです。


なぜなら、現実で人間が実際に走りながらジャンプしようとするときは
踏み切り足などを、かなり先の段階から頭の中で定めており、
その上で、適切なタイミングで地面を蹴りだしているワケです。
 (これがフィードバックならぬフィードフォワード。 かなり高度なことをしている)

一方、ゲームの場合は、キャラクターの左右の足が今どんな感じの角度の状態にあるかなんて
プレイヤーは「全く意識せずに」ジャンプボタンを押すわけですから、
そんな準備されていない踏切の状態で足が伸び縮みしても、必ずしも地面を上手く蹴りだせるとは限らないのです。

 (任意のタイミングでジャンプをするゲームキャラにはフィードフォワードが出来ない)

具体的にいうと、24フレームの走りをしているキャラクターに走りジャンプをさせたなら、
「24種類の異なる姿勢のジャンプ」が発生しうるということになります。
(それが、正確と言うのなら、正確なのですが)


・・・が、いつまでもそんな風にジャンプが安定しない状態ではゲームにならないので、
ジャンプの挙動を統一しないといけなかったのです。
今回、この問題にようやく手を付けました。


実際の解決方法としては、かなりチープです。
足が持っている位相を180度で切り詰めて、ジャンプ発生時につねに同じ角度にさせてしまうのです。 
(これで、左右の足にそれっぽく割り振っているのです)
Xボタンを離してから5フレーム間、足を縮める動作をして、そのあと足を伸ばすようにもしています。
(これで、ジャンプ量も固定させます)

あとは、ジャンプ後の緩やかな動きとか、
ギリギリ落下中にジャンプを押してもちょっとだけ猶予期間を設けさせるとか、
色々、地味に調整しています。


まぁそんな感じ。
これはこれで結構このジャンプの挙動気に入っています。
やっぱり他のゲームにはないくらい、実際に地面を蹴って飛んでいる実感があると確信しているからです。

ごく当たり前の普通のジャンプに見えるのなら、それはそれでいいのです。
前のバージョンだと、それ以前にそもそもジャンプになってなかったって分かるから。


◆箱について

リアルタイムに押したり押させたりする箱を用意しました。 殆ど以前の奴の流用ですが。

衝突判定は出来るだけシンプルにしています。
今回の場合、全ての手足、胴体、頭、しっぽに対して、全ての箱との当たり判定が常に発生するワケですから
やってられんくらい重いワケです。


Cキーで操作切り替えをすると、自分で操作できる箱になります。

表示自体は、地形と同じテクスチャのスプライトを利用して無理やり動かしています。
地形と違って、ルートから制御していないので、視点を動かした時に同期のズレが発生してしまいます。
その辺も直さないといけません。

地形メーカー


◆エディタとして

編集パネルに「アニマルメーカー」のときの体パーツ編集モードに切り替えられるスイッチを用意しました。
これでリアルタイムに地形と体を編集できます。

リアルタイムにビッコを引いた状態で、色んな地形の上を歩くテストが出来ます。


地形エディタとしても、かなり色々固まってきました。
マップ全体の縦横の大きさを変更できたり、
視点の情報とか、中心位置、ズーム、パースとかも保存したり・・・
更に、そうやって編集した地形のデータを
「アニマルメーカー」同様に、共有オブジェクトにしてセーブ・ロード出来るようにしました。

それプラス、データをクリップボードにコピーして取り出せるようにしたり、
コピーしたデータを貼り付けることでも読込が出来るようになりました。
(コピペしたらリターンキーを押してください)
本当にアホみたいに単純な配列だけでこのゲームの地形が成り立っているのが分かるかと思います。

↓こんなん。
[0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0]



これで何ができるようになったかというと、
他の人と自作のオリジナルマップとかを共有出来るようになるわけですね。
まぁ別にそういうのは目指してないんだけど、出来るようにはしておいた。


あと、地形を編集したとき、
今まではテクスチャが一瞬消えたりしてましたが、それも直せました。


◆その他・色々見た目

あとは、背景にグラデをかけるようにしたりとか、
テクスチャを減色して調整していったりとか・・・

このアホみたいなサイコロステーキの地形の応用から
どんなのが出来るか模索しているのです。

洞窟とか、城っぽいのとか、遺跡っぽいのとか・・・

地形メーカー

地形メーカー

しかしだね、
どこまで行ってもベイグラはおろか、FFTはおろか、TOのグラにも一生追いつける気がしない。

はぁぁ、せめてテクスチャに補間が勝手に入るのを切りたい。

関連記事
[ 2014/06/15 14:59 ] 自作ゲーム開発 | TB(0) | CM(0)
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL

月別カレンダー
08 ≪│2017/09│≫ 10
- - - - - 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