大家好!

我不是游戏开发者,但我已经有8年多的时间作为Dungeons & Dragons的GM了。

我开始做GM是因为找不到团队,所以我自己组建了一个团队,我们已经玩了两场campaign,这场最新的campaign已经持续了5年。从开始,我们一直在线玩,因为我们都是成年人,有小孩,所以这是我们唯一的选择。

为了实现在线玩法,我尝试使用像roll20这样的大型游戏引擎,但它总是感觉很卡顿,难以维护,而且每月都要花费钱,所以我一直在寻找替代方案,最后我发现了FoundryVTT,它是一次性付款的,安装在任何计算机上,然后使用一些网络知识,可以在线共享给玩家加入。

从那时开始,FoundryVTT就一直在帮助我们,但我一直遇到网络延迟的问题,地图因为我的GPU而崩溃,我的玩家因为连接不好而下载所有资源,总之就是很麻烦,而且很难维护,学习曲线也很陡峭……我一直卡在那里,根本不沉浸在游戏中。直到去年我开始学习Python编程,然后学习JS、TS、C#等等。

编程开了我的眼睛,让我意识到我可以做什么,我决定让我的玩家游戏体验更沉浸,这就是我开始的项目,一个3D虚拟桌面,不需要高性能的电脑。

最初我想让玩家通过流媒体技术把游戏流式传输到他们的电脑上,但尽管我尝试了(我成功了)但它在服务器端会消耗很多GPU资源,根本不可行,而且成本太高。后来我使用了Unity的Render streaming技术,成功让多个客户端同时连接,但这远远不够stock系统允许的。

我感觉很绝望,我花了6个月的时间试图让它工作,虽然它工作了,但快速查看资源消耗就足以让我放弃这个项目。

然后过了几个星期,我突然想到用WebGL(Three.js)来实现它,开始学习它,结果它基本上可以工作,因为它是CPU依赖的,所以我可以创建3D世界而不消耗太多CPU资源,所以我开始寻找如何让它更好或者是否有引擎支持它,最后我找到了一个!我终于开始了,花了10个月的时间,偶尔1小时一周的时间,但我一直在努力。

我觉得分享这个是因为我看到了一个帖子,一个玩家觉得绝望了想分享他的经历,鼓励其他游戏开发者,特别是那些单人开发,缺乏社交的人,所以我就分享了。

目前,我已经建立了我的认证游戏服务器使用bun + websockets,我也建立了前端使用Angular,后端使用Django,Postgres数据库……我还建立了所有的认证循环,游戏加载,游戏持久化,场景管理,地图编辑器和总体DM游戏体验UI……我已经超前很多,简直兴奋不已。

我的游戏是一个3D虚拟桌面,基于web,所以任何人都可以直接打开页面,启动游戏,玩游戏而不需要下载任何东西,每个资源都被优化到极致,玩家可以创建(作为DM)所有地图和优化资源,所有东西都是流式传输,非常轻量,不需要GPU支持,尽管将来我想添加webGPU支持。

唯一缺乏的就是艺术部分了,好难学怎么创建3D资源,但我已经开始学习Blender环境创建课程了,购买了角色创建课程,觉得这会是我花费最多时间的部分,我可以解决技术问题,但创造艺术想法让我头疼。

我会在游戏接近稳定版时分享demo,让你们帮助我测试。直到那时,我将分享我花了1.2年时间从机械工程背景下,带着3个小孩,试图创建最沉浸的3D虚拟桌面游戏。

感谢阅读,请分享你们的想法,如何让我的游戏更好,如何让它有一个成功的发布。