UNDERTALE、Gルートをクリアした話
2017年3月3日、全てはここから始まった
sansが6をミュータントの数って言ってきたのはパラノイア…?
この日からSANSに苦しめられ、時々チャレンジしては挫折を繰り返していた。
UnderTale:ラスボスで詰んでる
ゼルダBoTW:中ボスで詰んでる
ゴートシミュレーター:飽きた
Neverending Nightmare:よく分かんないけど単純でまあ楽しい←new
Sans戦から進めないんだよこちとら
積んでたUNDERTALEのラスボスと戦い始めて5時間が経過しました。まだ勝てません。以下はネタバレがない僕の苦しみに満ちた動画です。 pic.twitter.com/5n6WSXyyDz
Undertaleはセーブデータ一つしか持てないので、Gルートでずっと詰まってて他のこと出来ない
Switch版出たしいい加減やるか
NルートもPルートも、1年半前の記憶なので殆どない。
かといってGルートSANSまで来てリセットは辛い。
やる気を出せ。
9/18 20回
9/19 33回
9/21 20回
9/26 13回
計 86回やられてようやくSANSを乗り越えることが出来た。
Gルートをクリアして
こんなにクリアして嬉しくなかったゲームは無いです。
SANSを超えた瞬間は、「よっしゃあ!!」と声は出ました。
ただ、その後は「うわぁ……」としか言えず、終始無言でした。
凄いですUNDERTALE、心にキます……
次はもちろんPルートに戻って、全員救って見せる……
見せる…
このゲーム最強の敵、難関であったSANSを乗り越えて、えっ…そんな…マジ??
って感じさせるUNDERTALE。
虐殺者に救いも友達もいないんです。その通り…
自分用攻略メモ
Undertale Sans 攻略(後半) | ゲームブログ(仮)
基本は上サイトを参考にしました。
僕の苦手ポイント
骨リフトがめっちゃ苦手。
大体の攻略サイトには、「タイミングよく避けよう」ってありますが、まずジャンプするリスク、落ちるリスクが怖いので、
僕はリフトに乗ったまま避ける方法を探しました。
骨リフト1回目
行き:1本目は真ん中左寄り、2本目以降素早く右端
帰り:右端、最後の1本は真上にジャンプ
骨リフト2回目
行き:1本目は落ちるギリギリの右端(落ちるリスクの方が大きいのでダメ食らってもいい)、2本目以降は左端
帰り:行きのまま左端、最後は真上にジャンプ
unity1week「あつい」に参加して、撃沈した話
ペンギンショー
こんばんは、お久しぶりです。よねむらです。
3度目のunity1week参戦です!
さて、今回のテーマは「あつい」。色々考えた結果、あついの逆にさむいで行こうということになり、
水族館でペンギンがショーをする音ゲーを作りました!
音ゲー「ペンギンショー」無事完成しました!!
— よねむら (@Ynmr_2) 2018年9月8日
ペンギンになって、リズムよくショーを成功させる音ゲーです!
テーマがあついなので、そろそろ涼みたいな~ってタイミングで遊ぶといいと思います。短いゲームなので是非遊んでみてね!
9/9 20時公開です!https://t.co/TinqXyawpw#unity1week pic.twitter.com/wRPp45hptA
以下リンクで遊べます!
ペンギンショー | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
まあ、僕が可愛いペンギンのドット絵が描きたかったっていうのが理由の7割だったりします。
タイムスケジュール
曜日 | 内容 |
---|---|
月 | 企画書作り、ペンギンのドット絵描き・アニメーション作り、空ビルド、空アップロードチェック |
火 | 音ゲー判定の実装作業 |
水 | 音ゲー判定の実装作業 |
木 | 音ゲー判定実装作業完了、リザルトシーン作成、UI実装 |
金 | ツイート実装、タイトルシーン作成、シーン遷移、フォント選び、アップロード |
土 | インターン |
日 | インターン |
今回は土日にインターンがあったため、平日のみの開発となりました。
金曜を〆切に想定して動いていたので、前回のように土日に焦ることは無く開発を進められました。
音ゲー部分の実装
今回は初めての音ゲー制作だったので、ここを参考に作りました。
qiita.com
こんな感じで、背景画像の裏で判定取ってました。
ただ、譜面に対する成功失敗判定などがスマートに組めず、「ピッタリの時間 ± 15msなら可」みたいな判定をノーツごとに書く力技で解決しました。
なので、「またペンギンの音ゲーを別の曲で作って!!」と言われるとまた判定ピッタリの時間を見つけて…みたいなところから始まります。大変そう。
感想
今回まずは、可愛いドット絵ペンギンでゲームが作れたことには満足しています。
前回、白刃取りのゲームを作って母親に遊んでもらったら
母「こんな切られたら血が出るみたいなのじゃなくてさ~~、風船が割れちゃうとかもっと可愛いのにしなよ~~」
と言われたので、ペンギンなら文句無いやろってことで。
また、ビジュアルのお陰かTwitterでの反応も良かったです。
いつもは大体知り合いからの反応で留まるのですが、割と広がってくれて嬉しかったです。
あと、進捗を毎日作業終わりにツイートすると反応貰えるのでモチベに繋がりました。進捗ツイートはしたい。
以下、反省点(撃沈要素)
リズムゲームを作ろうっていうことで、リズム天国のような「前に鳴った音の真似をするゲーム」を作りました。
しかし、これが非常に分かり辛かった。
笛に被せるように押すのか、いつから押し始めるのか、そもそも4拍なのか8拍なのか、その辺が全然分かり辛く遊びづらいゲームになってしまいました。
UIデザインができていないとどうなるでしょうか。
https://www.hallab.co.jp/create/process/06/
遊ぶひとは、どうやったらできるのかと悩むことになります。
場合によっては、何をしたらいいかさえ分からない場合もあります。
そんなゲームは決して楽しいものにはなりません。
楽しませることが目的のゲームにとって、これは致命的です。
だから、遊ぶひとがやりたいことを、悩まないように案内し、困らないように助けてあげ、
意識させず自然と導いてあげることが、UIデザインということになります。
そう、僕は今回、楽しませる段階に立つことが出来なかったのです。
言われてみれば、その通りっていうことだらけでした。いつボタン押したらいいのか分からない、それはそうです。
制作していくうちに「これくらいならまあ、分かるでしょ」という気持ちが出てきて、
説明を疎かにしたり、特に分かりやすくする工夫などは考えませんでした。
ゲームは遊んで楽しいものなのに、操作が分からず辛いのはもうゲームとは言えないですよね。
これが今回の最大の反省です。
次にゲームを作る時の自分へ
- unity1weekだとしたらUIに丸一日以上使え
- 「これくらいは分かるでしょ」は甘え、誰が触っても出来るように意識しろ
- 余裕あったらランキング付けろ、ってかランキング化出来るような要素を足そう(再プレイ誘導)
- テンポ大事、今回のゲームは「いつまで続くんだコレ」って空気あるぞ
- 音ゲーは大変だぞ(学んだ)
- 金曜〆切の気持ちで動くと後々楽
ゲームの中身云々ではなく上手くプレイヤーに伝えることが出来なかったのは本当に悔しいです。
その辺意識して頑張ろうと思います。よい勉強になりました!!
A-Frameで日本語フォントする方法
暑いですね、よねむらです。
最近、WebVRを始めました。 中でもA-Frameで色々やろうと思っているのですが、A-Frameは日本語対応してないらしくかなり悩みました。
やり方
ここのNon-ASCII Charactersが参考になります。
使いたいフォントを用意する
フリーフォントとか何とか探して、用意します。.ttfとか。
MSDFを生成する
MSDF font generatorにフォントを突っ込みます。
重要
2.Select character setに、使いたい文字を全て入力する。 (入力した文字しか使えません)
そして、MSDFを生成します。
pngの名前変更
最後に
(例)
<html> <head> <meta charset="UTF-8"> <script src="https://aframe.io/releases/0.8.2/aframe.min.js"></script> </head> <body> <a-scene> <a-sky color="lightblue"></a-sky> <a-text value="ABCあいうえお日本語" font="custom-msdf.json" negate="false" scale="2 2 1" position="-2 2 -4"></a-text> </a-scene> </body> </html>
UTF-8を設定するのも忘れずに。
これが誰かの役に立てば。
参考
a-frameのa-textで日本語フォント使えた。https://t.co/co0UwHyEop でmsdf作って生成されたX.pngをX-msdf.pngに名前変更して利用。HTMLに<meta charset="UTF-8">を足して(UTF-8じゃないなら自分のエンコーディングにする)、a-textでfont指定するだけ。公式docに追記しよう。https://t.co/bzwRlaKe8N
— Yusei Tahara (@tahara001) June 13, 2018
備忘録 OculusGoにapkをインストールする方法
Unityで毎回Build & Runしないとデバッグも何も出来ないの面倒くさい…
adbをインストールするのは必須、ggればやり方出てきます。
1. Oculus Go の接続確認
>adb devices List of devices attached ****** device
みたいになってれば接続できてるらしい。
2. インストールする()
>adb install [****.apk]
すると、
adb: failed to install ****: Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install **** without first uninstalling.]
など出てきて、インストール出来ない。
3. 今度こそインストールする
>adb install -r [****.apk]
- r オプション : 既存のアプリを再インストールして、そのデータを保持
を付けることで解決した。
(3.5. 実はやっていたこと) # やる必要なし
実はアンインストールも試みた。
後で確認したけど、最初っから-rオプションで行けました。
> adb shell pm list packages -f
でパッケージ取得をして、それっぽいやつを見つける。
見つけたら、
package:/system/priv-app/Shell/Shell.apk=com.android.shell
の、=の後の "com.android.shell"を覚えておく。
>adb uninstall com.xxxx.appname
でアンインストールできる。
4. OculusGoで実行する
ライブラリ > マイアプリ > 提供元不明 > Project名(com.xxxx.xxxx)
表示はapkの名前じゃなくてProject名っぽい。
なので、別名apkでBuildしても、同名アプリだと判断されちゃうのかね。
それで2のエラーなのか…?
Oculus Go とUnityで、世界を歩いてみる
OculusGoを手に入れました。
— よねむら (@Ynmr_2) 2018年7月3日
「OculusGoとUnityで、FPS視点で歩き回りたい!!!」と思い立ち1日半くらい奮闘したので、忘れないようにここに残しておきます。
基本はこのページの、③GearVRコントローラーを使ってみるに基づいてます。
ビルド周りについては割愛します。
「Unity OculusGo ビルド」とかでggって下さい。
Oculus GoでUnity VRサンプルを動かしてみた - 趣味TECHオンライン | 趣味のモノづくりを応援するオンラインメディア
1.まず、アセットストアからVR Sampleをインポートします。
結構大きいファイルですが全部インポートします。
(将来的には、必要なものだけをピックアップしたい)
2018/7/17追記
Editor
Plugins
Readme.asset
Prefabs > Utils
Scripts > Common , Utils
VRStandard
ProjectSettings
Textures > GUI
Materials > GUI
のみのimportで行けるっぽい、余計なもの入れるとSwitch PlatformとかBuild重いものね
2.OculusUtilities.unitypackageをダウンロード、インポート
Oculus公式からSDKをダウンロード、解凍してインポートします。
Oculus Utilities for Unity | Developer Center | Oculus
3.OVRCameraRigを配置
MainCameraを削除します
(超重要、僕は削除を忘れていたコイツのせいで後々苦しめられました。さっさと削除しましょう。)
Assets>Oculus>VR>Prefabs>OVRCameraRig
を配置します。
4.VRCameraUIを配置
Assets>VRSampleScenes>Prefabs>Utils>MainCameraを一旦ヒエラルキーに配置。
MainCameraの下にあるVRCameraUIを、OVRCameraRigの下に配置します。
(親子関係が崩れちゃうけど大丈夫?的なのが出ます)
配置出来たらMainCameraは用済みなので削除。
5.OVRCameraRigに、スクリプトをアタッチする
- VREyeRaycaster.cs (Assets>VRStandardAssets>Scripts)
- VRInput.cs (Assets>VRStandardAssets>Scripts)
- Raticle.cs (Assets>VRSampleScenes>Scripts>Utils)
- GoControll2.cs
gist06dc2804e903cb98a4d97bf06b17c35a
Cameraが向いている方向に移動するためのスクリプトです。
OculusGoのコントローラータッチパッドのy入力に対応しています。
(スクリプトの名前がダサくてすみません…)
インスペクタの値はこんな感じ
アクティブなカメラがCenterEyeAnchorのものだったのでそれにしました。
6.Cubeやら好きなものを配置
ここまで来たら歩く世界を作るだけです。
Cubeを置くだけでも、アセットから引っ張ってきた場所を歩くもよし。
7.ビルド!
ビルドしてOculusGoで試してみて下さい。
多分酔うと思うので気を付けて下さい…
お疲れ様でした。
自分の向いている方に前後出来るようになりました。
めっちゃ酔います。 pic.twitter.com/H6b1c4GaZW
Oculus Goで病院を歩き回る pic.twitter.com/XU4tiBRwp3
感想
酔う、とにかく酔う。
Unity公式のVRチュートリアルにもFPSは酔いやすいので避けるべきって書いてあるしこれは要勉強。
しかし、VR空間で歩き回ることが出来たのであとはOculusGoのコントローラー入力周りを理解出来ればVRゲーが作れそうだけど、今日はもう被れません(体力的に)
VR開発楽しい、さようなら単位。
参考記事
GearVR x Unity - 視線や専用コントローラーで操作するサンプル
Oculus Go開発【コントローラー表示、クリック反応、移動、ポインタ、uGUI】 - トマシープが学ぶ
【連載】VRコンテンツの作り方 [15] Gear VR Controllerへの対応|開発ソフトウェア|IT製品の事例・解説記事
GearVRコントローラーをUnityで使う - のしメモ アプリ開発ブログ
Unityでマルチプレイゲーム作る知識
自分の為のまとめ。
Unityチュートリアルを基にしています。
ネットワークマネージャー
マルチネットワークを管理するオブジェクト、管理人。
追加するコンポーネント2つ
・... Network > NetworkManager
ネットワークの状態管理
・... Network > NetworkManagerHUD
NetworkManagerと連帯した、マルチネットワーク用のUI。左上のやつ。
NetworkIdentity
・ネットワーク上でオブジェクトを識別可能にする
・ネットワーキングシステムにそれを認識させるために使用されます
マルチプレイ世界で認識させたいものには全部付ける…(?)
スクリプト
using UnityEngine.Networking
public class PlayerController : NetworkBehaviour
↑ネットワーク系でなんやかんやしたい時は、これを欠かせない
NetworkTransform
... Network > NetworkTransform
「このプレイヤーゲームオブジェクトの NetworkTransform は、そのゲームオブジェクトの Transform の位置(Position)・角度(Rotation)・縮尺(Scale)を、サーバーおよび全てのクライアント上で同期します。」
こいつのお陰で別クライアントでも他プレイヤーの位置が反映されるぽい。
NetworkBehaviour
NetworkBehaviour - Unity スクリプトリファレンス
ここにスクリプトリファレンスがあって関数とか載ってる。
UnityでAndroid出力に苦戦したメモ【Unity 2018.1.6f】
Vuforiaを使ってARアプリをAndroid出力しようとしたけどエラー祭りで苦しんだのでメモ。
Android Studioを再インストールしてSDKのパスをチェックしたりいろいろしたがダメ。
「Unity Android unable」と検索して出て来た記事によれば、toolsを古いものに変えるといいとのこと。
…変えたけど上手く行かない
もしやと思って、toolsを一度削除してから、25.2.5のtoolsをSDKに置くとエラーは出なくなりました。
置換とかスキップとかいろいろやるより、ファイルの完全とっかえがベター。
その後はVuforiaのエラーCS0246。
SettingのXRでVuforiaを使うよ~ってやれば済む話でした。無事解決。
全然Unityが端末を認識してくれない問題。
デバッグ権限をPCに与えれば行けた、これ1時間くらい詰まったので覚えておきたい。
オートフォーカス無いとAR辛い問題
ここから飛べるスレの、CameraFocusController.zipをDLしてARCameraにアタッチ。
AndroidManifestはいじらなくても行けた。(そもそもAsset>Pluginsが存在しない)
深夜に頭痛と戦いながら数時間やり合ったのでもう同じ轍は踏みたくない。
あと、AndroidStudio入れたのでCドライブがあと3GBしかなくて詰んでる。