2P by GN⁺ | ★ favorite | 댓글 1개
  • Picotron은 가상 하드웨어 위에서 Lua 앱을 만들고 실행·공유하는 자기완결형 창작 환경으로, 작은 게임과 도구를 하나의 데스크톱 안에서 다룰 수 있음
  • 480x270 64색 디스플레이, 가상 파일시스템, POD 파일 형식, PFX6416 오디오 합성기, 프로세스별 Lua 5.4 VM이 기본 실행 모델을 구성함
  • 앱·프로젝트·배포 번들은 모두 카트리지로 취급되며, .p64 텍스트 파일이나 최대 256k ROM 데이터를 담는 .p64.png로 저장·공유됨
  • 데스크톱에는 탭 작업공간, 접이식 도구 트레이, 파일 스택이 있고 코드·그래픽·타일맵·음악·효과음 편집기가 기본 포함됨
  • 현재 Beta 단계로 Windows, Mac, Linux와 HTML 내보내기를 지원하며, 향후 업데이트 접근 권한을 포함해 $19.99에 판매됨

가상 하드웨어 위의 창작 환경

  • Picotron은 Fantasy Workstation을 표방하는 자기완결형 창작 환경으로, 가상의 하드웨어 위에서 동작함
  • 사용자는 Lua 앱을 만들고 결과물을 여러 방식으로 실행·공유할 수 있음
    • Picotron 데스크톱에서 실행
    • 카트리지 파일로 공유
    • 독립 실행형 HTML 및 바이너리 배포물로 내보내기
  • 화면은 기본 480x270 64색이며, 240x135 또는 160x90으로도 실행 가능함
  • 전체화면 모드에서는 사용자 지정 팔레트를 사용할 수 있음
  • 내장 그래픽 API는 디스플레이에 대한 저수준 접근을 제공함
    • 8x8 채우기 패턴
    • 팔레트 교체와 블렌딩
    • 스텐실 비트
    • 원근 보정 텍스처 래스터화를 위한 tline3d

파일, 오디오, 실행 모델

  • 파일시스템은 호스트 시스템의 필요한 일부만 노출하는 가상 파일시스템
  • Picotron 내부 파일은 POD(Picotron Object Data) 형식을 사용해 Lua 테이블을 디스크에 직접 저장하고 불러올 수 있음
    • 세이브 데이터나 레벨 데이터는 Lua 테이블로 묶어 store()로 pod에 저장 가능함
  • 오디오는 PFX6416이라는 64노드·16채널 실시간 합성기로 생성됨
    • 노드는 웨이브테이블에서 신호를 만들거나 FM/RING 변조, 딜레이, HP/LP 공진 필터, 웨이브셰이핑으로 신호를 변경함
    • 사용자 악기 설계를 포함한 음악은 디스크에서 5~20k 크기로 저장될 수 있음
  • 실행 환경은 프로세스마다 약간 수정된 Lua 5.4 VM을 별도로 사용함
    • 가상 CPU는 프로세스 사이에 나뉘며 최대 초당 8M VM 명령을 실행함
    • Picotron 카트리지는 다양한 플랫폼에서 일정한 속도로 실행될 수 있음
    • 고성능 데스크톱에서 문제없이 실행되면 오래된 넷북의 웹 환경에서도 대체로 비슷하게 보이도록 설계됨

카트리지 중심의 배포 방식

  • 애플리케이션, 프로젝트, 배포 번들은 모두 카트리지라는 같은 유형으로 취급됨
    • 각 카트리지는 일반 폴더처럼 동작하며 프로그램 실행에 필요한 소스 파일과 리소스를 포함함
    • 호스트 시스템에서는 단일 텍스트 파일 .p64로 저장되며 RAM에 들어가는 크기까지 가능함
    • 공유 가능한 PNG 형식 .p64.png는 최대 256k ROM 데이터를 담을 수 있음

데스크톱과 내장 도구

  • Picotron 데스크톱은 탭 작업공간과 모든 작업공간에서 접근 가능한 접이식 도구 트레이(tooltray)를 제공함
  • 도구 트레이는 자주 쓰는 파일과 위젯에 접근하기 위한 두 번째 데스크톱처럼 동작함
  • 파일을 서로 위에 떨어뜨려 정리된 스택을 만들 수 있고, 마우스 휠로 스택을 넘길 수 있음
  • 기본 제공 편집기는 코드, 그래픽, 타일맵, 음악, 효과음을 다룸
    • 이 편집기들 자체도 Picotron으로 만들어짐
    • 무제한 실행 취소 스택, GUI, 파일 관리는 /system/lib 표준 라이브러리를 사용함
  • 사용자는 라이브 배경화면, 스크린세이버, 아이콘, 위젯을 만들고 워크플로를 원하는 방식으로 구성할 수 있음

파이프라인, 플랫폼 지원, 가격

  • Picotron은 긴밀히 통합된 그래픽 파이프라인오디오 파이프라인 위에 구축됨
    • graphicsaudio pipelines는 저전력 호스트 머신과 웹에서도 실행될 수 있음
    • 색상을 바꾼 스프라이트 그리기나 효과음 트리거 같은 일반 작업을 위한 간단한 API를 제공함
    • 기반 데이터와 머신 상태는 가상 RAM에 노출됨
  • 현재 상태는 Beta 단계임
    • Windows, Mac, Linux, HTML 내보내기 기능이 완비됨
    • 온라인 하이스코어와 파일 공유를 지원함
    • API와 비디오·오디오 파이프라인은 이미 검증된 상태임
    • 향후 계획은 Picotron Roadmap에서 확인 가능함
  • 가격은 $19.99이며, 구매자는 향후 업데이트에 접근할 수 있음
  • 기존 PICO-8 및 Voxatron 고객은 할인 업그레이드를 사용할 수 있음

댓글과 토론

Hacker News 의견들
  • PICO-8로 즐거웠고 여전히 핵심 매력은 살아 있지만, 이제는 CX16, Mega65, Agon Light 같은 새 세대의 “진짜” 레트로 하드웨어로 넘어갔음
    보드 설계, 칩, 입출력 포트가 있으면 사양이 더 단단해지고, Picotron 같은 새 기계들은 입출력 사양 안에서 할 수 있는 일을 꽤 타협 없이 밀어붙일 수 있음
    에뮬레이션도 가능하고, 하드웨어에 직접 접근할 수도 있으며, BASIC이나 C, Forth 등 원하는 언어를 돌릴 수 있음
    Pico 계열처럼 실제 8비트에서 Lua를 인터프리터로 돌리기엔 느릴 수 있지만, 대신 크로스 컴파일러의 기반으로 쓰면 다른 종류의 코딩 도전이 됨
    “그 프로젝트에 필요한 정확한 코드를 생성하는 궁극의 개발 환경을 만들면 어떨까?”라는 방향이고, 고도로 최적화된 PICO-8 게임이나 C64, Spectrum, A800용 새 데모에서도 큰 하드웨어를 옛 기계 쪽에 활용해 양쪽의 고정관념을 무시하는 식으로 나타남

    • 이런 기계들이 계속 같은 레트로 CPU인 Z80, 6502, 8080이나 FPGA의 VDP 복제에 머무르지 않았으면 좋겠음
      레트로풍 2D/블릿 기반 기계는 원하지만, Cortex-M, Z8000, 68000, 저가형 RISC-V 같은 더 발전한 하드웨어였으면 함
      부트 ROM에 BASIC은 넣되, 90년대식으로 더 커질 여지를 줬으면 좋겠음
      Commodore 64의 마법을 되찾고 싶어 하는 건 이해하지만, 개인적으로는 Amiga, Atari, BeBox 같은 해킹 시절이 훨씬 더 빛나 보임
    • 아이들과 함께 Pico-8로 간단한 게임을 만들고 기본 기하를 배우며 정말 재미있게 놀았음
      Pico-8에서 이어진 커뮤니티가 Picotron에서도 이미 cat/wget/grep[1]과 당연히 Minesweeper[2]를 구현하고 있음
      Joseph White/zep이 만드는 것은 모두가 부끄러움 없이 만들고 공유하며 즐기던 초기 인터넷과 IRC 시절을 되살려 줌
      zep 덕분에 평범한 사람들에게도 컴퓨팅이 다시 재미있어짐
      [1]: https://www.lexaloffle.com/bbs/?tid=140771
      [2]: https://www.lexaloffle.com/bbs/?tid=140678
    • Lua가 실제 8비트에서 인터프리터로 돌리기에 BASIC보다 꼭 훨씬 느릴지는 모르겠음
      설계가 아주 작고 직교적임
  • 30분 정도 만져봤는데 아직도 계속 웃고 있음. 그냥 정말 재미있음
    예전에 Pico-8을 많이 써서 바로 뭔가 만들기 쉬웠고, Pico-8은 Aseprite, Blender, Propellerhead ReBirth와 함께 내 즐거움을 주는 소프트웨어 바구니에 들어가는 네 가지 중 하나임
    Pico-8은 목표와 의도적 제한에 엄청난 정성이 들어갔고, 지금까지 Picotron도 같은 수준의 애정과 고민이 느껴짐
    사랑스럽고, 계속 만들기를 멈추고 싶지 않음
    Pico-8 클론을 많이 써봤지만 다 핵심을 놓친 느낌이었음. 제한을 “개선”하지만 만족스럽지 않았음
    재미있게도 나도 게임잼 프로토타이핑용으로 “기능이 더 많은 Pico-8” 같은 JavaScript 버전을 세 번 만들려 했지만, 매번 클론들처럼 충분히 기능은 해도 영감을 주지 못해 포기했음
    Pico-8과 Picotron을 누가 만드는지는 모르지만, 이렇게 호감 가는 소프트웨어를 만들어 준 훌륭한 사람들에게 경의를 표함

    • 나도 Aseprite를 그 범주에 넣지만, 내게 가장 큰 건 Godot
      몇 년 동안 OpenGL 프로젝트를 처음부터 만들고 Unity도 조금 만져본 뒤, 2020년쯤 Godot에 100% 몰입했고 그 이후로 가장 즐거움을 주는 소프트웨어가 됨
    • 개인적으로는 TIC-80을 훨씬 더 좋아함
      더 나은 화면비, 다른 언어를 쓸 수 있는 점, 커스텀 Lua 표준 라이브러리를 쓰지 않아도 되는 점이 더 좋음
  • “Picotron 앱은 내장 도구로 만들 수 있고, 특별한 256KB PNG 카트리지 형식으로 다른 사용자와 공유할 수 있다”는 점을 보니, 요즘 인디 소프트웨어가 PNG 파일에 자산을 배포하는 흐름이 보임. 왜 그런 걸까?

    • 실행 가능한 게임/프로그램이 이미지 안에 들어 있다는 재미 요소도 있지만, PNG는 무손실 형식이고 ZIP과 같은 압축 알고리즘을 쓰며 여러 언어에 인코딩/디코딩 라이브러리가 있음
      그래서 애플리케이션 데이터 형식으로 괜찮은 후보가 됨
    • Picotron은 PICO-8과 같은 사람이 만들었고, 내가 알기로 PICO-8이 판타지 콘솔을 대중화했음
    • 재미있고 공유하기 쉬움
    • 대부분은 재미 때문임. 또한 PNG에는 데이터를 저장하기 좋은 알파 채널이 있음
      이 개발자의 이전 콘솔인 PICO-8이 그 흐름을 시작한 것으로 알고 있음
  • 재미있는 작은 물건이지만 조심해야 함. 아직 버그와 충돌이 있고, 거친 부분도 남아 있음
    Zep이 뭘 지향하는지는 어느 정도 보이지만 많은 부분이 꽤 불가사의하고, API 문서도 거의 없음
    실제로 사람들은 뭔가 하는 법을 알아내려고 전역 Lua 테이블을 전부 출력하고 있음
    0.1a만큼 심하진 않지만 0.1c를 위해 다듬어야 할 부분이 아직 있음

  • Pico-8은 지금까지 써본 소프트웨어 중 가장 기분 좋은 것 중 하나였고, 커뮤니티가 Picotron으로 만들어낼 것들이 기대됨
    기계 자체는 Pico-8도 Picotron도 독점이지만, 사용자 프로그램은 오픈소스가 아니더라도 소스는 볼 수 있음
    교육적으로 정말 좋고 마음에 듦
    호환 구현체는 나오겠지만, Pico-8 도구들은 너무 정제되어 있었고 가격도 싸서 10달러를 안 줄 이유가 없었음
    오픈소스 구현체는 프로그램 실행만 해줄 수 있지만, IDE, 픽셀 스프라이트/맵 편집기, 음악 트래커 같은 귀여운 도구까지 함께 주진 않을 수 있음
    그 돈을 충분히 할 만했고, Pico-8은 돈 내고 산 소프트웨어 중 싫어하지 않았던 몇 안 되는 것 중 하나임
    요약하면 Pico-8도 훌륭하고, 커뮤니티와 무료 프로그램도 훌륭하니 Picotron도 훌륭할 거라고 봄. 오래전부터 팬임

    • Pico-8이 다른 판타지 콘솔보다 왜 그렇게 나은지 누가 써줬으면 함
      특히 최근 WASM-4가 흥미로웠고, 다른 사람이 언급한 TIC-80도 좋아 보임
      Pyxel에 대해 읽고 영감을 받은 기억도 있음
      셋 다 무료라는 장점이 있는데, 왜 Pico-8에 돈을 내야 할까?
    • Pico-8도 훌륭하지만 https://tic80.com/도 정말 멋짐
    • Pico-8이 가장 기분 좋은 소프트웨어 중 하나였다는 데 동의하지만, 도저히 넘기기 힘든 불만이 하나 있음. 편집기 글꼴이 너무 읽기 어려움
      익숙해지려 했지만 안 됐음
      그래도 게임들은 매우 플레이하기 좋고, 재미있고, 영감을 주며, 커뮤니티도 더 좋을 수 없을 정도임
  • “CPU: 초당 800만 Lua VM 명령”이라는 수치가 대략적인 건지, 일관성을 위해 제한한 건지 궁금함
    FAQ의 “CPU는 얼마나 빠른가?” 항목은 빠르고 PICO-8보다 빠르다는 얘기만 함

    • 제한된 속도이고, 정확한 세부 사항은 아직 조정 중임
      실제로는 화면이 훨씬 커졌기 때문에 PICO-8보다 여유가 크게 많지는 않음
      PICO-8에서는 안 될 정도로 CPU를 많이 쓰는 일을 하려면 저해상도 화면 모드를 써야 함
    • PICO-8도 그렇게 하니 제한된 속도일 것 같음 https://pico-8.fandom.com/wiki/CPU
  • 개인적으로는 정말 느낌이 좋음
    Pico-8은 훌륭한 소프트웨어이긴 해도 내겐 약간 너무 구식이고 삐걱거리는 느낌인데, Picotron은 훨씬 더 어린 시절의 감각에 가까움
    빨리 가지고 놀아보고 싶음

  • 이 Clockwork 기기들 중 하나에서 돌리면 굉장히 좋을 것 같음: https://www.clockworkpi.com/shop?page=2

    • 빌린 Clockwork에서 pico-8을 돌려봤는데, 대부분의 애플리케이션에서 잘 동작했음
    • uConsole이 pico-8 지원을 홍보하니, 애초에 이런 걸 염두에 둔 것 같음
  • 값싼 리더기 슬롯 아래에 밀어 넣는 판지의 QR 코드 같은 물리성이 있으면 좋겠음
    8비트 감성을 제대로 내려면 어느 정도 물리적인 느낌을 피할 수 없음. 저화질 화면과 마구 두드릴 큰 버튼까지

  • PICO-8과 완전히 호환되지는 않는 것 같아 조금 아쉬움
    PICO-8 게임을 만들기에 완벽한 환경일 거라고 상상했음

    • 어떤 부분에서 그런지 궁금함. 지금이라면 바뀔 가능성이 있을지도 모름