
开发者用 Python 和 Raylib 开源等距 ARPG 游戏 BtR
来源标题:Show HN: BtR an open-source isometric ARPG in Python/Raylib
开发者历时 6 个月用 Python 3.12 和 raylib-py 从零编写等距动作 RPG《BtR》,并于 10 月以 GPL v3 协议开源全部代码。游戏设定为暗黑西部风格,装备按器官部位穿戴并以「R0t」机制损耗,掉落物始终未鉴定,制作货币则是一副扑克牌。作者还介绍了单一图集渲染、GLSL 黑暗着色器与确定性命中判定等实现细节。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
大家好,过去6个月我用Python 3.12 + raylib-py从零写了一个等距视角动作RPG,10月份以GPL v3协议开源了全部代码。这是一款黑暗西部风格的“poe-delvelike”ARPG:你不断深入无尽地牢,拾取稀有装备,并努力在被身后逼近的黑暗杀死之前逃出来。装备穿戴在器官槽位上(肺、心、肝、肠、肾),并且会随着“R0t”而劣化,而不是用耐久度。掉落物始终是未鉴定的,一副扑克牌就是制作货币(鉴定、升级、重铸、强制生成神话品阶)。一些实现细节:- 世界由单张tileset图集渲染;道具在加载时从图集中裁剪出来,因此没有逐道具的图片处理管线- 黑暗是一个GLSL片元着色器,带有软件回退路径;玩家的光源锚点是一盏动态光,会随着移动给角色染色- 命中判定是确定性的(“Entropy”系统):命中和闪避会为每个实体累积熵值,而不是查询纯RNG,这样既消除了连续死亡的糟糕体验,又不会让战斗变得软绵绵- 固定时间步长配合每消费者输入边沿,避免世界层与UI层之间抢点击- 存档走带版本的schema迁移链(当前为v3),失败时备份,这是早期存档损坏后学到的- 约180个pytest测试覆盖了成长数值、掉落表、战斗修正和UI保护第三方素材(tileset、音乐、字体、卡牌美术)保留各自的许可证,全部在credits/SOURCES.txt中署名;代码本身是GPL。我很乐意深入聊任何系统:渲染器、命中判定设计、掉率调优,或者“一个人如何在Python里做出一个ARPG”这个整体问题。欢迎反馈,issues/PRs开放。 评论URL:https://news.ycombinator.com/item?id=50450891 点数:1
评论数:0
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。