文章摘要
文章介绍了一个开发者发现可以用JavaScript制作PS2游戏的有趣现象。作者在itch.io平台上发布的网页游戏被网友Dev Will移植到了PS2平台,并开源了相关代码。这表明原本被认为开发难度高的PS2平台现在也能通过JavaScript进行游戏开发。
文章总结
标题:用JavaScript开发PS2游戏成为现实
文章链接:https://jslegenddev.substack.com/p/you-can-now-make-ps2-games-in-javascript
核心内容:
- 项目发现
- 作者意外发现自己的网页游戏《Sonic无限跑酷》被用户"Dev Will"移植到PS2平台
- 该移植项目完全使用JavaScript开发,而非传统的C/C++语言
- 项目基于名为AthenaEnv的开源环境实现
- AthenaEnv技术解析
- 该环境通过嵌入修改版QuickJS引擎实现JavaScript在PS2上的运行
- 提供完整的游戏开发API,包括:
- 图形渲染(精灵、文字、形状等)
- 资源加载(图片、音效、字体等)
- 输入处理(支持手柄和键鼠)
- 文件操作
- 音频播放
- 开发体验
- 开发流程简单:在代码编辑器修改JS文件后,通过模拟器重置即可测试
- 作者创建了"Hello World"示例演示:
- 资源加载与精灵动画
- 游戏循环实现
- 文字渲染
- 输入控制(包含角色朝向处理)
- 提供了开发模板和资源链接
- 项目分发
- 可通过特定工具将项目打包为.iso文件
- 详细说明了文件准备和转换流程
- 解决了非技术用户难以部署多文件项目的问题
- 现状与展望
- 当前版本主要支持2D开发
- 3D功能将在v4版本中完善
- 提供了几个3D演示项目链接
- 推荐加入官方Discord社区获取支持
项目资源: - Sonic移植版:https://github.com/DevWill-hub/Sonic-Infinite-Runner-PS2 - 开发模板:https://github.com/JSLegendDev/Athena-PS2-Template - 主项目:https://github.com/DanielSant0s/AthenaEnv - Discord社区:https://discord.gg/cZUH5U93US
(注:原文中关于具体代码实现细节、图片说明和部分技术讨论过程等内容已进行适当精简,保留了核心的技术原理和开发流程说明)
评论总结
评论总结:
- 正面评价:
- 对项目表示赞赏,认为其创新且实用:
- "Super cool. Thanks for sharing this. I've been looking for something like this for a while."(太棒了。感谢分享。我一直在找这样的东西。)
- "Fabrice Bellard builds stuff that just has such a wide spread impact"(Fabrice Bellard开发的东西影响广泛)
- 技术兴趣:
- 关注项目在实体PS2上的运行可能性:
- "I’m curious if there’s a way to burn the ISO to a disc and get this playing on a physical console?"(好奇能否将ISO刻录到光盘并在实体主机上运行?)
- 负面意见:
- 认为项目是为了规避其他技术:
- "people will do anything to avoid using .gdscript and Godot"(人们会想尽办法避免使用.gdscript和Godot)
- 重复发布:
- 指出该项目已被多次分享:
- "Already been posted here twice by the dev in the past two months"(开发者过去两个月已经在这里发布了两次)