프로젝트 소개

LittleJS는 단순성과 성능에 초점을 맞춘 가볍고 오픈소스인 HTML5 게임 엔진입니다. 의존성이 없는 작은 JavaScript 라이브러리로 제공되며, 2D 게임 개발을 위한 광범위한 기능 세트를 포함합니다. README에 설명된 핵심 기능: - 그래픽: WebGL2 및 Canvas2D 하이브리드 렌더링, Shadertoy 스타일의 포스트 프로세싱 셰이더, 시각적 효과 디자이너가 포함된 파티클 시스템, 런타임 스프라이트/애니메이션 텍스처 시트, TexturePacker 및 Aseprite 아틀라스 지원, Three.js 플러그인을 통한 선택적 3D 렌더링. - 오디오: mp3, ogg, wave 파일 재생, 에셋 파일 없이 ZzFX 절차적 사운드 생성, 공간 스테레오 패닝. - 입력: 마우스, 키보드, 게임패드, 터치 처리 및 모바일용 사용자 정의 가능한 온스크린 게임패드. - 물리: 충돌 처리가 포함된 아케이드 물리, 타일맵 충돌 및 레이캐스팅, 선택적 Box2D v2.3.1 wasm 통합, 선택적 스무딩이 포함된 그리드 기반 A* 경로 찾기 플러그인. - 유연성: 최신 브라우저 및 모바일에서 작동, TypeScript 및 ES 모듈 지원, Vite 스타터 템플릿 제공, JS13kGames와 같은 사이즈 코딩 이벤트에 적합. MIT 라이선스. - 개발자 도구: 편집 가능한 소스가 포함된 라이브 예제 브라우저, Tiled/JSON 레벨 가져오기, 디버그 오버레이 및 기본 렌더링, Newgrounds 지원이 포함된 메달 추적, Node.js 빌드 시스템. - AI 친화적: LLM과 잘 작동하도록 설계된 작고 문서화된 API, 별도의 AI 템플릿/프롬프트 및 ChatGPT 기반 게임 메이커. 시작 옵션에는 npm 패키지 `littlejsengine` 설치 또는 `degit`을 사용한 Vite 스타터 스캐폴딩이 포함됩니다. 최소 예제는 gameInit, gameUpdate, gameUpdatePost, gameRender, gameRenderPost 콜백으로 엔진을 초기화하는 방법을 보여줍니다. 프로젝트는 여러 빌드(디버그/릴리스, 모듈/비모듈, 축소 변형), Breakout 연습 및 스키 게임 튜토리얼을 포함한 튜토리얼, 빠른 참조 시트, FAQ를 제공합니다. 예제에는 라이브 예제 브라우저, 50개 이상의 게임이 있는 LittleJS Arcade, 60개 이상의 단일 파일 기능 데모, Breakout, 매치-3 퍼즐, 플랫포머, Box2D, Three.js 사이드 스크롤러 및 플랫포머, 스트레스 테스트, 파티클 시스템 디자이너에 대한 특정 데모가 포함됩니다. README는 또한 엔진으로 만든 다양한 커뮤니티 게임을 나열하고 게임 잼 결과에 대한 링크를 제공합니다.