ホラーゲーム「鳴蟇村」をリリースしました。
2年ぶりの更新です。お恥ずかしい限りです。
今年ゲーム業界を辞めたりと個人的にいろいろなことがありましたが
無事DorsalFinStudio名義で鳴蟇村をリリースできました。
なりびきむらです。
漢字変換でぱっと出てきません。
なり+ひきがえる+むら
でやっと出てきます。
SNSをどう駆使するかの時代に、変換するのも難しいタイトルをつけてしまいました。
前回に引き続き今回もロマンの方を取ってしまったので今回も大バズしてテレビで報じられて映画化してメディアミックスで大儲けすることはできなさそうです。
担当箇所
・プログラム全般
・イベントやギミックを仕様と作成
・エンディング曲
あと雑務
前作米砂原醫院同様、静かめのゲームです。Chillホラーです。
今回はエネミーも2種類ですが、前作よりも頭は良くないです。
AIがドア空けたりしないからね
開発に関して
UE5を採用しました。
この開発に入る前に米砂原醫院のUE5リマスター版に着手件検証してたので、特に問題なく移行に成功。
制作方針に関しても同じです。
・エンジンを改造しない
・UEC++を触らずBlueprintで完結させる
一応保険としてUEC++ベースでプロジェクトを作ってたんですけど、最後まで使いませんでした。
キャラクターに関して
前回と大きく違ったところはMetaHumanをやめてCharacterCreater4を採用しました。
検証と子どものモデルを作るために使ってみました。
比較的楽にモデルを作れましたがControlRigを作り直したり、LiveLinkでの表情付けするためのAnimBPを調整したりとMetaHumanなら楽だった部分はありました。
ただMetaHumanはマテリアルの最適化が必要なので、どっちがいいとかはわからず。
次の作品では大人はMetaHuman、子供はCharacterCreaterと使い分けたいと思ってます。
設計に関して
米砂原醫院のシステムをちょっと改修してイベントが作りやすくしました。
某大型RPGを作ってた時に設計したイベントシステムの思想を持ってきちゃったので世に出せないや。
まあゲーム業界やめたしどうでもいいっちゃいいんだけどね。
最後に
まさか3作目まで出せるとは思いもしませんでした。
嬉しい・・・。
ゲーム作りが正直しんどくなってたんですけど、ゲーム業界やめたらモチベが戻ってきました!みんなもやめよう!!なぁ!!!!
米砂原醫院のUE5版がSteamでDLできますのでぜひ
あとSwitch版も出てます。
ホラーゲーム「米砂原醫院」をリリースしました。
お恥ずかしい限りです。
一年数カ月ぶりのブログ更新となります。
この度DorsalFinStudioというインディーゲームスタジオで米砂原醫院というゲームをリリースしました。
(前回真砂楼をリリースを記載した際に技術的な事を書きますと記されていましたが今だ行っていません。多分もうやらないと思います。)
担当箇所は
・プログラム全般
・性格の悪さがにじみ出ている部分のゲームデザイン
・楽曲制作
主要メンバーも特に変わっていませんが、今回はアートの方が増え、UIデザイナー、3Dキャラクターモデラーの方に携わっていただきました。(詳しくはクレジットを見てください、もれなく登場人物全員プロ)
開発に関して
制作方針に関しても同じです。
・エンジンを改造しない
・UEC++を触らずBlueprintで完結させる
開発中UE5がリリースされましたが、見送りました。
発売時期が決まっていたため安定性を求めた形になります。
発売が一年後とかだったら移行していたと思います。
開発のテーマ
前作で頂いた意見から
・ゲーム部分の強化
・ジャンプスケア以外のギミックを増やす
・主人公の心の声を出す(字幕)
などゲーム部分の強化を図りました。
また本編以外の機能として廃墟探索モードを追加しました。
技術的な部分ではMetaHumanの検証も兼ねています。
ゲームに登場する医院長と看護婦をMetaHumanで作成しています。
そもそもゲームでMetaHumanを使えるのか、運用しきれるのか今回検証を行いました。結果としてはゲームに必要ないレベルのテクスチャやマテリアルが多すぎっ!という感想でした。そのまま使うよりかはゲームの対応スペックに応じて調整が必要かと思います。(最適化担当のtekktekk氏がもしかしたら詳しく書いてくれるかも)
真砂楼との相違点
・ギミックのインタラクトに対し条件によって発生するイベントが違う
・自立型AI
・廃墟探索モード
・字幕システム
となります。
ギミックシステムに関して
真砂楼では1つのインラタクトギミックに対し、1つのイベントでしたが米砂原醫院では進行フラグによって出すイベントを変更する必要がありました。
なので真砂楼から根幹のシステムの再設計を行いました。なので若干挙動が違ったりします。
スプレットシートでギミックの条件を管理していました。
こちらに関しては次の作品が発売する前にはこのブログに残したいと思います。多分。気が向けば。頑張る。
(ブログの書き方が忘れたのでスライド形式に多分する)
自立AIに関して
・自立AIが動き回っている
詳しい仕様はかけませんが、これが一番めんどくさかった。
このAIは
・徘徊モード
・追跡モード
の2つ実装したのですが徘徊モードがめんどくさい。
今回のゲームでは部屋を行き来する必要があります。つまり部屋に行くには複数のドアを開けてる必要があります。この仕組が非常にめんどくさい。
最初移動中にRayを飛ばして当たったドアを開けるようにしたのですが、目的地のルートではないドアに反応する不具合が発生。
最終的にはエネミーのポジションから目的地のポジションまでのパスを取得しそれにそってRayを飛ばしてルート上にドアがあるかを見ていました。ドアのお陰で非常にめんどくさかった。
ただ完成して気づいたのですが、この徘徊部分プレイヤーから全く見えないため正直ドアを開く音を慣らしてドアは開かずにすり抜けるのでもよかったなと。
工数の無駄でした。ゲーム全体の完成図を想像して作れない力不足。反省。残念。
結果AIはめんどくさい!
廃墟探索モードに関して
今回カメラモードを実装しました。
こちらはCineCameraの機能をフル活用しています。
カメラ操作はUE4エディターでの操作と同じにしているので普段UE4を触っている人なら接しやすいかと。是非廃墟で写真撮りたい人は使ってみてください。
ディレクターも嬉しそう
米砂原醫院が発売してデバックが終わったので
— あたかね|ゲーム制作 (@AtakaneA) 2022年8月21日
廃墟探索モードで遊んでる。
実装してよかった楽しい!
撮った写真を写真編集ソフトで現像して遊んでます。#米砂原醫院 #ホラーゲーム pic.twitter.com/wRjTGhHvms
最後に
ゲームを2作もリリースできたことに対し本当に奇跡的な事が続いているなと思っています。関わってくださった方々、そしてプレイしてくれた方々に感謝します。
今後まとめるほどではない情報に関してはDorsalFinStudioのTwitterにちょこちょこ書いて行こうと思います。
ゲームのシステムに関して気になるところがあればTwitterのDMに連絡くれれば答えられる範囲ではありますが、返信しますのでよろしくです。
後、このブログには書いてないですけど真砂楼Switch版出ていますので!
よろしくお願いします!
【概要編】ホラーゲーム「真砂楼」発売しました。
恥ずかしながら戻ってまいりました。
数年ぶりの更新となります。
ひっそりとインディーでゲームを作っておりました。
買ってください。 (現在超絶最強の賛否両論の評価)
ゲーム内のラジオは自分なので声優としてもデビュー作だから買ってね。
ゲームの設計や仕組みなどに更新していこうとは思っていますが、やるやる詐欺が多いブログなのでやるかわかりません。
またゲーム実装に関しては特に難しいことをしなかったプロジェクトなので特筆して書くこともないです。(SteamAudioとか最適化は自分担当じゃないからわからない)
(ギミック系をモーションではなくシーケンサーで完結させたのはちょっと特殊かも・・・
トレーラーに関しては絵コンテ書いてそこから字幕含めシーケンサーで作ったのもちょっと特殊かも・・・)
開発体制
ディレクター、背景、ゲームデザインのあかたねさん
プログラム、ゲームデザインの自分
サウンド、最適化のTekktekkさん
がメインで開発を進めておりました。
開発期間は1年 基本土日作業
となります。
プロジェクトの方針としてとにかくリリースさせることだったのでどれだけ最短でゲームを完成させられるかをメインの指標として掲げました。
UE4に関して
UE4は素のエンジンを使用しています。エンジンに手を入れるとバージョンアップの作業工数が発生するためやらない事は最初決めていました。
そのため立案の段階でUE4が不得意とすることはやらなず(そもそも不得意なことをさせる時点でおかしい)UE4に優しい仕様に合わせる形にしました。
5年もUE4触ってると得意なことと不得意なことは瞬時に見抜ける特殊能力を得れるものですね・・・。
実装に関して
プロジェクトに関しては全てBlueprintで作成しています。
理由としましては
・UEC++の恩恵が受けたとしてもゲームの質が上がるジャンルではない
・土日作業になるためNullアクセスでエディタークラッシュして他の人が作業が出来なくなるリスクを減らす
・BPにすることで何か大量の修正を行う事が発生した場合に作業を分散できる
などUEC++のメリットよりデメリットのほうが大きくなってしまったためとなります。
アクションゲーム以外の大規模プロジェクトだとシステムはC++、ロジックはBPであるべきですが少人数なので保守の観点でもBPのみで完結させる形としました。
(95%BPのゲームをコンシューマーで出した経験があるので特に不安はありませんでした。)
このゲームはローカライズに対応しており、ゲームの初回起動時にSteamクライアントにアクセスして言語を取得する必要がありましたがマーケットプレイスにBP化したプラグインがあったので金で解決しました。
書くの疲れてきたのでこのあたりにしますが、今回ゲームを出すに当たり様々な仮説を立てて勧めていたのでいつかその結果も共有できればと思います。
後多分SteamAudioや最適化系は結構知見が溜まったのでTekkTekkさんがブログでまとめると思うのでそちらを見てください(自分もよくわかってない)
個人的な話
個人的に嬉しかったのは
・20代の目標だったインディーでゲーム発売を達成出来たこと。
・トレーラーの評判が良かったこと。
・自作の曲をゲーム内に入れられたこと。
・沢山の人が配信、実況してくれたこと。
・RTAやってくれたこと
など色々と数え切れません。
この一年土日削ってゲーム作ってよかったなぁとしみじみ思います(高校の同級生から結婚報告きたときは何やってるんだろ・・・と思いましたが!!!)
みなさんもゲーム作りましょ!!
ではさよなら~!
自分用記事一覧
2018年 8月
過去記事書きなおします。
時が経ち今のルールに則ってない処理方法の修正及びバージョンアップによって意味のなくなった記事の削除を行います。
古い記事からメスを入れていきます。週一で。
あとドロンジョに踏まれる記事は必ず消します...
必ず....
物忘れが激しい自分が見やすいように作った記事一覧です。
宣伝です。
第4回ぷちコンで3位をいただきました。
[UE4] 第4回UE4ぷちコン、最優秀賞作品発表! | historia Inc - 株式会社ヒストリア
受賞したゲームの実行ファイルです!
是非遊んでみてください!
2015年に作ったギミックたち - 僕の私のUnrealな日々
チュートリアル的な奴
UE4:Eventノードを使った簡単なBluePrintの作り方
色々あって悲しくなった記事です。
実装編
VR系
・UE4+VR:画面の中心とオブジェクト(アクター)が重なった時にイベントを発生させるブループリントについて
Player側の実装系
・一人称と三人称の切り替えのBluePrintの作り方 (New:画像を入れ替えたためノードが少し見やすくなりました。)
・アクターへのターゲットのロックオンのブループリントの実装について
・リロードなどのステートマシンを使用しないアニメーションの実装について
サウンド系
ギミック系
被破壊メッシュ系
その他
・:BoxCollisionのスケールをLineTraceでHitしたLocationまで伸ばすBPについて
・オブジェクトのアウトラインをM_Highlightを使って光らせる。
配布物
・TheForestっぽいクラフトのギミックのマクロの配布と使い方
BluePrint研究(気になったノードを調べる奴)
Random Point in Bounding Box メモ
マテリアル研究
マテリアル:Rotatorを使用してテクスチャを回転させる時に四隅に出てくる部分を消す
その他
UE4:アニメーションシーケンスでのNiagaraエフェクトの再生方法
お疲れ様です。
現在Chaos of warという変なゲームを作成中です。
Chaos of warというマルチプレイゲームを開発してます。
— ぶっさん (@Bussan_desu) 2018年9月30日
武器、魔法、特殊能力、クラフトなどの要素が入った対戦・協力ゲームです。
協力者を探してますので興味ある方は是非。#UE4https://t.co/C7V4QWo0vLhttps://t.co/IBO7HJts5j
このプロジェクトではカスケードそしてNiagaraを使用しています。
まだアーリーアクセスなのか、カスケードのようにアニメーションシーケンスでエフェクトを設定して確認する及びアタッチ機能がありません・・・。
そのため通知BPにてこの機能を補完することにしました。
エフェクト提供:@torisutamoyasitwitter.com
まず通知BPの特性を説明します。
通知BPはサウンドやエフェクトをアニメーションシーケンス内にて発生及びスポーンさせることが可能です。
続きを読む
UE4:WheeledVehicleを用いたアクターへの乗車処理
どうもです。
製作中のゲームで車への乗車処理を作成しました。
バイクにエンジン音とカーステレオが入りました。音楽を鳴らす意味は・・・。あんまりないかもしれません。 #UE4 pic.twitter.com/fj4lWdkHub
— ぶっさん (@Bussan_desu) 2018年10月28日
マルチでの複数人で乗車可能なクルマが出来た~。処理的に4人乗りまで行けるはず(PC足りなくて出来てない。 #UE4 pic.twitter.com/rgYY8LpbVY
— ぶっさん (@Bussan_desu) 2018年11月4日
簡易的な作成方法をまとめようと思います。
(マルチだとカメラカクつきが出たため処理を変えました。)
— ぶっさん (@Bussan_desu) 2018年11月11日
(手が上がっているのは気にしないで・・・・)
仕様
車に近づいて"E"を押すと車に乗れる
車に乗っている状態でEを押すと戻る
使用するもの
Vehicleテンプレート
ThirdPersonCharacterテンプレート
構成としてはコントローラー側で入力処理を行う。
BaseCharacterを作成しThirdPersonCharacterとDriverCharacterに継承させる。
カメラ処理はBaseCharacterで行う。
エンジンを起動しVehicleテンプレートを選択します。
マップに配置されているSedanを選択し、詳細のInputからAutoReceiveinputをDisabledにします。
続きを読む
UE4:新・簡単なOculus(VR)用のメインメニューの作り方(複数対応編 2018年バージョン)
この記事の複数対応についてTwitterのDMにて質問を受けましたので記事にしました。
UE4:簡単なOculus(VR)用のメインメニューの作り方 - 僕の私のUnrealな日々
BarWIDのコンポーネントにプログレスとテキストを起きます。
アンカーは中央に設定してください
コンポーネントをボックスコリジョンを親にして、子にWidgetを設定してください。
Widgetには先程作成したBarWIDを設定します。
BoxのコリジョンをAllBlockに。WidgetをNoCollisionに設定してください
BarWID
BarWIDにてパーセントを設定する関数、Textにセットする関数を作成しました。
バインドを作成しテキストに設定を行いました。
LoadBarBP
タイムラインを作成しました。
5秒間で1になるようなものです。プログレスバーの時間を変更する場合はここの時間の設定を変えてください。
IsLoadingというBoolの変数を作成しました。EventLoadingに処理が走った際、Falseだったらタイムラインの処理が、EventStopLoadingの処理の際はTrueだった場合にタイムラインの処理が入るようにしました。
処理終了後はOpenLevelを呼んでいます。Name型の変数を作って接続しています。
この変数は編集可能にしてください。
ThirdPersonCharacter
TickからLineTraceの処理を呼んでいます。これはカメラから1000離れた所までトレースを出すといったものです。HitActorにLoadBarBPをキャストで他のBPにあたった時の処理を弾いています。
LoadBPというLoadBarBP型の変数を作成し、変数がNullだった場合変数に入れEventLoadingを呼び出します。また、Traceに失敗知ている場合及びLoadBarBP型ではなかった場合、EventStopLoadingを呼び出し変数を空にします。
レベルに配置し、作成した変数OpenLevelにレベル名を入れます。
Loadのバーのテキストにレベル名を入れたいのでBeginPlayでSetName関数にOpenLevelを入れます。
以上