妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。レトロゲームプロジェクトの研究4Sokoban編この広告は、90日以上更新していないブログに表示しています。内容タイルベースのフィールド上に置かれた箱を、全て目的地に移動させることを目的にしたパズルゲーム。上下左右のカーソルキーで移動。箱を押すことは出来ても引っ張ることは出来ない。箱の色と、置く場所のマークの色は同じでなければいけない。レベル構成Mainmenu開始画面・マップ選択画面。全てウィジェットのみで進行。Level1~4難易度ごとのマップTileMapで壁と床と背景を表現する。自機用のCharacterPawn_BPを配置。箱はCrate_BP、目的地にはStrongePoint_BPを配置。ブループリントGameCamera_BPカメラの他に、マップ上のポイント数と、ゲームインスタンス(GameInstance_BP)の初期化呼び出しも行っている。Creat_BP箱(荷物)のスプライト。押せる状態かどうかの判定。色設定と、同じ色の目的地と重なっているかどうかで画像を切り替える。StoragePoint_BP箱と重なった場合に同じ色か判定して、一致している目的地の数を更新。GameInstance_BPゲームをクリアした状態かどうかの判定を行う。クリアした状態と判断した時はウィジェットを表示。CharacterPawn_BP移動処理・移動先に箱がある場合は押す処理。1手前の状態に戻すやり直し処理。(毎回移動する前に現在位置を保存して、やり直しボタンを押すとその地点に戻る)(箱を押す場合は押す前の箱の場所も記憶)方向ごとのアニメーションを切り替える。「それでもいいけど、ピッタリ動かすのは無理だから、それでもクリア出来るようなマップ構造にする必要がある。「なんだか変な感じになる。キャラクターや箱もピッタリ同じ大きさで、Locationも縦と横が100の倍数になるようになってる。ルールの改造は難しいけど、ルール通りのマップを作るのはわりと簡単に出来る。「LineTraceで調べてる。このゲームもAIとかはないから、コリジョンの判定が一番むずかしい。箱を押せるのかどうかというところ。タイルべースのゲームだから、コリジョンを無視してLocationの位置関係だけで調べても良さそうな気がする。自分とLocationが100違うやつは隣にあるってことだから。(id:una_unagi)誤字脱字や古くなっている情報等あれば、ぜひコメントやメールでお知らせ下さい。)はてなブログをはじめよう!una_unagiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。