@nghslab/nori-sdk
v0.2.1
Published
NoriDeck 콘솔 ↔ 카트리지 계약. 카트리지(게임)는 이 패키지의 타입과 어댑터만 알고 콘솔 내부는 모른다.
Maintainers
Readme
@nghslab/nori-sdk
NoriDeck 콘솔과 카트리지(게임) 사이의 계약입니다. 카트리지는 이 패키지의 타입과 defineCartridge 만 알고, 콘솔 내부(Electron · 파일 · 창)는 모릅니다.
npm install @nghslab/nori-sdk
npm install -D @nghslab/nori-cli # .nori 로 묶는 도구import {
defineCartridge,
parseCartInfo,
type ConsoleAPI,
type GameInstance,
} from '@nghslab/nori-sdk';
import noriJson from '../nori.json';
export const cartridge = defineCartridge({
manifest: parseCartInfo(noriJson),
async mount(api: ConsoleAPI): Promise<GameInstance> {
// api.screen · api.input · api.save · api.assets · api.time · api.system
return { pause() {}, resume() {}, unmount() {} };
},
});- Phaser 3 로 만들면
@nghslab/nori-sdk/phaser의createPhaserGame(api, config)을 쓰세요 (Phaser 는 선택 의존성). - 새 프로젝트는
npm create nori@latest my-cart또는npx @nghslab/nori-cli init my-cart로 만듭니다. - 개발 가이드: https://github.com/NGHSLab/NoriDeck/blob/main/docs/cartridge-guide.md
콘솔은 카트리지의 sdkVersion major 가 자기 SDK major 와 같을 때만 실행합니다.
