自作スキンガイド
Manic EMUスキン制作ガイドへようこそ。このエミュレータのスキンシステムは DeltaSkin フレームワーク上にあり、基本形式と完全互換です。まずDeltaSkinの基礎を知りたいときは、公式チュートリアル を見てください。Figmaで作るなら、RetroSkinner をどうぞ。Figmaのデザインをそのままスキンファイルにできます。
Manic EMUには、さらに使える機能があります。押し込みアニメ、自由な拡大縮小、画面反転など。専用機能の使い方は次のとおりです。
📁 info.json の設定
Section titled “📁 info.json の設定”ゲームタイプ識別子(gameTypeIdentifier)
Section titled “ゲームタイプ識別子(gameTypeIdentifier)”Manic EMUは独自のゲームタイプ識別子を使います:
- Wii:
public.aoshuang.game.wii - NGC:
public.aoshuang.game.ngc - Amiga:
public.aoshuang.game.amiga - C64:
public.aoshuang.game.c64 - NGP:
public.aoshuang.game.ngp - PCE:
public.aoshuang.game.pce - Symbian:
public.aoshuang.game.symbian - DOS:
public.aoshuang.game.dos - J2ME:
public.aoshuang.game.j2me - DOOM:
public.aoshuang.game.doom - JAGUAR:
public.aoshuang.game.jaguar - LYNX:
public.aoshuang.game.lynx - 7800:
public.aoshuang.game.7800 - 5200:
public.aoshuang.game.5200 - 2600:
public.aoshuang.game.2600 - Arcade:
public.aoshuang.game.arcade - DC:
public.aoshuang.game.dc - PS1:
public.aoshuang.game.ps1 - PM:
public.aoshuang.game.pm - VB:
public.aoshuang.game.vb - N64:
public.aoshuang.game.n64 - SS:
public.aoshuang.game.ss - MD:
public.aoshuang.game.md - MCD:
public.aoshuang.game.mcd - 32X:
public.aoshuang.game.32x - MS:
public.aoshuang.game.ms - GG:
public.aoshuang.game.gg - SG-1000:
public.aoshuang.game.sg1000 - MD:
public.aoshuang.game.md - PSP:
public.aoshuang.game.psp - 3DS:
public.aoshuang.game.3ds - NDS:
public.aoshuang.game.ds - GBA:
public.aoshuang.game.gba - GBC:
public.aoshuang.game.gbc - GB:
public.aoshuang.game.gb - NES:
public.aoshuang.game.nes - SNES:
public.aoshuang.game.snes
💡 ヒント:DeltaとManic EMUの両方で使いたいときは、DeltaSkinの識別子をそのまま使ってください。システムが自動変換します。
一部のプラットフォームは互換コントローラを使えるので、Manic EMUでは次のスキンを混ぜて使えます:
- GB GBC
- MD MCD 32X
- MS GG SG-1000
- NES FDS
- DOS DOOM
スキン固有識別子(identifier)
Section titled “スキン固有識別子(identifier)”スキンにはグローバルに一意な識別子を付けてください。重複すると読み込み失敗やキャッシュ不具合の原因になります。
🎮 押し込みアニメの実装
Section titled “🎮 押し込みアニメの実装”ボタンに動きを付けたいときは、2ステップです:
- レイヤー分離:ボタンの背景と前景を分ける(3DSスキンテンプレート を参照)
- JSON設定:
info.jsonのボタンにassetフィールドを追加
例:Aボタンに押し込み効果を付ける
{ "asset": { "normal": "a_button.pdf" // Reserve for future state expansions }, "frame": { "height": 48, "width": 48, "x": 545, "y": 552 }, "inputs": ["a"]}🎚️ アニメーション付きスイッチボタン
Section titled “🎚️ アニメーション付きスイッチボタン”状態を保ったトグルができます。見た目の参考は、標準のAtari 2600スキンです。
例
{ "asset": { "normal": "fuction_button.pdf", "selected": "fuction_button.pdf" }, "frame": { "height": 40, "width": 20, "x": 30, "y": 569 }, "animation": { "type": "spring", "begin": { "height": 20, "width": 20, "x": 0, "y": 2 }, "end": { "height": 20, "width": 20, "x": 0, "y": 18 } }, "inputs": "menu", "selfRetracting": true}animation オブジェクトが追加されています(現在はSwitch Buttonのみ対応)。
animation:
typeはアニメーション曲線。現在はspringのみ。beginは開始前のフレーム。endは終了時のフレーム。
注: begin と end の座標は、親の frame からの相対です。
asset:
normal に加え、selected アセットがあります。selected 状態のときに対応リソースを表示できます(現在はSwitch Buttonのみ)。
inputs:
ほかのコントロールと同じ内容ですが、ここでは文字列のみ渡せます。Switch Buttonに結びつける機能です。a、b、up、down などの標準操作でも、次節の Custom Function Buttons でも構いません。
注: 一部のカスタム機能ボタンは状態バインドに対応します。たとえば inputs を volume(ミュート)にすると、スキン読み込みのたびに音量状態を問い合わせ、結び付けたSwitch Buttonを更新します。標準Atari 2600スキンの tvType を参照してください。
状態バインド対応の Custom Function Buttons:
reverseScreensvolumetoggleControllstoggleAnalogtvTypeleftDifficultyrightDifficulty
selfRetracting: Switch Buttonが自動で戻るかどうか。Atari 2600のゲームリセットボタンのように、押したあと跳ね返り、モーメンタリのスイッチになります。
⚙️ Custom Function Buttons
Section titled “⚙️ Custom Function Buttons”Manic EMUは多くのショートカットに対応します(バージョン要件あり):
v1.2.3以上:
flex: スキンレイアウト設定へ
v1.2.4以上で追加:
quickSave: クイック手動セーブquickLoad: クイック手動ロードfastForward: 長押しで最大倍速toggleFastForward: タップで倍速率を循環reverseScreens: 主画面/副画面を入れ替えvolume: ミュートsaveStates: ステートセーブ一覧を開くcheatCodes: チートコード一覧を開くskins: スキン一覧を開くfilters: フィルタ一覧を開くscreenshot: スクリーンショットhaptics: 振動フィードバックを調整controllers: コントローラ一覧を開くorientation: 回転設定を変更functionLayout: レイアウト設定へrestart: ゲームをリセットresolution: ゲーム解像度を設定quit: ゲームを終了amiibo:3DS向けにAmiiboを読み込むhomeMenu:3DSのHome Menuへ戻る
v1.4.2以上で追加:
toggleControlls:コントローラ表示の表示/非表示blowing:マイクへの息吹きをシミュレートpalette:GB GBC VB向けパレット
v1.5.0以上で追加:
swapDisk:次のディスクへ、またはFDSの面を切り替え
v1.5.5以上で追加:
shake:シェイクのシミュレート
v1.6.0以上で追加:
toggleAnalog:入力デバイスモードを切り替え。PS1でPlayStation ControllerやDualShockに変えるなど。
v1.7.0以上で追加:
retroAchievements:RetroAchievementsページを開く。
v1.7.1以上で新規:
fastForward2x: 長押しで2倍速fastForward3x: 長押しで3倍速fastForward4x: 長押しで4倍速airPlayScaling: AirPlay中のゲーム画面の拡大縮小を調整airPlayLayout: AirPlay中のマルチ画面ゲーム(NDSなど)の配置を選ぶ
v1.7.2以上で新規:
gameplayManuals:Gameplay Manualsを開く
v1.7.3以上で新規:
triggerPro:TriggerProの設定を切り替え
v1.8.3以上で新規:
tvType: Atari 2600のカラー/白黒を切り替え。leftDifficulty: Atari 2600の左難易度スイッチ。rightDifficulty: Atari 2600の右難易度スイッチ。
v1.9.0以上で追加:
screenScaling:画面のストレッチモードを切り替えj2meSettings:J2ME設定ページを開くdosSettings:DOSのコア設定ページを開くinsertDisc:ディスクを挿入
v2.0.0以上で追加:
coreSettings:コア設定を開くrewind:長押しで巻き戻し
例:リスタートボタンを追加
{ "asset": { "normal": "button.pdf" }, "frame": { ... }, "inputs": [ "restart" ]}⚠️ 重要な注意
ひとつのボタンに複数機能を割り当てないでください。例:
// ❌ Dangerous Example!{ "inputs": [ "restart", "quit" ]}V1.9.0から、Manic EMUはスキンボタンの効果音に対応します。音声をCAF形式に変換し、sound.caf と名前を付けてスキンのルートに置き、まとめてパッケージしてください。
📦 スキンのパッケージ
Section titled “📦 スキンのパッケージ”3ステップです:
- すべてのアセットをフラットに置く(親フォルダなし)
- 全ファイルを選び、非暗号化ZIP に圧縮
- 拡張子は
.manicskinまたは.deltaskin
公式テンプレートを使うと、構造が正しくなります。
🎨 公式スキンのダウンロード
Section titled “🎨 公式スキンのダウンロード”自分だけのスキンを、ここから。