공식 사이트 |
소스 코드 |
프로젝트 로드맵 |
웹 데모 |
확장 프로그램 다운로드 |
[clearfix]
1. 개요
어도비 플래시용 오픈소스 에뮬레이터이다.플래시 에뮬레이터 중 가장 활발하게 개발되고 있다. Rust 언어로 개발되었으며 WebAssembly로 웹브라우저에서 추가 플러그인 없이도 바로 구동될 수 있다. WASM이 지원되지 않는 Internet Explorer는 지원하지 않으며 WASM 지원 브라우저(Chrome 또는 Firefox 기반 브라우저)를 사용해야 한다.
최신 브라우저 스펙인 HTML5에 맞게 재작성되었기 때문에 최신 운영체제에 높은 호환성을 자랑하고 보안성도 좋다.
공식적인 배포 방식은 데스크톱용 플레이어, 웹 호스팅용 js 파일, 확장프로그램이 있다.
몇몇 플래시 콘텐츠 사이트에서는 2020년부터 이미 해당 에뮬레이터를 적용하여 제공하고 있는 중이다.[1]
Newgrounds, 뉴욕 타임스, Armor Games, Movavi, Kongregate 외 수많은 사이트의 후원을 받고 있다.
2. 호환성
에뮬레이터가 한창 개발중이어서 현재는 ActionScript 1/2(AVM1)[2] 사양의 파일은 실행이 대부분 지원되고, 액션스크립트 3(AVM2)[3] 사양의 파일도 지원된다.2010년 이후 정도의 최신 컨텐츠는 대부분 액션스크립트 3을 사용하므로 아직은 원활한 재생이 불가능하다. 로드맵에서 AS3 지원을 약속하였으며, AS3.0의 핵심인 AVM2 는 현재 구현이 진행중이나 AVM1에 비해 구조가 복잡하고 API가 훨씬 방대하기 때문에 지원에는 상당한 시간이 소요될 것이라 예상된다.
2023년 3월 기준 ActionScript 1/2에서 보고된 에뮬레이터 문제이다.
- 일부 작품에서 한국어, 중국어 또는 일본어 폰트가 깨진다.
- 로딩이 완료되지 않거나 프레임이 멈추지 않는다.
- 간혹 배경음악이나 효과음 싱크 문제나 재생되지 않는 현상이 발생한다.
- 일부 그래픽이 깨지거나 입력 박스를 띄울 수 없다.
- 몇몇 플래시의 동작에 문제가 발생하거나 진행이 막힌다.
- 텍스트 입력박스에 한글(IME)이 입력되지 않는다.
2023년에 접어들면서 액션스크립트 3 플래시의 호환성이 나아지고 있는 추세이다.
3. 활용한 사이트
- 플래시아크 - 국내 최대 규모의 플래시 아카이브 사이트. 플래시 지원 종료로 인해 차단된 swf 파일을 플러그인 설치 없이 웹에서 플레이하거나 보존할 수 있는 사이트이다. 여러군데 흩어졌던 한국 플래시 콘텐츠가 많이 보존되어있다.
- Internet Archive - 인터넷 아카이브에서 제공하는 파일 아카이브 페이지이다. 플래시도 지원한다.
- Fur Affinity
- Inkbunny
- Newgrounds
- Windows 93 - "Adobe Pizza Player™"라는 이름으로 제공되고 있다.[4]
- 주전자닷컴
4. 활용한 앱 및 프로그램
4.1. PC
- 플래시아크 플레이어: 플래시아크에서 지원하는 SWF 플레이어이다. 아카이브와 연동되어있으며 데스크톱용으로 개발되어있다.
4.2. 모바일
- 플래시아크 플레이어 (Android): 안드로이드용 플래시아크 SWF 플레이어 애플리케이션
- Webgenie SWF & Flash Player: 2020년 12월 3일에 릴리스된 버전 2.0.0부터 Ruffle을 사용하기 시작했다.[5]
- ruffle-android: 키보드 입력을 사용할 수 있다.((here)버튼을 누르면 다운 받을 수 있는 페이지로 넘어간다.)
- swf player 버전 1.86부터 ruffle을 추가 도입하여 실행할 수 없었던 AVM1 기반의 swf 파일도 실행할 수 있게 되었다.
[1] 대표적으로 Newgrounds에서 일부 플래시 컨텐츠에 Ruffle을 적용하였고, 국내에서는 플래시아크 서비스와 주전자닷컴에서 기존 플래시를 서비스하고 있다.[2] 언어구현 95%, API구현 78%[3] 언어구현 90%, API구현 76% 구현 세부 정보 자세히 보기[4] 에뮬레이터 버전이 (2020-3~4-?경 추정) 버전을 사용하고 유일하게 ruffle 에뮬레이터 초기 버전을 사용한다.[5] 버전 2.2.0 기준 nightly 2021-09-01 버전을 사용한다.(apk 파일을 추출하고 Windows로 옮겨서 메모장으로 rust 언어 버전을 확인하고(맨 밑에 있고 날짜로 적혀있다.) 그 날짜 이상에 맞게 다운로드 한 다음 wasm 파일 이름을 비교한 결과)