최근 수정 시각 : 2025-03-07 17:50:43

Ruffle

파일:Ruffle 로고.svg
공식 사이트
소스 코드
웹 데모
확장 프로그램 다운로드

1. 개요2. 호환성3. 활용한 사이트4. 활용한 앱 및 프로그램

[clearfix]

1. 개요

어도비 플래시 플레이어를 대체하는 오픈소스 에뮬레이터이다. 웹브라우저 환경에서 HTML5와 WebAssembly를 사용한다. 플래시 에뮬레이터 중 가장 활발하게 개발되고 있으며 기여자 중에서는 마인크래프트 개발자인 Dinnerbone도 활동 중이다.

Rust 언어로 개발되었으며 WebAssembly로 웹브라우저에서 추가 플러그인 없이도 바로 구동될 수 있다. WASM이 지원되지 않는 Internet Explorer는 지원하지 않으며 WASM 지원 브라우저(Chromium 또는 Firefox 기반 브라우저)를 사용해야 한다. 최신 브라우저 스펙인 HTML5에 맞게 재작성되었기 때문에 최신 운영체제에 높은 호환성을 자랑하고 보안성도 좋다.

공식적인 배포 방식은 데스크톱 및 모바일(모바일은 직접 빌드해야 함) 앱, 웹 호스팅용 js 파일, 확장프로그램이 있다.

대부분의 플래시 콘텐츠 사이트에서 Ruffle 에뮬레이터를 사용하며 대표적으로는 국내는 플래시아크, 해외는 Newgrounds에서 사용하고 있다. 최근 Flashpoint에서도 Ruffle이 채택되었다.

Newgrounds, 뉴욕 타임스, Armor Games, Movavi, Kongregate, 네오펫 등 수많은 사이트의 후원을 받고 있다.

2. 호환성

에뮬레이터 개발은 현재도 계속 진행되고 있다. ActionScript 1/2(AVM1)[1] 사양의 파일은 실행이 대부분 지원되고, 액션스크립트 3(AVM2)[2] 사양의 파일도 지원된다. 액션스크립트 3 콘텐츠는 나중에 정식으로 지원되기 시작하여, 현재는 대부분의 플래시를 정상적으로 구동할 수 있다.

기존의 어도비 플래시 플레이어를 완전히 모방하여 새로 작성한 에뮬레이터이기 때문에 호환성이나 성능 문제가 존재한다. 하지만 시간이 지날 수록 점차 개선되고는 있다.

2025년 3월 기준 에뮬레이터의 알려진 문제는 다음과 같다.
  • 일부 파일에서 글자가 나타나지 않는 경우가 있지만 최근 폰트 지원을 추가하면서 일부 사이트나 플래시 파일에 따라 글자가 정상적으로 표시될 수 있게 되었다.
  • 간혹 배경음악이나 효과음 싱크 문제나 사운드 파일이 재생되지 않는 현상이 발생한다.
  • 몇몇 플래시의 동작에 문제가 발생하거나 진행이 막힌다. 3D 콘텐츠가 올바르게 렌더링되지 않을 때가 있다.
  • 아직 한글, 중국어, 일본어(IME)를 입력할 수 없다. 하지만 극히 일부 콘텐츠에서 한글이 입력되는 경우도 있다.

3. 활용한 사이트

  • 플래시아크 - 국내 최대 규모의 플래시 아카이브 사이트. 플래시 지원 종료로 인해 차단된 swf 파일을 플러그인 설치 없이 웹에서 플레이하거나 보존할 수 있는 사이트이다. 여러군데 흩어졌던 한국 플래시 콘텐츠가 많이 보존되어있다.
  • Internet Archive - 인터넷 아카이브에서 제공하는 파일 아카이브 페이지이다. 플래시도 지원한다.
  • Fur Affinity
  • Inkbunny
  • Newgrounds
  • Windows 93 - "Adobe Pizza Player™"라는 이름으로 제공되고 있다.[3]
  • 주전자닷컴

4. 활용한 앱 및 프로그램

  • 플래시아크 플레이어: 플래시아크에서 지원하는 SWF 플레이어이다. 아카이브와 연동되어있으며 데스크톱, 모바일 앱을 지원한다.
  • Webgenie SWF & Flash Player: 2020년 12월 3일에 릴리스된 버전 2.0.0부터 Ruffle을 사용하기 시작했다.[4]
  • ruffle-android: 키보드 입력을 사용할 수 있다.((here)버튼을 누르면 다운 받을 수 있는 페이지로 넘어간다.)
  • swf player 버전 1.86부터 ruffle을 추가 도입하여 실행할 수 없었던 AVM1 기반의 swf 파일도 실행할 수 있게 되었다.


[1] 언어구현 95%, API구현 79%[2] 언어구현 90%, API구현 76% 구현 세부 정보 자세히 보기[3] 에뮬레이터 버전이 (2020-3~4-?경 추정) 버전을 사용하고 유일하게 ruffle 에뮬레이터 초기 버전을 사용한다.[4] 버전 2.2.0 기준 nightly 2021-09-01 버전을 사용한다.(apk 파일을 추출하고 Windows로 옮겨서 메모장으로 rust 언어 버전을 확인하고(맨 밑에 있고 날짜로 적혀있다.) 그 날짜 이상에 맞게 다운로드 한 다음 wasm 파일 이름을 비교한 결과)