1P by GN⁺ 4시간전 | ★ favorite | 댓글 1개
  • C#, Avalonia, SkiaSharp로 개발된 차세대 2D 애니메이션 저작 도구로, Flash의 기능을 현대적으로 재구현
  • Linux, Mac, PC에서 모두 동작하며, 타임라인·벡터 드로잉·심볼·트위닝·스크립팅 등 완전한 제작 환경 제공
  • .fla/XFL 파일 불러오기를 지원해 기존 Flash 프로젝트를 열고 수정 가능
  • C# 기반 스크립팅 시스템ActionScript 변환기, 내장 사운드 편집기 등 통합 제작 기능 포함
  • 오픈소스 저작 환경으로, Flash의 유산을 계승하면서 현대적 워크플로를 제공하는 점이 핵심

프로젝트 개요

  • Flash가 2026년에 새로 만들어졌다면 어떤 모습일지를 목표로 한 완전한 2D 애니메이션 저작 도구
    • C#, Avalonia, SkiaSharp로 처음부터 새로 구축
    • Linux, Mac, Windows 호환
  • 타임라인, 드로잉 툴, 심볼 라이브러리, 트위닝, 스크립팅 등 Flash의 핵심 기능을 모두 포함
  • .fla/XFL 파일 불러오기 기능을 통해 기존 Flash 프로젝트를 열고 편집 가능
  • ActionScript → C# 트랜스파일러를 통해 기존 스크립트 코드도 재활용 가능

핵심 시스템

  • 멀티 문서 탭, 자동 저장, 프로젝트 직렬화, 씬 관리, 스테이지 설정 기능 제공
    • JSON + SkiaSharp 기반의 폴더형 또는 압축형 .anim 파일 저장 구조
    • 스테이지 크기, 배경색, 프레임 속도 등을 사용자 정의 가능

드로잉 엔진 및 도구

  • DCEL(이중 연결 에지 리스트) 기반 벡터 엔진으로 Flash의 병합 드로잉 모드 재현
    • Paint Normal, Behind, Fills, Selection, Inside 등 5가지 페인트 모드 지원
  • 17종의 드로잉 도구 포함
    • 브러시, 펜슬, 라인, 사각형, 원, 아크, 지우개, 변형, 페인트버킷, 아이드로퍼, 텍스트, 카메라 등
    • 압력 감지, 스무딩, 자유 변형, 줌/패닝 등 세밀한 제어 가능

오브젝트 및 심볼 시스템

  • Shape, Text, Rich Text, Bitmap, Symbol Instance 등 다양한 오브젝트 타입 지원
  • Graphic, MovieClip, Button, RichText Symbol 등 Flash의 심볼 구조 완전 구현
    • Convert to Symbol 기능으로 선택 객체를 재사용 가능한 심볼로 변환 가능
    • Symbol Library에서 모든 자산 중앙 관리

타임라인과 애니메이션

  • 멀티 레이어 타임라인키프레임 시스템 제공
    • 레이어 유형: Normal, Guide, Mask, Folder, Camera, Sound
  • Classic Tween, Motion Tween, Shape Tween 지원
    • Bezier 기반 모션 경로 편집, 카메라 애니메이션, 사운드 동기화 가능
  • Easing 함수(Linear, Quad, Cubic, Sine, Expo, Back, Bounce, Elastic) 및 사용자 정의 곡선 지원

스타일링 및 효과

  • 채우기(Fill): 단색, 선형/방사형 그라디언트, 패턴
  • 선(Stroke): 두께, 색상, 끝/조인 스타일, 마이터 제한 설정
  • 필터 및 효과: Blur, Drop Shadow, Glow, Bevel, Adjust Color 등
    • 여러 필터를 체인 방식으로 조합 가능

선택·정렬·변형 기능

  • 사각형/자유형 선택, 그룹 변형, 경로 굽힘, 스냅핑 지원
  • 정렬 및 분포 도구로 오브젝트 간 간격과 위치 정렬 가능
  • Undo/Redo 최대 100단계, 명령 병합 및 배치 실행 지원

가져오기 및 내보내기

  • XFL/.fla 파일 불러오기로 Flash 프로젝트 로드
  • SWF 내보내기, HTML5/Canvas 내보내기 모두 지원
    • Bezier 변환, Tween 베이킹, Shape 컴파일러 포함

스크립팅 및 자동화

  • Roslyn 기반 C# 스크립팅 엔진으로 JSFL 수준 이상의 저작 자동화 가능
    • 문서, 타임라인, 레이어, 선택, 그래픽, 라이브러리 API 제공
  • 프레임 스크립트로 재생 시점별 코드 실행
  • ActionScript 3 → C# 변환기AS3 파서/렉서 내장
  • 스크립트 재생 엔진입력 감지 API, 출력 패널로 디버깅 지원

오디오 및 리치 텍스트

  • 내장 사운드 편집기로 파형 표시, 잘라내기/붙여넣기, 타임라인 동기화 재생 지원
    • NAudio 라이브러리로 오디오 입출력 처리
  • 텍스트 엔진은 폰트, 크기, 색상, 정렬, 자간, 줄 간격 등 세밀한 제어 가능
    • 글리프 경로 렌더링으로 텍스트를 벡터 형태로 애니메이션화 가능

UI/UX

  • VS 스타일 도킹 패널 시스템플로팅 윈도우 지원
  • 타임라인, 속성, 라이브러리, 도구, 색상 선택기 등 패널 구성
  • 탭 기반 문서 관리, 자동 숨김 패널, 줌 프리셋, 선 두께 프로파일 편집기 제공

프로젝트 진행 및 지원

  • 현재 활발히 개발 중이며, 지속적인 기능 추가 진행
  • Patreon 후원 페이지를 통해 개발 지원 가능
  • Newgrounds에서 프로젝트 업데이트 지속 게시 예정
Hacker News 의견들
  • 예전에 Flash 게임을 만들었음. 내 Newgrounds 프로필도 아직 남아 있음
    Flash의 장점은 코더와 아티스트가 함께 작업할 수 있는 환경이었음. 아티스트가 FLA 파일로 애니메이션을 만들어 보내면, 나는 그걸 프로젝트에 복사해 넣기만 하면 됐음. 필요하면 프레임을 조금 수정해서 더 자연스럽게 만들 수도 있었음
    요즘은 Love2D로 작업 중인데, 버전 관리가 훨씬 나음. 예전엔 ‘GameName-1.fla’, ‘GameName-2.fla’ 식으로 파일을 관리했음. 나중에 ActionScript를 분리할 수 있게 되긴 했지만, 여전히 FLA는 바이너리 덩어리였음
    Flash의 벡터 기반 애니메이션은 지금의 스프라이트 기반 툴들이 따라오지 못함. 예전에 만든 Clock Legends의 보스 애니메이션은 수백 프레임이었는데, FLA 파일이 23MB 정도밖에 안 됐음. 이런 프로젝트가 다시 부활한다니 기대됨

    • Clock Crew를 떠올리게 해줘서 고맙다는 말이 나옴. 그 시절 인터넷은 정말 재미있던 공간이었음
  • Adobe에서 근무할 때 Flash 크롤러를 만든 적이 있음. 2008~2010년쯤 Alexa 상위 100만 사이트부터 시작해 크롤링했음
    헤드리스 Firefox와 커스텀 Flash 플레이어를 이용해 런타임 데이터를 덤프하고 분석했음. 부쿠레슈티의 콜로케이션 센터에 클러스터를 구축했는데, 무게 제한이나 RAM 업그레이드 같은 문제로 직접 출장을 자주 갔음
    Nutch, Hadoop, HBase 같은 초기 기술을 사용했고, 결과를 SQL DB와 UI로 시각화했음. 인턴들이 이걸 완성하면서 많은 걸 배웠고, 지금은 실리콘밸리에서 일하는 사람도 있음
    이 도구로 보안 취약점도 많이 발견했음. Adobe가 그 데이터를 아직 보관하고 있다면, Computer History Museum에 기증해도 좋을 것 같음

    • 이런 이야기를 어릴 때부터 읽으며 IT에 빠졌다고 함. AWS 시대가 되기 전의 모험담 같았음
    • 흥미롭다는 반응과 함께, 당시 프로젝트의 목적이 무엇이었는지 묻는 댓글도 있었음
  • Flash는 지금까지도 내가 써본 개발 환경 중 가장 재미있었던 플랫폼이었음
    직접 그림을 그리고, 그걸 코드로 연결하고, 프레임을 다시 세지 않아도 되는 구조가 너무 편했음. 내 방에서 Flash MX 2004 Pro(혹은 Flash 8) 불법 복제판으로 게임을 만들던 시절이 아직도 그립음
    Construct나 GameMaker도 좋지만, Flash만큼의 재미는 없음. 새로운 Flash가 나온다면 정말 기쁠 것 같음

    • Flash가 10대 개발자들에게 창작의 장을 열어줬다는 점이 종종 간과된다고 함. 펜티엄 II에서도 돌아가는 게임과 애니메이션을 만들 수 있었던 건 대단한 일이었음
  • .fla / XFL 파일을 직접 열고 편집할 수 있는 오픈소스 툴이라니 놀라움. 단순히 재생만 하는 게 아니라 수정까지 가능하다면, 하위 호환성 면에서 큰 의미가 있음

    • 하지만 .fla 포맷은 완전히 문서화되거나 리버스 엔지니어링된 적이 없기 때문에, 이 주장은 상당히 대담한 시도로 보인다고 함
    • 또 다른 사용자는 ActionScript → C# 트랜스파일러가 실제로 잘 작동할지 궁금하다고 함
  • 글의 문체가 일정하지 않아 LLM이 일부 생성한 글 같다는 의심이 든다고 함. 문장부호나 대소문자 사용이 들쭉날쭉한데, 요약 부분은 완벽한 문법으로 작성되어 있음
    “Not just play them back — edit them” 같은 표현이 특히 인공적으로 느껴졌다고 함. 그래도 프로젝트 자체에는 성공을 기원

    • 이미지 속 아이콘들이 AI로 생성된 것처럼 보인다는 의견도 있었음. 얼마나 LLM을 활용했는지 공개하면 좋겠지만, Newgrounds 커뮤니티는 그걸 좋아하지 않을 수도 있다고 함
    • LLM_PROSE_TELLS.md라는 링크를 공유하며, LLM이 쓴 글의 특징을 참고하라고 함
  • 지난 15년 동안 “세상엔 Flash 같은 게 다시 필요하다”는 생각을 자주 했음. Flash는 한 세대의 사람들이 예술, 게임, 음악, 애니메이션을 배우게 한 도구였음
    지금 세대에게는 Minecraft와 Roblox가 그 역할을 대신하는 듯함

    • Flash는 내가 가장 사랑했던 소프트웨어 중 하나였음. Linux로 옮기면서 가장 그리운 프로그램이기도 함
      지금도 Wine으로 Flash MX 2004를 돌릴 수는 있지만, 정기 업데이트가 있는 오픈 버전이 있으면 좋겠음
      ToonBoom은 훌륭한 애니메이션 툴이고, Construct 2는 좋은 게임 엔진이지만, Flash처럼 애니메이션과 코드가 자연스럽게 결합된 하이브리드 툴은 없음
      Flash에서는 ActionScript를 몰라도 만화를 만들 수 있었고, 점차 코드를 추가해 게임으로 확장할 수도 있었음. 정말 멋진 구조였음
  • 프로젝트를 오픈소스라고 하면서 Patreon을 먼저 연 건 좋지 않은 출발이라고 생각함. 특히 아직 작동 예시나 영상도 없는 상태에서 유료 후원을 받는 건 신뢰를 떨어뜨림

    • 이에 대한 짧은 반응으로 “흠”이라는 한마디가 달림
  • 2012년에 IvanK.js라는 JavaScript 라이브러리를 만들어 Flash API를 웹에서 재현했음. WebGL이 필요했는데, 당시엔 지원이 부족했음
    그래도 몇몇 Flash 게임을 빠르게 웹으로 포팅할 수 있었음
    데모 링크

  • Flash의 후속으로 Haxe가 언급되었는데, 실제로는 ActionScript 대체에 더 가깝다고 함
    Flash의 진짜 매력은 그래픽 툴과 스크립팅의 결합이었음. 단순히 언어만 비슷하다고 같은 경험을 줄 수는 없음

  • Adobe가 Flash를 오픈소스로 공개했으면 좋았을 것이라고 생각함. 그랬다면 유료 개발툴 시장을 계속 주도할 수도 있었을 것임

    • 하지만 내부 사정을 아는 사람에 따르면, 2008~2012년쯤에는 이미 Flash Player 코드베이스가 너무 방대했고, 외부 라이선스가 얽혀 있어서 공개가 불가능했다고 함
    • 또 다른 사람은 Flash가 여전히 Adobe Animate로 이어지고 있고, 디즈니 같은 고객사가 사용 중이라 오픈소스화가 어려웠다고 설명함