GitHub开源游戏:CityBound(模拟城市)
這幾年MineWorld《我的世界》大放異彩,沙盒游戲提供了豐富的自由度,釋放了無盡的想象力。不知道還沒有小伙伴記得SimCity《模擬城市》這款游戲。當年作為模擬經營類游戲的鼻祖,讓小伙伴們肝兒了無數的時間,可惜在2013年出完系列的最后一款游戲之后,工作組解散,也沒有任何重組更新的跡象。
今天要給小伙伴們介紹的這一款游戲——CityBound,在2013年《模擬城市5》發布之前,也曾鬧的滿城風雨,沸沸揚揚。一度被認為是模擬城市的替代者,或者是繼承者。可惜項目作者是一頭獨狼(個人開發者),一直沒能順利的讓項目發布。
如今借助Github的力量,作者直接開源出所有的代碼,讓全世界的開發者一起貢獻代碼和想法,讓模擬城市類型的游戲,精神永存。同時讓項目得以快速的發展和迭代更新,小伙伴們現在也可以通過Github直接pull代碼,build一個自己的城市啦。
那么,它有什么特色,能讓喜歡模擬城市類游戲的你我動心呢,且看詳細介紹。
GitHub地址:https://github.com/citybound/citybound
主頁:https://aeplay.org/citybound
項目介紹
在CityBound中,每個家庭(或企業)都是單獨模擬的。使用微觀模型生動地模擬一個城市的有機體,這個有機體是由數百萬個人的交互作用產生的。人們在流動,商業在貿易,鄰里在變化。每個居民都在掙扎,適應,做出生活選擇。城市發展,城市成長。城市就是我們。
聽起來是不是很酷,數百萬個獨立但是又相互影響的單元,它的一切發展的方向和運作的方式,都取決于你,城市建設者的想法和規劃。
而城市中每個家庭或者公司,家庭成員或員工的日常活動是由家庭需要和提供的資源驅動的。每個家庭都有一個精確的實時資源清單,其中不僅包括食品雜貨、原材料或貨幣等有形物品,還包括睡眠、健康、娛樂、勞動力、旅游興趣或商業服務等無形概念。
通過交通基礎設施的有效交通流量對一個城市的健康至關重要。交通是由參與者的微觀經濟目標自發決定的,混亂事件是交通的核心。這就是為什么在城市里,每個人的每一次旅行都是用顯微鏡模擬的。數以萬計的汽車在公路上行駛,為了安全到達目的地,不得不在交通中中斷、加速和變換車道。
城市邊緣與游戲世界互動的核心原則是通過規劃。這使你能夠預覽城市中甚至大型項目的效果、撤消和重做以及合并不同的想法。智能繪畫手勢成為美麗的彎曲道路和完美的區域,提供了專業的CAD工具的力量和表現力,同時更直觀和有趣的使用。
項目架構
有趣的是,作者當初第一個版本,原本是用Javascript寫的,想要作為一個web端的應用,然而游戲的想法太過宏大,而Javascript難以支撐起百萬獨立模擬單元這樣的想法,作者后來采用C++進行了重構,還是難以達到想要的效果。發布時間也就一拖再拖,后來直到Rust出現,很多想法才得意快速而方便的開發了出來。
為了實現CityBound模擬大城市并將其流式傳輸到瀏覽器進行交互的愿景,作者發明并實現一種非常不尋常的計算體系結構。參與者和消息傳遞是Kay的關鍵概念,參與者系統框架將Citybound的模擬邏輯從透明的網絡化和易于擴展的基礎上提升。在Rust中實現,它允許類型安全、高性能的actor更新和交互通信,同時對緩存位置進行低級優化,同時提供分布式動態調度和廣播消息等高級功能。
總結
以上是生活随笔為你收集整理的GitHub开源游戏:CityBound(模拟城市)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何高效便捷的画出炫酷神经网络图
- 下一篇: GitHub有趣分享:Thanos(灭霸