Featured

OMORIのMod “REVERIE” の日本語版3.0をリリースしました!!

この記事にはゲーム「OMORI」のネタバレが多少含まれます

追追追追記: 3.0日本語版が出たぞ!!

(一番下に3.0の情報あります)

こんにちは。

このModは、OMORIに新たなストーリーを追加する大規模なModで、トゥルーエンド後の引っ越しの後、サニーがまたヘッドスペースに戻って冒険する、といった内容となっています。

ヘッドスペースでは、今までのお友達とは別に「パンキジ」「スイートハート」「スペースボーイ」の3人と一緒に冒険します。

既存のマップはほぼ出てこず、基本的には作り直されたフィールドとなっております。

エネミーやボス、アイテムやスキル、音楽なども新しいものが多数追加されています。

また、難易度も「ふつう」「むずかしい」の2種類から選択でき、「ふつう」でも通常のOMORIより少し難しめな難易度設定となっています。

現在チャプター3まで公開されており、通しでプレイすれば3~4時間ほど遊べるボリュームとなっております。

ちなみに、PCのSteam版でしか遊べません。

また、今回自分が作ったModは日本語版のOMORIでしか動きません。

必要なModは以下の3つです

  • OneLoader Modローダー マイクラで言うForgeみたいなもん
  • REVERIE 今回の自分が翻訳したMod本体
  • CJK Data Compatibility 英語版以外で英語版向けのModを使えるようにする互換Mod 

Modのインストール方法はこちらの記事を参考にしてみてください

REVERIEの世界へようこそ

「はじめる」を選んで、難易度選択画面が出れば正常に導入されています。

うまくいかない場合、DiscordのREVERIE日本語サーバー で質問してみて下さい。

ヒント

バニラとセーブデータは共有です。

セーブデータは “www/save” の中に入ってるので、バックアップすることをオススメします。

(Modの影響で元のセーブデータが壊れる可能性も0ではないよ!! バックアップ大事)

個人的には Improved Save & Load Menu を使って、セーブスロットを増やすのを更にオススメします。

Modのタイトルにチャプター2という文字が入ってますが、このバージョンにチャプター1のデータも含まれています。

スキルは6つまで装備できます。

最後に

突然10月頃にこのModを翻訳したいとReverieの公式英語Discordで発言したら、快諾していただきました。(結局2ヶ月かかってしまった…)

正直、REVERIEはボリュームも大きく、もしかしたらまだ翻訳しきれてない場所を見つけてしまうかもしれません。

そんな時はこっそりDiscordで教えてくれると嬉しいです。

それと、REVERIEを遊んでて、

「俺のスイートハートはこんなセリフ言わない!!」

みたいな解釈違いが起こるかもしれませんけど許して叩かないで…

というわけで、みんなREVERIEで遊んでね!!

感想はTwitterでハッシュタグ の両方をつけて投稿して下さい!

あと、もしDiscordとかで初見プレイ配信する人いたら誘ってください!見に行きます!

追記

この記事を書いたのが12/23くらいで、本当は12/25に公開する予定だったのですが、手違いで送れてしまいました… すいません…

それと、REVERIEが

OMORIの2周年を記念して追加ミニアップデートを追加するということで、これも公開次第翻訳作業をしたいと思います。

(正直このタイミングでなにか出すだろうなとは思ってた)

2023/02くらいに翻訳してた作業の裏話とかしんどかったことの記事を書こうかなぁ

追追記 2.5.0がでた!!

追追追記 2.5.0の日本語版ができた!!

完成するのにめちゃくちゃ時間がかかってしまいましたごめんなさい。

必要なModが1つ増えてるので注意!!

難易度は前より気持ち簡単になってます。

最初から最後までいろいろ変わってるので2.0をクリアした人も遊んでみてもいいかも。

バッジ機能も増えたよ!

遊んでね!!

追追追追記 3.0の日本語版ができた!!

また時間がかかった…

Modの翻訳作業自体は慣れてきたものの、今回は現実世界のお話で会話文がかなり多かったためまた時間がかかりました(NPC多すぎ!)

必要なModが1つ減ってかつOneLoaderが新しく出た最新版じゃないと動かないので注意

OneLoaderの新しいバージョンの作成にも自分が関わりました(おかげで必要Modが1つ減った

3.0の必須ModはOneLoader(最新版の1.4.1じゃないと動かないよ! アプデしてね!)とCJK Data Compability(こちらも最新の1.0.8.2じゃないと動かない!)です

両方自分が関わってるじゃないか 怖いなぁ

ちなみに今回から2.5のセーブデータが使いまわせるようになってます(2.0は無理だけど…)

なので、またラッカセカイを走り回るのはだるいよ! という人はセーブデータが残ってるならスキップできるよ!

遊んでね!!!

2024年よかったゲーム

こんにちは、年末はずっと革命を作り続けています

あなたは作ってますか?

あれ、デジャヴかな…

2023年はどうした

これは自分が良かったと思ったゲームのランキングです。

この年にリリースされたものではないものも含まれています。

あくまで自分が初体験したタイミングです。

1位 Celeste

堂々の1位です。

というか1位はこれ以外考えられない。

間違いなくこのゲームは自分の人生を変えました。

毎年買って毎年1位にしたいくらい好きです。ずるい

でも来年Switch版を買えば来年も1位にできるね。

というか2024年中にずっとSwitch版のセールを待ってたのに来なかった…

twitchで定期的に配信をしてるのでよかったら

はやくゴールデンストロベリー全部取りたい

2位 Call of Duty®: Black Ops 6

めちゃくちゃはまってます

いままでのCoD作品は大体K/Dが0.9くらいだったんですがなぜか今作は1.15くらいあって

個人的にとても操作しやすいのもいい点です

ちょっと気に食わないのがマップが狭いのが多いことかな…

全マップをもう一回り大きくしてほしい気がする

レベル上げもかなりハイペースで進んで今プレステージ4です

3位 Backfirewall_

コミカルなゲームでした

The Stanley Parableなどが好きな人はぜひ

4位 Hollow Knight

操作が難しかった記憶であふれかえってる…

ただ自分の中ではCelesteを超えられなかったよ…

一生積みそう

5位 アンリアルライフ

ずるい なにが?

OMORIのModの入れ方

1. Modをダウンロードする

https://mods.one から必要なModファイルをダウンロードします。
OneLoader は前提Modなので必ずダウンロードしてください。
(マイクラで言うForgeみたいなもの)

2. OneLoaderのインストール

ダウンロードしたOneLoaderのzipファイルを開きます。
SteamからOMORIを右クリックして「プロパティ」を開き、「インストール済みタブ」から「参照」を押して、OMORIフォルダを開きます。 (以降このフォルダをゲームフォルダと呼びます)
OneLoaderのzipファイルの中身をゲームフォルダに貼り付けます。
ゲームフォルダの中の別のフォルダの中に貼り付けてしまわないように注意。

3. そのほかのModファイルをコピーする

OneLoader以外のあなたが入れたいModファイルをゲームフォルダの「www/mods/」の中に入れます。
zipのまま入れてもいいですし、解凍してトップレベルのフォルダに入れても構いません。

4. 注意点

Modを遊ぶときは必ず元のセーブデータのバックアップを取りましょう。
Modを外したいときはSteamでOMORIのプロパティを開き、「インストール済みファイル」から「ゲームファイルの整合性を確認」をすれば元に戻せます。

SNS比較のツイートが間違いだらけなので訂正しておく

あまりにこのツイートが間違いだらけなので怒っている

ひとつづつちゃんと解説していく

1度した発言は消えない

まず、インターネットでアップロードしたものは基本的に誰か第三者が保存していれば消せなくなります

そして、このツイートではMastodonだけしか書かれてないのですが、BlueskyもMisskeyも他のサーバーとのやり取りをする機能があるので、悪意のある他のサーバーとつながっていれば消せなくなるでしょう

そして、「1度した発言は消えない」という表現もダメ

これじゃ投稿が消せないかのような勘違いが起こる

これらのSNSでもちろん投稿を消す機能はあるし、大半の場合は悪意のある他のサーバーとつながっていることもないので消えます

つまり「悪い人がいた場合消すことができない」ってだけです

それはインターネットへの投稿全てがあてはまります

AI学習されるか否か

まず、AI学習される されない という表現が間違っています

AI学習についてみんなが知りたい点はこの二つです

  1. 見知らぬ第三者がAI学習するか
  2. 運営がユーザーコンテンツをAI学習するか

まず、見知らぬ第三者がAI学習をするか、ですが、これを防ぐことはできません

あらゆるSNSで悪意のある第三者は鍵垢にでもしないかぎりAI学習させることができます

クローラ1が存在しないと学習させられないのではと思う人もいるかもしれませんが、悪意のある第三者が自動で画像を収集するプログラムを作るのは容易です

TwitterもBlueskyもMisskeyもMastodonも全て防ぐことはできません

AI学習拒否機能というのは、ユーザーやプラットフォームが他のユーザーに対して「AI学習しないでね」とお願いしているだけで、悪意のある第三者はいくらでもそれをすり抜けるプログラムがかけます

次の運営がユーザーコンテンツをAI学習するかはわかると思うので省略します

ただ、この2種類の別の点についてひとまとめに「AI学習される」だの「AI学習されない」だの一言でまとめてるのでこの文言もダメ

ブルースカイもフォローできる

まず、MisskeyとMastodonは同じプロトコルを使用しているため、お互いをフォローしあうことができます。

そして、Misskey、MastodonとBluesky同士は Bridgy という外部サービスを使うことで、疑似的にフォローすることができます

MisskeyからBlueskyに一方的なフォローしかできないようにとらえられるのでこの文言もダメ

日本人運営

まずタイッツーは日本人作成の日本人運営で合ってます

ただ、Misskeyは日本人運営ではありません

日本人がMisskeyを開発しているのであって、運営しているのは複数の別の人たちです

日本人はもちろん、ほかの国の人たちもたくさん運営しています

運営されているのが1つだけではなく複数運営されています

その中で一番大きいのが日本人が運営している misskey.io であるだけです

運営と開発を混同しているのでダメ

長文が書ける

Blueskyは300文字なんですが

Mastodonはデフォルトで500文字

Misskeyはデフォルトで3000文字書くことができます

デフォルトで、ということはそれ以外のところもあります

最後に

雑に書いたのでもしかしたら間違っているところがあるかも知れない

ただ元のツイートよりは正確性は高いはずです

  1. みんなが言ってるのはAPIのことだよね? クローラのことをAPIと呼ぶのもいかがかと思うが… ↩︎

入院していました

2024/06/19から2024/06/23まで肺炎と██████で入院していました。

ICUにも1日入っていました。

退院から2週間たったのですがいまだに咳が止まりません。

Reverieの翻訳についてですが、かなり遅くなりそうです。その理由として

  1. 入院で遅れた
  2. そもそもテキスト量が多い
  3. ████が登場するのであのゲームを遊ばないといけない
  4. 別の優先度が高い翻訳プロジェクトにも手を付けている

最近翻訳ばっかりしているよ

あと一番ショックだったのが自分普通全裸で寝るんですけど、救急車で運ばれる前に親が自分に服を着せたんですよ。

その服が救急車内で破られてしまってもう着れなくなってしまった

限定販売でもう売ってないし、着心地もデザインもかなり気に入ってたので残念

OMORIのModの日本語化は地獄

技術的なことしか話しません

突然の愚痴です

OMORIのModを日本語化する作業はマジで手間取ります

全部OMOCATとPLAYISMが悪い

まあもともとModなんて作られる前提で開発してたわけじゃないから仕方ないけどね

英語版と多言語版で追いついてない差異が多すぎる

まずこれです

英語版は一番バグも少ないのですが、日本語版とデータを見比べると、バージョンは一緒なのに明らかに日本語版のコードのアップデートが追い付いていない箇所がたくさん見つかります。

これのおかげで、コモンイベントなどのスクリプトにパッチ処理をするときにバグるので、その辺うまく調整する必要があります。

その辺ある程度うまく調整してくれるMod cjkdatacompat を作りました。

中国の人もこのModを使ってるみたいです。

多言語版でもなぜか未完全の英語版のデータが入ってる

これは作業するうえで仕方ないのかもしれないけど、英語版のデータが入ってることにより、OneLoaderに不可解なバグが存在します。

これのおかげでたとえばプルートでファストトラベルする時、新しい地名を追加するのに苦労しています。

ハードコードされた言語間の差異が多すぎる

一番簡単な例が、日本語版のUIのフォントサイズは小さいのですが、フォントサイズなどがハードコードされているのでJavaScriptを目diffして書き換えないといい感じに表示できない点です

しかも英語版だけは半分ほど(全部じゃない!)ハードコードではなく言語ファイルからフォントサイズやマージンの広さなどを取ってきてくれる仕組みがあるのに、日本語版だとほとんど使われていません…

Custom Action Battle Text.js

こいつはマジで許せない

こんな調子で3000行くらいハードコードされてます

マジでこれを翻訳するのダルすぎる

ただReverieは2.5からこれを一切使わない仕組みを作ってくれてたので作業がめちゃくちゃ楽だったよ!

本当にこれらの修正作業をやってるときは虚無です

次ゲーム作るときはもうちょっとマシな構成にしてくれると嬉しいな!!!

2022年よかったゲーム

こんにちは、年末はずっと反物質を作り続けています

あなたは作ってますか?

これは自分が良かったと思ったゲームのランキングです。

この年にリリースされたものではないものも含まれています。

あくまで自分が初体験したタイミングです。

1位 OMORI

堂々の1位です。

というか1位はこれ以外考えられない。

間違いなくこのゲームは自分の人生を変えました。

毎年買って毎年1位にしたいくらい好きです。ずるい

でも来年Switch版を買えば来年も1位にできるね。

2位 GOODBYE WORLD

このゲームと最初出会ったのは2022年6月のSteamネクストフェスでした。

ストアページを見て一目惚れし、そのままデモを遊んで最終的には作者の人に応援のツイートを送ってました。

3位 Call of Duty®: Warzone™ 2.0

MW2は買ってません。自分は3arcじゃないCoDは買わないと決めているのだ…

まだ20時間しかやってないけどCoDやっぱ楽しいなってなっちゃった。

みんなクラッシュするって言ってるけど自分は1回しかしてないや。

DMZばっかりやってるけど楽しいもっとやりたい。

4位 Milk outside a bag of milk outside a bag of milk

初めて聞いた人は Milk inside … の方からやりましょう。

好きなんですがあまり言語化できないですね。

おそろいのTシャツを作って着てるくらいには好きです。

でも精神持たなくて全然遊べない…

5位 Dome Keeper

もうちょっとガッツリ遊びたいけどコンテンツが少ない気もする。

この記事書くの飽きてきました。

SteamもSpotifyとかRedditみたいな今年のまとめみたいなやつ作るらしいです。

早く見てみたいですね。

なんか年々主人公がつらい思いをするゲームじゃないと楽しめなくなってきている。

あったら良いな こんなGoのアップデート

最近不眠症気味であまり眠れてません

今は早朝5時です。

今日アマゾンで買った M.2 SSD が届くのでメイン機にLinuxをインストールするつもりなんですけど、そのために体調を万全にするために寝たかったが眠れませんでした。

1. try マクロ

いい加減、

resp, err := http.Get(url)
if err != nil {
	return nil
}

と書くのは飽きました。

try マクロ (名前は適当) は1つ以上の任意の型を取ります。

ただし、一番右の引数は、その関数の返り値の一番右の型と同じかつ、nilable でなければなりません。

一番右の変数が nil でない場合、このマクロはこの関数を一番右の返り値は先程の値、それ以外はゼロ値で return します。

そうでなかった場合は、一番右以外の変数を返します。

このマクロを使うことで、上記のコードは以下のように書けます。

resp := try(http.Get(url))

2. デフォルト引数

そろそろ type PostStatusParam struct から脱却しませんか?

func PostStatus(
	text string,
	spoiler bool = false,
	photoes []io.Reader = nil,
	ctx context.Context = context.Background(),
) (*Status, error) {
	// send status
}

func main() {
	// do something
	PostStatus("the cake is a lie...", spoiler: true, photos: []io.Reader{f})
}

関数のオーバーロードはいらないよ。

3. nil非許容型

nilable な型の後に ! をつけることで、nil が入れられなくなります。

また、変数が宣言されるときに?をつけることで、nil許容型に変換されます。

var r io.Reader! // error

r, err := os.Open("readme.txt") // r は nil非許容型, err は nil許容型

r = nil	// error
r2? := r	// r2 は nil許容型
r2 = nil	// OK

Golangで?を追加するのは難しそうだなあと思って逆にすれば良いんじゃねと思った。

os.Open はエラーの場合、rnil になるじゃないかとお思いですが、呼び出してもエラーしか返さないダミーのリーダーが返されるようになります。

破壊的変更ですね。

いい加減流行りに乗りませんか。

4. イテレータ

Genericsが追加されたことだし、GoでもPythonのyieldみたいなことがしたい。

けどコンパイル言語だから難しそう。

チャネル使えば似たようなことが出来るのは知ってるよ?

議論はされまくってたから現実味は一番ある。

5. anyに続く新しい型

個人的に

type void struct{}

がほしいなぁと思っている。

まあ正確にはvoidじゃないんだろうが。

Portal with RTX のレビューに対してのお気持ち

tl;dr 3行のまとめ(?)は一番下にあります。

Portal with RTX がSteamでリリースされました。

クリアまでやったんですが、レビューにおすすめしないを書き込んでる人がいっぱいいて、あまりにも的はずれなコメントばかりなのでお気持ちを書きます。

その前に、最低要件はRTX3060なんですがそれ以下でやって重すぎるwとか書き込んでる算数もできない人は近寄らないでほしい。

あと設定をちゃんとしてくれ、自分はRTX2080だが最後まで30FPSで遊べたぞ。

(そもそも無料ゲームに低評価をつけるのが個人的にナンセンスだと思ってるけど)

みんなレイトレーシングを劇的に綺麗(綺麗の定義にもよるが)になる技術だと思ってるが、違うぞ

1. 綺麗リアルは別物

レイトレーシングは今までのレンダリング方式とは違い、光の情報を一つ一つ計算するので、リアルな光の挙動を簡単に再現することが出来る方式です。

この1つ上の文章に綺麗という単語は出てきていません。

綺麗というのは、個人の主観によるものです。

人によっては、Half-Lifeのようなチープなグラフィックのゲームのほうが綺麗だと感じる人もいるでしょう。

ですが、リアルかどうかというのは個人の主観によるものではなく現実にどれだけ近いかを指す言葉なので、大抵の人間の間で同じ尺度を共有できるでしょう。

ただ、大抵の人はリアルな方が綺麗だと思うと思いますが、これも違います。

「リアル イコール 綺麗」なのだとしたら、実写の映画にCGやVFXを使って大げさに画をいじる必要はなくなります。

2. リアルタイムレイトレーシングはプレイヤーのためのものではなく、アーティストのためのもの

リアルタイムでレイトレーシングが出来る一番のメリットは何だと思いますか?

それは、綺麗な映像を出力することではありません。

自分も、Battlefield V や Cyberpunk 2077 などで、レイトレーシングを有効にして遊んだことがありますが、正直差はほとんど実感していません。

では、一番のメリットは何でしょうか?

それは、ゲームなどを作るアーティストやグラフィックエンジニアが手軽で簡単にリアルな映像を出力できるからです。

今多く使われてるレイトレーシングではないレンダリング方式でも、十分レイトレーシングに近い品質の映像を出力することは可能です。

ただし、これを実現するにはアーティストやグラフィックエンジニアが血反吐を吐くような最適化や調整を何度も長い時間をかけて施しているから出来ることです。

リアルタイムレイトレーシングはその光の挙動をGPUの演算力の暴力でカバーすることで実現しています。

もし、リアルタイムレイトレーシングが普及すれば、ゲームや映像を作る人達の工数を大幅に削除することが出来るでしょう。

今のAAA級のゲームは発売に数年かかっていますが、将来はリアルタイムレイトレーシングのおかげで1年早くリリースできた、なんてことがあるかもしれません。

3. リアルタイムレイトレーシングはまだ実験段階

リアルタイムレイトレーシング自体がまだ実験段階です。

リアルタイムレイトレーシング自体がまだ実験段階です。

大事なことなので3回言いました。

リアルタイムレイトレーシング自体はNVIDIAや他のゲーム会社が数年(下手したら10年以上)かけて行ってる超大規模な全てのゲーマーを巻き込んでいる実験段階なんです。

例えば、レイトレーシングの品質を設定する重要なパラメーターでバウンド数という数値があります。

これの最大バウンド数設定が、今回のPortalなら Highで2 Ultraで4 となっております。

が、この数値は実際のレイトレーシングの品質としてはかなり小さいです。

例えば、BlenderのCycleレンダーでは、これのデフォルトの数値は12となっております。

実際の映画などではもっと多くバウンドさせているでしょう。

このバウンド数、1追加するだけで飛躍的に計算量が増えるので、現状のPortalだとカスタム設定で8を設定できるのですが、それだとRTX4090を4枚SLIしても60FPS出ないと思います。多分。

8すら現実的に設定するのが無理なのに実際の映画級の品質を出すためにはもっと多くの数値にしないといけません。ムリポ。

それに、リアルタイムレイトレーシングが実用段階なら、既にリアルタイムレイトレーシングしかサポートしていない新作のゲームが出ても良いはずです。

ですが、現状は出ていません。

4. Portal with RTX は レイトレーシングの宣伝目的で作られた訳では無い…と思う

NVIDIA はなぜ Portal with RTX を作ったのでしょうか?

そもそも今回この Portal を作ったのは NVIDIA であって、Valve ではありません。

Valve も協力はしたでしょうけど、少なくとも主導権を握ってたのは NVIDIA 側です。

それは、新しい NVIDIA のツールである NVIDIA RTX Remix というツールの宣伝目的で作られました。

このツールは、DirectX 9 以前の古いゲームをRTXに対応させるツールです。

ただし、このツールは ENB のような単純なツールではなく、テクスチャを上書きしたり、質感を再調整したりといったかなり高度なことが出来るかなり大規模なツールです。

このツールをリリースすれば、コミュニティが古いゲームをRTXに対応させてくれ、GPUが売れると NVIDIA は目論んだのでしょう。

その宣伝にピッタリのゲームが Portal だったわけです。

Source Engine という改造しやすいゲームエンジン製で、アセット数が少なく、レイトレーシングが映えやすい平面が多い。 なにより、メジャーで大人気のゲーム。

間違っても、今回の Portal が Source2 製ではないことはこの辺を読めば明らかだったはずなんですが、勝手に期待して勝手に落胆している人も中にはいました。

そんなに好きなゲームならなぜ調べないのか。よくわからないです。

まとめ

現状のリアルタイムレイトレーシングははっきり言って使い物にはあまりなりません。

ですが、数十年単位での将来の超高品質なゲームの糧には確実になっています。

新技術というのは、ある日突然完成するものではないのです。