Website: v2hokkaidogenerator.peruki.dev/
実在しない北海道の市街を自動生成します。
$ cd frontend
$ bun i
$ bun run dev
シミュレータ部分の更新は以下のコマンドで行います。
$ cd generator
$ make
Rustで開発したシミュレータをWebAssemblyビルドし、TypeScript側で表示する形式。
言語: TypeScript
開発環境: Svelte + SvelteKit
地図の表示にはMaplibre GL JSを利用。
- 区画・交通網生成: 拡張L-system (に由来する生成アルゴリズム)
Parish and Müller1 に基づいた手法を、Sean Barrett2 による実装方針に合わせ実装しているもの。
実装の流れはRobin(phiresky)3 の資料を参考としている。
source: https://github.com/TadaTeruki/street-engine
-
地名生成: Markov連鎖
既存地名を漢字ごとに分け、発音の繋がりで新しいパターンを組み上げる独自実装。
source: https://github.com/TadaTeruki/name-engine -
地形生成: Landscape Evolution Model
Salève model4 を、 Cordonnier et al.5 の手法を取り入れつつ実装。
source: https://github.com/TadaTeruki/fastlem
地名の生成にあたり、 以下のフォーマットに基づくCSV形式のデータセットを用いている。
[漢字],[読み(ローマ字)],[各漢字に対応する読み]
各地名は、『北海道の地名』6 を参照し、アイヌ語由来の地名を中心に抜粋。なお、漢字に対応する読みの分け方は、本データ作成者の判断に基づく。
琴似,kotoni,琴_koto:似_ni
発寒,hassamu,発_has:寒_samu
手稲,teine,手_te:稲_ine
ライセンス: MPL-2.0
Copyright (c) 2024 Teruki TADA
Footnotes
-
Parish, Yoav I. H., and Pascal Müller. 2001. “Procedural Modeling of Cities.” In Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques, 301–8. SIGGRAPH ’01. New York, NY, USA: ACM. https://doi.org/10.1145/383259.383292. ↩
-
Sean Barrett. 2008. “L-Systems Considered Harmful.” 2008. http://nothings.org/gamedev/l_systems.html. ↩
-
Steer, P.: Short communication: Analytical models for 2D landscape evolution, Earth Surf. Dynam., 9, 1239–1250, https://doi.org/10.5194/esurf-9-1239-2021, 2021. ↩
-
Guillaume Cordonnier, Jean Braun, Marie-Paule Cani, Bedrich Benes, Eric Galin, et al.. Large Scale Terrain Generation from Tectonic Uplift and Fluvial Erosion. Computer Graphics Forum, 2016, Proc. EUROGRAPHICS 2016, 35 (2), pp.165-175. ⟨10.1111/cgf.12820⟩. ⟨hal-01262376⟩ ↩
-
山田秀三. 北海道の地名. 草風館, 2000. ↩