Dreamtowards / Ethertia

A Sandbox Survival Game with Vulkan, PhysX, C++20. aims to be "Minecraft + GTAV + VRChat"
https://docs.ethertia.com
Other
148 stars 15 forks source link

策划案整理 目标方向 #5

Closed Dreamtowards closed 10 months ago

Dreamtowards commented 1 year ago

内容与方向:

  1. 建筑&灵活
    这是我们的最大特色,世界上有各类游戏 但大多不能破坏建造。如果我们游戏只有程序 没有地图。玩家自动生成/下载/制作地图。他们可以发布自己的地图,做他们想做的,那是我的希望。建造朋友之间的小城镇 火车地铁,加入剧情模组 做他们的剧情。在与世隔绝的壮阔海岛生存。
  2. 生存 yep我们喜欢生存。种田 养殖 挖矿 合成 洞穴家 烹饪,探索 ..
  3. 交互 vr的支持,动作追踪 自定义人物。开载具 聚会,去剧场 演唱会 电影。和好友胜地旅游 探索。

技术上: 重要的是内容 质量 '灵魂',而不是什么具体的技术。 这里用C++开发 不依赖现有游戏引擎 图形用OpenGL,依赖一些良好的外部库

  1. 为什么不用UE或Unity, Godot等游戏引擎 用引擎: "精力是有限的 如果你不把精力放在内容而是程序系统上,你可能还没做出来就破产了。" 这是对的 善用工具高效达成目标。但是,反观现在的大型游戏总是有他们自己的引擎 R星的RAGE引擎,Ubisoft的CryEngine,最终幻想的CrystalT, Luminous引擎。有时我觉得 如果用UE Unity,做了半天 其实我不知道我到底做了什么,我觉得Unity就像一款游戏,我还是在玩。如Chrono所说 就像用一些电影制作器 选一些预设做出来的电影。 然而如果用我们自己的程序系统,他是紧凑的,他是有名头 有希望的。我们可以依赖于它。他是有意识的 知道自己在做什么 底层逻辑,而不是analogy类比模仿。 当然有很多凭借UE Unity做出的成功游戏,VRChat,miHoYo。他们凭借引擎基础和自己的内容,快速地做出了优秀的效果。祝他们好运。但对于我们 引擎也是一个信仰支撑,我们要紧凑 可控 灵活 控制所有。

  2. 图形用 OpenGL ? Vulkan ? DirectX ? Metal ? 目前用OpenGL。虽然Vulkan / DX12是时上潮流,但在开发资源有限的情况下 尚没必要,性能差距不会太大 核心方法(shaders)也不会变太多 而复杂度却会大大增加。OpenGL也可以让更多人接受 mod及开发人员。所以以后或许会用Vulkan,但现在似乎还无必要。 由于跨平台,而且在意api设计风格,暂不会考虑平台依赖/独享的dx metal。 无论如何,图形的核心应该是 概念与图形算法shaders,框架其实也不依赖太多。

  3. 你说的建筑功能的预期效果?用什么方法/技术 实现它? 如果你记得Minecraft,是的 它每一个方块都可以被破坏与放置 没有一个例外。如果你记得GTAV 他的细节程度 与物理功能性。 如果将他们结合。我知道你在想什么 ”这不可能 荒谬“。如果你可以在洛杉都的山里挖个洞穴造家 重造城市;建造新的岛,生存。探索新地形。 技术上,

    1. 我们用传统Uniform Grids体素 造地形。(区块存的是unifg而不是octree 因为复杂度和不必要性. 之所以用unifg而不是sdfs csg 虽然后者可以精细,但前者有操作直觉和操作灵活度 which is 相当重要的)
    2. 平滑地形 用 SurfaceNets的isosurface算法。作出平滑地形 (SN比marchingcubes的顶点数量少3-12倍 且原生支持LoD,DC需要梯度数据不适用UnifGrid结构体素)。
    3. 自定义轮廓 方块 柱子 octree雕刻等。也都是自动材质渲染。
    4. 小摆件/装饰性物品 比如火把 灯 桌子这些有自定义网格和材质的模型。可作为实体或Voxel烘培。
    5. Spline生成模型 比如铁轨 马路 栏杆