Try   HackMD

CAGE Dev Log - Day 1

這個系列主要是想用 Rust 寫一個類似 Cities: Skyline 的遊戲,希望透過比較高效能的編程語言 (i.e. Rust) 去做比較精細、真實的模擬。目前使用 Bevy 框架,以及他的 ECS 框架來實作。

Roadmap

短期

  • Implement traffic system with predefined car spawning point and dispawning point
  • Implement pedestrian
  • Implement road editor

中期

  • Split into server and client so we can play it remotely.
  • Implement Citizen
  • Add public transportation

目前進度

  • 實作 camera
  • 實作曲線的簡單渲染。
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

Traffic

車流系統包含路徑規劃、號誌、以及避免碰撞。路徑規劃分為兩個等級:路口節點以及變換車道。

預先計算的路徑規劃不會規劃變換車道,但是會記錄可行的車道。例如:車子在下個路口要直行,會記錄這個節點可以走最右側以及中間車道。

變換車道則由區域系統決定,這個部分由以下因素決定:

  1. 移動速度、方向
    移動速度、方向,代表附近車輛正在移動的方向及速度。代表周圍車輛在很短時間內就會進入這個區域,屬於最高優先度的鎖。

  2. 意圖
    附近車輛若要變換車道,會在一段時間前表示意圖。

  3. 優先度
    不同的路口型態可以表示不同路徑的優先度。若車輛發現自己的優先度比其他車輛的意圖高,可以決定駛入(即成為 1.),鎖定該區域;若發現自己優先度較低且距離足夠,可以決定減速禮讓。

車輛的移動與意圖由曲線表示,預計使用曲線交叉檢測。變換車道則由車輛向道路進行檢索,及時建構出軌跡曲線。