AKAGI Rails

鉄道模型シミュレーターNXで遊んでいたはずが、気づいたらPythonなども。

RUNNING TRAIN! をプレイした感想

Steamで颯爽と早期アクセスデビューを果たしたRUNNING TRAIN! ~走ル列車~ を購入したので簡単にレビューします。

store.steampowered.com

RUNNING TRAIN! の概要

RUNNING TRAIN! は架空の鉄道路線を運転するシミュレーションゲームです。

最大の特徴は、レンダリングエンジンにUnreal Engineを採用した美麗な3DCGでしょう。

鉄道シミュレーションゲームのジャンルは昔から存在しますが、CG表現という点では、多くは他ジャンルのゲームに遅れを取りながら少しずつ進んできていました。 そんな中本作は、個人開発でありながら最新世代のゲームエンジンを採用し、グラフィック面でかなり強いインパクトを与えてくれます。

なぜUnreal Engine採用が最大の特徴になるのか

まず、Unreal Engineといってもピンとこない方もいるでしょうから、Unreal Engineのことから話します。

Unreal Engineは、近年かなりの実力を誇るゲームエンジンで、写実的なCG描画を特徴としています。 リアルタイムレイトレーシングや最新のライティング技術によって、太陽光、ヘッドライト、駅の照明、街灯などで作り出す陰影表現が非常に豊かです。

鉄道ゲームというより、「高品質な鉄道映像作品の中を自分で運転できる」という感覚に近いものがあります。

Unreal Engineは、FINAL FTANTASY VII REMAKEのような超大手ゲームも利用しています(→AUTOMATIONの記事)。 鉄道ゲームでも、『電車でGO!!』が一世代前のUnreal Engine 4を使っていましたが、新規開発は中止になってしまいました。

我らがI.MAGICも、Unreal Engineを引っ提げた「鉄バース」プロジェクトにVRMのポリゴンモデルを投入していましたね(→I.MAGIC Blog)。「鉄バース」自体は音沙汰がなくなってしまいましたが。

ゲームエンジンに負けないモデリング

どれだけゲームエンジンが優秀でも、肝心のモデルが粗ければ台無しです。 しかし本作では、車両やストラクチャのモデルもゲームエンジンに押し負けないくらい高精細に作り込まれています。 レールや架線柱などの鉄道固有のアイテムは『電車でGO!!』よりもリアル、というか忠実です。

草木の表現もリアルです。近年のゲームでは当たり前になりつつある技術ですが、鉄道ゲームでここまで自然な植生表現を見せられると新鮮ですね。

物理エンジン

これは普通に運転しているだけでは気づきにくいかもしれません。 車両の足回りを外部視点でアップにして観察すると、なんと台車のバネが伸び縮みしながら走っています。 最初に見たときは思わず「そこまでやるの?」と声が出ました。

運転台視点の車体動揺ともどうやらリンクしているし・・・これは一体どういう物理シミュレーションなんだ?

ちょっと面白いのは、その物理シミュレーションの副作用と思われる現象です。

初期バージョンではマップ上の一部でレールの位置がわずかにずれて接続されており、そこへ進入すると車両が脱線して吹っ飛んでいく現象があったそうです。

VRMNXならさしあたり、ガタガタしながらも何事もなかったかのように通過してしまいそうなものですが、逆に物理演算への本気度を感じてしまいます。

なお、この問題は現在では修正されている模様です。

RUNNING TRAIN!のゲーム性

ゲーム性としては基本的に「走って」「止める」です。 その意味では『電車でGO!』などと大きく変わるものではなく、良くも悪くも王道の鉄道運転ゲームと言えるでしょう。

しかし、1100型電車が直通空気ブレーキの操作になっていて結構玄人向き。これでブレーキをばっちり決められると、なんとも言えない気持ちよさがあります。

スコアに現れない渋味のあるゲーム性ってとこですね。

また、舞台が架空路線・架空車両であることについては賛否が分かれるかもしれません。 個人的には少し残念な気持ちもあります。

でも、仮に実在路線だったら「ここが違う」「あそこが足りない」と粗探しばかりしてしまいそうなので、これでよいのかも。

RUNNING TRAIN! の粗探し

そうはいっても見えてしまった粗がいくつか・・・

  • 力行性能のシミュレーションが微妙
    • 113系ベースなんだと思いますが、それにしては高速域の加速の伸びが良すぎる…
  • 緩和曲線・カントがちょっと変?
    • 緩和曲線がないか、Rが大きいただの円曲線がくっついてるだけのような所が多い気がしています。
    • VRMNXで緩和曲線を再現していたりする私のビョーキかもしれませんが…
  • 速度制限もちょっと変?
    • カーブの速度制限がRにしては速いとか遅いとか、制限がありそうなところにない、みたいな所が…

と、書き並べましたが正直なところ、全体のCG描写のレベルが高いからこそ気付いてしまった部分がほとんどです。 粗というには重箱の隅にも程があります。

本来だったらこんな文句を挙げてはいけませんね(笑)

まとめ

いくつか細かいツッコミどころはあるものの、RUNNING TRAIN! の価値はそんなことでは損なわれません。 マップや車両の作り込み、ライティング、物理表現など、インディーズゲームの早期アクセス版としては非常に意欲的な内容になっています。 今後のMOD対応の拡充にも期待が高まります。将来の他社作品への影響も大きいのではないでしょうか。

一方で、『電車でGO!!』が一区切りをつけてしまったことに象徴されるように、Unreal EngineのCGのレベルに求められる、モデル制作、マップ制作、etc. が開発者自身やMOD作者の手に負えるかどうか、持続可能となるかどうかには、一抹の不安も覚えるところです。

まあとにかく、RUNNING TRAINは早期アクセス版価格で¥2,980なんですから、四の五の言わずに試しに遊んでみてください。

VRMNXpyをイチからインストール【撮る夫くんも】

パソコンの調子が悪かったので新台入替といたしました。

VRMNXも再インストールです。 ここでは、VRMNX同梱のPythonエンジンで使う、撮る夫くんなどのパッケージのインストールを記録しておきます。

ChatGPTによる概要

VRMNXのインストール場所

VRMNXのインストール自体はデフォルト通りにやりました。

C:\Program Files\I.MAGIC\鉄道模型シミュレーターNX に入りました。まあ普通です。

VRMNXのバージョンは 6.1.0.570 です。

Pythonエンジン

C:\Program Files\I.MAGIC\鉄道模型シミュレーターNX\python\python.exe がVRMNXのPythonエンジンです。

Pythonのバージョンは3.10.11でした。

プリインストールのパッケージ

標準モジュールのほかにVRMNXのPythonエンジンにプリインストールされていたサードパーティのパッケージを、 VRMNXのPythonエンジン経由でpipコマンドを叩いて調べます。

まずは、Windowsの検索バーに「cmd」と入力してコマンドプロンプトを起動します。 コマンドプロンプトに、以下のコマンドを入力して実行します。

>"C:\Program Files\I.MAGIC\鉄道模型シミュレーターNX\python\python.exe" -m pip list
Package         Version
--------------- -------
joblib          1.2.0
mpmath          1.3.0
numpy           1.24.2
pip             23.1
python-dateutil 2.8.2
setuptools      67.6.1
six             1.16.0

モジュール検索パス

VRMNXのPythonでモジュールを import するときに、モジュールの実体(プログラムソース)を探しに行く場所のリストです。

>"C:\Program Files\I.MAGIC\鉄道模型シミュレーターNX\python\python.exe"
Python 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', 
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\python310.zip', 
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\DLLs', 
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\lib', 
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python', 
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\lib\\site-packages']

モジュール検索パスのさいごにsite-packagesがいますね。

撮る夫くんのインストール

ものは試しで、管理者権限をつけずに pip install コマンドを走らせてみましょう。 現在は --user オプションをつけて実行したのと同じになります。

GitHubの撮る夫くんリポジトリをzipでダウンロードしてきて・・・

>"C:\Program Files\I.MAGIC\鉄道模型シミュレーターNX\python\python.exe" -m pip install vrmnx-toruo-master.zip
@rem なんとzipのままでOK

こうするとユーザー環境のsite-packagesが `%APPDATA%\Roaming\Python\Python310\site-packages' に自動的に作成されます。

このタイミングで、先ほどとおなじようにsys.pathを調べると、Pythonエンジンのモジュール検索パスにも自動的に追加されていることが分かります。

['',
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\python310.zip',
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\DLLs',
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\lib',
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python',
 'C:\\Users\\my_windows_username\\AppData\\Roaming\\Python\\Python310\\site-packages',
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\lib\\site-packages']

(へ~、userのsite-packagesが作成されてモジュール検索パスにも追加されるんですね。初めて知りました。)

VRMNXと別にPython 3.10をWindowsにインストールすると、その実行環境とも共用の場所になります。

レイアウトスクリプトで撮る夫くんを有効化してテスト

撮る夫くんのインストールが済んだことを確認するため、サンプルレイアウトで実際に撮る夫くんを有効化してテストします。

撮る夫くんは、レイアウトごとにスクリプトを記入して有効化する必要があります。

レイアウトスクリプトに記入します。

#LAYOUT
import vrmapi
import toruo  # 撮る夫くんをインポート

def vrmevent(obj,ev,param):
    toruo.activate(obj, ev, param)  # 撮る夫くんを有効化
    if ev == 'init':
        dummy = 1
    # 以下省略

撮る夫くんパネルが出現したので成功

うまくいきました。

パソコンの調子が悪い

パソコンの調子が悪いです。体感として明らかに、動作が鈍くなってきました。

2020年7月頃に、TSUKUMOで買ったBTOパソコンです。 もうすぐ6周年になりますね。まあ十分働いたと言えるでしょう。

1年くらい前から、パソコン高いなーと思ってましたが価格高騰が止まらないのでそろそろ買うしかないか・・・? (ここ最近、引越しだの、スマホの買い替えだの、いろいろと出費が重なっていてしんどい><)

先に本当に壊れてしまっては困りますからね。

少し探してみたところ、マウスコンピューターがメモリ増量のセールを打っていました。(5/26まで)

SPEC 現行機 欲しいやつ
STORE TSUKUMO MOUSE
CPU AMD Ryzen 7 3700X (3.6 GHz) AMD Ryzen 7 5700X (3.4 GHz)
RAM 16 GB 32GB (16GB×2)
GPU NVIDIA GeForce RTX 2070 SUPER NVIDIA GeForce RTX 5060
VRAM 8 GB 8GB
SSD 250 GB 500GB
HDD 1 TB 1TB (カスタム)
OS Windows 11 Home 25H2 Windows 11 Home 25H2
おねだん ¥164,780(当時) ¥261,800

うおー高い。

Geminiでウソ731系

AIブームもひと波過ぎそうな今日このごろ。

JR北海道 731系にJR九州っぽいデザインを施してみたらどうなるか?とふと思ったので、Gemini (Nano Banana 2) に投げてやってみました。

JR北海道の731系の構体にJR九州が通勤電車っぽいデザインを施したらどうなるか、いくつかの画角で生成してみましょう。

Geminiの回答

う~ん如何にも211系の構体デザインに引っ張られていますね。いや九州ネタであったことを考慮すると415系1500番代か?

731系らしさはスカートと連結器カバーに若干残っているような・・・。

ということで次。731系の形状を理解していないようなので、直接見せてやります。Geminiの利用規約のこともあるので自分で撮影した画像を投げてやります。

これがJR北海道の731系電車の構体です。形状はこのままに、JR九州らしい赤を取り入れた配色や、レタリング(HOKKAIDO RAILWAY COMPANY や Commuter Train 731 など)をふんだんに取り入れたロゴデザインを施してみてください。

Geminiの回答

やり口としては、485系「RED EXPRESS」「かもめ」や185系「ゆふ」「九州横断特急」のデザインの特徴に近いですね。側面窓の中もよくみると特急型の内装に入れ替わっています。う~~ん助士側窓といえどもそこまでプリント入れると苦情が出るのではないか???

画像加工の感じで言うと、一昔前の「ウソ電」の域はしっかり超えてきましたね。ここはさすが。

でも通勤電車ぽさがありません。テーマに沿ってないのではダメです。次。

オリジナルの731系電車の構体に、JR九州の813系のようなデザインを取り入れるとどうでしょうか。ボディはステンレスのシルバーを活かして、ドアなど面積の少ないところに赤色の塗装を施し、独創的なデザインと機能性、コスト削減を兼ね備えた合理的なデザインです。そこに、ほどよくレタリングが施されていて、JR九州らしさを醸し出しています。

Geminiの回答

なぜか1両になったし・・・やっぱり731系じゃないな。相変わらず、スカートと連結器カバーは731系だが・・・。

一連の生成を終えてのGeminiの感想を、「走れメロス」の冒頭になぞらえて書いてもらいました。

Geminiは熱中した。 必ず、かの難解な731系の構体を九州の色に染め上げねばならぬと決意した。 Geminiには鉄道の正確な形式などわからぬ。Geminiは、GoogleのAIである。 プロンプトに応じ、画像を描いて暮らしてきた。 けれども「赤色のレタリング」に対しては、人一倍に敏感であった。 (by Gemini)

VRMNXで異種混結コレクション

久しぶりのVRMNXの話題です。

VRMNX車両ラインナップは、ただ編成を組成するという楽しみだけでなく、異種混結をしてさらに楽しめるものがあります。 地域別に見ていきましょう。

731系+201系(北海道)

はじめに北海道。手前味噌の自作車両のラインナップです。

E5系+E3系(東北)

東北地方は新幹線の連結をピックアップ。E6系もアリでしたが、世代違いの連結のほうが面白味がありますね。

E233系+E231系

関東地方はあまり異種混結感のない組み合わせ。E233系は国府津編成、E231系は小山編成にしてみました。(こういう運用もあった。)

211系+313系

東海地方も世代違いの通勤電車。

225系+223系

近畿地方も世代違いの通勤電車。・・・世代違いの通勤電車をシッチャカメッチャカにくっつけて使っている私鉄に比べると地味か。

四国はエントリーなし(VRMに車両がないw)

811系+813系

九州も世代違いの通勤電車ですが、形式ごとに個性があるので見た目が面白くなりますね。

今回は、無茶苦茶に繋いで当たり前の国鉄一般型気動車は除いて紹介しました。JRだけでもまあまあありますね。

VRMNXでは、レイアウトサイズに制限が少ないバーチャル鉄道模型だからこそ、異種混結をした長大編成も楽しみやすいです。

今年の花粉症

今年の花粉症はなかなかに辛かったですが、今週に入って小康状態に落ち着いたように思います。

2月初旬からくしゃみ・鼻水の症状が出るようになるのが例年の私の花粉症の症状ですが、今年は特に目のかゆみが強かった。

先週の土日で一気に楽になり、今週中はだいぶ楽でしたが、まだ油断ならんか?

ところで、ウェザーニュースの花粉カレンダー(地域別)を見ると、関東地方の花粉は量が多い時期が長い! わけあって引越しをして関東を脱出しておりますので、花粉に関してはよかったなーと思っています。