최근 Metroid Prime 4를 하면서 이런 아이디어로 현대 게임을 만든다면 어떨까 생각했음
맥에서 브라우저 외에 실행할 방법이 있는지 궁금함 cannot execute binary file 오류가 발생함
이런 메커니즘을 발전시켜 진짜 범용 실행 파일(universal binary) 을 만들 수 있을지 궁금함
예를 들어 Haxe로 코드를 작성해 C++로 컴파일하면 Win32와 Linux용을 만들고,
JavaScript로 변환해 HTML에서도 실행 가능하게 한 뒤,
세 결과물을 하나의 파일로 합치는 식으로 구현할 수 있을 것 같음
하나의 파일로 어디서든 실행 가능한 단일 실행 앱 개념이 마음에 듦
나도 서버리스 플랫폼을 만들며 이런 방향을 연구 중임
단 하나의 .html 파일로 데이터 기반 앱을 만들고, web-components를 원격에서 불러오는 구조임 file:// 프로토콜로 HTML을 직접 여는 기능이 강력한데, 종종 간과됨
원문 작성자는 실제로 세 번 구현했음 — WinAPI 기반 C, X11 기반 C, 그리고 HTML5 Canvas 기반 JS 버전
즉, 단순히 브라우저 인스턴스를 띄운 게 아니라 완전한 네이티브 앱 두 개를 만든 셈임
아쉽게도 HTTPS가 아닌 환경에서는 브라우저 기능 제약이 많음
단일 HTML 앱 개발 방식을 더 알고 싶음. 혹시 공개된 예제가 있는지 궁금함
Polyglot 파일이 이렇게 늦게 등장한 게 신기함
기술적으로는 10~20년 전에도 가능했을 것 같음
최초의 polyglot 파일이 언제 등장했는지 궁금함 EICAR.COM이 텍스트와 실행 파일을 겸한 초창기 예시로 떠오름
Hacker News 의견들
리눅스 실행 파일을 추출했는데, readelf와 objdump가 제대로 읽지 못해서 놀랐음
조사해보니 PT_DYNAMIC 헤더의 비사용 필드에 동적 링커 이름을 억지로 넣어 공간을 절약한 구조였음
하지만 이런 포맷을 일부러 망가뜨리는 건 무의미한 절약이라 생각함
안티바이러스나 DEP 같은 보안 기능과 충돌할 수도 있어서 이런 실행 파일은 건드리고 싶지 않음
원본 젤다(Zelda) 게임의 파일 크기가 너무 작아서 놀라움
그렇게 적은 코드와 데이터로 얼마나 큰 감동과 몰입감을 만들어냈는지 경이로움
The Legend of Zelda (Wikipedia)
40년 만에 맵을 추출했는데 PNG로만 800KB가 넘음
게임 맵 보기
디자이너들이 공간 제약 안에서 퍼즐처럼 구성했음
Zelda 맵 구조 참고
내 테스트 결과
.html로 바꾸면 실행됨lzma명령이 없다는 오류가 나서xz패키지를 설치하니 작동함.com이나.exe로 실행 시 오류(0xc0000005)가 났는데, DEP 설정을 해제하니 실행됨chmod +x snake.com후 실행하면 Mono가 시도되며 실패함대신
bash snake.com으로 실행하면 잘 됨. Debian 13 기준임흥미로운 점은 이 파일이 세 개의 실행 파일이 하나로 합쳐진 형태라는 것임
그래서 각 플랫폼에서 완전히 다른 프로그램을 담을 수도 있음
kkrieger라는 96KB짜리 FPS 게임이 떠오름
당시 그래픽 수준이 놀라웠음
kkrieger (archive)
맥에서 브라우저 외에 실행할 방법이 있는지 궁금함
cannot execute binary file오류가 발생함이런 메커니즘을 발전시켜 진짜 범용 실행 파일(universal binary) 을 만들 수 있을지 궁금함
예를 들어 Haxe로 코드를 작성해 C++로 컴파일하면 Win32와 Linux용을 만들고,
JavaScript로 변환해 HTML에서도 실행 가능하게 한 뒤,
세 결과물을 하나의 파일로 합치는 식으로 구현할 수 있을 것 같음
하나의 파일로 어디서든 실행 가능한 단일 실행 앱 개념이 마음에 듦
나도 서버리스 플랫폼을 만들며 이런 방향을 연구 중임
단 하나의
.html파일로 데이터 기반 앱을 만들고, web-components를 원격에서 불러오는 구조임file://프로토콜로 HTML을 직접 여는 기능이 강력한데, 종종 간과됨즉, 단순히 브라우저 인스턴스를 띄운 게 아니라 완전한 네이티브 앱 두 개를 만든 셈임
Polyglot 파일이 이렇게 늦게 등장한 게 신기함
기술적으로는 10~20년 전에도 가능했을 것 같음
EICAR.COM이 텍스트와 실행 파일을 겸한 초창기 예시로 떠오름
js13kGames 같은 초소형 웹게임 대회가 생각남