GitHub开源游戏:CityBound(模拟城市)

简介: GitHub开源游戏:CityBound(模拟城市)

这几年MineWorld《我的世界》大放异彩,沙盒游戏提供了丰富的自由度,释放了无尽的想象力。不知道还没有小伙伴记得SimCity《模拟城市》这款游戏。当年作为模拟经营类游戏的鼻祖,让小伙伴们肝儿了无数的时间,可惜在2013年出完系列的最后一款游戏之后,工作组解散,也没有任何重组更新的迹象。


今天要给小伙伴们介绍的这一款游戏——CityBound,在2013年《模拟城市5》发布之前,也曾闹的满城风雨,沸沸扬扬。一度被认为是模拟城市的替代者,或者是继承者。可惜项目作者是一头独狼(个人开发者),一直没能顺利的让项目发布。


如今借助Github的力量,作者直接开源出所有的代码,让全世界的开发者一起贡献代码和想法,让模拟城市类型的游戏,精神永存。同时让项目得以快速的发展和迭代更新,小伙伴们现在也可以通过Github直接pull代码,build一个自己的城市啦。


那么,它有什么特色,能让喜欢模拟城市类游戏的你我动心呢,且看详细介绍。


GitHub地址:https://github.com/citybound/citybound


主页:https://aeplay.org/citybound

image.png



项目介绍

在CityBound中,每个家庭(或企业)都是单独模拟的。使用微观模型生动地模拟一个城市的有机体,这个有机体是由数百万个人的交互作用产生的。人们在流动,商业在贸易,邻里在变化。每个居民都在挣扎,适应,做出生活选择。城市发展,城市成长。城市就是我们。


听起来是不是很酷,数百万个独立但是又相互影响的单元,它的一切发展的方向和运作的方式,都取决于你,城市建设者的想法和规划。

image.png



而城市中每个家庭或者公司,家庭成员或员工的日常活动是由家庭需要和提供的资源驱动的。每个家庭都有一个精确的实时资源清单,其中不仅包括食品杂货、原材料或货币等有形物品,还包括睡眠、健康、娱乐、劳动力、旅游兴趣或商业服务等无形概念。


通过交通基础设施的有效交通流量对一个城市的健康至关重要。交通是由参与者的微观经济目标自发决定的,混乱事件是交通的核心。这就是为什么在城市里,每个人的每一次旅行都是用显微镜模拟的。数以万计的汽车在公路上行驶,为了安全到达目的地,不得不在交通中中断、加速和变换车道。


城市边缘与游戏世界互动的核心原则是通过规划。这使你能够预览城市中甚至大型项目的效果、撤消和重做以及合并不同的想法。智能绘画手势成为美丽的弯曲道路和完美的区域,提供了专业的CAD工具的力量和表现力,同时更直观和有趣的使用。

image.png



项目架构

有趣的是,作者当初第一个版本,原本是用Javascript写的,想要作为一个web端的应用,然而游戏的想法太过宏大,而Javascript难以支撑起百万独立模拟单元这样的想法,作者后来采用C++进行了重构,还是难以达到想要的效果。发布时间也就一拖再拖,后来直到Rust出现,很多想法才得意快速而方便的开发了出来。


为了实现CityBound模拟大城市并将其流式传输到浏览器进行交互的愿景,作者发明并实现一种非常不寻常的计算体系结构。参与者和消息传递是Kay的关键概念,参与者系统框架将Citybound的模拟逻辑从透明的网络化和易于扩展的基础上提升。在Rust中实现,它允许类型安全、高性能的actor更新和交互通信,同时对缓存位置进行低级优化,同时提供分布式动态调度和广播消息等高级功能。

image.png

相关文章
|
22天前
|
编解码 人工智能 自然语言处理
MaskGCT:登上GitHub趋势榜榜首的TTS开源大模型
近日,香港中文大学(深圳)联手趣丸科技推出了新一代大规模声音克隆TTS模型——MaskGCT。一起看看该模型的一些表现吧!
|
1月前
|
数据采集 应用服务中间件 Go
开源的键鼠共享工具「GitHub 热点速览」
开源的键鼠共享工具「GitHub 热点速览」
|
3月前
|
Rust 前端开发 JavaScript
Github 2024-05-20 开源项目周报 Top15
根据Github Trendings的统计,2024年5月20日当周共有15个项目上榜。按开发语言分类,项目数量如下:Python项目5个,TypeScript项目3个,C++项目2个,Jupyter Notebook项目2个,C、Go、Rust和C#项目各1个。介绍了多个值得关注的项目,包括ChatGPT桌面应用程序、Fooocus图像生成软件、Jellyfin媒体系统等。这些项目涵盖了多种功能和技术领域,值得关注和研究。
62 3
|
3月前
|
SQL JavaScript 前端开发
Github 2024-08-05 开源项目周报 Top15
根据 Github Trendings 的统计,本周(2024年8月5日统计)共有15个项目上榜。以下是根据开发语言汇总的项目数量: - Go 项目:4个 - JavaScript 项目:3个 - Python 项目:3个 - Java 项目:2个 - TypeScript 项目:2个 - C 项目:1个 - Shell 项目:1个 - Dockerfile 项目:1个 - 非开发语言项目:1个
113 2
|
3月前
|
人工智能 Rust JavaScript
Github 2024-08-26 开源项目周报Top15
根据Github Trendings的统计,本周共有15个项目上榜。以下是按开发语言汇总的项目数量:Python项目8个,TypeScript、C++ 和 Rust 项目各2个,Jupyter Notebook、Shell、Swift 和 Dart 项目各1个。其中,RustDesk 是一款用 Rust 编写的开源远程桌面软件,可作为 TeamViewer 的替代品;Whisper 是一个通用的语音识别模型,基于大规模音频数据集训练而成;初学者的生成式人工智能(第2版)则是由微软提供的18门课程,教授构建生成式AI应用所需的知识。
126 1
|
3月前
|
Rust Dart 前端开发
Github 2024-08-19 开源项目周报Top15
根据Github Trendings的统计,本周(2024年8月19日统计)共有15个项目上榜。按开发语言分类,上榜项目数量如下:Python项目最多,有7项;其次是JavaScript和TypeScript,各有3项;Dart有2项;HTML、PowerShell、Clojure和C++各1项。此外,还介绍了多个热门项目,包括Bootstrap 5、RustDesk、ComfyUI、易采集、Penpot等,涵盖了Web开发、远程桌面、自动化测试、设计工具等多个领域。
110 1
|
3月前
|
JavaScript 前端开发 Go
Github 2024-08-12 开源项目周报 Top14
本周Github Trendings共有14个项目上榜,按开发语言汇总如下:Python项目7个,TypeScript项目5个,C项目2个,JavaScript项目2个,Go和Batchfile项目各1个。其中亮点包括开发者职业成长指南、Windows激活工具、ComfyUI图形界面、AFFiNE知识库、易采集可视化爬虫等项目,涵盖多种实用工具和开源平台。
125 1
|
3月前
|
存储 JavaScript 前端开发
Github 2024-07-29 开源项目周报Top15
根据 Github Trendings 的统计,本周(2024年7月29日统计)共有15个项目上榜。按开发语言分类,项目数量如下:Python、Java、HTML 和 C 项目各有2项;TypeScript、JavaScript、Vue 和 Go 各有1项;另有1项非特定语言项目、1项 Dart 项目、1项 C++ 项目、1项 Rust 项目及1项 Jupyter Notebook 项目。这些项目涵盖了多种领域,如API开发、照片管理、PDF处理、AI技术等。
62 1
|
3月前
|
Rust JavaScript 前端开发
Github 2024-07-15 开源项目周报 Top15
根据 Github Trendings 的统计,2024年7月15日当周共有15个项目上榜。以下是按开发语言分类的项目数量汇总:Python项目5个,非开发语言项目4个,JavaScript项目3个,TypeScript项目2个,Go、Solidity和Java项目各1个,Rust项目1个。此外,介绍了多个值得关注的项目,包括免费编程学习平台 freeCodeCamp.org、免费编程书籍和学习资源清单、免费 API 集合等,涵盖了不同编程语言和技术领域。
54 1
|
3月前
|
人工智能 JavaScript API
Github 2024-07-08 开源项目周报 Top15
根据Github Trendings的统计,本周(2024年7月8日统计)共有15个项目上榜。按开发语言分类,Python项目最多,有6项;其次是C++和TypeScript,各有3项;Jupyter Notebook和JavaScript各2项;QML、非开发语言项目、Rust则各有1项。这些项目涵盖了多种领域,包括编程教育、API集合、语言模型、十六进制编辑器等。
51 1