世界を動かす技術を、日本語で。

ゲームにおける道路のアート

概要

この記事は、 道路パターン の魅力と、 ゲーム開発 における道路設計の技術的課題を探る内容です。 現実世界とゲーム内の 道路設計 の違いに着目し、 Bezier曲線円弧クロソイド曲線 などの数学的手法を解説します。 自身で 独自の道路システム を作った理由や、その過程で得た学びも紹介。 今後の技術的な詳細は次回のブログで解説予定。 都市設計ゲーム やインフラ設計に興味がある方に最適な記事です。

無秩序から生まれる美しいパターン

  • アリの巣ハニカム構造葉脈 など、自然界に現れる美しいパターンへの魅力
  • 建築家や設計図がなくても、 単純なルール の積み重ねで生まれる構造美
  • 人間も同様に、 道路ネットワーク というパターンを生み出す存在
  • 未来に地球を訪れた異星人が、 道路網 の痕跡を見て感じるであろう感動への想像
  • 「誰かが本当にこれを考え抜いたんだ」と感じる 設計の妙

City Builderゲームと道路へのこだわり

  • 幼少期から SimCity 2000 などに触れ、道路設計に強い興味
  • 都市設計ゲーム の進化と共に、現実世界の道路にも着目
  • ラウンドアバウトインターチェンジオーバーパス などの複雑な構造に魅了
  • ゲームごとの進化(SimCity 4の斜め道路、SimCity 2013の曲線道路、Cities: Skylinesの自由度)
  • それでもどこか 違和感 を感じる道路設計

ゲーム内道路設計の限界とModの登場

  • Cities: Skylines の登場で、自由な道路設計が可能に
  • しかし、 急カーブ交差点 の半径が非現実的で、エンジニア目線では違和感
  • Mod による更なる自由度とリアリズムの向上
    • 完璧な 合流レーンマーキング、滑らかなカーブの実現
  • それでも ゲームエンジンの制約 に縛られる現実

根本的な問題:Bezierスプラインの限界

  • Bezier曲線 は滑らかな補間に適し、直感的で強力なツール
  • しかし、 オフセット時に形状や曲率が保たれない という致命的な欠点
  • ゲームエンジンがBezierスプライン上に道路メッシュを生成する際、 内側と外側で曲率が異なり、自己交差や歪みが発生
  • 数学的には「 Bezier曲線のオフセットはBezier曲線ではない
  • 現実の道路 は、車軸幅という物理的制約を持つ

円弧(Circle Arc)の利点

  • はオフセットしても常に同じ形状を保つ特性
  • 交差点生成カーブ設計 がシンプルな計算で実現可能
  • 異なる半径の 円弧 を繋げることで、エンジニアリング的に正しい道路形状を再現
  • Bezier曲線同士の交点計算 は複雑だが、円弧ならO(1)のシンプルな計算

さらなる進化:クロソイド(Transition Curve)

  • 円弧 にも課題(一定曲率ゆえ、急激な横G発生)
  • クロソイド曲線 は、曲率が徐々に変化し、自然な乗り心地を実現
  • 高速道路や鉄道 で必須の設計手法
  • 数学的には 微分幾何学積分計算 が必要で、ゲーム実装は困難
  • 都市部の低速道路なら 円弧 でも十分

独自道路システムを作った理由

  • 99%のプレイヤーは 交差点の曲率 など気にしない現実
  • それでも「 なぜ?」を突き詰めたい 好奇心挑戦心
  • 既存ゲームの資産やチュートリアルが物足りない現状
  • グリッド型道路 に飽き、自分なりのソリューションを構築したい思い
  • 今後、 技術的詳細実装方法 を次回ブログで公開予定

メーリングリストの案内

  • 最新記事や開発進捗を月1回程度で配信
  • 興味がある方は メールアドレス登録 を推奨
  • スパムは一切なし の安心設計

Hackerたちの意見

ローマ人みたいに、全部まっすぐな道を作ればいいんだよね :-) もちろん、ローマ人は誰の権利を侵害してるかなんて気にしてなかったけど。イギリスのリンカンシャーに住んでるけど、ローマの道は今でも使われてるよ。最後に変更されたのは何年も前で、RAFスキャンプトンで滑走路を延長するためにエルミンストリート(今のA15)にカーブを入れた時だった。

俺の地域では、教会の塔から教会の塔までの通りが多いんだよね。中世の頃から続いてるやつ。今はその通りを車で走ると、真ん中の線がちょうど教会の塔と合うんだ。教会や教会に基づく政府が、ローマ人の土地の権利に関する理解を共有してると思う :)

ローマ人は土地の境界線を気にしてたよ!ローマの2番目の水道橋は、土地の所有者であるクラッススが私有地を提供するのを拒否したせいで建設が止まったんだ。面白い記事だからチェックしてみてね!: https://en.wikipedia.org/wiki/Roman_aqueduct

ありがとう…いつも通り、言葉にできないほど素晴らしい… 関連リンク: https://www.pushing-pixels.org/2014/04/04/the-craft-of-scree... (スクリーングラフィックスと映画のユーザーインターフェースの技術 - ホルヘ・アルメイダとのインタビュー…)

こういう記事があるから、ハッカーニュースをチェックし続けてるんだ。著者、これからも書き続けてね。

ゲームの中には、プレイ中は当たり前だと思われているけど、実際には正しく作るのにたくさんの考えや作業が必要なものがたくさんあるよね。例えば道路なんかは、普通のプレイヤーはあまりじっくり見ないけど、変だなって思う行動をしたり、見たら気づくはず。最近『キングダムカム 2』をプレイしてるけど、彼らが作った世界を当たり前のように受け入れちゃうんだよね。現実世界と同じように。でも、実際に立ち止まって見ると、細かいディテールの一つ一つが誰かの汗と涙で作られたってことを考えなきゃいけない。アーティストやプログラマー、デザイナーが編集の時に頑張った結果なんだもん。だから、業界が過酷なのも納得だよね、その仕事は本当に大変なんだ。

ゲームの中での隠れた複雑さの一つはドアだよね。ほとんどのゲームには実際のサイズのドアがないのは、ゲームプレイに問題を引き起こすから。ほとんどのドアは実際よりも30%くらい大きくて、スイングドアよりもスライドドアが多いのは、スイングドアがゲームの物理に複雑さをもたらすからなんだ。 https://lizengland.com/blog/the-door-problem/ https://www.ign.com/articles/putting-doors-in-video-games-is...

大学で都市計画を学んでた時、道路設計の授業があったんだ。ほとんど忘れちゃったけど、安全なカーブのある道路を設計する方法についての部分があった。この投稿を見て、その記憶がよみがえったよ。

著者は「Junxions」っていう今度出るゲームに興味を持つかもしれないよ。これは道路の交差点を作るサンドボックスゲームなんだ。サブレディットはこちら: https://www.reddit.com/r/Junxions/ 彼らは自分たちの解決策を作ったって言ってたけど、Junxionsはこういうゲームに興味がある人たちのニーズを満たしてくれると思うよ。

こんにちは、俺がこの道路システムのクリエイターだよ。実は、自分が何をしたいのかもよくわからないんだ。笑。もしかしたらアセットかゲームになるかも(正直、フルフレッジのゲームに飛び込むのはちょっと怖い)。俺自身、Junxionsのファンで、かなり近いアプローチなんだけど、うちのシステムは全然違うんだ。Junxionsのクリエイターは、交差点がノードグラフとして発生するノードベース/ベジェ曲線のパラダイムを使ってるけど、俺のは道路セグメントの衝突として自動的に交差するわけじゃない。説明するのは難しいけど、次のブログでその2つのアプローチの違いについてもっと詳しく掘り下げる予定だよ。

そして、彼らは…数学的な悪夢でもある。微分幾何学。積分。ああ… だから、ほとんどのゲームは手を出さないのかも。立方パラボラ(いくつかの鉄道で使われていて、クローソイドと見た目がほとんど区別できない)って、もっと簡単な数学なのかな。

ああ、これは俺の心に響く作家だな。めちゃくちゃ素晴らしい文章だよ。俺もシムシティからずっと道路に夢中だったし、道路はどんな街の循環器官みたいなもんだと思ってる。街や循環器官の歴史の中で、血管が真っ直ぐな線だったことはないよね。ヨーロッパやアジアの村の通りは、郊外から中心地までの最短の足道に沿って作られた経緯があって、時間が経つにつれて建物を避けるように修正されることが多い。一方、俺の出身地の田舎の道路は長い直線が続いて、突然農家が売らない土地を避けるために曲がるんだ。でも、グリッドは植民地時代に主に作られた一部の都市や、後にマスタープランで発展したところにしか存在しない。しかも、そのグリッドも都市の発展の過程で元の方向から北南に変わることが多くて、ポートランドやサンフランシスコ、ロサンゼルス、シアトル、ニューヨークみたいな都市の面白いダウンタウンの三角形ブロックができるんだ。他の都市は、マドリードやバルセロナのように、中心の足道の村に合わせてグリッドを作り始めた。俺が道路に関して一番興味深いと思う都市は、川の流れに沿って新しい方向にグリッドを広げていったところだね。ブエノスアイレスやニューオーリンズ、サイゴンみたいに、元々の道が川の曲がりに沿ってカーブしていて、複数の交差するグリッドができてる。グリッド間の交差点や分割大通りは、もちろんどの都市でも一番美しくて建築的に面白い部分だよ。ブロックが変な形をしてたり、建物が長方形じゃなかったりするし、土地の一インチも貴重なところが多いからね。都市開発のその側面をシミュレートできる街づくりゲームがあればいいな:村の中心からグリッドへ、古いグリッドから新しいグリッドへの移行を。

道路に対する魅力、めっちゃわかる!子供の頃はよく描いてたな。Satisfactoryは輸送システムを作るのが一番楽しいと思うし、そこに自分の作品がモッドとして組み込まれたらすごくクールだね。

クローソイドの話を聞いて、やっと高速道路のジャンクションの変な形が理解できたよ。なんであんなに急に曲がらせて、徐々に減速させるのかずっと疑問だったんだ。時々、その直線が高速道路で、スピードを上げて交通に合わせるためのスペースをもっとくれればいいのにって思う。時にはそうしてくれるけど、時にはそうじゃないんだよね。