• 投稿

带高度复杂网格的戈德堡多面体 PCG:重温《绝境北方》《城镇叠叠乐》作者Oskar Stålberg的解决方案“初闻不知曲中意,再听已是曲中人”(第331天)

3833
1
2025-12-01 13:03:54
168
54
253
10
兜兜转转,机缘巧合下又回到了 Planet 这个由《绝境北方》《城镇叠叠乐》作者Oskar Stålberg 做的 Demo。就发现很多我自己正在思考的问题,其实早在这个我今年 2 月就接触到的 2016 年就做出来的 Demo,开发思路和解决方案在 2022 年就由 Sylves 库的作者 Boris 和 Oskar 交流后总结成的博文里面写好了。 只是那时的我还缺少足够的实践与认识,所以很多东西没看懂,现在回过头来,就把一切接触到的我觉得相关的知识和思考都串起来了。这期视频和大家聊聊这个历程
啥也不懂,To be better
不懂游戏开发
(81/98)
46.9万播放
简介
Godot
开发杂谈
第1天:俯视射击游戏 - 实现玩家移动和射击子弹(简单记录一下)
02:59
第2天:俯视角射击游戏 - 实现子弹间隔、枪口火光、AI 敌人
19:23
第3天:俯视角射击游戏 - AI 巡逻状态、加入友军(顺便解决两个原教程的 bug)
13:56
第5天:俯视角射击游戏 - 装弹、占领基地、前进 AI、重生
28:57
第6天:Godot 4.1 俯视角射击游戏 - 基地占领算法修改和进度显示、名称标签、击杀信息
17:49
第7天:Godot 4.1 俯视角射击游戏 - TileMap,游戏 GUI(生命值和弹药量),呼吸回血,以及修各种 bug
36:17
第8天:Godot 4.1 俯视角射击游戏 - 微型冲锋枪和切换武器、胜负条件和结束界面、代码重构
25:14
第9天:Godot 4.1 俯视角射击游戏 - 暂停菜单和主菜单、结束界面渐入效果、导航测试
07:42
第11天:Godot 4.1 俯视射击 - AI导航、激光瞄具、镜头抖动; 粒子效果(流血、火花);UI(准星、基地方位、命中提示、小地图)
24:03
第13天:用设计模式重构 Godot 4.1 俯视角射击游戏部分代码 - 修复 AI 穿墙透视、前进时不交火、巡逻时被导航离开基地等 bug
21:44
第14天:Godot 4.1 俯视角射击游戏 - 夜战模式、右键瞄准、计分板、简单游戏选项
24:05
第16天:Godot 4.1 WinLine 消除小游戏 - DFS、异步执行、修改 TileMap、八方向遍历简便写法等
26:10
第18天:Godot 4.1 俯视角射击游戏 - 音效(开火、装弹、AI 语音)与简单聊天框功能
13:36
第20天:Godot 4.1 仿文明6战棋游戏 - 六边形地图 TileMap、简单镜头移动
10:26
第23天:Godot 4.1 仿文明6战棋游戏 - GUI 框架(游戏界面、主菜单)、镜头拖动和缩放逻辑
10:51
第25天:仿文明6战棋游戏 - 地图编辑器(界面 UI、选取地块、鼠标悬停地块涂色、添加草原和浅海、GUI 按钮组);编辑器快捷键浅谈
33:35
第26天:Godot 4.1 仿文明6 - 地图编辑器(填涂所有地形、大中小笔刷、恢复和取消、选择区域大小)
21:10
第29天:Godot 4.1 仿文明6 - 文明百科(界面框架)、地图编辑器(格位边界处理、放置河流和悬崖、SVG 素材)
28:16
第31天:Godot 4.1 仿文明6 - 终于可以保存地图了!地图编辑器(完成所有河流和悬崖的放置逻辑、保存和读取地图)
27:10
第34天:Godot 4.1 仿文明6 - 基本完成地图编辑器(地貌、大陆、资源、村庄的相关逻辑;替换素材;实现信息悬浮框)
22:40
第39天:Godot 4.1 仿文明6 - 文明启动!热座模式(开始制作:单位、移动和视野框);地图编辑器(修bug和格位模式);优化 UI
23:10
第41天:Godot 4.1 仿文明6 - “我来,我见,但我还没征服”(异步加载场景进度条;单位点选、移动、更新视野)
23:21
第46天:Godot 4.1 仿文明6 - 罗马不是一天建成,但可以一回合建成!(下一回合;建造城市;控制领土;生产新单位;选择闲置单位城市)
23:36
第51天:Godot 4.1 仿文明6 - 六边形网格计算工具类,MVC + 三层架构重构项目
30:35
第57天:Godot 4.1 仿文明6 - 游戏场景与 GUI 依赖倒置(研究鼠标事件传递)、绘制 UI(MenuButton)、完成三层架构
36:32
第67天:Godot 4.2 仿文明6 - 东西罗马!热座模式支持多玩家、小地图、城市买单元格功能;架构重构收尾,Godot 4.2 新特性
24:46
第69天:仿冒险岛游戏开发:实现怀旧版登录界面、获取 .wz/.img 素材 -【Godot 4.2 C#】
15:55
第74天:仿冒险岛游戏开发:冒险启动!选择世界角色,进入游戏中的第一张地图 - 【Godot 4.2 C#】
32:02
第76天:仿冒险岛游戏开发:不小心写了个奇怪的 bug,笑死……【Godot 4.2 C#】
00:33
第78天:仿冒险岛游戏开发:纸娃娃拼接;完善角色控制 - 【Godot 4.2 C#】
27:22
第83天:初学 3D 游戏开发:简单心得 - 如何用 GDScript 教程学 C# 开发;未来计划等 -【Godot 4.2 C#】
22:59
第85天:学习 Godot 4.2 Steam 插件:获取 Steam 好友、创建游戏大厅、联机游戏与远程调用【GDScript】
12:16
第86天:3D 六边形覆盖球体地图生成 :从正二十面体到戈德堡多面体 - 【Godot 4.2 GDScript】
28:11
第88天:仿战争雷霆空战游戏开发:简单飞机模型与控制,尾烟、爆炸例子效果 - 【Godot 4.2 GDScript】
07:47
第90天:六边形覆盖球体技术预研:继续研究戈德堡多面体生成(后续学习 UnityHexPlanet 项目) - 【Godot 4.2】
09:04
第93天:双语言实现 Godot 六边形球形地形生成(C#、GDScript - 参考 UnityHexPlanet)- 【Godot 4.2】
12:16
第102天:开始新项目开发:放置类战略游戏(千里之行始于足下,从最小原型开始;代码开源,欢迎赛博监督) - 【Godot 4.3 C#】
28:00
第107天:方便引擎差评情况下跑路?尝试实践架构和 DDD 书籍知识,谈谈低耦合代码的落地与好处 - 【Godot 4.3 C#】
01:01:18
第111天:Godot + F# = 函数式编程游戏开发(聊 Godot 支持语言,为何选 F#,FP 落地;后续 Monad、响应式编程学习)
54:52
第119天:C#:我来的不是时候,Godot+F#:你来的正是时候 - 重构基本完成(Monad、展示层单一职责、响应式编程、DDD领域层重构)
47:57
第122天:Godot F# 番外篇:FP Monad专题 - 简介实现内容、学习门槛路径优缺点,顺便聊聊 F#+ 库、Rider IDE
30:21
第124天:Godot F# 番外篇2:项目代码最终还是全面 F# 化了(解决展示层) - C#:“明明是我先来的!为什么会变成这样呢?”
08:37
第127天:实现调节游戏速度,浅聊短中长期的开发想法和目标 - 放置战略类游戏开发 - 【Godot 4.3 F#】
35:37
第130天:六边形球体代码 F# 化;聊聊 Godot + F# 的小众选择是否有问题 - 放置战略类游戏开发 - 【Godot 4.3 F#】
33:27
第133天:学习 CatlikeCoding 六边形地图教程(完成前3篇):跟着Unity教程学Godot - 【Godot 4.3 F#】
16:55
第137天:3D 六边形地图开发进度展示 - 实现 Catlike Coding 前八篇(镜头、笔刷、大地图、河流、道路、水面)【Godot 4.3 F#】
03:43
第140天:CatlikeCoding 六边形地图实现至15篇:Shader、地形生成和纹理、F# 类循环依赖、Git 损坏存档问题 - 【Godot F#】
38:05
第146天:完结撒花?在 Godot F# 完成了 Catlike Coding 六边形地图全部 27 篇教程(单位寻路、探索视野、地图生成)
25:17
第149天:真·完结撒花!六边形地图全完成!CatlikeCoding2.0.0~3.4.0更新:笔刷高亮、六边形空间坐标、单元格重构| Godot4.3 F#
27:01
第151天:学习如何生成一颗星球#1~7 Sebastian Lague 教程:编辑器工具、程序式几何体对比、VisualShader对比 - Godot F#
24:15
第153天:在着色器里写地形生成?!跟着 pdcxs 大佬的 Shadertoy 教程学 gdshader(地形生成、B 站小电视、分形等)- Godot4.3
16:15
第159天:学3D FPS教程:GDScript的东山再起,被屎山代码逼迫而中道崩殂的 F#/C#(开个玩笑啦~ 其实是近期学习进展总结)【Godot 4.3】
47:00
第162天:免费!开源!CC0!Godot 3D FPS开发还讲的特别全面细致?まじかよ!学习并强烈推荐Majikayo教程(末尾聊学习思路、F# 后续计划)
52:29
第166天:学习星球生成大气层/海面/星空效果(涉及 Godot 计算着色器、多阶段后处理等)以及实现 UI、烟雾弹两教程,研究 GDS 外部编辑器等
44:35
第172天:星球重力下的移动,计算着色器、MultiMesh 优化性能,变换矩阵、四元数:跟随 CatlikeCoding 教程夯实Godot 3D开发基础
47:38
第177天:学习 Godot Demo 库:仿 Minecraft 体素游戏、载具汽车卡车拖车、3D中的2D与UI、本地双人分屏等等
24:47
第182天:六边形球体生成算法性能优化(戈德堡多面体):全面测试 C#、F# 的 FP、OOP 实现性能差异 - 【Godot 4.3 C#】
23:36
第185天:游戏开发还得啃论文?开发基本太空场景、GUI、球面相机控制;学习全球离散格网系统 DGG -【Godot 4.3 C#】
35:23
第192天:无尽循环?原地踏步?三个月前在学这玩意,现在还在写!球面实现CatlikeCoding六边形地图前十一篇(基于 VP 树最近邻搜索、戈德堡多面体)
17:45
第198天:带上地图,探索星球!Godot更新至4.4,六边形球面实现前22篇内容(移动动画、寻路路径显示、战争迷雾),研究简易 DGGS、开发小地图
41:42
第204天:经天纬地曰文,照临四方曰明:四舍五入≈我实现了“文明”?完成地图生成、经纬度、分块动态加载等功能;聊聊 4.4 版本和编程经验【Godot C#】
01:00:24
第208天:更大星球!更好画面!更快性能!更强的我?——动态加载优化、MultiMesh 绘制特征、分块 LOD、编辑预览和水面效果优化、三平面映射球面 UV
57:05
第210天:做游戏要“大气”!还要有云,要有光!- 借助开源插件实现大气层、体积云和镜头眩光;聊聊在GitHub发现大佬强者间的相互吸引,感谢他们开源贡献!
29:20
第214天:“地心说”的真实地球地图:告别天圆地方,《文明7》不做的我来做!(新地图生成组件、天体公转自转、矩形地图投影)- 【Godot 4.4 C#】
41:59
第217天:性能优化收尾,即将开始玩法开发:对象池、异步优化分块动态加载,万格星球稳定60帧;项目大类大节点的解耦重构【Godot 4.4 C#】
39:19
第218天:独立游戏漫漫“苦”行长路间歇之思:谈谈后续计划、分享参考资料;聊聊真实开发的边学边做——跟对领路人、准备回退方案,学海无涯亦不苦【番外杂谈】
42:45
第223天:还债!并非独游贷款百万,而是在还技术债……聊聊游戏开发的架构设计:什么是好架构?参考 MVC、MVP、DDD 的主要思想,基于 C# 项目落地架构
50:24
第229天:Godot C# 架构设计探索:聊聊架构目的、解决开发痛点;节点层解耦大致思路与部分实现细节、架构未来的兼容与扩展
54:57
第235天:想用 Godot C#?先看这几乎必踩的坑!聊聊编辑器工具程序集卸载失败,以及吐槽更多:开发者不推荐常见解决办法的接口,但问题又缺文档的两难现状
25:11
第238天:聊聊我、游戏项目、Godot 节点的生命周期:差点就把我逼着去用 Unity、Stride、Flax 了!
01:01:17
第241天:游戏 ECS 到底是啥?确是有用工具,但被迷惑术语包装!我只想吐槽:“撕开包装后内容 ≈ 游戏内存数据库!”
32:22
第268天:Godot 官方文档最佳实践 + 依赖注入 / MVC / DDD / 函数式编程 / ECS + C# / F# 语言一锅炖的架构设计?!
01:10:34
第277天(上):Godot 项目重构阶段的最终架构(上篇):控制流解析 - 行为与数据相分离(适用于 F# / C# / GDScript)
36:54
第277天(中):Godot 项目重构阶段的最终架构(中篇):上期第268天内容回顾和补充 - 各思想和最佳实践的应用体现(适用于F#/C#/GDScript)
47:30
第277天(下):Godot 项目重构阶段的最终架构(下篇):依赖关系解析 - (适用于 F# / C#)
21:38
第286天:大道至简,数据与行为相分离!简化 Godot + F# 函数式编程 + ECS + DDD 架构理解
54:06
第291天:兜兜转转,又回到最初的起点?F# 项目重构完成,终于可以按照三个月前说的——继续玩法开发了?(╯‵□′)╯︵┻━┻
36:27
第305天:为什么新手学了教程却做不出自己的游戏?结合近况简单聊聊,区区几篇教程无法完全涵盖的独立游戏开发铁三角:同等重要的程序、美术、策划知识
25:52
第310天:为何认为策划、美术、程序同等重要?举例我放置战略游戏开发中的Godot探索实践(立方球面映射、2D in 3D、视口材质;聊聊简单决策的背后关联)
57:20
第327天:耗时三个多月,就憋出个球形格网地图设计方案?结合未来可能的玩法细节,聊聊这个方案和最近的思考沉淀
56:32
第331天:带高度复杂网格的戈德堡多面体 PCG:重温《绝境北方》《城镇叠叠乐》作者Oskar Stålberg的解决方案“初闻不知曲中意,再听已是曲中人”
01:02:43
番外篇:Godot C#/.NET?请再硬吃第二颗雷!聊聊 pck 包(用于支持 DLC、Mod、补丁)的情况,以及“怎么老是你” Raul Santos 丢雷
18:55
番外篇2:浅聊“组合爆炸”水一期视频:提醒一下 Friflo.ECS 256 组件上限,Excel 和 Obsidian base 启发的大致解决思路,以及劝学
14:28
客服
顶部
赛事库 课堂 2021拜年纪