这不算游戏,但我觉得这个社区可以提供非常有价值的见解。
我正在构建一个个人项目,叫做 Music City。它是一个程序化生成的 2D 顶视城市,完全基于我 11 年的 Spotify 播放历史。14.2 万次真实播放,3,152 位独立艺术家,数据追溯到 2015 年。
核心理念:我设计规则,城市自行生成。它全天候运行,持续更新,并实时响应我的收听。当我在 Spotify 上播放歌曲时,城市会感知。对应艺术家的建筑会亮起,周边地区被激活,该街区的交通流量会增加。城市在我醒来时醒来。发现新艺术家时,立刻开始建设。若我数周未听某位艺术家,他们的建筑会慢慢暗淡。城市实时呼吸我的实际收听习惯,不仅是历史记录,更是反映我当下音乐状态的活体。
每个视觉元素都必须有根植于我真实数据的因果理由:
- 为什么这座建筑高?因为该艺术家的累计播放量很高。
- 为什么这片区域暗淡?因为我最近没有听这些艺术家的作品。
- 为什么有施工?因为有新艺术家正在崛起。
- 为什么这个街区显得历史悠久且安静?因为它代表我在 2015 年的主导时期,但我已经转向其他风格。
这座城市是真正的自传体。我的史上第一艺术家拥有 12,000 次播放。我的第一条播放记录是 2015 年 4 月 22 日。2015 年我的收听几乎全是流行朋克,这与我今天的口味截然不同。我希望从 2015 到现在的时间流逝能够以视觉方式讲述这个故事。
我无法完全回答的问题是:地理布局应如何生成?
目前我想到的混合系统如下:
- 时间 = 距离中心的距离。最早的收听位于历史核心区,最新的发现位于边缘前线。城市从创立之日向外有机扩张。
- 类型 = 方向。城市大致呈圆形,类型族群作为方向切片。说唱区在北部,摇滚/流行朋克区在西部,另类流行在东部,独立音乐在南部。艺术家的位置落在其时代(环)和类型(切片)的交叉点上。
- 播放次数 = 建筑高度。累计播放量决定建筑的高度和重要性。强调重要性,而非年代。
- 最近度 = 亮度。城市的骨架永不改变,最近的收听会点亮建筑。
- 同场收听 = 各区内部的微观定位。经常在同一次会话中一起收听的艺术家会出现在同一街块。这在每个区内部自然形成邻里,而无需手动划分边界。
这种方案已经相当接近,但仍有未解决之处。类型切片系统需要预先定义方向分配,这显得随意。环形模型虽然简洁,但真实城市并非完美圆形,它们有河流、障碍、历史偶然性导致的不规则形状。
我真正想问的:
-
有人做过类似的东西吗?基于数据驱动的城市或地图,地理布局是从数据中自然生成而非人工设计的?你们是如何进行位置安排的?
-
对于使用力导向布局或基于图的空间布局的朋友们来说,这是否是微观定位问题的合适工具,还是有更好的方法可以让“属于同一类”的艺术家自然地聚在一起?
-
最让我困扰的是:我的类型切片系统在区块之间划定了硬边界,但我的实际收听并没有硬边界。Billie Eilish(另类流行)和 J. Cole(说唱)是我的第 1、2 大艺术家,我在数据中有 394 次在两者之间切换——它们在行为上是邻居,即使在类型上相反。如何同时兼顾宏观的类型结构和行为上的现实?
欢迎对设计哲学(不仅是技术实现)提出任何想法。感谢阅读。
评论 (0)