게임 개발은 복잡한 과정입니다. 개발자는 코드를 작성하는 것 외에도 사운드, 음악, 그래픽 및 논리를 응집력 있는 방식으로 통합하는 방법을 찾아야 합니다.
PICO-8 게임 엔진은 복잡성을 없애고 개발자가 실행하려는 아이디어의 가장 필수적인 측면에 집중할 수 있도록 합니다.
이 기사에서 우리는 PICO-8 게임 엔진의 고유한 점과 개발자가 제한된 매체에도 불구하고 창의성을 보여줄 수 있는 방법을 탐구할 것입니다.
PICO-8 콘솔이란 무엇입니까?
PICO-8 게임을 할 때 에뮬레이터로 무시할 수 있습니다. 레트로 콘솔 1980년대부터. 픽셀 아트와 8비트 음악 및 음향 효과는 약간의 향수를 불러일으킬 수도 있습니다.
PICO-8이 2015년에 출시되었다는 사실을 알고 놀라실 수도 있습니다. 사실 PICO-8은 처음부터 콘솔이 아니었습니다!
피코-8 Lexaloffle Games에서 만든 가상 게임 엔진입니다.
게임 엔진은 가상의 비디오 게임 콘솔을 위한 에뮬레이터입니다. 일반 콘솔과 마찬가지로 PICO-8에는 고유한 기계 사양, 디스플레이 형식 및 개발 도구 세트가 있습니다.
유일한 차이점은 PICO-8이 실제 세계에 실제로 존재하지 않는다는 것입니다.
판타지 콘솔에 관심이 있는 이유는 무엇입니까?
PICO-8과 같은 판타지 콘솔과 TIC-80 개발자에게 어떤 형태의 제약이 있는 프로그램을 만들 수 있는 기회를 제공합니다.
Unity와 같은 인기 있는 비디오 게임 엔진을 통해 개발자는 원하는 게임을 만들 수 있습니다. 이것이 실제로는 좋지만 개발자는 수십 가지의 결정을 내려야 합니다.
PICO-8과 같은 판타지 콘솔의 제약은 개발자에게 더 창의적이 될 수 있는 환경을 제공합니다. 예를 들어, PICO-8 개발자는 게임을 렌더링할 해상도에 대해 생각할 필요가 없습니다. 모든 게임은 128×128의 해상도로 작동합니다.
마찬가지로 16가지 색상의 제한된 팔레트는 게임 디자이너에게 일관된 색상 구성표를 강제하는 제약을 제공합니다.
PICO-8 프로그래밍
PICO-8 프로그래밍은 Lua 프로그래밍 언어로 작업한 사용자에게도 친숙할 수 있습니다. 그러나 PICO-8에 포함된 Lua의 구현은 실제 프로그래밍 언어.
PICO-8은 또한 각 프로그램에 대해 작성할 수 있는 코드의 양을 제한합니다.
각 카트에는 최대 8192개의 토큰이 있어야 합니다. 토큰은 변수, 문자열, 연산자 또는 키워드가 될 수 있습니다.
예를 들어, 코드 a=1
세 개의 토큰을 포함합니다.
이러한 제약으로 인해 개발자는 게임을 코딩하는 보다 효율적인 방법을 찾아야 합니다.
PICO-8 카트
모든 PICO-8 게임은 게임 카트리지 또는 줄여서 "카트"를 통해 공유할 수 있습니다.
이 디지털 게임 카트리지는 실제로 이미지일 뿐입니다. 각 카트에는 모든 게임 정보가 들어 있습니다.
전체 게임이 어떻게 단일 이미지에 저장됩니까?
PICO-8은 스테가노그래피 프로세스를 사용하여 데이터를 PNG 이미지에 저장합니다. 각 PICO-8 바이트는 160개 채널 각각의 최하위 비트 205개에 저장됩니다. 각 이미지의 크기는 32,800×XNUMX 픽셀이므로 각 이미지는 최대 XNUMX바이트의 게임 데이터를 저장할 수 있습니다.
각 PICO-8 게임 파일에는 프로그램 코드, 그래픽, 사운드 및 음악에 대한 데이터가 포함되어 있습니다. 다음과 같은 소프트웨어를 사용할 수 있습니다. 피코툴 PICO-8 카트에서 찾은 데이터를 살펴봅니다.
PICO-8 커뮤니티
PICO-8에는 프로그래머와 비디오 게임 개발자로 구성된 활발한 커뮤니티가 있습니다. 이 개발자들 중 많은 사람들이 레트로 콘솔과 같은 제한 사항에서 비디오 게임을 개발한다는 아이디어에 매료되었습니다.
수천 개의 다른 게임을 검색할 수 있습니다. 공식 웹 사이트. 이러한 게임은 개념 증명에서 실제 콘솔에서 상업적으로 출시되었을 수 있는 본격적인 게임에 이르기까지 다양합니다.
PICO-8 커뮤니티는 또한 대부분의 작업을 오픈 소스 라이선스로 공개합니다. 사용자는 다른 사람들이 게임을 어떻게 프로그래밍하는지 살펴볼 수 있습니다.
게임 잼과 협업도 적극 권장됩니다. 사실, 게임 잼 2016년에는 인기 있는 플랫폼 게임 Celeste의 개발로 이어졌습니다.
주요 특징들
다음은 PICO-8 게임 엔진이 제공하는 몇 가지 주요 기능입니다.
- 게임 엔진에는 콘솔에 내장된 코드, 음악 및 스프라이트를 편집하기 위한 도구가 포함되어 있습니다.
- PICO-8은 플랫폼 간 호환이 가능합니다.
- 각 PICO-8 카트는 최대 64개의 사운드를 가질 수 있습니다. 사운드 편집기를 사용하면 모든 사운드 효과에 사용되는 각 음의 주파수, 악기 및 볼륨을 제어할 수 있습니다.
- PICO-8을 사용하면 256개의 8×8 스프라이트를 가질 수 있습니다.
- 콘솔은 연결된 키보드를 통해 6개의 XNUMX버튼 컨트롤러를 허용합니다.
- PICO-8의 Lua 프로그래밍 언어 구현은 개발자에게 변수, 함수, 루프 및 테이블과 같은 기본 프로그래밍 기능을 제공합니다.
- 사용자는 필요한 경우 외부 편집기에서 코드를 작성할 수도 있습니다.
PICO-8 개발의 장단점
장점
- PICO-8은 작고 설치가 쉽습니다.
- 제한 사항으로 인해 개발자는 효과적으로 작성해야 합니다.
- 프로그래밍 언어는 배우기 쉽습니다
- 대부분의 PICO-8 게임은 오픈 소스이므로 PICO-8 커뮤니티에서 배울 수 있는 기회를 제공합니다.
단점
- 2D 게임 개발에 한함
- PICO-8은 현재 $15의 플레이 비용이 듭니다.
- 라이브러리가 부족하면 기본 기능을 처음부터 코딩해야 할 수도 있습니다.
- 코드 완성 및 자동 들여쓰기 부족
샘플 프로그램 만들기
이 섹션에서는 사용자가 첫 게임을 만들 때 어떤 경험을 하게 될지 살펴보겠습니다.
선택한 OS에 게임을 설치한 후 PICO-8 바로 가기 아이콘을 클릭하는 것만으로 PICO-8 프로그램을 열 수 있습니다.
PICO-8 콘솔 화면이 뒤따르는 짧은 애니메이션이 사용자를 맞이합니다.
타입 PRINT(“HELLOWORLD”)
콘솔에 입력하고 Enter 키를 누릅니다. 축하합니다. 첫 번째 PICO-8 프로그램을 실행했습니다.
새 프로젝트를 만들어 봅시다. 콘솔에서 다음 명령을 입력하십시오. SAVE <program_name>
.
프로젝트를 열려면 다음을 입력하십시오. LOAD <PROJECT_NAME>.p8
Esc 키를 눌러 PICO-8 코드 편집기로 들어갑니다. 오른쪽 하단 모서리에서 코드에 사용할 토큰 수를 추적할 수 있습니다.
PICO-8은 변수 사용을 지원합니다.
사용자는 프로그램의 다른 곳에서 호출할 수 있는 함수를 정의할 수도 있습니다.
PICO-8은 또한 테이블 사용을 지원합니다. Lua에 익숙한 개발자는 테이블이 Lua 프로그래밍 언어에서 사용할 수 있는 유일한 데이터 컨테이너라는 것을 기억할 것입니다.
PICO-8에는 초당 30회 실행되는 게임 루프가 내장되어 있습니다. 루프를 실행하려면 _update() 및 _draw() 함수가 모두 필요합니다.
PICO-8에 내장된 스프라이트 편집기는 게임 내 스프라이트 및 배경 아트의 모양을 디자인하는 데 도움이 됩니다. 또한 편집기를 통해 사용자는 각 자산에 애니메이션 주기를 설정할 수 있습니다.
콘솔에서 게임을 로드한 후 RUN 명령을 입력하여 프로그램 인스턴스를 시작할 수 있습니다.
우리는 PICO-8에서 가능한 것의 약간을 다루었습니다. 를 통해 탐색하는 것이 좋습니다. 공식 문서 그리고 커뮤니티 위키 엔진에 대해 자세히 알아보십시오.
나는 또한 살펴 보는 것이 좋습니다 피코에테, 개발자 Andrew Reist가 컴파일한 필수 가이드 및 리소스의 허브입니다.
결론
나는 PICO-8 콘솔에서 게임을 작성하는 것을 하이쿠를 작성하는 것과 연관시킬 수 있습니다. 하이쿠의 엄격한 구조는 시인에게 단 8행 XNUMX음절로 개념을 전달해야 하는 과제를 안겨줍니다. 유사하게, PICO-XNUMX은 개발자에게 제한된 수의 코드, 그래픽 및 사운드가 주어진 경험을 생성하도록 도전합니다.
PICO-8은 최신 트리플 A 타이틀을 만드는 데 적합하지 않을 수 있지만 결코 그런 용도가 아닙니다.
엔진은 초보자 개발자에게 게임 디자인 및 개발의 과제를 탐구할 수 있는 기회를 제공합니다. PICO-8은 게임 개발이 완전히 새로운 사람들이 사용을 시작할 수 있을 만큼 간단합니다.
그러나 커뮤니티에서 만든 게임을 검색하면서 PICO-8은 숙련된 게임 개발자도 도전할 수 있는 방법이라는 것을 알았습니다.
PICO-8을 시도하는 데 관심이 있습니까?
댓글을 남겨주세요.