Fabrice Bellard가 만든 프로젝트들이 정말 광범위한 영향력을 가지는 것 같음
QuickJS 덕분에 PS2 같은 오래된 시스템에서도 AthenaEnv를 통해 홈브류 부활이 가능해진 게 멋짐
포토샵 실력이 거의 없어서 못 했지만, xkcd 2347 밈에 “Fabrice Bellard가 반쯤 잠든 상태에서 그냥 증명하려고 구현한 것”이라고 써넣고 싶었음
수많은 FOSS 프로젝트의 의존성 체인 어딘가에는 그의 코드가 들어 있음
글쓴이가 ZIP을 ISO로 변환하는 웹사이트 사용의 번거로움을 언급한 걸 보고, 외부 의존성 없는 크로스플랫폼 Python 스크립트를 직접 만들었음 ZIP2ISO.py에서 확인 가능함
ISO9660 스펙을 읽지 않고 Gemini3 Pro로 “vibe-coded”한 게 인상적이었음
mkisofs로도 같은 작업이 가능할 것 같음
AthenaEnv가 흥미로움. QuickJS를 JS 인터프리터로 쓰고 PS2의 네이티브 시스템 라이브러리를 감싸는 구조로 보임
현대 콘솔(Switch/2, PS5, Xbox)에서도 JS Canvas(WebGPU/WebGL) 게임을 배포할 수 있는 비슷한 프로젝트가 있을지 궁금함
콘솔 SDK는 NDA라 공개 정보가 거의 없고, 대부분의 게임은 Unreal이나 Unity를 사용함
PC나 모바일은 Electron이나 WebView로 쉽게 실행할 수 있어서 상대적으로 단순함
JS로 만든 게임 Cross Code가 콘솔로 포팅된 사례가 있음. 자세한 과정은 이 블로그 글에 정리되어 있음
Nintendo 3DS와 Wii U SDK에는 웹 기술 기반의 Electron 유사 프레임워크가 있었지만 Switch에서는 중단된 것으로 기억함
Switch의 WebKit 브라우저 앱릿은 JIT이 비활성화되어 있어서 e-매뉴얼 같은 제한된 용도로만 쓰임
Hacker News 의견
Fabrice Bellard가 만든 프로젝트들이 정말 광범위한 영향력을 가지는 것 같음
QuickJS 덕분에 PS2 같은 오래된 시스템에서도 AthenaEnv를 통해 홈브류 부활이 가능해진 게 멋짐
수많은 FOSS 프로젝트의 의존성 체인 어딘가에는 그의 코드가 들어 있음
글쓴이가 ZIP을 ISO로 변환하는 웹사이트 사용의 번거로움을 언급한 걸 보고, 외부 의존성 없는 크로스플랫폼 Python 스크립트를 직접 만들었음
ZIP2ISO.py에서 확인 가능함
ISO9660 스펙을 읽지 않고 Gemini3 Pro로 “vibe-coded”한 게 인상적이었음
AthenaEnv가 흥미로움. QuickJS를 JS 인터프리터로 쓰고 PS2의 네이티브 시스템 라이브러리를 감싸는 구조로 보임
현대 콘솔(Switch/2, PS5, Xbox)에서도 JS Canvas(WebGPU/WebGL) 게임을 배포할 수 있는 비슷한 프로젝트가 있을지 궁금함
콘솔 SDK는 NDA라 공개 정보가 거의 없고, 대부분의 게임은 Unreal이나 Unity를 사용함
PC나 모바일은 Electron이나 WebView로 쉽게 실행할 수 있어서 상대적으로 단순함
Switch의 WebKit 브라우저 앱릿은 JIT이 비활성화되어 있어서 e-매뉴얼 같은 제한된 용도로만 쓰임
진짜 콘솔에서 실행하려면 ISO를 디스크로 구워야 하는지 궁금했음
QuickJS를 이용한 비슷한 프로젝트로 Nintendo Switch용 nx.js가 있음
다만 v8/JIT 엔진에서 QuickJS로 바꾸면 성능 저하가 클 것임
이제 PS2조차 JavaScript의 손아귀에서 벗어날 수 없게 됨
AthenaEnv는 같은 개발자가 만든 Lua 기반 Enceladus의 후속 프로젝트임
게임뿐 아니라 홈브류 앱에도 많이 쓰이며, Enceladus에서는 RETROLauncher와 POPSLoader, Athena에서는 OSD-XMB 같은 예시가 있음
PS2용으로 웹 브라우저를 만들어 게임을 웹사이트로 여는 방식도 가능하지 않을까 생각함
이런 걸 찾고 있었는데 정말 멋진 프로젝트라 고마움
사람들은 .gdscript나 Godot을 쓰지 않으려고 별짓을 다 함