癖のあるオブジェクト分割代入「{ hoge: value } = obj」

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
以下構文で「valueという変数を宣言し、その中に右辺オブジェクトのhoge要素の内容を代入する」という操作が行える。

var obj = { hoge: "hogehoge", fuga: "fugafuga" }; 
var { hoge: value } = obj;
console.log(value); // "hogehoge"

単独で見ると理解し辛い構文だが、まず以下のような「hoge,fugaという変数を宣言し、その中に右辺オブジェクトの該当要素名の内容を代入する」という構文があって、その発展形だと理解するとわかりやすい。

var obj = { hoge: "hogehoge", fuga: "fugafuga" }; 
var { hoge, fuga } = obj;
console.log(hoge); // "hogehoge"
console.log(fuga); // "fugafuga"



ちなみにこvar, let, constの宣言無しに使うと構文エラーになるが、括弧をつけてやると正常に動作する。

var value = "";
{ hoge: value } = { hoge: "fuga" }; // これはエラー
({ hoge: value } = { hoge: "fuga" }); // これは動作する
console.log(value); // "fuga"

ディープリンク

https://qiita.com/y-some/items/e0e0f5cb4d7d5559b09c
主にiOSAndroidで使われる、クリックすることでアプリが起動するリンクの総称。
PCでも一応利用可能で、稀ではあるが使われているアプリも存在する。(例えばVRChatのワールドリンクからアプリを起動するなど)
以下ような実装がある。

カスタムURLスキーム

プロトコル部分を起動したいアプリ指定に使う方法。
プロトコル部分に使う名称をアプリ側が決められるので、2つのアプリが同じ名称を使うと指定することもありえる。
その場合はどちらが使われるかは実装に依存する。
それを悪用したフィッシング攻撃も考えられるため、現在は推奨されていない手法。
例:line://hoghoge

AndroidではApp Links、iOSではUniversal Linksと呼ばれるが概要は同じ技術。
http, httpsのリンクからアプリを開く。
アプリ側で自身を起動させるURLを登録、URL側で起動させるアプリのパッケージIDを指定したjson情報を返すことで、フィッシング攻撃の危険性を防ぐ。

バイオハザード4VR

クリア。VRゲーム。
バイオハザード4VR版をクリア。基本的にはまったく同じものだがVR化されたことでゲーム性などが大きく変わっている。バイオハザード4は発売当初にクリアしていたが久しぶりなので印象的なシーンは覚えているが、詳細までは覚えていなくて新鮮に遊べた。
もとも評価が高いバイオ4のリメイクなので当然のように面白く、VRシューティングアクションとして見た場合も質が高い仕上がりになっている。グラフィック面はOculusQuestソフトなのでPCのゲームには及ばないながらもかなり頑張っていて雰囲気は十分。
全体的にホラー調が基本になっているとは言え、村・洞窟・古城・科学施設などステージのバラエティが豊かというのも評価できるポイント。VR化したことでカメラに自由度がある本人視点になっても破綻なく舞台が描けているのはさすがである。
ただリアリティが増したことで場違いなミニパズルが点在するのが、よりシュールになっている。HalfLife-Alyxは見た目のカッコよさでその点を押し切れているが、バイオ4のいかにも「パズルでござい」という感じは流石に違和感があった。
なんにしてもVRゲーム界の代表格を張れる、実力ある作品だったと思う。

The Hex

クリア。
皆既に半分忘れ去られたようなインディーズゲームから6人のキャラクターたちが集まった古い酒場に、「何者かが殺人を計画している」と電話がかかってきた……、という導入から始まる作品。
「Inscryption」の制作スタジオ作品で、第4の壁を破る系のメタ要素満載のゲーム。
ゲームとしては各キャラクターがかつて出演していたゲームを追体験するミニゲーム集的なものだが、あくまで体験をさせるといった面が強くゲームというよりはインタラクティブ体験物語作品を成立させるためのストーリーテーリング技法と言える。
(もちろん各ゲームは楽しく遊べる水準以上ではある)
「Inscryption」は最後の仕掛けの関係できれいに完結させられなかったが、こちらはなぜ彼らは集まったのか、殺人計画とは何だったのかなども満足できるたたまれ方をして納得できるエンドを迎えられる、エンディングまで満足できる作品になっている。
とはいえInscryptionのスタジオ、考察ページを見ると細かい謎の種をあちこちに仕込んであるようだ。
インディーズゲームはこういうのも出来るのが良いな、と思える作品だった。
以下ネタバレ。

続きを読む

StackLands

クリア。
ラスボス撃破まで。真ラスボスは撃破していない。
カードゲームと集落クラフトゲームを組み合わせた感じの作品だが、見た目ほどカードゲーム要素は強くなく、村を発展させてゆく要素がわりと強い作品だった。
そして見た目に反してローグライトな感じの作品ではなく、長い時間をかけて村を発展させていく要素が強い。
カードで素材クラフトをする、クラフトしたものを売った金でブースターパックを買うことで新たな素材カードを入手する、というアイディアはとても面白かったが、流石に長く続け過ぎると普通のクラフトゲームになってきて飽きてしまった。