- 1997년 PC 게임 LEGO Island가 설치 없이 브라우저에서 실행되는 완전 포트로 공개되어, 오래된 Windows 게임을 최신 기기에서 바로 플레이할 수 있음
- 포트의 기반은 바이트 단위로 원본을 재현한 LEGO Island decompilation과 Windows 의존성을 걷어낸 포터블 버전임
- 최신 브라우저와 WebAssembly 멀티스레딩이 필요하며, 첫 실행은 약 25MB 스트리밍 후 시작되고 오프라인 설치는 약 550MB를 사용함
- 키보드·마우스, 게임패드, 터치스크린을 지원하고 Configure 메뉴에서 조작, 언어, 해상도, 오프라인 플레이 같은 실행 조건을 조정할 수 있음
- 원본 핵심 게임플레이는 유지하면서 와이드스크린, 4K, 버그 수정, 확장, 저장 편집, 멀티플레이 같은 현대적 기능을 더한 점이 특징임
브라우저 포트의 기반
- LEGO Island는 1997년 원본 PC 게임을 브라우저에서 바로 플레이할 수 있게 만든 재구현판임
- 구현에는 Emscripten과 WebAssembly가 쓰였고, 최신 기기에서 별도 설치 없이 실행되도록 구성됨
- 이 프로젝트는 LEGO Island decompilation을 기반으로 함
- 해당 디컴파일 프로젝트는 원본 소스 코드를 완전하고 바이트 정확하게 재구성함
- 이후 portable version이 만들어지며 그래픽, 오디오, 입력, 설정 등 Windows 의존성이 최신 크로스플랫폼 대안으로 교체됨
- 현재 LEGO Island는 Windows, Linux, macOS, iOS, Android, Nintendo Switch, PlayStation Vita, 웹을 포함해 10개 이상 플랫폼에서 실행됨
- 브라우저 버전은 원본 Interleaf 스트리밍 코드를 사용해 1997년 CD-ROM처럼 콘텐츠를 점진적으로 로드함
- 프로젝트가 아직 활발히 개발 중이어서 일부 버그가 남아 있을 수 있음
실행 환경과 조작 방식
- 실행에는 WebAssembly 멀티스레딩을 지원하는 최신 브라우저가 필요함
- 지원 브라우저와 최소 버전은 다음과 같음
- Chrome 95 이상
- Firefox 92 이상
- Edge 95 이상
- Safari 15.4 이상
- iOS에서는 iOS 18 이상이 권장됨
- 입력 방식은 Configure 페이지에서 조정 가능함
- Keyboard & Mouse: 화살표 키 또는 WASD를 쓰는 데스크톱 조작
- Gamepad: 아날로그 스틱과 D-pad를 쓰는 컨트롤러 지원
- Touch Screen: 모바일용 터치 조작 방식 선택
- 게임패드 지원 범위는 브라우저에 따라 달라질 수 있음
로딩, 오디오, 저장
- 첫 로드에서는 약 25MB 데이터를 스트리밍함
- 확장 기능을 켜면 더 많은 데이터를 받을 수 있음
- 초기 로딩에는 안정적인 인터넷 연결이 권장됨
- 오프라인 플레이는 Configure 메뉴에서 전체 게임 파일을 설치해 사용할 수 있음
- 필요한 용량은 약 550MB임
- 브라우저가 사용자 상호작용 전 오디오 재생을 막는 경우가 있어, 소리가 나지 않으면 애니메이션 인트로의 mute 아이콘을 클릭해야 함
- 진행 상황은 자동 저장됨
- 저장을 확실히 하려면 Infocenter로 돌아가 exit door를 사용해 메인 메뉴로 나가야 함
- 탭을 바로 닫을 때도 “best effort” 저장을 시도하지만 항상 보장되지는 않음
원본 호환성과 성능 조정
- 이 포트는 원본 1997년 PC 게임의 완전 포트이며 핵심 게임플레이는 동일함
- 시작 전 Configure 페이지에서 여러 언어를 선택할 수 있음
- 영어는 1.0과 1.1 버전을 모두 선택 가능함
- 추가 개선 기능도 포함됨
- 와이드스크린을 지원함
- 조작 방식이 개선됨
- 디컴파일 프로젝트에서 나온 다수의 버그 수정이 반영됨
- 디스플레이 최대 해상도로 실행할 수 있음
- 4K 실행도 가능함
- 성능이 불안정하면 다른 브라우저 탭을 닫아 메모리를 확보하고 하드웨어 가속을 사용하는 것이 권장됨
- 모바일에서는 저전력 모드가 아닌지 확인해야 함
- 지연이 있으면 Configure에서 해상도를 낮출 수 있음
새 기능과 고급 기능
- 멀티플레이 모드는 공개 또는 비공개 섬을 만들고 최대 16명이 실시간으로 LEGO Island를 함께 탐험할 수 있게 함
- Scene Player는 300개 이상의 원본 LEGO Island 애니메이션을 재생 제어와 공유 링크로 볼 수 있게 함
- Nick Brick's Memories는 멀티플레이에서 원본 게임 내 애니메이션을 다른 플레이어와 재연하고 memories로 수집하는 기능임
- Discord 로그인으로 Cloud Sync, memories, 멀티플레이 기능을 활성화할 수 있음
- Cloud Sync는 로그인 상태에서 저장 파일과 설정을 기기 간 자동 백업함
- 충돌 보고 오버레이는 문제가 발생했을 때 진단 정보를 캡처하고 보고서를 제출할 수 있게 함
- Save Editor는 브라우저에서 저장 파일을 보고 수정할 수 있음
- 플레이어 이름, 캐릭터, 최고 점수를 변경할 수 있음
- 편집 기능은 여러 게임 요소를 다룸
- Sky Color Editor: 섬 하늘 그라디언트 색상을 편집함
- Vehicle Part Editor: 차량 부품과 색상을 3D 미리보기로 수정함
- Vehicle Texture Editor: 기본 프리셋 또는 업로드 이미지로 차량 텍스처를 바꿈
- Actor Editor: 66개 게임 액터의 모자, 색상, 분위기, 소리, 동작을 애니메이션 3D 캐릭터 미리보기로 편집함
- Plant Editor: 81개 섬 식물의 변형, 색상, 분위기, 소리, 동작을 탐색하고 수정함
- Building Editor: 섬 건물의 변형, 소리, 동작을 3D 미리보기로 바꿈
- 개발자와 고급 사용자를 위한 Debug menu도 있음
- LEGO Island 로고를 5번 탭하면 OGEL mode가 열림
- 위치 이동, act 전환, 애니메이션 재생 같은 디버그 기능에 접근할 수 있음
확장과 렌더링 개선
- 확장 시스템은 커뮤니티 제작 콘텐츠와 수정을 가능하게 함
- 제공되는 확장과 개선에는 다음이 포함됨
- HD Textures: 비주얼을 개선함
- HD Music: 고음질 오디오를 제공함
- Extended Bad Ending FMV: 잘리지 않은 베타 애니메이션을 보여줌
- Widescreen backgrounds: 와이드 디스플레이에서 3D 가장자리를 제거함
- SI Loader: 커뮤니티 콘텐츠와 수정을 위한 확장 시스템임
- 렌더링과 그래픽 기능도 추가됨
- WebGL 렌더링을 지원함
- WebGL이 없는 기기에서는 소프트웨어 렌더러 대체 경로를 사용함
- OpenGL ES 2.0/3.0 렌더러를 제공함
- 32비트 컬러를 지원함
- MSAA 안티앨리어싱을 사용할 수 있음
- anisotropic filtering을 적용할 수 있음
- 전체 화면 모드를 지원함
- 여러 버그 수정과 성능 개선도 반영됨
- WebGL 드라이버 호환성 문제가 수정됨
- Firefox 사생활 보호 모드에서 정상 동작함
- 터치 좌표 변환 문제가 수정됨
- ViewLODList 메모리 누수가 수정됨
- GPU mesh 업로드가 VBO로 개선됨
- backface culling이 활성화됨
- SIMD 최적화 z-buffer clearing이 적용됨
관련 자료와 소스
- LEGO Island Decompilation: 원본 게임을 역공학한 핵심 오픈소스 프로젝트
- LEGO Island, Portable Version: 웹 포트의 직접 기반이 되는 크로스플랫폼 포터블 버전
- isle.pizza Frontend: 이 웹사이트의 프런트엔드 소스 코드
- LEGO Island Rebuilder: 원본 1997년 PC 버전을 패치하고 모딩하는 런처와 도구
- SIEdit: 원본 게임의
.si스크립트와 리소스 파일을 보고 편집하는 도구 모음 - The Making of LEGO Island: A Documentary: MattKC의 LEGO Island 개발 다큐멘터리
- LEGO Island Wiki: 팬 운영 LEGO Island 정보와 연구 자료
- Project Island High Quality Music: 메인 작곡가 Lorin Nelson이 복원한 LEGO Island 사운드트랙 고음질 재디지털화 자료