Pico-8: 두 판 사이의 차이

잔글 (→‎CONSOLE: 각주 추가)
잔글 (오타 수정 및 각주 추가)
146번째 줄: 146번째 줄:
=== CONSOLE ===
=== CONSOLE ===
[[파일:Pico-8_console.gif]]</br>
[[파일:Pico-8_console.gif]]</br>
pico-8을 실행하면 무조건 보게 되는 부팅업화면<ref>pico8 특유의 [[칩튠]]사운드가 재생되는데 음소거로 실행시 소리대신 화면에 음표를 띄우는 [[이스터에그]]가 있다</ref> 뒤에 나오는 콘솔화면이다.</br>'''HELP''' 명령어로 기본적인 명령어와 조작법들을 볼 수 있다. 파일을 저장하거나 불러오기, 불러온 파일을 실행하거나 편집하기 위해 에디터로 넘어갈 수 있다.</br>pico8에는 소문자가 존재하지 않아 모든 문자를 대문자로 표현한다. 만약 평범하게 대문자를 입력할시 특수문자가 입력된다.<ref>예) L,D,U,R => ←,↓,↑,→</ref></br>
pico-8을 실행하면 무조건 보게 되는 부팅업화면<ref>pico8 특유의 [[칩튠]]사운드가 재생되는데 음소거로 실행시 소리대신 화면에 음표를 띄우는 [[이스터에그]]가 있다</ref> 뒤에 나오는 콘솔화면이다.</br>'''HELP''' 명령어로 기본적인 명령어와 조작법들을 볼 수 있다. 파일을 저장하거나 불러오기, 불러온 파일을 실행하거나 편집하기 위해 에디터로 넘어갈 수 있다.</br>pico8에는 소문자가 존재하지 않아<ref>정확히는 존재는 한다. 대소문자 구분이 있는 파일을 불러올때나 외부도구로 편집된 파일을 불러올때 소문자 출력하는걸 볼수있다. 다만 소문자가 존재하는 코드는 작동이 안되며 pico-8로 통해서도 정상적인 방법으로 소문자를 입력하는게 불가능하다.</ref> 모든 문자를 대문자로 표현한다. 만약 평범하게 대문자를 입력할시 특수문자가 입력된다.<ref>예) L,D,U,R => ←,↓,↑,→</ref></br>


저장된 파일은 각 운영체제에 따라 해당 경로에 저장된다.</br>
저장된 파일은 각 운영체제에 따라 해당 경로에 저장된다.</br>
156번째 줄: 156번째 줄:
=== CODE ===
=== CODE ===
[[파일:Pico8_CodeEditor.png]]</br>
[[파일:Pico8_CodeEditor.png]]</br>
콘솔창에서 편집하고 싶은 파일을 불러 온 뒤 {{키|ESC}}를 누를시 볼 수 있는 화면이다. 아무것도 안 한 상태에서 들어올 경우 위의 이미지처럼 비어있는 모습으로 나온다. 기본적인 사용 방법은 [[메모장]]비슷하다.</br>
콘솔창에서 편집하고 싶은 파일을 불러 온 뒤 {{키|ESC}}를 누를시 볼 수 있는 화면이다. 아무것도 안 한 상태에서 들어올 경우 위의 이미지처럼 비어있는 모습으로 나온다. 기본적인 사용 방법은 [[메모장]]비슷하다.</br>


좌측상단 '''+''' 버튼으로 새로운 탭을 생성할 수 있다. 생성된 탭의 내용이 아무것도 없을시 다른탭으로 이동한다면 자동으로 사라진다. 내용이 있는 탭에 마우스커서를 올릴시 해당탭의 가장 첫번째 줄에 있는 코드가 미리보기로 나타난다.<ref>주로 주석으로 통해 제목을 표시하는 용도로 쓰인다.</ref> 탭을 통해 나뉘어진 코드는 .p8 파일에선 <code>-->8</code> 로 구분한다.</br>
좌측상단 '''+''' 버튼으로 새로운 탭을 생성할 수 있다. 생성된 탭의 내용이 아무것도 없을시 다른탭으로 이동한다면 자동으로 사라진다. 내용이 있는 탭에 마우스커서를 올릴시 해당탭의 가장 첫번째 줄에 있는 코드가 미리보기로 나타난다.<ref>주로 주석으로 통해 제목을 표시하는 용도로 쓰인다.</ref> 탭을 통해 나뉘어진 코드는 .p8 파일에선 <code>-->8</code> 로 구분한다.</br>
256번째 줄: 256번째 줄:
pico-8의 제한된 사양에 따른 단순함이 [https://mattmakesgames.itch.io/celesteclassic celeste classic]을 시작으로 사람들에게 알려져 오히려 다양한 기능들이 없어 생긴 단순함, 제한된 사양이 불러오는 개발자<del>변태</del>들의 도전욕구 자극, 외의 기타 요인으로 인해 많은 사람들에게 사랑받고있다.
pico-8의 제한된 사양에 따른 단순함이 [https://mattmakesgames.itch.io/celesteclassic celeste classic]을 시작으로 사람들에게 알려져 오히려 다양한 기능들이 없어 생긴 단순함, 제한된 사양이 불러오는 개발자<del>변태</del>들의 도전욕구 자극, 외의 기타 요인으로 인해 많은 사람들에게 사랑받고있다.


pico-8의 개발자인 zep의 제안으로 fantasy video game console이라는 용어가 생겨났으며<ref>줄여서 fantasy console라고도 부른다</ref> 이는 실존하는 구식 기기의 에뮬레이터 없이 고전 게임, 개발 경혐을 제공하는 가상의 컴퓨터를 칭하는 단어가 되었다.</br>
pico-8의 개발자인 zep의 제안으로 fantasy video game console이라는 용어가 생겨났으며<ref>줄여서 fantasy console라고도 부른다</ref> 이는 실존하는 구식 기기의 에뮬레이터 없이 고전 게임, 개발 경험을 제공하는 가상의 컴퓨터를 칭하는 단어가 되었다.</br>
상위 개념으로 현재 zep이 개발중인 3번째이자 마지막 가상컴퓨터가 될 [https://www.lexaloffle.com/picotron.php?page=faq picotorn]에서 언급된 Fantasy workstation 이 있다.
상위 개념으로 현재 zep이 개발중인 3번째이자 마지막 가상컴퓨터가 될 [https://www.lexaloffle.com/picotron.php?page=faq picotorn]에서 언급된 Fantasy workstation 이 있다.



2024년 1월 19일 (금) 12:41 판

피코-8
pico-8
PICO-8 logo modern
소프트웨어 정보
원작자 zep[1]
개발 Lexaloffle Games
종류 게임 엔진, 가상 머신
fantasy console
출시 2015년
최신버전 0.2.5g
2023.02.06
언어 영어, 일본어
운영체제 윈도우, macOS, 리눅스
플랫폼 x86, ARM, HTML5
라이선스 상용
웹사이트 www.lexaloffle.com/pico-8.php

pico-8는 1980년대 8비트 시스템을 모방한 가상의 콘솔이며 동시에 게임 엔진이다. 음악, 음향 제작, 스프라이트와 맵 에디터, lua기반의 코드를 작성할 수 있는 코드 에디터가 포함되어 있다. 게임 개발에 특화되어 있지만 게임 엔진보다 컴퓨터에 가깝다.

본인이 만든 게임을 윈도우, macOS, 리눅스 실행파일로 내보내거나 HTML5 웹 게임용으로 추출해 자신의 홈페이지, 인디게임 플랫폼, 공식 BBS에 올릴 수 있다. 공식 BBS에 업로드할 경우 인터넷만 연결되어 있다면 pico-8을 통해서나 BBS페이지를 통해서 본인이 업로드한 게임 포함, 전 세계의 pico-8 개발자들이 올려놓은 게임을 무료로 어디서든지 즐길 수가 있다.

무료로 개발할 수 있는 교육용 에디션이 존재한다.[2]

사양

디스플레이 128*128px[3][4]
입력 6개 버튼 컨트롤러
카트리지 .p8
.png[5]
사운드 4채널
스프라이트 256 8*8px
128*32 tiles
코드 P8 lua[6][7]
CPU 4M vm insts/sec
메모리 64kib
컬러팔레트
기본
0 #000000 8 #FF004D
1 #1D2B53 9 #FFA300
2 #7E2553 10 #FFEC27
3 #008751 11 #00E436
4 #AB5236 12 #29ADFF
5 #5F574F 13 #83769C
6 #C2C3C7 14 #FF77A8
7 #FFF1E8 15 #FFCCAA
숨겨진
128 #291814 136 #BE1250
129 #111D35 137 #FF6C24
130 #422136 138 #A8E72E
131 #125359 139 #00B543
132 #742F29 140 #065AB5
133 #49333B 141 #754665
134 #A28879 142 #FF6E59
135 #F3EF7D 143 #FF9D81


CONSOLE

Pico-8 console.gif
pico-8을 실행하면 무조건 보게 되는 부팅업화면[8] 뒤에 나오는 콘솔화면이다.
HELP 명령어로 기본적인 명령어와 조작법들을 볼 수 있다. 파일을 저장하거나 불러오기, 불러온 파일을 실행하거나 편집하기 위해 에디터로 넘어갈 수 있다.
pico8에는 소문자가 존재하지 않아[9] 모든 문자를 대문자로 표현한다. 만약 평범하게 대문자를 입력할시 특수문자가 입력된다.[10]

저장된 파일은 각 운영체제에 따라 해당 경로에 저장된다.
윈도우 C:/Users/Yourname/AppData/Roaming/pico-8/carts
OSX /Users/Yourname/Library/Application Support/pico-8/carts
리눅스 ~/.lexaloffle/pico-8/carts


CODE

Pico8 CodeEditor.png
콘솔창에서 편집하고 싶은 파일을 불러 온 뒤 ESC를 누를시 볼 수 있는 화면이다. 아무것도 안 한 상태에서 들어올 경우 위의 이미지처럼 비어있는 모습으로 나온다. 기본적인 사용 방법은 메모장과 비슷하다.

좌측상단 + 버튼으로 새로운 탭을 생성할 수 있다. 생성된 탭의 내용이 아무것도 없을시 다른탭으로 이동한다면 자동으로 사라진다. 내용이 있는 탭에 마우스커서를 올릴시 해당탭의 가장 첫번째 줄에 있는 코드가 미리보기로 나타난다.[11] 탭을 통해 나뉘어진 코드는 .p8 파일에선 -->8 로 구분한다.
좌측하단에는 커서가위치해있는 좌표,
우측상단에는 다른 에디터로 넘어갈 수 있는 버튼,
우측하단에는 코드입력가능 공간이 표시된다. 마우스커서로 클릭해서 표기 방식을 바꿀 수 있다.

pico-8내부폴더에 있는 설정파일[12]에서 코드에디터의 색상을 바꾸거나 들여쓰기할때 생성되는 빈공간의 크기를 설정할수있다.

기본적인 메모장의 기능말곤 없어서 이것만으로 코드짜기에는 부족한 점이 매우많다. 그래서 일부 개발자들은 외부 텍스트 에디터를 사용하는 것을 적극적으로 추천한다.


SPRITE

Pico8 SpriteEditor.png
스프라이트 에디터이다. 이곳에서 모든 이미지형태의 그래픽 리소스를 만들거나 관리한다. 물론 이것도 외부 에디터로 통해 작업할 수 있다.
검은색은 없는 색으로 취급하여 출력하지 않는다. 파일을 생성하면 자동적으로 생성되는 흰색의 X모양의 스프라이트가 있는 위치의 위치값이 0으로 8*8픽셀 크기로 한칸씩 오른쪽으로 이동할때마다 위치값이 1씩 올라간다.
스프라이트는 spr()sspr()함수로 화면에 출력할 수 있으며 위치값은 해당함수에서 사용된다.


예제
CODE
function _draw()
	cls(0) --배경을 검은 색으로 칠하기
	
	--리디버그
	spr(1,4,4,2,2)
	spr(1,4,21,2,2,true,false)
	spr(1,4,38,2,2,false,true)
	spr(1,4,55,2,2,true,true)
	
	--리브라
	spr(3,24,4)
	spr(3,24,13,1,1,true,false)
	spr(3,24,22,1,1,false,true)
	spr(3,24,31,1,1,true,true)
end
SPRITE SHEET
Pico-8 spr sprite sheet.png

결과
Pico-8 spr example result.png
짜잔! 16*16크기의 리디버그와 8*8크기의 리브라픽셀아트가 나왔다!
갤러리에서 해당 예제파일을 받아 실행하거나 코드를 수정할 수 있다. 만약 pico-8가 없다면 위에서 언급한 교육용 에디션으로 통해서도 가능하다.[13]


MAP

Pico8 MapEditor.png


SOUND

  • SFX, MUSIC 에디터의 공통 단축키
    space - 재생, 일시정지
    ⇧ Shift + 마우스 왼쪽 클릭 - 노트 다중 선택
    ctrl + c, ctrl + v - 복사 붙여넣기
    s ~ j - 검은 건반
    z ~ m - C 메이저 스케일
    2 ~ 7 - 검은 건빈
    q ~ u - C 메이저 스케일


SFX

Pico8 SoundEditor.png
PITCH모드, TRACKER모드, 2가지의 형태가 있다. PITCH모드는 주로 효과음을 만드는곳이고, TRACKER모드는 주로 작곡용으로 사용된다. SPD 값이 낮을수록 재생속도가 빨라지고 높을수록 느려진다. LOOP값으로 어느 구간을 반복할지 정할 수 있다. 만들어진 효과음은 SFX() 함수로 출력할 수 있다.


단축키
ctrl[14] + 마우스 왼쪽 그래그 - 생성되는 노트를 C 마이너 펜타토닉에 맞추기[15]


MUSIC

Pico8 MusicEditor.png
전형적인 뮤직트래커의 형태를 하고있다. 총 4개의 채널을 가지고 있으며 1 ~ 4 옥타브 까지 출력할 수 있다. 8개의 파형, 8개의 이팩트를 가지고있다.
만들어진 음악은 MUSIC() 함수로 출력할 수 있다.


여담

pico-8의 splore 기능으로 celeste classic 2을 실행하는 모습
pico-8의 splore 기능으로 celeste classic 2]을 실행하는 모습

pico-8의 제한된 사양에 따른 단순함이 celeste classic을 시작으로 사람들에게 알려져 오히려 다양한 기능들이 없어 생긴 단순함, 제한된 사양이 불러오는 개발자변태들의 도전욕구 자극, 외의 기타 요인으로 인해 많은 사람들에게 사랑받고있다.

pico-8의 개발자인 zep의 제안으로 fantasy video game console이라는 용어가 생겨났으며[16] 이는 실존하는 구식 기기의 에뮬레이터 없이 고전 게임, 개발 경험을 제공하는 가상의 컴퓨터를 칭하는 단어가 되었다.
상위 개념으로 현재 zep이 개발중인 3번째이자 마지막 가상컴퓨터가 될 picotorn에서 언급된 Fantasy workstation 이 있다.

pico-8 외의 판타지 콘솔로는 대표적으로 tic-80Pixel Vision 8이 있다.

이걸로 게임뿐만이 아닌 3D CAD뮤직 시퀀서, 스프레드시트같은 걸 만드는 사람들이 있다.

실존하지 않는 기기의 가상머신이라는 컨셉이다 보니 각종 게임콘솔에 이식해 보는 시도가 많은 편이다. 닌텐도와 같은 대기업의 콘솔기기에다 이식해보거나 리눅스 기반 휴대용 게임기[17], 아에 pico-8만을 위해 홈브루 게임콘솔을 만드는 경우도 있다.
fake-08, retro8이라는 pico-8의 에뮬레이터가 존재한다.[18][19]하지만 에뮬레이션 정확도가 그리 좋은편이 아니다.

pico-8의 기본 컬러팔레트와 글꼴의 라이선스CC0이다.

인디 게임 플랫폼 itch.io에서 많이 사용된 게임 엔진 TOP 10안에 들어간다.


관련 사이트


갤러리


각주

  1. 본명 Joseph White
  2. 웹 환경에서만 가능하며, 모바일 환경에선 이용이 불가능하다. 일부기능이 제한되어있다.
  3. 최대 32색 동시출력
  4. 고정된 16색상 팔레트
  5. png파일로 인코딩된 32kb크기의 데이터
  6. lua 5.2
  7. 최대 65535자 입력가능
  8. pico8 특유의 칩튠사운드가 재생되는데 음소거로 실행시 소리대신 화면에 음표를 띄우는 이스터에그가 있다
  9. 정확히는 존재는 한다. 대소문자 구분이 있는 파일을 불러올때나 외부도구로 편집된 파일을 불러올때 소문자 출력하는걸 볼수있다. 다만 소문자가 존재하는 코드는 작동이 안되며 pico-8로 통해서도 정상적인 방법으로 소문자를 입력하는게 불가능하다.
  10. 예) L,D,U,R => ←,↓,↑,→
  11. 주로 주석으로 통해 제목을 표시하는 용도로 쓰인다.
  12. .../pico-8/config.txt
  13. 실행하고자 하는 파일을 웹페이지에 그래그해서 넣으면 해당 파일을 불러온다
  14. macOS기준 ⌘ Cmd
  15. PITCH 모드에서 사용시
  16. 줄여서 fantasy console라고도 부른다
  17. 특히 라즈베리 파이기반 기기가 자주 사용된다.
  18. pico8의 카트리지 형식인 .p8, .png 파일 재생외의 기능이 존재하지 않는다.
  19. 이 둘은 RetroArch의 코어로도 쓸수있다.